NDOL
Nebraska Contractor Registration Lookup & Leads Scraper (NDOL)
Look up or export every current Nebraska contractor registration from the Department of Labor (NDOL) — registration number, name, address and expiry, plus phone on request. Filter by service, county, city, ZIP, state or name.
Verification
Output fields
Authoritative field set from the dataset schema.
| Field | Type |
|---|---|
registration_number | string|null |
business_name | string|null |
corporation_name | string|null |
status | string|null |
expiration_date | string|null |
sales_tax_option | string|null |
address | string|null |
city | string|null |
address_state | string|null |
zip_code | string|null |
county | string|null |
service | string|null |
matched_by | string|null |
phone | string|null |
email | string|null |
business_entity | string|null |
employees | integer|null |
workers_comp_status | string|null |
state | string|null |
notice | string|null |
notice_type | string|null |
source_url | string|null |
Sample row
{
"registration_number": "33053-26",
"business_name": "Allset Kitchens and Baths",
"corporation_name": "Allset Kitchens and Baths",
"status": "Registered",
"expiration_date": "2027-07-01",
"sales_tax_option": "2",
"address": "1501 Schropp Circle",
"city": "Ashland",
"address_state": "NE",
"zip_code": "68003",
"county": null,
"service": null,
"matched_by": null,
"phone": "(402) 598-7147",
"email": null,
"business_entity": "Corporation",
"employees": 0,
"workers_comp_status": "Exempt",
"state": "NE",
"source_url": "https://dol.nebraska.gov/conreg/Contractor/Details/3305326"
} Inputs
| Field | Type | Req | Default | Description |
|---|---|---|---|---|
service | string | no | — | One of NDOL's 58 service categories (NAICS-based), by name or number: e.g. 'Roofing Contractors' or 19, 'electrical' (22), 'plumbing' (23 — plumbing, heating and air-conditioning). A word works when it matches exactly one category. Leave empty for every registered contractor. An unrecognised value is ignored with a log line; if nothing you gave is recognised, the run returns a free row saying so instead of the whole state. |
services | array | no | [] | Several service categories in ONE run, e.g. 19 and 22. Combined with 'Service' if you fill both. |
county | string | no | — | Nebraska county as NDOL records it for the registration, e.g. 'Douglas' or 'Lancaster County'. Matches Nebraska firms only. NDOL's county is the firm's own record and does not always match the city in its mailing address. An unrecognised county is ignored with a log line. |
counties | array | no | [] | Several Nebraska counties in ONE run. Combined with 'County' if you fill both. |
city | string | no | — | Mailing-address city, exact match ignoring case and punctuation, e.g. 'Lincoln' (does not also match 'Lincolnville'). |
cities | array | no | [] | Several cities in ONE run. Combined with 'City' if you fill both. |
zip | string | no | — | Mailing-address ZIP, 5 digits (a ZIP+4 is accepted and matched on its first 5). |
zips | array | no | [] | Several ZIPs in ONE run. Combined with 'ZIP code' if you fill both. |
state | string | no | — | 2-letter state of the firm's mailing address, e.g. 'IA' for Iowa firms registered to work in Nebraska, or 'NE'. Leave empty for every state. Ignored when a county is given (a county is always a Nebraska county). |
states | array | no | [] | Several 2-letter states in ONE run. Combined with 'Mailing-address state' if you fill both. |
name | string | no | — | Text the firm's name contains (case-insensitive), e.g. 'ROOFING' or 'SMITH'. Both NDOL name indexes are searched — the listed (DBA) name and the corporation name — and matched_by says which one hit. |
names | array | no | [] | Several name fragments in ONE run; a firm matching any of them is returned once. The run log says how many registrations each search returned. |
registrationNumber | string | no | — | Look up one registration by its full number, e.g. '33053-26' (the dash is optional). |
registrationNumbers | array | no | [] | Several full registration numbers in ONE run. |
maxResults | integer | no | 500 | Cap on registrations returned for the whole run (a spend control). The full statewide registry is about 20,300 firms, so 100000 returns everything that matches. With several filter values the searches run in order and share this one cap. |
includePhone | boolean | no | false | Off by default. NDOL publishes phone, email, corporation name, entity type, employee count and workers' comp status only on each firm's own page, so this fetches one extra page per row — about 15 rows a second measured 2026-10-07 (1,000 rows in 70 s), so ~35 seconds per 500 rows and roughly 25 minutes for the whole state. Rows are never held back for it: rows not reached within the run's time budget ship without the details-page fields. No extra charge. |
proxyConfiguration | object | no | {"useApifyProxy":false} | Optional. The NDOL site answers direct requests; enable a proxy only if runs come back with a 'blocked' notice. |
Pricing
Pay per result (dataset-item) — no charge for empty runs.
Example: 252 Douglas County roofing contractors at $0.004/result ≈ $1.01.
FAQ
Where does the data come from?
From the Nebraska Department of Labor's public Contractor Registration search (dol.nebraska.gov/conreg), read live on every run. Phone, email and business details come from each firm's NDOL details page when phone enrichment is on.
Is this a contractor licence?
No. Nebraska requires every contractor and subcontractor working in the state to register with NDOL, but registration is not a competency licence and does not show trade qualifications. Electrical and plumbing licences are issued by other bodies and are not in this data.
How many registrations are there, and how many have a phone or email?
Counted 2026-10-07: 20,299 current registrations, every one with a mailing street address. NDOL keeps phone and email only on each firm's own page: in a 1,000-row enriched sample of Douglas County firms (2026-10-07), all 1,000 had a phone and 74 an email.
How long does phone enrichment take?
It fetches one extra page per row, about 15 rows a second (1,000 rows in 70 seconds, measured 2026-10-07): roughly 35 seconds per 500 rows and about 25 minutes for the whole state. Rows are never held back for it; a row not reached within the run's time budget ships without the details-page fields.
What does the county mean?
It is the Nebraska county NDOL records for the registration, which does not always match the city in the firm's mailing address. NDOL's list does not show a county, so the county field is filled only on county searches, with the county you searched. Lancaster County returned 2,864 registrations on 2026-10-07.
Are expired registrations included?
No. NDOL's public search lists only current registrations; every expiry date in the 2026-10-07 statewide pull was in the future (2026-10-08 to 2027-12-31).
What happens if I type a county or service the actor does not know?
That value is ignored and the run log says so. If none of the values you gave for a filter is recognised, the run returns one free row explaining it instead of the whole state, so a typo never bills you for 20,000 rows.
How am I charged?
$0.004 per registration returned. The default input returns the first 500 registrations statewide ($2.00); the full statewide export is about $81. Phone enrichment is free. Rows explaining an outage, an unrecognised filter, a time-budget cut or an empty result are free.
Guides & use cases
Related actors