Virginia Contractor License Lookup — Class A, B & C Lists
Pricing
from $4.00 / 1,000 contractor license records
Virginia Contractor License Lookup — Class A, B & C Lists
Look up Virginia contractor licenses in bulk: export DPOR Class A, B, C and temporary contractors with specialties, expiry dates and emails. USD 5 per 1,000.
Pricing
from $4.00 / 1,000 contractor license records
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
13 hours ago
Last modified
Categories
Share
Virginia Contractor License Lookup exports Virginia DPOR contractor license records in bulk: certificate number, Class A, B, C or temporary class, business or individual name, mailing address, specialty codes, certification and expiration dates, and the email DPOR publishes. It costs USD 5.00 per 1,000 records on the FREE tier (USD 0.005 per record plus one USD 0.005 start fee), and you pay only for records written to your dataset.
It is built for compliance teams, suppliers, insurers, lenders, recruiters and lead-generation teams that need the Virginia contractor list as a spreadsheet instead of checking one license at a time.
What does the Virginia contractor license lookup return?
It returns one row per unique DPOR certificate number, read from DPOR's official current-regulant files for the classes you select.
| Field | What it holds |
|---|---|
licenseNumber | DPOR certificate number as text, leading zeroes kept (068419) |
licenseType, licenseTypes | Class A Contractor, Class B Contractor, Class C Contractor or Temporary Contractor; a certificate that appears on two lists keeps both |
licenseRank | Rank code from the list, such as A |
businessName, individualName | Licensed business and, where listed, the individual |
address, addressLine1, addressLine2, poBox, city, state, zipCode, zipCodeExtension | Mailing address fields, plus the joined address |
province, country, postalCode | Filled for addresses outside the United States |
certificationDate, expirationDate | Dates as DPOR prints them (MM/DD/YYYY) |
specialties | DPOR specialty codes, for example CBC (commercial building) or RBC (residential building) |
email | Email published in the DPOR list, or null |
sourceFileCode, sourceListCodes, sourceUrl, sourceListUrl, sourceFileLastModified | The official file each row came from and DPOR's last-modified time |
scrapedAt, warnings | Retrieval time and any per-row note |
DPOR's contractor lists do not contain phone numbers or disciplinary history, and they have no separate status column: they list certificates on file when DPOR last refreshed the file. DPOR says it updates these lists every five business days.
How do I look up Virginia contractor licenses in bulk?
Choose the license classes, add optional filters, and set maxResults. The prefilled run downloads the Class A files and returns the first 100 records; it finished in about 3 seconds on 2026-10-26.
{"licenseTypes": ["class_a", "class_b", "class_c"],"nameFilters": [],"licenseNumbers": [],"cityFilter": "RICHMOND","stateFilter": "VA","maxResults": 1000,"includeEmail": true}
licenseTypes: any ofclass_a,class_b,class_c,temporary. Class A reads two DPOR files (2705aand2701) and merges certificates that appear in both.nameFilters: up to 10 case-insensitive fragments matched against business and individual names.licenseNumbers: up to 1,000 exact certificate numbers.cityFilterandstateFilter: exact matches on the mailing address. Many Class A holders have out-of-state addresses, so leavestateFilterempty to keep them.maxResults: 1 to 50,000 unique records.includeEmail: falsereturnsemailasnull.
Filters run on the downloaded official files, not on DPOR's interactive lookup page, so a filter never triggers extra requests to DPOR.
Can I check a list of contractor license numbers at once?
Yes. Put the numbers in licenseNumbers and select the classes they belong to (or all four). The run returns one row per number it finds and charges only for those rows; numbers that are not on the selected lists are simply absent from the dataset. That lets you check contractor licenses in Virginia for a vendor file of hundreds of companies in one run.
When should I use this Actor, and when not?
Use it when you need:
- every Virginia Class A, B, C or temporary contractor, or a filtered slice by city, state or name;
- a recurring compliance refresh of the contractors you already work with;
- a lead or territory list of licensed general contractors with specialty codes and published emails.
Do not use it for:
- tradesman licenses (electricians, plumbers, HVAC technicians), real estate agents, architects, engineers or any other DPOR profession, or a free-text name search: use DPOR License Lookup — Virginia Professional Licenses;
- contractors in other states: use the Texas TDLR license scraper, Florida contractor license lookup or North Carolina contractor license lookup;
- disciplinary actions or phone numbers, which these lists do not contain.
Output example
Two records from the 2026-10-26 default run:
[{"licenseNumber": "175352","licenseType": "Class A Contractor","licenseTypes": ["Class A Contractor"],"licenseRank": "A","businessName": "WOOD GROUP USA INC","individualName": null,"address": "17325 PARK ROW, HOUSTON, TX, 77084","addressLine1": "17325 PARK ROW","addressLine2": null,"poBox": null,"city": "HOUSTON","state": "TX","zipCode": "77084","zipCodeExtension": "0000","province": null,"country": null,"postalCode": null,"expirationDate": "04/30/2027","certificationDate": "04/06/2021","specialties": ["EMC", "H/H"],"email": "licensing@woodplc.com","sourceFileCode": "2705a","sourceListCodes": ["2705a"],"sourceUrl": "https://www.dpor.virginia.gov/sites/default/files/Records%20and%20Documents/Regulant%20List/2705a__crnt.txt","sourceListUrl": "https://www.dpor.virginia.gov/RegulantLists","sourceFileLastModified": "Tue, 20 Oct 2026 13:13:19 GMT","scrapedAt": "2026-10-26T07:21:34.381Z","warnings": []},{"licenseNumber": "068419","licenseType": "Class A Contractor","licenseTypes": ["Class A Contractor"],"licenseRank": "A","businessName": "GHD SERVICES INC","individualName": null,"address": "320 GODDARD WAY, STE 200, IRVINE, CA, 92618","addressLine1": "320 GODDARD WAY","addressLine2": "STE 200","city": "IRVINE","state": "CA","zipCode": "92618","expirationDate": "04/30/2028","certificationDate": "04/22/2002","specialties": ["H/H"],"email": "na-licensing@ghd.com","sourceFileCode": "2705a"}]
The second record is shortened; every row has the same fields as the first. The run's OUTPUT record lists the files read, DPOR's list update date, duplicates merged and malformed rows skipped (15 rows with a broken column count were skipped in the default run rather than mapped to the wrong columns).
How much does a Virginia contractor license export cost?
Pay per event, with Apify platform usage included. Records are charged automatically, one event per dataset row, after the row is stored.
| Event | FREE | BRONZE | SILVER | GOLD / PLATINUM / DIAMOND |
|---|---|---|---|---|
| Actor start (per started GB of allocated memory) | USD 0.005 | USD 0.005 | USD 0.005 | USD 0.005 |
| Contractor license record | USD 0.005 | USD 0.004875 | USD 0.00475 | USD 0.004 |
The Actor runs at 256 MB by default (512 MB maximum), so every run has exactly one start event.
- Default run, 100 records (FREE): 0.005 + 100 × 0.005 = USD 0.505.
- 5,000 records (FREE): 0.005 + 5,000 × 0.005 = USD 25.005; on GOLD, 0.005 + 5,000 × 0.004 = USD 20.005.
maxResults caps the record charges, and the run honors your maxTotalChargeUsd limit.
Use it from an AI assistant
The Actor works from Claude, ChatGPT, Cursor or any MCP client through Apify's MCP server. Add https://mcp.apify.com/?tools=muhammadafzal/virginia-contractor-license-lookup to your client.
Example prompt: "List 50 Class B contractors in Virginia Beach, Virginia, with license number, specialties, expiration date and email."
Run it from the API
JavaScript (apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('muhammadafzal/virginia-contractor-license-lookup').call({licenseTypes: ['class_a', 'class_b', 'class_c'],cityFilter: 'RICHMOND',maxResults: 250,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python (apify-client 3.x):
from apify_client import ApifyClientclient = ApifyClient(token='YOUR_APIFY_TOKEN')run = client.actor('muhammadafzal/virginia-contractor-license-lookup').call(run_input={'licenseTypes': ['class_a', 'class_b', 'class_c'],'licenseNumbers': ['175352', '068419'],'maxResults': 100,})items = client.dataset(run.default_dataset_id).list_items().items
FAQ
Is this the official DPOR contractor license lookup?
No. It is an independent Actor that reads DPOR's public regulant-list files. Each row links to the exact official file in sourceUrl, so you can confirm any record with DPOR.
What is the difference between Class A, B and C contractors?
DPOR sets the class by the value of single contracts and total annual work a contractor may take on; Class A has the highest limits and Class C the lowest. Select the classes you need in licenseTypes.
How current is the data?
As current as DPOR's files. DPOR says it refreshes them every five business days, and each row carries the file's sourceFileLastModified time.
Does it return phone numbers?
No. DPOR does not publish phone numbers in these lists. It does publish an email for many contractors, which the Actor returns unless you set includeEmail to false.
What happens if DPOR is unavailable?
The run retries, then reports a blocked or partial status in OUTPUT and the status message. It never writes placeholder rows, so nothing is charged for a file it could not read.
How many records can one run return?
Up to 50,000 unique records per run (maxResults).
Related Actors
- DPOR License Lookup — Virginia Professional Licenses: name or license-number search across all DPOR professions.
- Texas TDLR license scraper: Texas contractor and trade licenses.
- Florida contractor license lookup: Florida DBPR contractors.
- Tennessee contractor license lookup: Tennessee contractors.
- California CSLB scraper: California contractor licenses.
Responsible use
DPOR states that its online information can be delayed or incomplete. Confirm current status with DPOR before a legal, hiring, payment or compliance decision. Use published names, addresses and emails lawfully, keep them only as long as needed and follow email and privacy laws. This Actor is not affiliated with or endorsed by the Commonwealth of Virginia or DPOR.
Last verified: 2026-10-27