The Census Bureau officially acknowledges that batch geocoding can produce "inconsistent results" due to "processing load." Geocodio has a 99.99% uptime record and can process up to 10 million addresses per CSV file via API without the variability issues that affect the Census Bureau's infrastructure.
Geocodio is a geocoder built for high-volume, batch geocoding that provides a reliable alternative to the Census Bureau APIs for geocoding and accessing select Census data, such as such as tracts and blocks back to the 2000 Census and American Community Survey (ACS) data such as demographics and household income. While not free, Geocodio offers predictable uptime, faster batch processing, and eliminates the need for manual FIPS code joins—all in a single API call.
While the Census Bureau API requires developers to navigate two separate systems (the Census Geocoder and Census Data API), Geocodio delivers geocoded coordinates and standardized addresses plus Census data in one unified response.
Table of Contents
Common Census API Error Messages
If you're experiencing any of these issues, the Census API is likely down or overloaded:
| Error Message | What It Means |
|---|---|
| "could not resolve host: api.census.gov" | DNS failure—the Census servers are unreachable |
| "Sorry, the system is currently undergoing maintenance or is busy. Please try again later." | Server overload or scheduled maintenance |
| "Your API call has errors" + maintenance message | Affects tidycensus, censusxy, and other R packages |
| api.census.gov/status/ not loading | Status page itself is down |
| Timeout errors | Request hanging without response |
These outages have become more frequent. Developers report the rate of issues seems to be increasing, with multiple users flagging problems in the same week.
Geocodio provides an alternative for teams that need consistent access to Census demographics, income data, housing statistics, and other ACS variables without waiting for government infrastructure to come back online.
What Census Data Can Geocodio Provide?
Geocodio returns American Community Survey (ACS) data from the U.S. Census Bureau's 2023 five-year survey results (published 2024). Every data point includes the estimate value, margin of error, and percentage—giving you the context needed for accurate analysis.
Available Census Data Categories from Geocodio
| Category | API Field | What's Included |
|---|---|---|
| Census Identifiers | State, county, place, tract, and block FIPS codes; MSA/CSA codes; full 15-digit block FIPS | |
| Demographics | Population by age (20+ brackets), sex, race, and Hispanic/Latino origin | |
| Income & Economics | Median household income, per capita income, household income by 15+ brackets | |
| Families & Households | Household types, marital status, family composition, average household size, presence of children | |
| Housing | Occupancy status, owner vs. renter, units in structure, median home value, value brackets | |
| Education & Veterans | Educational attainment, veteran status, period of military service |
Census Geographic Levels Supported by Geocodio
Geocodio returns Census data at multiple geographic levels:
Block Group — The most detailed level, covering 600–3,000 households (default)
Tract — Neighborhoods of 1,200–8,000 people
Place — Cities and towns
County Subdivision — Minor civil divisions
County — Full county statistics
MSA — Metropolitan Statistical Areas
State — Statewide aggregates
To specify a geographic level, append it to the field name: acs-demographics-tract or acs-economics-county. Geocodio takes a nightly mirror of Census and ACS data, ensuring Geocodio will still be able to provide it even if the Census Bureau's data services are down.
Match Addresses to a Specific Census Year
Geocodio provides Census boundary data (FIPS codes) from 2000 through 2025. Request historical vintages using census2010, census2020, or any year in between. ACS demographic data uses the most recent five-year survey for maximum statistical reliability.
Why the Census API Keeps Going Down
The Census Bureau's API infrastructure faces several challenges that lead to the downtime and "system is busy" errors developers encounter.
The Census Bureau's own FAQ acknowledges batch processing problems:
"When performing batch address geocoding multiple times on the same batch of addresses, you may experience an inconsistency with the number of addresses that successfully match... These inconsistent results are a known issue with the geocoder's address matching related to processing load, and we are working to resolve the issue."
Common Error Patterns Developers Report
Host resolution failures — "could not resolve host: api.census.gov"
Maintenance messages — "Sorry, the system is currently undergoing maintenance or is busy"
tidycensus errors — "Your API call has errors" with maintenance messages in R
Timeout errors — Requests hanging without response
Inconsistent batch results — Same addresses returning different match counts on different attempts
Infrastructure Vulnerabilities
Government shutdowns affect data.census.gov availability and data releases. For example, the 2025 ACS data release is delayed until January 2026 due to the government shutdown.
No published SLA — The Census Bureau does not guarantee uptime.
Shared rate limits — Organizations on shared networks (firewalls, proxies) split the 500-query daily limit across all users
Processing load sensitivity — Heavy usage periods cause widespread slowdowns
The Multiple-API Problem
Getting Census demographics for an address through official Census APIs requires at least two API calls to at least two different APIs:
Census Geocoder API — Converts addresses to coordinates and returns FIPS codes
Census Data API — Uses those FIPS codes to query demographic variables
When either system goes down, your entire workflow breaks. Geocodio consolidates this into a single request—one API call returns geocoded coordinates and appended Census data, eliminating manual FIPS code joins.
Is the Geocodio API a Good Alternative to the Census Bureau APIs for Your Use Case? Side-by-Side API Comparison for Developers
API Options and Batch Capabilities
| Feature | Census Bureau | Geocodio |
|---|---|---|
| Single address endpoint | ✓ (Geocoder only) | ✓ (with data appends) |
| Batch endpoint | ✓ (10,000 max) | ✓ (10,000 max per request) plus CSV via API option (up to 1GB) |
| Async file processing | ✗ | ✓ (up to 10 million+ addresses) |
| CSV/spreadsheet upload | ✓ (limited) | ✓ (1GB file limit) |
| Geocoding + data in one call | ✗ (requires 2 APIs) | ✓ |
Reliability and Uptime
| Feature | Census Bureau | Geocodio |
|---|---|---|
| Uptime | None documented | 99.99%+ |
| Status page | Basic (often down during outages) | Available |
| Known issues | Batch inconsistency, maintenance downtime, host resolution failures | None documented |
| Affected by government shutdowns | Yes | No |
| Rate limits | 500 queries/day (no key), shared across network | 2,500 lookups/day (free), scales with plan |
Authentication and Access
| Feature | Census Bureau | Geocodio |
|---|---|---|
| Authentication method | API key (Data API only) | API key (query param or Bearer token) |
| Free tier | 500 queries/day without key | 2,500 lookups/day |
| CORS support | ✗ (JSONP workaround needed) | ✓ |
Response Format and Developer Experience
| Feature | Census Bureau | Geocodio |
|---|---|---|
| Response format | JSON (numbers as strings) | JSON (proper types) |
| Error handling | Generic messages, varies by API | Consistent JSON error objects |
| Official libraries | Limited | PHP, Node.js, Ruby, Python |
| Community libraries | R (tidycensus, censusxy), Python | Go, R, C#, Rust, Java, Clojure, Perl |
| OpenAPI spec | ✗ | ✓ (GitHub) |
| Versioned API | Changes without notice | 12+ months support per version |
How Geocodio Pricing Works for Census Data
Geocodio uses a transparent, usage-based pricing model. Each geocoding request counts as one lookup; each data append field counts as an additional lookup.
Is Geocodio Free?
Geocodio offers a free tier with 2,500 lookups per day—enough for testing, small projects, and occasional use. No credit card required.
For production workloads, Geocodio is a paid service. The cost is predictable and often lower than the engineering time spent debugging Census API outages or building retry logic.
Pricing Tiers
| Plan | Monthly Cost | Rate | Best For |
|---|---|---|---|
| Free | $0 | 2,500 lookups/day | Testing, small projects |
| Pay-As-You-Go | Usage-based | $1.00 per 1,000 lookups | Variable workloads |
| Self-Serve Unlimited | $1,350/month | Flat rate | High-volume, consistent usage |
| Enterprise | $3,250/month | Flat rate + 99.9% SLA | HIPAA, SOC 2, compliance needs |
Understanding Lookup Calculations
Census data appends add lookups based on the number of field categories requested:
| Addresses | Fields Requested | Total Lookups | Cost (Pay-As-You-Go) |
|---|---|---|---|
| 10,000 | None (geocoding only) | 10,000 | $10.00 |
| 10,000 | 20,000 | $20.00 | |
| 10,000 | + | 30,000 | $30.00 |
| 10,000 | + + | 40,000 | $40.00 |
Cost-saving tip: Basic Census identifiers (FIPS codes) are included free when requesting any acs- field.
Volume Discounts
You can receive volume discounts by pre-purchasing more than 500,000 lookups credits through the Billing section of your account dashboard. The more credits you buy, the higher your discount.
More than 500,000 credits = 5% discount
More than 1 million credits = 10% discount
More than 5 million credits = 15% discount
More than 10 million credits = 20% discount
Getting Started with Census Data Appends
For Developers: API Integration
Adding Census data to Geocodio requests requires just one parameter: fields. Specify which data categories you need, and Geocodio returns them alongside geocoded coordinates.
Example API request:
curl "https://api.geocod.io/v1.9/geocode?q=1600+Pennsylvania+Ave+NW,+Washington+DC&fields=census,acs-demographics,acs-economics&api_key=YOUR_API_KEY"
This single request returns latitude/longitude, full address components, Census FIPS codes, population by age/sex/race, and median household income—no second API call or manual join required.
Batch requests (up to 10,000 addresses):
curl -X POST "https://api.geocod.io/v1.9/geocode?fields=census,acs-economics&api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '["1600 Pennsylvania Ave NW, Washington DC", "350 Fifth Avenue, New York NY"]'
For Non-Developers: Spreadsheet Upload
Don't want to write code? Geocodio's spreadsheet tool lets you upload a CSV or Excel file and download results with Census data appended—no API integration needed.
Go to geocod.io/upload
Upload your address file (up to 1GB)
Select which Census fields to append
Download your enriched file
This approach saves hours compared to manually joining Census data using FIPS codes from separate downloads.
Specifying Geographic Level
Append the geography level to field names for aggregated data:
acs-demographics— Block group level (default)acs-demographics-tract— Census tract levelacs-demographics-county— County levelacs-demographics-state— State level
Available Field Codes
| Field Code | Data Returned |
|---|---|
| FIPS codes, MSA, geographic identifiers (current year) | |
| Historical 2020 Census boundaries | |
| Historical 2010 Census boundaries | |
| Age, sex, race, ethnicity | |
| Income data and brackets | |
| Household composition, marital status | |
| Occupancy, ownership, home values | |
| Education, veteran status |
Frequently Asked Questions
Is Geocodio an official Census Bureau service?
No. Geocodio is a commercial geocoding service that provides access to select Census Bureau data (ACS five-year estimates). Geocodio is not affiliated with the U.S. Census Bureau.
How current is the Census data?
Geocodio uses the 2023 five-year American Community Survey results, published in December 2024. Five-year ACS data provides the most reliable estimates for small geographic areas like block groups.
Can I get the same data from Geocodio that I get from the Census API?
Geocodio provides the most commonly used ACS variables: demographics, income, housing, families, education, and veteran status. If you need specialized Census tables or the full range of ACS variables, you may still need the Census API for some use cases.
What happens when Census data isn't available for a location?
Geocodio returns special values to indicate data availability issues:
-888888888: Estimate not applicable or not available
-999999999: Insufficient sample cases in the geographic area
-222222222: Margin of error could not be computed
-555555555: Controlled estimate with no sampling error
Does Geocodio cover addresses outside the United States?
Geocodio geocodes addresses in the United States and Canada. U.S. Census data appends are available only for U.S. addresses. Geocodio does, however, also return divisions and other geographic identifiers from Statistics Canada.
How does Geocodio handle the manual joins I currently do with Census data?
When you use the Census API, you typically geocode addresses to get FIPS codes, then query a separate API to get demographic data for those FIPS codes. Geocodio handles this automatically—one API call returns both geocoded coordinates and Census data, eliminating the join step entirely.
Is there a free tier for testing?
Yes. Geocodio offers 2,500 free lookups per day with full feature access—including Census data appends. No credit card required. The free tier resets at midnight UTC.
What if the Census API comes back online?
The Census Bureau API provides free access to a broader range of data. For teams that only need occasional access and can tolerate downtime, it remains a valid option. Geocodio is designed for teams that need reliable, production-grade access to Census data without workflow interruptions.
No Need to Wait for the Census API to Come Back Online
When api.census.gov goes down or returns "system is busy" errors, your work shouldn't have to stop. Geocodio provides reliable access to Census demographics, income data, and housing statistics through a single API—with predictable uptime and no manual FIPS code joins.
Start with 2,500 free lookups per day—no credit card required. Test Census data appends, explore the documentation, and see if Geocodio fits your workflow.
Find the Census geographies, demographics, income statistics, and more for an address. No signup required.
Related Resources
API Documentation
Use the Geocodio API to add Census geographies to addresses or coordinates.
Go to API DocsAdd FIPS Codes, Blocks/Tracts, and MSAs to a Spreadsheet of Addresses
Geocodio can help you add FIPS codes, blocks, and tracts to addresses going back to the 2000 Census year.
Learn moreComplete Guide to FIPS Codes
Everything You Need to Know About Federal Information Processing Standards Codes
Learn moreHow Geocodio ensures high availability
How Geocodio process billions of lookups every month and stays online
Learn moreCalculate Your Pricing
See how much it will cost to add Census data to your addresses with Geocodio's pricing calculator.
Estimate CostUpload a Spreadsheet
Process up to 2,500 lookups per day for free. Upload your address file and download it with Census data appended—no API integration required.
Try It FreeCensus Data API Documentation
Full API reference for requesting Census identifiers, ACS demographics, income, housing, and education data.
See API Docs