County Business Patterns: one NAICS code across a geography level
Changed onEstablishments, employment, annual and first-quarter payroll of employer businesses from the Census Bureau's County Business Patterns (<vintage>/cbp), one vintage year (1998 to the latest published; earlier vintages publish SIC codes), for one NAICS code (00 = all industries) across the nation, every state (or one), the counties of one state, or every metro area. The industry variable is renamed per vintage (NAICS1997 ... NAICS2017) and is resolved from the vintage's own variable list, which also labels the code (from the 2012 vintage on). A county list can be shorter than the state's counties: the Bureau publishes no row where it withholds one. A vintage past the latest is an empty answer with a reason.
Request
- Base URL: https://sugra.ai
- URL: https://sugra.ai/api/v1/census/business/patterns
- Auth: API key in header x-api-key
Query parameters
Vintage year (YYYY, 1998 to the latest published; required).
us (one national row), state (every state and territory, or one with state=), county (the counties of one state; state= required) or msa (every metropolitan and micropolitan area).
State postal code (CA, TX, DC, ...) when geo=state.
00 for all industries (default), a NAICS sector (54, or a range such as 31-33) or a 3-6 digit NAICS code.
Response
One row per geography with the four measures, in FIPS or CBSA order.
Example response
{
"meta": {
"endpoint": "/api/v1/fred/us/cpi",
"data_time": "2026-04-16T14:30:00Z",
"response_time": "2026-04-16T14:30:12Z",
"provider": "Sugra API v1.0.1",
"data_age_days": 8.532,
"source": "sugra_crypto",
"attribution": "Short interest and Reg SHO daily short volume data is owned by and sourced from FINRA (Financial Industry Regulatory Authority).",
"fallback_chain": [
"sugra_crypto",
"sugra_finance"
],
"stale_since": "2026-09-08T12:00:00Z",
"period": "2026-Q1",
"notes": "the UKMTO report behind these counts is dated 2026-08-21 and is 11 days old"
}
}Changes
- info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status
- info
- info
added the non-success response with the status
- info