DPOR Bulk
Virginia Contractor License Lookup (DPOR Bulk)
Download and filter 50,000+ Virginia DPOR contractor licenses — Class A, B & C plus tradespeople — direct from the official regulant lists. No CAPTCHA, no auth.
Verification
Output fields
Authoritative field set from the dataset schema.
| Field | Type |
|---|---|
license_number | string|null |
license_type | string|null |
license_rank | string|null |
individual_name | string|null |
business_name | string|null |
address | string|null |
city | string|null |
state | string|null |
zip_code | string|null |
country | string|null |
expiration_date | string|null |
certification_date | string|null |
specialties | array|null |
email | string|null |
source_url | string|null |
scraped_at | string|null |
Sample row
{
"license_number": "082040",
"license_type": "Class A Contractor",
"license_rank": "A",
"business_name": "CORNERSTONE ENGINEERING AND CONSULTING SERVICES PLLC",
"individual_name": null,
"address": "1272 NELLIE JONES RD",
"city": "LA CROSSE",
"state": "VA",
"zip_code": "23950",
"country": null,
"expiration_date": "02/29/2028",
"certification_date": "02/03/2004",
"specialties": [
"EMW",
"ENV"
],
"email": "bdougherty@cornerstoneusa.net",
"source_url": "https://www.dpor.virginia.gov/RegulantLists"
} Inputs
| Field | Type | Req | Default | Description |
|---|---|---|---|---|
licenseTypes | array | no | ["class_a","class_b","class_c"] | Which DPOR license categories to include. Leave empty for Class A, B, and C contractors. Valid values: class_a, class_a_legacy, class_b, class_c, temporary, residential_tradesman, backflow_prevention, elevator_mechanic, water_well_provider, accessibility_mechanic, energy_analyst, energy_analyst_firm, sprinkler_inspector. |
nameFilter | string | no | — | Only return records where the individual or business name contains this text (case-insensitive). Leave blank for all. |
nameFilters | array | no | [] | Look up many in ONE run instead of starting a run per lookup. Takes the same values as 'Name filter'. Combined with 'Name filter' if you fill both, and duplicates are removed. Billing is unchanged: you are charged per record returned, not per entry submitted. |
cityFilter | string | no | — | Only return records where the city contains this text (case-insensitive). Leave blank for all. |
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'. |
Pricing
Pay per result (dataset-item) — no charge for empty runs.
Example: 1000 license records at $0.004/result ≈ $4.00.
FAQ
Where does the data come from?
Virginia DPOR publishes free public 'Regulant Lists' as tab-delimited files updated every ~5 business days. This actor downloads and parses those official files directly.
What license types are covered?
Class A, B, and C contractors (the main categories); plus residential tradespeople, backflow prevention workers, elevator mechanics, water well providers, accessibility mechanics, residential energy analysts, and sprinkler inspectors. See licenseTypes input for the full list.
How current is the data?
DPOR refreshes the regulant-list files every ~5 business days (usually Mondays). Each run fetches the current file at that moment.
Can I filter by specialty?
Each record includes a specialties field (e.g. CBC = Commercial Building Construction, ELE = Electrical, H/H = Heating & Air Conditioning). You can filter post-run on this field; the actor's nameFilter and cityFilter cover the most common pre-run narrowing needs.
How am I charged?
Pay per license record returned. Runs that return no matching records are not charged.
Does this need any account or API key?
No — the DPOR regulant lists are free public files, no auth required.
Guides & use cases
Related actors