DIAL
Iowa Contractor Registration Lookup & Leads Scraper (DIAL)
Export every active Iowa construction contractor registration (18,257 on 2026-11-05) from DIAL's official roster, with phone and email on ~96% of rows, mailing address, county and NAICS trade. Filter by trade, county, city, ZIP or name.
Verification
Output fields
Authoritative field set from the dataset schema.
| Field | Type |
|---|---|
license_number | string|null |
business_name | string|null |
person_name | string|null |
first_name | string|null |
last_name | string|null |
phone | string|null |
email | string|null |
address | string|null |
city | string|null |
address_state | string|null |
zip_code | string|null |
county | string|null |
naics_code | string|null |
primary_activity | string|null |
status | string|null |
issue_date | string|null |
expiration_date | string|null |
license_type | string|null |
state | string|null |
notice | string|null |
notice_type | string|null |
source_url | string|null |
Sample row
{
"license_number": "C153532",
"business_name": "515 PAINTING & HOME SERVICES LLC",
"person_name": "MARLON NAZRALA DELCID",
"phone": "(515) 205-3017",
"email": "mjnazrala@gmail.com",
"address": "2910 WOOD STREET",
"city": "AMES",
"address_state": "IA",
"zip_code": "50014",
"county": "Story",
"naics_code": "238320",
"primary_activity": "Painting & Wall Covering Contractors",
"status": "Registered",
"issue_date": "2026-09-29",
"expiration_date": "2027-09-29",
"license_type": "Construction Contractor Registration",
"state": "IA",
"source_url": "https://data.iowa.gov/catalog/dataset/1052"
} Inputs
| Field | Type | Req | Default | Description |
|---|---|---|---|---|
trade | string | no | — | A word from DIAL's primary-activity label ('roofing', 'electrical', 'plumbing', 'remodelers') — matches at the start of a word — or a NAICS code ('238160') or code prefix ('2382' = every specialty trade). A value that matches none of the 32 activities is dropped and logged. |
trades | array | no | [] | Several trades in ONE run, e.g. roofing and siding. Combined with 'Trade' if you fill both. |
county | string | no | — | Iowa county, e.g. 'Polk', 'Linn County', 'obrien'. DIAL fills county for Iowa addresses only. An unrecognised county is dropped and logged. |
counties | array | no | [] | Several counties in ONE run. Combined with 'County' if you fill both. |
city | string | no | — | Mailing city, exact match ignoring case and punctuation, e.g. 'Des Moines'. |
cities | array | no | [] | Several cities in ONE run. |
zipCode | string | no | — | 5-digit mailing ZIP, e.g. '50309'. |
zipCodes | array | no | [] | Several ZIP codes in ONE run. |
nameFilter | string | no | — | Case-insensitive text found in the business name or the registrant's first/last name, e.g. 'roofing llc' or 'smith'. |
nameFilters | array | no | [] | Several names in ONE run; a registration matching any of them is returned once. |
iowaAddressesOnly | boolean | no | false | Registrants from any state can work in Iowa: 4,057 of 18,000 (22.5%, 2026-10-07) have an out-of-state mailing address. Tick to drop them. |
maxResults | integer | no | 500 | Cap on registrations returned for the WHOLE run (this is an export; the cap is your spend control). The full roster was 18,000 on 2026-10-07 — set 100000 to take everything that matches. |
proxyConfiguration | object | no | {"useApifyProxy":false} | Optional. data.iowa.gov answers direct requests; enable a proxy only if a run returns a 'blocked' notice. |
Pricing
Pay per result (dataset-item) — no charge for empty runs.
Example: 115 Polk County roofing contractors at $0.004/result ≈ $0.46.
FAQ
Where does the data come from?
From the Iowa Department of Inspections, Appeals, and Licensing (DIAL), Building & Construction Division: the open-data set 'Active Iowa Construction Contractor Registrations' (data.iowa.gov dataset 1052), published under CC BY 4.0 and refreshed weekly. The actor downloads it on every run.
Does it include phone and email?
Yes. DIAL removed phone and email from its public file on 2026-11-03. This actor matches each registration, by its DIAL registration number, to DIAL's 2026-10-14 file, the last edition that carried them: phone on 97.5% and email on 95.5% of active registrations (2026-11-05). Contractors who registered after 2026-10-14 have none. If DIAL publishes the columns again, the current values are used automatically.
Is this a licence or a registration?
A registration. Iowa does not license general contractors at state level; anyone earning at least $2,000 a year from construction in Iowa must register with DIAL and renew annually. Trades such as electrical and plumbing also need separate DIAL trade licences, which this file does not cover.
How many contractors are there?
18,000 active registrations on 2026-10-07. Largest trades: Residential Remodelers 3,397, All Other Specialty Trade 1,796, Electrical 1,727, Plumbing/Heating & A/C 1,436, Roofing 880. Largest counties: Polk 2,437, Linn 1,071, Johnson 553, Scott 496.
Does it include out-of-state contractors?
Yes, 4,057 of the 18,000 (22.5%) have a mailing address outside Iowa, most often Nebraska (887), Minnesota (527) and Illinois (435). Tick 'Iowa mailing addresses only' to drop them. DIAL leaves county blank for most of them, so a county filter returns Iowa addresses only.
How do I name a trade?
With a word from the activity label, matched at the start of a word ('roofing', 'electrical', 'remodelers'), or a NAICS code ('238160') or prefix ('2382' for every specialty trade). DIAL uses 32 activities: 230000 Other/Undefined plus the NAICS codes from 236115 New Single-Family Housing Construction to 238990 All Other Specialty Trade Contractors; a value that matches none of them is dropped and logged.
Does it include expired registrations?
No. DIAL's file holds only registrations with status Registered and an expiry date on or after the refresh date, so every row reads status 'Registered'.
How am I charged?
$0.004 per registration returned. The default run returns 500 rows ($2.00); the whole state was 18,257 rows ($73.03) on 2026-11-05. Rows explaining an outage or an unrecognised filter are free.
Guides & use cases
Related actors