Oregon Contractor Directory & Leads Scraper (CCB)
Pricing
$0.002 / contractor records
Oregon Contractor Directory & Leads Scraper (CCB)
Pull every CCB-licensed contractor in any Oregon county — business name, license type, RMI, bond, insurance, address, and phone — direct from the official state open-data API.
Pricing
$0.002 / contractor records
Rating
0.0
(0)
Developer
ByteMe
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Share
Pain points
- The CCB online portal lets you look up one contractor at a time — there is no way to export an entire county's roster as a spreadsheet.
- Building a county-scoped contractor prospect list from the CCB website requires hundreds of individual searches and hours of manual copy-paste.
- Sales teams, GCs, and insurance agents need structured, county-filtered contact data — not a slow per-lookup search form.
What we solve
- Pull every CCB-licensed contractor in any Oregon county in a single run — no per-record search, no manual export.
- Returns license number, type code, endorsement description, business name, RMI, address, phone, bond, and insurance, structured and ready to import.
- Filter by endorsement keyword (e.g. 'Residential General Contractor', 'Electrical', 'Plumbing') to narrow the list before it lands in your CRM.
Summary
Browse the complete roster of Oregon Construction Contractors Board (CCB) licensed contractors in any county — just supply a county name and get back every active licensee on record: CCB license number, type code, endorsement description (e.g. Residential General Contractor, Commercial Specialty Contractor), business name, Responsible Managing Individual (RMI), street address, phone, bond company and amount, and insurance company and amount. Data comes straight from the official Oregon open-data Socrata API (data.oregon.gov, dataset g77e-6bhs) — authoritative, up-to-date, no scraping fees beyond the flat per-record PPE charge. Optional endorsement-type filter narrows results to a specific trade before they hit your dataset. Ideal for building targeted contractor prospect lists, compliance coverage maps, and territory-scoped outreach campaigns.
Who it's for
- Sales and BD teams building county-scoped contractor prospect lists for tools, materials, or subcontracting services
- Insurance and bonding agents prospecting for contractor accounts in an Oregon county territory
- General contractors and developers building subcontractor shortlists by county and trade endorsement
- Compliance teams and market researchers mapping licensed contractor coverage across Oregon counties
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": "Multnomah","licenseType": "Residential General Contractor","maxResults": 200}
See Inputs below for every available field.
What you get
One row per record:
| Field | Description |
|---|---|
state | Always 'OR' for this actor |
county | Oregon county of the contractor's business address |
license_number | CCB license number |
license_type | CCB license type code (e.g. RSC, RGC, CGC, LBPR) |
license_endorsement | Human-readable CCB endorsement description (e.g. Residential General Contractor, Commercial Specialty Contractor) |
business_name | Licensed business or entity name |
rmi_name | Responsible Managing Individual (RMI) name (when on file) |
address | Business street address |
city | Business city |
zip_code | Business ZIP code |
phone | Business phone number (when published) |
issue_date | Original CCB registration date (MM/DD/YYYY) |
expiration_date | License expiration date (MM/DD/YYYY) |
bond_amount | Surety bond amount in USD (when on file) |
bond_company | Surety bond provider name (when on file) |
insurance_amount | Liability insurance coverage amount in USD (when on file) |
insurance_company | Liability insurance provider name (when on file) |
source_url | Link to the Oregon CCB contractor search |
Sample:
{"state": "OR","county": "Multnomah","license_number": "100260","license_type": "RSC","license_endorsement": "Residential Specialty Contractor","business_name": "THE FOXGLOVED PAINTERS & DESIGNERS INC","rmi_name": "CICELY W KEIRNAN","address": "8737 NE THOMPSON ST","city": "PORTLAND","zip_code": "97220","phone": "5032552327","issue_date": "06/30/1994","expiration_date": "05/14/2027","bond_amount": "20000","bond_company": "WESTERN SURETY COMPANY","insurance_amount": "1000000","insurance_company": "TWIN CITY FIRE INS COMPANY","source_url": "https://search.ccb.state.or.us/search/"}
Inputs
| Field | Required | Type | Default | Description |
|---|---|---|---|---|
county | yes | string | "Multnomah" | Oregon county name to retrieve contractors for (e.g. 'Multnomah', 'Lane', 'Washington'). Required. |
licenseType | no | string | — | Optional partial match against the CCB endorsement description (e.g. 'Residential General Contractor', 'Electrical', 'Plumbing'). Leave blank for all license types. |
maxResults | no | integer | 500 | Cap on the number of records to return in a single run. Defaults to 500. |
Pricing (Pay Per Event)
You pay per result (dataset-item) — no charge for empty runs. Example: 500 contractor records at $0.002/result ≈ $1.00.
Illustrative — the final per-record price is set at publish time. Apify platform usage (compute) is billed separately per your plan.
Use cases
- Outbound lead generation — pull every active Residential General Contractor or specialty sub in Multnomah or Washington County, enrich with phone and address, and load into your CRM for cold outreach.
- Territory mapping — build a full picture of licensed trade coverage in a county for market-entry research or competitive analysis.
- Subcontractor discovery — find every licensed contractor with a specific endorsement (plumbing, electrical, roofing) in a county before bidding a project.
- Insurance and bonding prospecting — export the county roster with bond and insurance details to identify contractors approaching renewal or with coverage gaps.
Why this actor
- Direct from the official CCB open-data API (data.oregon.gov) — authoritative state data, not a third-party copy.
- County-scoped in one run — pull the full Multnomah, Lane, or Washington County roster without per-record searching.
- Bond and insurance fields included — CCB data includes surety bond company and amount plus liability insurance company and amount for every contractor that has filed them.
- Endorsement-type filter narrows results before they hit your dataset — residential GC only, electrical only, or the full mix.
- Pay per record; no results, no charge.
Limitations & updates
Covers Oregon CCB-licensed contractors only (the 'CCB Active Licenses' dataset). The dataset reflects active licenses as published; recently expired or cancelled licenses may lag by a few days. Bond, insurance, and RMI fields are null when not on file with CCB. County filter matches the business address county; licensees whose mailing address differs from their business address may not appear in the expected county. The endorsement-type filter is a substring match — broad terms like 'Contractor' match many endorsements.
FAQ
Where does the data come from?
The official Oregon Construction Contractors Board (CCB) open-data registry, published on data.oregon.gov (Socrata, dataset g77e-6bhs — 'CCB Active Licenses'). Public, authoritative, and refreshed regularly.
What does the licenseType filter match?
It does a case-insensitive substring match against the CCB endorsement description field (e.g. 'Residential General Contractor', 'Commercial Specialty Contractor', 'Lead Based Paint Renovation Contractor'). Pass a partial string like 'General' or 'Electrical' to catch multiple related endorsements.
How many records does a typical county run return?
Multnomah County alone has over 6,500 active CCB records; Lane County has around 2,500; Washington County around 3,000. Smaller rural counties may have a few hundred. The actor pages through all results automatically.
What are the license type codes?
Common codes include RGC (Residential General Contractor), RSC (Residential Specialty Contractor), CGC (Commercial General Contractor), CSC (Commercial Specialty Contractor), LBPR (Lead-Based Paint Renovation Contractor), and others. The license_endorsement field gives the full human-readable description for each.
How do I find the right county name?
Use title-case Oregon county names: Multnomah, Lane, Washington, Clackamas, Marion, Jackson, Deschutes, etc. The actor normalizes case, so 'multnomah' and 'MULTNOMAH' both work.
How am I charged?
Pay per record returned — one PPE event per dataset item. Runs with no results incur no charge.
Is this personal data?
It's public professional-license data (business and license records as CCB publishes them); no personal/PII enrichment is added beyond what the state publishes.
How current is the data?
The CCB open-data export is refreshed regularly on data.oregon.gov; records reflect the most recently published snapshot. Expect up to a few days of lag for brand-new registrations.
Which actor to choose
Part of the contractor-data suite — pick the one that fits your goal:
- Oregon Contractor License Lookup & Verify (CCB) — You have a specific CCB license number or business name and want to verify one contractor's status, bond, insurance, and RMI.
- Washington Contractor Directory & Leads Scraper (L&I) — You need the same county-level directory for Washington State contractors (L&I).
- Texas Contractor Directory & Leads Scraper (TDLR) — You need a county-scoped roster of Texas TDLR-licensed contractors.
- Multi-State Contractor & Trade License Lookup — You need the same contractor verified across OR, WA, TX, CA, and other states in one run.