Business Licenses — Chicago: full dataset
Pricing
from $0.50 / 1,000 results
Business Licenses — Chicago: full dataset
NOTE, 9/25/2025 - We have populated the Address column for additional records . Business licenses issued by the Department of Business Affairs and Consumer Protection in. Returns 42 declared fields as flat JSON. Public Chicago Open Data data, no key.
Pricing
from $0.50 / 1,000 results
Rating
0.0
(0)
Developer
Alauddin burki
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Security
Limited permissionsShare
NOTE, 9/25/2025 - We have populated the Address column for additional records . Business licenses issued by the Department of Business Affairs and Consumer Protection in the City of Chicago from 2002 to the present. This dataset contains a large number of records/rows of data and may not be viewed in full in Microsoft Excel. Therefore, when downloading the file, select CSV from the Export menu. This Actor returns it as one flat JSON row per record, with 42 declared fields — typed, named and documented in the dataset schema, so a spreadsheet or an agent can use it without guessing.
What you get
| Field | Type | Meaning |
|---|---|---|
id | string | ID |
location_address | string | LOCATION (address) |
community_area | number | COMMUNITY AREA |
license_id | number | LICENSE ID |
ward_precinct | string | WARD PRECINCT |
application_type | string | APPLICATION TYPE |
license_start_date | string | LICENSE TERM START DATE |
latitude | number | Latitude |
longitude | number | Longitude |
legal_name | string | LEGAL NAME |
application_requirements_complete | string | APPLICATION REQUIREMENTS COMPLETE |
community_area_name | string | COMMUNITY AREA NAME |
location_city | string | LOCATION (city) |
ward | number | WARD |
longitude_2 | number | LONGITUDE |
conditional_approval | string | CONDITIONAL APPROVAL |
precinct | number | PRECINCT |
location_zip | string | LOCATION (zip) |
ssa | string | SSA |
police_district | number | POLICE DISTRICT |
The output schema lists all 42 fields; the table above is the first twenty.
Every row also carries sourceRowId, sourceUpdatedAt and scrapedAt, so a pipeline can tell one record
from another and know exactly when it was read.
{"id": "2977363-20261016","location_address": "text","community_area": 14,"license_id": 3099221,"ward_precinct": "33-9","application_type": "RENEW","license_start_date": "2026-10-16T00:00:00.000","latitude": 41.96223481162694}
Inputs
| Field | What it does |
|---|---|
| Filter (SoQL) | Applied at the source, so a narrow question fetches a narrow page instead of downloading everything. |
| Order | Empty keeps the publisher's own order; set a column to sort, for example amount DESC. |
| Maximum rows | Hard cap. The source is paged 1,000 rows at a time. |
| Time budget | Stops cleanly and reports how far it got. |
| Pause between pages | Keeps the run inside the publisher's rate limits. |
Limitations
- This is one dataset, from one publisher. It is the Business Licenses dataset as City of Chicago publishes it — not a national or cross-city equivalent, and not a merge with other sources.
- The publisher can change it. Columns are added, renamed and retired upstream; the field list here is the schema the Actor was generated from. A renamed column arrives as a new field only after the Actor is updated.
- Fields are typed from live records. A column that was empty in the sample is declared as text; a value that
does not fit the declared type comes back
nullrather than being coerced into a wrong number. - Records are what the publisher publishes. No geocoding, no de-duplication across datasets, no enrichment.
- Freshness is the publisher's. The data was last changed upstream on 2026-10-24. Where the publisher
supplies a row timestamp it appears as
sourceUpdatedAt;scrapedAtrecords when this Actor read the row.
Why this is different
- Business Licenses — Chicago: full dataset declares all 42 of its output fields in the dataset schema, each with a type, a description and an example.
- The Actor reads the Business Licenses dataset directly from Chicago Open Data; no key, login or account is needed.
- Filters run at the source with SoQL, so a narrow request returns a narrow page rather than a full download.
- Every row is flat JSON: nested location objects become
latitudeandlongitude, and no field holds a nested object. - The row id is stable, so the same request de-duplicates instead of returning the same record twice.
FAQ
Do I need an API key? No. Chicago Open Data publishes this dataset openly.
How fresh is it? The Actor reads the dataset live. scrapedAt records when each row was read, and
sourceUpdatedAt carries the publisher's own row timestamp where it supplies one.
Can I filter by date or status? Yes — use the Filter field with SoQL, for example status = 'Active'.
What happens if my filter is wrong? The run stops with the portal's own message and the hint to check SoQL, rather than returning an empty dataset that looks like "no data".
Is this the whole dataset? Up to your row cap, paged 1,000 at a time. Raise the cap to read more.
What is sourceRowId? The publisher's own row id when it supplies one, otherwise a stable hash of the row. Either way it is what makes de-duplication and joins possible.
Pricing
Pay per result: $0.0005 per row. Each stored dataset row is billed, including any diagnostic row returned instead of results.
An Actor-start event is also charged at $0.0001 per GB of allocated memory (minimum one event), even if no rows are returned. At 1 GB or less, 1,000 result rows cost $0.5001 before any applicable Store discount.
Data source
Chicago Open Data — Business Licenses, published by City of Chicago. Public data under the portal's open-data terms.