Socioeconomic & Demographics
PadStats provides ACS census demographics, FBI NIBRS crime statistics, and composite socioeconomic indices — all queryable by address, coordinates, or Census GEOID.
Endpoints
| Endpoint | Description |
|---|---|
GET /v1/census-data | ACS census variables by address or coordinates |
POST /v1/census-data | Same, via JSON body |
POST /v1/census-data/by-geoid | Census data by Census GEOID |
GET /v1/crime-data | Crime incidents within a radius |
POST /v1/crime-data | Same, via JSON body |
GET /v1/socioeconomic-data | Composite socioeconomic indices |
POST /v1/socioeconomic-data | Same, via JSON body |
GET /v1/socioeconomic-data/by-geoid | Socioeconomic data by Census GEOID |
Census Data
Returns ACS (American Community Survey) variables at one or more geographic levels.
curl -X POST https://api.padstats.io/v1/census-data \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"address": "500 Congress Ave, Austin, TX 78701",
"years": [2023],
"geographies": ["block_group", "tract"]
}'
Request fields
| Field | Type | Default | Description |
|---|---|---|---|
address / latitude + longitude | — | — | Location |
years | int[] | [2023] | ACS data years (2019–2023) |
geographies | string[] | ["block_group"] | county, cousub, tract, block_group |
census_keys | string[] | predefined set | Specific ACS variable codes; omit for the default set |
Response structure
{
"location_info": { ... },
"census_geoids": {
"state_fips": "48",
"county_fips": "453",
"cousub_fips": "24000",
"tract_fips": "002100",
"block_fips": "1",
"geoid": "480450021001"
},
"acs_data": [
{
"year": 2023,
"geography_level": "block_group",
"name": "Block Group 1, Census Tract 21, Travis County, Texas",
"variables": {
"B01003_001E": {
"category": "demographics",
"subcategory": "population",
"value_type": "total",
"value": 1482
},
"B19013_001E": {
"category": "economics",
"subcategory": "income",
"value_type": "currency",
"value": 78500
}
}
}
]
}
Common ACS variable groups
| Table | Description |
|---|---|
B01002 | Median age by sex |
B01003 | Total population |
B03002 | Hispanic or Latino origin by race |
B15003 | Educational attainment (25+) |
B19001 | Household income distribution |
B19013 | Median household income |
B19082 | Gini index of income inequality |
B25001 | Total housing units |
B25024 | Units in structure |
B25035 | Median year structure built |
Querying by GEOID
If you already have a Census GEOID (e.g., from a previous response), use the direct lookup:
{
"geoid": "480453002100",
"geography": "tract",
"years": [2023]
}
Crime Data
Returns crime incidents from FBI NIBRS reporting within a specified radius.
curl -X POST https://api.padstats.io/v1/crime-data \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"address": "500 Congress Ave, Austin, TX 78701",
"radius_mi": 1.0,
"start_date": "2024-01-01",
"end_date": "2024-12-31",
"include_crime_summary": true
}'
Request fields
| Field | Type | Default | Description |
|---|---|---|---|
radius_mi | float | 1.0 | Search radius (max 6.0 miles) |
start_date | string | — | Start date (YYYY-MM-DD) |
end_date | string | — | End date (YYYY-MM-DD) |
include_crime_summary | bool | true | Include aggregated summary statistics |
include_crime_details | bool | false | Include extended fields: agency, victim_sex, victim_race, victim_age_group, offender_sex, offender_race, offender_age_group, crime_against, reference_id |
offense_categories | string[] | all | Filter to specific NIBRS offense categories |
sort_by | string | recency | recency or distance |
limit | int | 100 | Max records returned (up to 1,000) |
cursor | string | — | Pagination cursor from previous response |
Response
{
"query": {
"latitude": 30.2672, "longitude": -97.7431,
"radius_mi": 1.0
},
"summary": {
"total": 87,
"by_category": {
"Theft": 34,
"Assault": 18,
"Burglary": 12,
"Vehicle Theft": 9
},
"by_severity": {
"minor": 10, "low": 28, "moderate": 31, "high": 15, "severe": 3
}
},
"crime_instances": [
{
"id": 10482910,
"datetime": "2024-11-14T22:35:00",
"lat": 30.2680,
"lon": -97.7418,
"address": "500 Block of Congress Ave",
"distance_mi": 0.08,
"offense_code": "23H",
"offense_category": "Theft",
"offense_description": "Theft from vehicle",
"crime_type": "property",
"severity": "Moderate"
}
],
"meta": {
"count": 87,
"truncated": false,
"next_cursor": null,
"compute_ms": 143
}
}
Severity levels
| Level | Description |
|---|---|
| Minor | Non-contact, low-impact offenses |
| Low | Property crimes with limited direct harm |
| Moderate | Property crimes or non-severe person crimes |
| High | Violent crimes or significant property damage |
| Severe | Homicide, sexual assault, armed robbery |
Socioeconomic Indices
Returns composite indices (0–100 scale) derived from ACS census data, compared against local, county, state, and national baselines.
curl -X POST https://api.padstats.io/v1/socioeconomic-data \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"address": "500 Congress Ave, Austin, TX 78701",
"year": 2023,
"geographies": ["tract", "county"],
"include_grades": true
}'
Request fields
| Field | Type | Default | Description |
|---|---|---|---|
year | int | 2023 | ACS data year (2019–2023) |
geographies | string[] | ["all"] | county, cousub, tract, block_group, all |
include_grades | bool | false | Return letter grades (A–F) alongside numeric indices |
Socioeconomic indices returned
| Index | What it measures |
|---|---|
| Income & Employment | Median household income, employment rate |
| Education & Employment | Educational attainment, workforce participation |
| Diversity | Racial and ethnic diversity |
| Poverty | Poverty rate relative to comparison area |
| Age / Family | Age distribution, household composition |
Natural hazard indices
The response also includes natural hazard indices at the same geographic levels:
| Index | What it measures |
|---|---|
| Flood Risk | Composite FEMA flood exposure |
| Storm Surge | Coastal storm surge exposure |
| Fire Risk | USDA wildfire burn probability |
| Wind / Hurricane | Wind hazard exposure |
| Seismic Risk | Earthquake risk |
| Severe Weather | Tornado, hail, and severe storm exposure |
Reading the indices
All indices are on a 0–100 scale relative to a comparison basis:
100= best possible outcome for this index (e.g., lowest poverty, lowest flood risk)0= worst possible outcome- The comparison basis is shown in each result:
cousub(local),county,state, orcountry
When include_grades: true, letter grades (A through F) are attached to each index based on the same comparison.