Overview
County Data works by analyzing the county name provided and getting data about the US county. It uses advanced algorithms to get data such as average income, area, and more based on the county name and returns the county data.
Endpoint
One host, one path per API. The block below shows this call in four languages; every one of them is the same HTTP request. Making requests covers the timeouts, retries and parameter rules that apply to all of them. The SDKs wrap the same call in a typed client.
curl "https://api.apiverve.com/v1/countydata?state=MO&county=Jackson" \
-H "x-api-key: your_api_key_here"const res = await fetch('https://api.apiverve.com/v1/countydata?state=MO&county=Jackson', {
headers: { 'x-api-key': 'your_api_key_here' },
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const { data } = await res.json();
console.log(data);import requests
res = requests.get(
"https://api.apiverve.com/v1/countydata?state=MO&county=Jackson",
headers={"x-api-key": "your_api_key_here"},
timeout=15,
)
res.raise_for_status()
print(res.json()["data"])package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.apiverve.com/v1/countydata?state=MO&county=Jackson", nil)
req.Header.Set("x-api-key", "your_api_key_here")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}Replace your_api_key_here with the key from your dashboard. When the inputs arrive as a list rather than one at a time, batch requests run up to 200 of them through this same API in a single call.
Authentication
Send your key in the x-api-key header. That is the only auth step — there is no token exchange and no per-endpoint scope to configure. Authentication covers creating, rotating and revoking keys.
A 401 means the key is missing, invalid or expired. A 403 means the key is valid but not permitted here — blocked by a key restriction or an IP allow-list. Running out of credits is a 429.
Parameters
Sent in the query string. Premium parameters are accepted on every plan but only take effect on plans that include them.
| Parameter | Type | Description |
|---|---|---|
stateRequired | string | The two letter name of the US state the county is in (e.g., MO) length 2–2 |
countyRequired | string | The name of the US county to get data about (e.g. Jackson) |
Response
Every API returns the same three top-level keys, so one response handler covers your whole integration: status, error and data. Only data changes shape. Response format covers the envelope, the other output formats and how premium fields are withheld.
{
"status": "ok",
"error": null,
"data": {
"name": "jackson county",
"state": "MO",
"age": {
"0-4": 0.0644100874666257,
"5-9": 0.06532756955438819,
"10-14": 0.06595060390235714,
"15-19": 0.05967616438434107,
"20-24": 0.059725950234064615,
"25-29": 0.08192474939936928,
"30-34": 0.07523353119652466,
"35-39": 0.06868029092005673,
"40-44": 0.05831060964906666,
"45-49": 0.058805623240603636,
"50-54": 0.05858087569042305,
"55-59": 0.0674783182624454,
"60-64": 0.06208437705811146,
"65-69": 0.05099777955110233,
"70-74": 0.03891546504962227,
"75-79": 0.026437708656052324,
"80-84": 0.01748905778145719,
"85+": 0.01997123800338828
},
"male": 339932,
"female": 363079,
"health": {
"poorhealth": 20.588989742,
"physicallyunhealthydays": 4.247736361,
"mentallyunhealthydays": 4.8111015035,
"lowbirthweightpercent": 9.1518749808,
"smokerspercent": 20.957241772,
"obesitypercent": 31.5,
"foodenvindex": 7.5,
"physicallyinactivepercent": 23.2,
"excessivedrinkingpercent": 18.940103365,
"alcoholimpaireddrivingdeaths": 152,
"teenbirthrate": 31.109351559,
"uninsured": 12.486314662,
"withannualmammogram": 45,
"vaccinated": 51,
"childreninpoverty": 19.6,
"80thpercentileincome": 108296,
"20thpercentileincome": 23275,
"childreninsingleparenthouseholds": 33.224850811,
"violentcrimerate": 941.43198334,
"averagedailypm25": 9.1,
"severehousingproblems": 15.347550638,
"drivealonetowork": 83.470246386,
"longcommutedrivesalone": 33.7
},
"longitude": -94.34749665503394,
"latitude": 39.016701918102484,
"education": {
"lessthanhighschool": 9.4,
"highschool": 28.3,
"somecollege": 30.7,
"bachelors": 31.6
},
"zipcodes": [
"64137",
"64111",
"64053",
"64055",
"64064",
"64029",
"64106",
"64108",
"64034",
"64118",
"64136",
"64139",
"64125",
"64030",
"64014",
"64066",
"64080",
"64123",
"64131",
"64145",
"64128",
"64121",
"64170",
"64050",
"64057",
"64133",
"64109",
"64130",
"64134",
"64129",
"64158",
"64163",
"64070",
"64102",
"64105",
"64086",
"64101",
"64124",
"64157",
"64088",
"64061",
"64051",
"64002",
"64081",
"64013",
"64016",
"64112",
"64114",
"64110",
"64152",
"64127",
"64147",
"64120",
"64146",
"64199",
"64058",
"64054",
"64074",
"64119",
"64138",
"64149",
"64156",
"64132",
"64171",
"64148",
"64141",
"64999",
"64052",
"64015",
"64063",
"64075",
"64056",
"64082",
"64113",
"64155",
"64126",
"64197",
"64065",
"64198"
],
"lifeexpectancy": 77.19,
"avgincome": 47054,
"povertyrate": 13.7,
"costofliving": {
"livingwage": 14.55,
"foodcosts": 3246,
"medicalcosts": 2681,
"housingcosts": 8136,
"taxcosts": 6263
},
"landareakm2": 1565.601892,
"areakm2": 1596.319707
}
}Response fields
Paths are relative to data. Premium fields are absent rather than zeroed on plans that do not include them, so check for presence instead of comparing to 0.
| Field | Type | Example | Description |
|---|---|---|---|
name | string | "jackson county" | County name in lowercase format |
state | string | "MO" | Two-letter state code where county is located |
agePremium | object | {...} | Age distribution percentages by age groups |
0-4Premium | number | 0.0644100874666257 | Percentage of population aged 0-4 years |
5-9Premium | number | 0.06532756955438819 | Percentage of population aged 5-9 years |
10-14Premium | number | 0.06595060390235714 | Percentage of population aged 10-14 years |
15-19Premium | number | 0.05967616438434107 | Percentage of population aged 15-19 years |
20-24Premium | number | 0.059725950234064615 | Percentage of population aged 20-24 years |
25-29Premium | number | 0.08192474939936928 | Percentage of population aged 25-29 years |
30-34Premium | number | 0.07523353119652466 | Percentage of population aged 30-34 years |
35-39Premium | number | 0.06868029092005673 | Percentage of population aged 35-39 years |
40-44Premium | number | 0.05831060964906666 | Percentage of population aged 40-44 years |
45-49Premium | number | 0.058805623240603636 | Percentage of population aged 45-49 years |
50-54Premium | number | 0.05858087569042305 | Percentage of population aged 50-54 years |
55-59Premium | number | 0.0674783182624454 | Percentage of population aged 55-59 years |
60-64Premium | number | 0.06208437705811146 | Percentage of population aged 60-64 years |
65-69Premium | number | 0.05099777955110233 | Percentage of population aged 65-69 years |
70-74Premium | number | 0.03891546504962227 | Percentage of population aged 70-74 years |
75-79Premium | number | 0.026437708656052324 | Percentage of population aged 75-79 years |
80-84Premium | number | 0.01748905778145719 | Percentage of population aged 80-84 years |
85+Premium | number | 0.01997123800338828 | Percentage of population aged 85 years and older |
malePremium | number | 339932 | Total male population count in county |
femalePremium | number | 363079 | Total female population count in county |
healthPremium | object | {...} | Health metrics and indicators for the county |
poorhealthPremium | number | 20.588989742 | Percentage of population reporting poor health status |
physicallyunhealthydaysPremium | number | 4.247736361 | Average physically unhealthy days per month |
mentallyunhealthydaysPremium | number | 4.8111015035 | Average mentally unhealthy days per month |
lowbirthweightpercentPremium | number | 9.1518749808 | Percentage of low birth weight births |
smokerspercentPremium | number | 20.957241772 | Percentage of population that smokes |
obesitypercentPremium | number | 31.5 | Percentage of population classified as obese |
foodenvindexPremium | number | 7.5 | Food environment index rating for county |
physicallyinactivepercentPremium | number | 23.2 | Percentage of physically inactive population |
excessivedrinkingpercentPremium | number | 18.940103365 | Percentage of excessive alcohol drinkers |
alcoholimpaireddrivingdeathsPremium | number | 152 | Annual alcohol-impaired driving deaths in county |
teenbirthratePremium | number | 31.109351559 | Birth rate among teenage population |
uninsuredPremium | number | 12.486314662 | Percentage of uninsured population |
withannualmammogramPremium | number | 45 | Percentage receiving annual mammogram screening |
vaccinatedPremium | number | 51 | Percentage of vaccinated population |
childreninpovertyPremium | number | 19.6 | Percentage of children living in poverty |
80thpercentileincomePremium | number | 108296 | 80th percentile income level in dollars |
20thpercentileincomePremium | number | 23275 | 20th percentile income level in dollars |
childreninsingleparenthouseholdsPremium | number | 33.224850811 | Percentage of children in single-parent households |
violentcrimeratePremium | number | 941.43198334 | Violent crime rate per 100,000 people |
averagedailypm25Premium | number | 9.1 | Average daily PM2.5 air pollution level |
severehousingproblemsPremium | number | 15.347550638 | Percentage with severe housing cost burden |
drivealonetoworkPremium | number | 83.470246386 | Percentage driving alone to work |
longcommutedrivesalonePremium | number | 33.7 | Percentage with long commute driving alone |
longitudePremium | number | -94.34749665503394 | Geographic longitude coordinate of county |
latitudePremium | number | 39.016701918102484 | Geographic latitude coordinate of county |
educationPremium | object | {...} | Educational attainment distribution for county |
lessthanhighschoolPremium | number | 9.4 | Percentage with less than high school education |
highschoolPremium | number | 28.3 | Percentage with high school education |
somecollegePremium | number | 30.7 | Percentage with some college education |
bachelorsPremium | number | 31.6 | Percentage with bachelor's degree or higher |
zipcodesPremium | array | [64137, ...] | Array of all ZIP codes within the county |
lifeexpectancy | number | 77.19 | Average life expectancy in years |
avgincome | number | 47054 | Average annual household income in dollars |
povertyrate | number | 13.7 | Percentage of population below poverty line |
costoflivingPremium | object | {...} | Cost of living metrics for the county |
livingwagePremium | number | 14.55 | Living wage per hour in dollars |
foodcostsPremium | number | 3246 | Average annual food costs in dollars |
medicalcostsPremium | number | 2681 | Average annual medical costs in dollars |
housingcostsPremium | number | 8136 | Average annual housing costs in dollars |
taxcostsPremium | number | 6263 | Average annual tax costs in dollars |
landareakm2Premium | number | 1565.601892 | Land area of county in square kilometers |
areakm2Premium | number | 1596.319707 | Total area of county in square kilometers |
Errors
Read the HTTP status first, then error for the specific reason. The body names the parameter that has to change. Error handling covers the full status list and which of them are worth retrying.
| Status | Meaning | What to do |
|---|---|---|
400 | Input was rejected | Read error; it names the parameter. |
401 | Key missing or invalid | Check the header name and the key value. |
403 | Key valid, but not permitted | A key restriction or IP allow-list; see key scoping. |
429 | Rate limited, or out of credits | Read error to tell them apart; see rate limits. |
Use cases
- Demographics
- Use the County Data API to get data about US counties for demographics. Use the data to analyze population, income, education, and more
- Real Estate
- Get data about US counties by using the County Data API for real estate. Use the data to analyze property values, market trends, and investment opportunities
- Economic Development
- Use the County Data API to get data about US counties for economic development. Use the data to identify growth areas, attract businesses, and create jobs
- Research & Analysis
- Get data about US counties by using the County Data API for research and analysis. Use the data to study trends, conduct studies, and make informed decisions
Other ways to use County Data Lookup
Set up County Data Lookup on APIVerve, or reach the same source a different way. Your APIVerve account and credits work on all of them — one key, one balance.
Related
More in Geography: