Discover/NACo API
live

NACo APInaco.org

Access U.S. county profiles, FIPS-based lookups, bulk economic indicators, federal funding data, and NACo research resources via a structured API.

Endpoint health
verified 2d ago
get_indicator_data
get_county_profile
search_resources
search_counties
4/4 passing latest checkself-healing
Endpoints
4
Updated
26d ago

What is the NACo API?

The NACo.org API provides 4 endpoints covering U.S. county government data for all ~3,000 counties, including FIPS-coded profiles, bulk economic and federal funding indicators, and searchable NACo research resources. The get_county_profile endpoint returns fields like County_GDP, Governing_Authority, Board_Size, Year_Founded, and historical census population, while get_indicator_data delivers bulk indicator values across every county in a single call.

Try it
Maximum number of results to return.
Search keyword matching county name, state abbreviation, or FIPS code substring. Omitting returns all counties.
api.parse.bot/scraper/2c2ee68f-df52-4653-98eb-73ab9e98712b/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/2c2ee68f-df52-4653-98eb-73ab9e98712b/search_counties?limit=10&query=CA' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace naco-org-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.naco_county_explorer_api import NACo, County, CountyProfile, Resource, Dataset, Indicator

naco = NACo()

# Search for California counties
for county in naco.counties.search(query="CA", limit=5):
    print(county.name, county.state, county.population, county.is_naco_member)

# Get detailed profile for a specific county by FIPS
la_county = naco.county(fips="06037")
profile = la_county.profile()
print(profile.found, profile.county.county_seat, profile.county.county_gdp)
print(profile.pop)

# Retrieve bulk federal funding indicator data using enums
for record in naco.indicatorresults.list(dataset_db=Dataset.FEDERAL_FUNDING, indicators=Indicator.FED_PILT_ALLOCATION, year=2025, limit=5):
    print(record.fips)

# Search for NACo resources on housing
for resource in naco.resources.search(query="housing", topic="38", limit=3):
    print(resource.id, resource.title, resource.url, resource.date)
All endpoints · 4 totalmissing one? ·

Search for U.S. counties by name, state abbreviation, or FIPS code substring. Returns matching counties sorted alphabetically by state then name. Omitting the query returns all ~3,100 counties. The search is case-insensitive and matches against county name, state abbreviation, and FIPS code.

Input
ParamTypeDescription
limitintegerMaximum number of results to return.
querystringSearch keyword matching county name, state abbreviation, or FIPS code substring. Omitting returns all counties.
Response
{
  "type": "object",
  "fields": {
    "counties": "array of county objects with fips, name, state, population, and is_naco_member fields",
    "total_matches": "integer total number of matching counties before limit is applied"
  },
  "sample": {
    "data": {
      "counties": [
        {
          "fips": "06001",
          "name": "Alameda County",
          "state": "CA",
          "population": 1666753,
          "is_naco_member": true
        }
      ],
      "total_matches": 196
    },
    "status": "success"
  }
}

About the NACo API

County Search and Profiles

The search_counties endpoint accepts a query string (county name, state abbreviation, or 5-digit FIPS code) and returns an array of matching county objects — each with fips, name, state, population, and is_naco_member — along with a total_matches count. To pull a full county record, pass the 5-digit FIPS code to get_county_profile. That response includes government structure fields (Governing_Authority, Board_Size), geographic attributes (Land_Area, County_Seat), economic data (County_GDP), a County_Website link, and a pop object mapping census years (from 1920 through 2020) to historical population figures.

Bulk Indicator Data

get_indicator_data is a POST endpoint that returns data for all ~3,000 counties in one call. You supply a dataset_db (confirmed values: Federal_Funding, County_Economy) and an indicators string (confirmed values include FED_PILT_Allocation for the Federal Funding dataset). The response includes a data array of objects keyed by FIPS with indicator values, plus year, count, and dataset fields. Only one indicator per request is reliably supported; invalid dataset/indicator combinations may return a 500 error from the upstream source.

NACo Research Resources

search_resources retrieves NACo publications, toolkits, and policy documents. Results are paginated (0-indexed page parameter) and filterable by query, topic ID (e.g., 37 for Health, 38 for Housing), and resource_type ID (e.g., 19 for Reports & Toolkits, 17 for Policy Document, 21 for Video). Each result object includes id, title, url, and date. The meta field in the response exposes totalResults, totalPages, and facets for further filtering.

Reliability & maintenanceVerified

The NACo API is a managed, monitored endpoint for naco.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when naco.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official naco.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
2d ago
Latest check
4/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Map federal PILT allocation across all U.S. counties using bulk FED_PILT_Allocation indicator data
  • Build a county government directory using Governing_Authority, Board_Size, and County_Website from get_county_profile
  • Identify NACo member counties for partnership targeting via the is_naco_member flag in search_counties
  • Analyze historical county population trends using the pop object spanning census years 1920–2020
  • Surface county economic output figures with County_GDP from the County_Economy dataset
  • Retrieve NACo health or housing policy documents by filtering search_resources with topic IDs like 37 or 38
  • Cross-reference county FIPS codes with external datasets using the FIPS lookup in search_counties
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does NACo offer an official developer API?+
NACo does not publish a documented public developer API. The NACo.org API on Parse exposes county profiles, bulk indicator data, and research resources as structured endpoints.
What does `get_county_profile` return beyond basic demographics?+
get_county_profile returns government structure fields (Governing_Authority, Board_Size), geographic attributes (County_Seat, Land_Area, Year_Founded), County_GDP, a County_Website URL, and a pop object with population figures for each decennial census year from 1920 to 2020. The found boolean indicates whether the requested FIPS code resolved to a record.
Are there limitations on which indicator and dataset combinations work in `get_indicator_data`?+
Yes. Only specific dataset_db and indicators pairs are confirmed to work reliably — notably Federal_Funding with FED_PILT_Allocation and County_Economy with economic indicators. Unrecognized combinations may return a 500 error. Only one indicator per request is reliably supported; multi-indicator batching is not guaranteed.
Does the API expose county-level contact information such as commissioner names or direct phone numbers?+
Not currently. The get_county_profile endpoint returns a County_Website URL and government structure data, but individual official names, direct phone numbers, and email addresses are not included in the response fields. You can fork this API on Parse and revise it to add an endpoint targeting those contact details.
Can I filter `search_resources` by both topic and resource type at the same time?+
Yes. search_resources accepts topic, resource_type, and query as independent optional parameters, and they can be combined in the same request. Topic IDs include 37 for Health and 38 for Housing; resource type IDs include 19 for Reports & Toolkits, 17 for Policy Document, and 21 for Video.
Page content last updated . Spec covers 4 endpoints from naco.org.
Related APIs in Government PublicSee all →
data.ers.usda.gov API
Access comprehensive economic and demographic data for any US county, including unemployment rates, employment figures, income levels, poverty statistics, and population characteristics from the USDA Economic Research Service. Search and filter across all 3,143 US counties to analyze rural economic trends and county classifications for research, planning, or policy development.
naics.com API
Find NAICS industry classification codes and their detailed descriptions by searching keywords or browsing all available codes to identify the right sector and industry classification for your business. Get comprehensive information including code numbers, sector titles, and related industry details to ensure accurate business categorization.
cookcountyil.gov API
Search Cook County property tax records, look up court cases, find code violations, and get department contact information all in one place. Quickly access public records and government contacts without navigating multiple websites.
content.naic.org API
Search and access comprehensive insurance regulatory information from state departments, including news articles, glossary definitions, committee details, and company data. Find contact information for state insurance regulators, look up insurance industry terms, and research specific insurance companies all in one place.
losangelescounty.gov API
Search Los Angeles County public records, code violations, and department information, while accessing board meeting minutes, transcripts, and agendas all in one place. Quickly find contact details for county departments and stay informed on official meetings without navigating multiple county websites.
npidb.org API
Search for healthcare providers and organizations by name to instantly retrieve their credentials, contact information, and specialty taxonomy codes from the National Provider Identifier database. Look up detailed provider profiles to verify qualifications and find the right medical professionals for your needs.
harriscountytx.gov API
Access official Harris County government data including election results, county services and facilities like parks and libraries, public notices, and Commissioners Court meeting schedules. Stay informed about local government activities and find information about Harris County services all in one place.
nass.usda.gov API
Access comprehensive agricultural statistics from the USDA, including crop production data, livestock numbers, and farm economics through the QuickStats database, while also discovering available parameters and viewing the publications calendar. Search, filter, and retrieve detailed agricultural data by region, commodity, and time period to support farming decisions and agricultural analysis.