US Business Licenses - 12 Local Registers
Pricing
from $0.03 / 1,000 us business licence records
US Business Licenses - 12 Local Registers
Business and occupational licences from twelve local registers — Chicago, Texas permits, Philadelphia, DC, Delaware, New Orleans, Cincinnati, Mesa, Norfolk, Berkeley, NYC DCWP and California counties. One schema; filter by name, licence, type, status, city or ZIP; monitor new licences.
Pricing
from $0.03 / 1,000 us business licence records
Rating
0.0
(0)
Developer
Wenhao Yang
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
US Business Licenses - 12 Local Registers, One Schema
Business and occupational licence records from twelve local registers, server-side queryable, with a monitor mode for new licences.
Low cost
From $0.00005 per record, down to $0.00003 at Gold.
What you get
jurisdiction,state,source- which register the row came fromrecordId,licenseNumberbusinessName,dbaName,ownerNamelicenseType,licenseCategorystatus(normalisedactive/inactive/unknownwhere a status exists),statusRawstartDate,eventDate(the issuance / event date),endDateaddress,city,stateCode,zip,naicssourceUrl,sourceUpdatedAt
Registers
jurisdiction | Register | Notes |
|---|---|---|
chicago (default) | Chicago business licences | current active licences only; one row per licence business activity |
tx | Texas sales-tax permit outlets | one row per outlet; current permits only |
philly | Philadelphia business licences | rental and commercial in one table |
dc | DC basic business licences | |
de | Delaware business licences | |
nola | New Orleans occupational licences | |
cincinnati | Cincinnati business licences | |
mesa | Mesa (AZ) business licences | |
norfolk | Norfolk (VA) business licences | no licence id in the feed - recordId is derived |
berkeley | Berkeley (CA) business licences | |
nyc | NYC DCWP | sub picks licenses / applications / inspections / violations / complaints |
ca-county | California counties | sub picks sac-fbn / sac-bl / sonoma |
Modes
mode=rows (default) returns matching records.
mode=aggregate returns one count row per group (groupBy: licenseType, status, city, zip, licenseCategory), capped at maxResults groups (default 50 - raise it to get the long tail). A dimension the register does not publish is rejected; so is a group list the source would truncate. For nyc and ca-county the count is computed over the first 5,000 matching rows rather than a server-side group endpoint.
mode=monitor returns only records whose event date (issuance / filing date) is after your last run, and advances a per-user watermark in the actor's key-value store. The cursor is row-level: a page spanning several dates cannot skip the older ones. Owner runs do not advance the watermark unless sinceLastRun=true. Monitor is supported on the pushdown registers except berkeley (no date column), plus nyc/licenses and ca-county; the other NYC corpora have no issue-date axis and are rejected.
Examples
{ "jurisdiction": "chicago", "status": "AAI", "maxResults": 100 }
{ "jurisdiction": "chicago", "issuedFrom": "2026-10-01", "maxResults": 100 }
{ "jurisdiction": "tx", "city": "HOUSTON", "maxResults": 100 }
{ "jurisdiction": "philly", "licenseType": "Rental", "maxResults": 100 }
{ "jurisdiction": "dc", "name": "LLC", "maxResults": 100 }
{ "jurisdiction": "nola", "owner": "SMITH", "maxResults": 100 }
{ "jurisdiction": "philly", "owner": "SMITH", "maxResults": 100 }
{ "jurisdiction": "norfolk", "name": "MARKET", "maxResults": 100 }
{ "jurisdiction": "nyc", "sub": "licenses", "zip": "10001", "maxResults": 100 }
{ "jurisdiction": "nyc", "sub": "applications", "status": "Submitted", "maxResults": 100 }
{ "jurisdiction": "ca-county", "sub": "sac-fbn", "name": "CAFE", "maxResults": 100 }
{ "jurisdiction": "mesa", "name": "CAFE", "maxResults": 100 }
{ "mode": "monitor", "jurisdiction": "chicago", "maxResults": 100 }
{ "mode": "aggregate", "jurisdiction": "chicago", "groupBy": "licenseType" }
Honest limits
- A row is a licence record, not a business. Chicago publishes licence activity rows; Texas publishes one row per outlet; Philadelphia mixes rental and commercial licences.
- Filter availability differs by register. Cincinnati's feed has no business-name column, so
nameis rejected there (uselicenseType/city/zipor an id). Norfolk and Texas expose only a few grouping dimensions;mode=aggregateon a dimension the register does not publish is rejected rather than returning an empty or unfiltered answer.licenseCategoryis a group dimension on NYC and the California counties only. - Several registers publish only current licences (Chicago's current-active dataset, Texas, Delaware, New Orleans, Cincinnati) - Chicago still carries a status column; the others have none, so
statusstays blank there. Blank is not "expired". - Cincinnati publishes no business name at all (the column exists but every row is empty; measured 2026-10-24).
businessNameis blank for that register - use the licence number and address. - Field availability is not uniform. Berkeley publishes no licence type, status or issue date; DC and Mesa publish no ZIP; Norfolk publishes no city/ZIP/type/status. A filter the register cannot serve is rejected, not ignored.
- Some dates are future. Licence terms can start years ahead (DC has 2029-2034 start dates);
eventDateis the term start / issue date as published. A 9999 sentinel is cleared. On the newest-first page those future starts can appear first. - Addresses can be sparse on the newest rows. Philadelphia's newest licence rows frequently have no address/ZIP even though most of the corpus does; do not read a blank as "no address".
- DC has no per-row freshness stamp, so
sourceUpdatedAtis blank there; the count floor still runs. licenseTypeis the local label, not a national taxonomy. The same trade can be named differently in two cities.- Norfolk has no licence number in its feed;
recordIdis a stable hash of the name and address, so two records with the same name at the same address collapse to one id. - NYC
applicationsstates are not licence states.statusthere is the application status (Submitted,Pending, );unknownmeans the word is outside the normaliser's vocabulary, not that the application is invalid. - Monitor needs an issue-date axis. The NYC applications/inspections/violations/complaints corpora have no single issue date and reject
issuedFrom; use them with a date range of your own or the dedicated NYC actor. - PII: these are public business registrations. Owner names are part of the record. Phone numbers and mailing addresses are never emitted (some sources return them in the raw payload; they are not mapped to the output).
- Filters a register cannot serve are rejected with a clear error - none are silently dropped.
- Every register has its own count floor; most also carry a freshness check. The California county family (
ca-county) has a count floor but no freshness probe.
Related
Also available in this account: US contractor licenses (nine state boards), Chicago building permits, NYC ACRIS and NYC Tax Lien Sale Lists.