Use case
Export Polk County, Iowa Roofing Contractors
Every active DIAL-registered roofing contractor in Polk County, Iowa, with phone, email and mailing address.
Suppose you run inside sales for a roofing and siding distributor that is opening a branch in Ankeny, and your two reps start calling on contractors in three weeks. They need a call sheet: every roofer and siding installer based in Polk County, with a phone number, a contact name and an address to route visits by. Iowa does not license roofers at state level, but anyone earning $2,000 or more a year from construction has to register with DIAL, so the list exists. On 2026-10-07 it was 115 roofing contractors and 50 siding contractors with a Polk County address.
The manual way, and what it costs
There is no search form to click through. DIAL publishes the roster on the Iowa Data Hub as dataset 1052, and its Download button hands you a ZIP with one CSV of all 18,000 active registrations. Open it in Excel, filter the county column to POLK and the primary-activity column to Roofing Contractors and Siding Contractors, and you have the same 165 rows this article ends with. For a one-off call sheet that is two filters on a 3.5 MB file, and it is free. Since 2026-11-03, though, that file no longer carries phone or email: DIAL dropped both columns, so the free download gives you names and addresses but nothing to call.
Where it stops being reasonable is the second and third time. The file is refreshed weekly and holds only active registrations, so a roofer whose registration lapsed is simply gone from the next copy and a new one appears without a flag. Keeping a CRM in step means downloading again, filtering again and diffing against last month by hand. The trade column is also a text label with no NAICS code, which matters if your CRM segments by NAICS.
The faster way
Iowa Contractor Registration Lookup & Leads Scraper (DIAL) does the same search once and hands back every row at once.
{
"county": "Polk",
"trades": ["roofing", "siding"],
"maxResults": 500
}
“roofing” and “siding” each match one of DIAL’s 32 activity labels, and listing both in trades returns a contractor who matches either. On 2026-10-07 the log read 880 roofing and 194 siding registrations statewide, 2,437 registrations in Polk County, and 165 in both sets. The county filter only ever matches Iowa addresses, because DIAL leaves county blank for out-of-state registrants: 308 of the state’s 880 registered roofers have a mailing address in another state (104 of them in Nebraska), and none of them are on this sheet. maxResults of 500 sits well above 165, so nothing is cut off.
What comes back
{
"license_number": "C094400",
"business_name": "AAA ROOFING CO INC",
"person_name": "BRAD GANNON",
"phone": "(515) 282-6510",
"email": "aaa@aaaroofingiowa.com",
"address": "655 NE 46TH PL",
"city": "DES MOINES",
"address_state": "IA",
"zip_code": "50313",
"county": "Polk",
"naics_code": "238160",
"primary_activity": "Roofing Contractors",
"status": "Registered",
"issue_date": "2025-09-23",
"expiration_date": "2026-11-04",
"license_type": "Construction Contractor Registration",
"state": "IA",
"source_url": "https://data.iowa.gov/catalog/dataset/1052"
}
| Field | Example value | Meaning |
|---|---|---|
license_number | C094400 | DIAL registration number, unique per registration |
business_name | AAA ROOFING CO INC | Registered business name |
person_name | BRAD GANNON | Registrant’s first and last name |
phone | (515) 282-6510 | Phone on file, formatted (XXX) XXX-XXXX |
email | aaa@aaaroofingiowa.com | Email on file with DIAL |
address | 655 NE 46TH PL | Mailing street address |
For a call sheet, phone is the column that closes the loop, and it was on all 165 rows on 2026-10-07. After DIAL dropped the contact columns, the actor fills phone and email from DIAL’s 2026-10-14 file, matched on license_number: re-run on 2026-11-05, the same input returned 166 rows, 161 with a phone and 158 with an email (the rest registered after 2026-10-14). person_name gives your rep someone to ask for, which most state rosters do not. Email is on 161 of the 165, but 101 of those are Gmail, Yahoo, Hotmail and similar personal addresses, and one address belonging to an accounting firm is filed against three different contractors, so do not deduplicate on email. Deduplicate on license_number instead. The mailing city splits 83 Des Moines, 17 Ankeny, 15 Urbandale and 12 West Des Moines, with the rest across 14 other towns, which is enough to cut two territories.
What you’d do with it
Export the dataset as CSV and import it into your CRM with license_number as the external ID, so the next pull updates the same records instead of duplicating them. Split the sheet by city between the two reps and tag each row with primary_activity so the siding pitch goes to the 50 siding firms. Then put the run on an Apify schedule for the first of each month: at today’s count it costs $0.66 a time ($0.004 a row), and 23 of the 165 registrations carry an expiry date before the end of 2026, so the monthly pull is where you find out which of them renewed and which dropped off.
Worth knowing
This is a registration roster, not a licence check. It says a firm is registered to do construction work in Iowa; it does not cover DIAL’s separate trade licences for electrical, plumbing and mechanical work, and it holds no expired or revoked registrations at all. Each registrant has one primary activity, so a firm that does both roofing and siding but registered as Residential Remodelers will not appear under either. County is blank on 255 Iowa addresses statewide, which a county filter silently skips; filtering on Polk’s city names or ZIP codes instead would catch them. The file refreshes weekly, so a registration made in the last few days may not be there yet. The data is published under CC BY 4.0: if you republish the list rather than just call from it, credit Iowa DIAL.
Run it yourself: How to run Iowa Contractor Registration Lookup & Leads Scraper (DIAL) walks the whole thing step by step.
Selling into Virginia as well? Virginia Contractor Directory & Leads Scraper builds the same trade-by-county list from DPOR’s files, with email but no phone. For Arkansas, where the licensing board publishes phone numbers too, use Arkansas Contractor Directory & Leads Scraper.
Last updated 2026-11-05