West Virginia Roofing Contractor Directory & Leads (WVCLB)
Pricing
$0.002 / roofing contractor record
West Virginia Roofing Contractor Directory & Leads (WVCLB)
Export every West Virginia roofing contractor licensed by the WVCLB (1,224 on 2026-10-14) with phone, mailing address, county, classifications and expiry date.
Pricing
$0.002 / roofing contractor record
Rating
0.0
(0)
Developer
ScrapeBench
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
Pain points
- The WVCLB search cannot list roofers: Roofing is a sub-class of Specialty, which 17,377 of 17,495 licences hold (2026-10-12), so its classification menu has no roofing option.
- The search shows 20 contractors per page and has no export, so even a single county means paging through and copying results by hand.
- Out-of-state firms are mixed in with local ones: 372 of the 1,224 roofing licences have a mailing address outside West Virginia.
What we solve
- Export every current WVCLB licence that carries the Roofing classification in one run, statewide or by county or city, each with a batch list.
- Every row carries the board's phone, mailing street address, county, every other classification on the licence (siding, gutters, general building...) and the expiry date.
- Keep or drop out-of-state firms with one tick: 'West Virginia mailing addresses only'.
Summary
West Virginia roofing contractors from the WV Contractor Licensing Board (WVCLB), read live from the board's own public search. The actor returns every current licence with the Roofing classification — 1,224 on 2026-10-14 — statewide or filtered by county, city or WV-only mailing addresses. Every row has the company, DBA, phone, mailing address, county, all classifications and the expiry date. Pay per roofing licence returned.
Who it's for
- Roofing material suppliers and distributors building West Virginia prospect lists
- Sales reps selling insurance, financing, software or equipment to roofing contractors
- General contractors and property managers sourcing licensed roofing subs in a county
- Lead-generation agencies building county-level roofer lists
How to use
Set the input, run the actor, and collect results from the run's dataset (export to JSON/CSV/Excel, or pull via the Apify API). Example input:
{"county": "Kanawha","maxResults": 500}
See Inputs below for every available field.
What you get
One row per record:
| Field | Description |
|---|---|
license_number | WVCLB licence number, e.g. WV000232 |
business_name | Licensed company (or sole proprietor) |
dba_name | Doing-business-as name, when filed |
phone | Business phone as the board lists it |
address | Mailing street address (can be a PO box) |
city | Mailing city |
address_state | Mailing state (out-of-state firms hold WV licences) |
zip_code | Mailing ZIP or ZIP+4 |
county | The board's county: a WV county, OUT OF STATE or INTERNATIONAL |
classification | Every classification on the licence, '; '-separated |
classifications | The same classifications as a list |
expiration_date | Licence expiry date (YYYY-MM-DD) |
source_url | The WVCLB search page the row came from |
Sample:
{"license_number": "WV000232","business_name": "HARRIS BROTHERS ROOFING COMPANY","dba_name": null,"phone": "(304) 343-5566","address": "1533 HANSFORD STREET","city": "CHARLESTON","address_state": "WV","zip_code": "25311-1917","county": "KANAWHA","classification": "GENERAL BUILDING; HVAC; PLUMBING; SPECIALTY; ROOFING","classifications": ["GENERAL BUILDING","HVAC","PLUMBING","SPECIALTY","ROOFING"],"expiration_date": "2027-08-02","matched_by": "export","status": null,"license_type": "Contractor License","state": "WV","source_url": "https://wvclboard.wv.gov/verify/"}
Inputs
| Field | Required | Type | Default | Description |
|---|---|---|---|---|
county | no | string | — | A West Virginia county ('Kanawha', 'Berkeley County'), or 'Out of State' / 'International' for the board's non-WV licences. A value that is not one of these is dropped and logged. |
counties | no | array | [] | Several counties in ONE run, e.g. Kanawha, Putnam, Cabell. |
city | no | string | — | Mailing-address city, exact match ignoring case and punctuation, e.g. 'Charleston' (which does not include South Charleston). |
cities | no | array | [] | Several cities in ONE run. |
westVirginiaAddressesOnly | no | boolean | false | Out-of-state firms hold WV roofing licences too: 372 of the 1,224 roofing licences (2026-10-14) have a mailing address outside West Virginia. Tick to drop them. |
maxResults | no | integer | 500 | Cap on licences for the WHOLE run — your spend control. 1,224 roofing licences statewide on 2026-10-14; set 100000 to take every roofing licence that matches. |
proxyConfiguration | no | object | {"useApifyProxy": false} | Not needed: the board's search answers Apify's own IPs (measured 2026-10-12). Leave it off unless a run reports that the board refused it. |
Pricing (Pay Per Event)
You pay per result (dataset-item) — no charge for empty runs. Example: 64 Kanawha County roofing contractors at $0.002/result ≈ $0.13.
The default run (500 licences) costs $1.00; every roofing licence in the state (1,224 on 2026-10-14) costs $2.45 at maxResults 100000. Apify platform usage is billed separately.
Use cases
- Supplier prospecting: a building-products distributor exports every roofer in Kanawha, Putnam and Cabell counties with phone and mailing address for a territory push.
- Statewide list build: a marketing agency takes all 1,224 roofing licences once, then re-runs monthly and compares licence numbers to catch new licensees.
- Cross-sell targeting: a siding or gutter supplier keeps the roofers whose licence also lists Siding or Gutters, using the classifications column.
- Sub sourcing: a general contractor lists the roofers with a West Virginia mailing address in Monongalia County before sending bid invitations.
Why this actor
- Phone, mailing street address, county and expiry date on all 1,224 roofing licences (measured 2026-10-14); the whole state in one run of 224 s.
- Straight from the board's own public search, read live on every run — the board states the site is updated in real time with its licensure database.
- A county it does not recognise is dropped and logged, never silently widened to the whole state; outage and bad-input notices are free.
Limitations & updates
Current licences only: the board's search does not list expired, revoked or lapsed licences, and publishes no status, issue date, owner or qualifier name. No email: the board publishes none. Addresses are mailing addresses (221 of the 1,224 are PO boxes), so a city filter finds where the contractor's mail goes, not where they work. Roofing cannot be searched on the board's side, so a statewide run reads all of its licences (17,538 on 2026-10-14) to find the roofers, which takes about 4 minutes; a single county takes seconds (Kanawha: 13 s).
FAQ
Where does the data come from?
From the West Virginia Contractor Licensing Board's public contractor search (wvclboard.wv.gov/verify/), queried live on every run. The actor reads the board's licences and keeps those whose classifications include Roofing.
How many roofing contractors are there?
1,224 of the board's 17,538 current licences carried the Roofing classification on 2026-10-14. Largest counties: Kanawha 64, Monongalia 54, Wood 48, Berkeley 45, Harrison 41, Cabell 38; 370 carry the board's OUT OF STATE county.
Does it include out-of-state contractors?
Yes: 372 of the 1,224 roofing licences have a mailing address outside West Virginia, most often Ohio (110), Virginia (64), Pennsylvania (58) and Maryland (47). Tick 'West Virginia mailing addresses only' to drop them, or use the county 'Out of State' to get only them.
Does it include expired or revoked licences?
No. The board's search lists current licences only and publishes no status field, so the status column is always empty.
How am I charged?
$0.002 per roofing licence returned. The default run returns 500 ($1.00); Kanawha County was 64 ($0.13) and the whole state 1,224 ($2.45) on 2026-10-14. Rows explaining an outage, an unrecognised county or a reached spending cap are free.
Which actor to choose
Part of the roofing contractor suite — pick the state you need:
- Illinois Roofing Contractor Directory & Leads Scraper (IDFPR) — You want Illinois roofing contractors — every IDFPR roofing licence by county.
- Arizona Roofing Contractor Directory & Leads (ROC) — You want Arizona roofing contractors — every active ROC roofing licence with phone, street address and qualifying party.
Guides & use cases
Written up on scrapebench.dev — the bench that runs and verifies this actor against the live source every night:
- How-to: How to run West Virginia Roofing Contractor Directory & Leads (WVCLB)
- Use case: Export Every West Virginia Roofing Contractor (WVCLB)
More actors, coverage and nightly verification results: scrapebench.dev
Works with AI assistants (MCP)
Callable as an MCP tool, so Claude, Cursor, VS Code Copilot and other MCP clients can run it directly. Grab the config from the MCP tab on this page — Apify hosts the server and keeps that snippet current, and OAuth signs you in on first connect, so no API token goes in your config file.
Then just ask:
"List the West Virginia roofing contractors licensed in Kanawha County, with phone and mailing address."
That input returned 64 licences on 2026-10-14. With no filters it exports the whole state (1,224 roofers). Runs started this way bill exactly like any other run.