← Health board

IDFPR

Illinois Roofing Contractor Directory & Leads Scraper (IDFPR)

Export every IDFPR-licensed roofing contractor in any Illinois county — name, license #, type, status, expiration, city & ZIP — from the official state open-data registry.

100%golden-diff pass
Run it on Apify verified nightly

Verification

100%golden-diff success
312canary runs
0days since last canary run

Output fields

Authoritative field set from the dataset schema.

FieldType
statestring|null
license_numberstring|null
business_namestring|null
license_typestring|null
statusstring|null
issue_datestring|null
expiration_datestring|null
citystring|null
countystring|null
addressstring|null
zip_codestring|null
phonestring|null
person_namestring|null
bond_amountstring|null
bond_companystring|null
insurance_companystring|null
matched_bystring|null
source_urlstring|null
scraped_atstring|null

Sample row

{
  "state": "IL",
  "license_number": "104012345",
  "business_name": "CHICAGO SKYLINE ROOFING INC",
  "license_type": "LICENSED ROOFING CONTRACTOR",
  "status": "ACTIVE",
  "issue_date": "03/15/2010",
  "expiration_date": "06/30/2025",
  "city": "CHICAGO",
  "county": "COOK",
  "address": null,
  "zip_code": "60601",
  "phone": null,
  "person_name": null,
  "bond_amount": null,
  "bond_company": null,
  "insurance_company": null,
  "matched_by": "county_directory",
  "source_url": "https://data.illinois.gov/d/pzzh-kp68"
}

Inputs

FieldTypeReqDefaultDescription
listCountiesOnly boolean no false When true, the actor returns all available Illinois counties that have IDFPR roofing contractor records and exits immediately (< 10 seconds, no charge). Use this to discover the exact county name before running a full scrape.
county string no "COOK" The Illinois county to scrape (e.g. 'Cook', 'DuPage', 'St. Clair'). Case, spacing and a trailing 'County' do not matter. If it is missing or does not match an Illinois county, the run returns the free county list instead of failing, so you can see the exact names.
counties array no ["COOK"] Look up many in ONE run instead of starting a run per lookup. Takes the same values as 'County'. Combined with 'County' if you fill both, and duplicates are removed. Billing is unchanged: you are charged per record returned, not per entry submitted.
maxResults integer no 500 Cap on the number of records returned PER ENTRY, not per run — so a batch cannot silently return only the first 500 rows overall and read as 'the rest don't exist'. Cook County alone has thousands of records; set lower for testing. Default 500.

Pricing

Pay per result (dataset-item) — no charge for empty runs.
Example: 500 roofing contractor records at $0.002/result ≈ $1.00.

FAQ

Where does the data come from?

The Illinois Department of Financial and Professional Regulation (IDFPR) publishes its license data on data.illinois.gov (Socrata dataset pzzh-kp68). This actor queries that public dataset directly.

Why does this only cover roofing contractors?

Illinois has no statewide general-contractor license. Roofing contractor is the only contractor-trade license issued at the state level by IDFPR. Electrical, plumbing, HVAC, and general construction are licensed at the municipal level, not by IDFPR.

How do I find the right county name?

Run the actor once with listCountiesOnly=true. It returns all available Illinois county names in seconds at no charge.

How many records can I get per run?

Cook County alone has thousands of roofing contractor records spanning active, expired, and historical licenses. The actor paginates automatically; set maxResults to control the cap.

Why are address and phone null?

The IDFPR dataset does not publish street address or phone number fields — only city, state, ZIP, and county. The actor sets these fields to null for schema consistency with the rest of the contractor suite.

How am I charged?

Pay per record in Scrape Mode. Discovery Mode (listCountiesOnly=true) is not charged.

How current is the data?

The IDFPR dataset is updated regularly by the state. The actor queries the live dataset at scrape time.

Guides & use cases

Related actors