Contractor License Scraper: New & Suspended WA/OR
Pricing
$5.00 / 1,000 contractor signals
Contractor License Scraper: New & Suspended WA/OR
Washington L&I and Oregon CCB contractor license changes: newly licensed businesses, suspensions, and insurance or bond expiring within N days. One row per change, businesses only, from official open data. For insurance agents, surety agents and suppliers. CSV/JSON.
Pricing
$5.00 / 1,000 contractor signals
Rating
0.0
(0)
Developer
City Signals Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Contractor License Signals is an Apify Actor by City Signals Data that reads official Washington L&I and Oregon CCB license data and lists contractor businesses that were just licensed, just suspended, or have insurance or a bond expiring within a set number of days. It's built for insurance agents, surety and bond agents, and suppliers who need to know what changed, not just a license's status.
Know which contractor businesses just got licensed, just got suspended, or have insurance or a bond running out. This Actor reads the official Washington L&I and Oregon CCB contractor-license open data every time you run it and gives you one row per signal:
- new_license: newly licensed contractor business (WA license effective date, OR first registration date) in the last N days. In Washington you also get
prior_licenses_same_ubi(0 = the business's first contractor license). - suspended: Washington licenses suspended in the last N days.
- insurance_expiring: the latest liability policy on file expires within N days (default 30). Washington and Oregon.
- bond_expiring: the contractor bond on file expires within N days (Oregon).
- left_active_list: an Oregon license that was on the CCB active list at your last run and is gone now (lapsed, suspended, revoked or inactive). Starts working from your second run.
Plain license lookups tell you a status. This tells you what changed and what is about to change.
Who uses it
- Commercial insurance and surety bond agents: contractors whose policy or bond is about to lapse, with the current insurer and agency.
- Building-material suppliers, equipment rental, contractor software: brand-new contractor businesses in your area, before anyone else calls.
- Credit departments, general contractors, sureties: subcontractors that were just suspended or dropped off the active list.
Sizes from a test run (Oct 23, 2026, all signals, both states)
| Signal | Washington | Oregon |
|---|---|---|
| New licenses, last 7 days | 185 | 89 |
| Suspended, last 7 days | 274 | (see left_active_list) |
| Insurance expiring in 30 days | 3,433 | 1,638 |
| Bond expiring in 30 days | not used | 736 |
About 6,350 rows in total. 986 individuals / sole proprietors were dropped.
Sources (official, no login, no captcha)
| State | Dataset | License |
|---|---|---|
| Washington | data.wa.gov m8qx-ubtq L&I Contractor License Data - General | Open Data Commons PDDL 1.0 (public domain) |
| Washington | data.wa.gov ciwg-agsx L&I Contractor License Data - Insurance | Public Domain |
| Oregon | data.oregon.gov g77e-6bhs CCB Active Licenses | Public Domain U.S. Government works |
Washington's separate bond dataset is not used because no license is stated on it. Source: Washington State Department of Labor & Industries; Oregon Construction Contractors Board. This Actor is not affiliated with either agency. Data is as published by the state; check the official record before acting on it.
Businesses only (privacy by design)
- Washington: only business types LLC, Corporation, Partnership, LLP, Association, Joint Venture or Trust. Records with business type Individual are dropped.
- Oregon has no business-type column, so only names with a legal-entity suffix (LLC, INC, CORP, CO, LTD, LP, LLP, PLLC, PC) are kept. Sole proprietors and individual certifications (home inspectors, locksmiths) are dropped.
- Principal / responsible-managing-individual person names are never output. Address and phone are the business's address and phone of record.
Input
| Field | Default | What it does |
|---|---|---|
states | ["wa","or"] | wa, or |
signals | all five | new_license, suspended, insurance_expiring, bond_expiring, left_active_list. Order = priority when the cap is hit |
newWithinDays | 7 | New licenses in the last N days |
suspendedWithinDays | 7 | WA suspensions in the last N days |
expiringWithinDays | 30 | Insurance / bond expiring between today and today + N |
cities | all | Business-address cities, e.g. ["SEATTLE","TACOMA"] |
counties | all | Oregon counties, e.g. ["Multnomah","Lane"] |
onlyNewSinceLastRun | false | Only signals your earlier runs did not output |
maxRecords | 500 | Hard cap on rows (you pay per row): $2.50 max by default. The form starts at 100. |
Example: weekly lapsing-insurance list for Portland-area contractors:
{ "states": ["or"], "signals": ["insurance_expiring", "bond_expiring"], "counties": ["Multnomah", "Washington", "Clackamas"], "expiringWithinDays": 30, "onlyNewSinceLastRun": true }
Schedule it weekly with onlyNewSinceLastRun: true and you only pay for new signals. State lives in a named key-value store in your account (contractor-license-state).
Output
Dataset: one row per contractor signal. Sample:
{"signal": "insurance_expiring","signal_date": "2026-10-24","days_until_expiry": 1,"state": "OR","company_name": "AMERICAN CINEMA EQUIPMENT INC","company_key": "AMERICAN CINEMA EQUIPMENT","license_number": "140782","license_type": "Commercial Specialty Contractor Level 1","license_status": "ACTIVE","license_expiration_date": "2028-02-08","first_registered": "2000-02-08","address": "11802 SE STARK ST","city": "PORTLAND","zip": "97216","county": "Multnomah","phone": "5032857015","insurance_company": "MID CENTURY INSURANCE CO","insurance_amount_usd": 2000000,"insurance_expiration_date": "2026-10-24","bond_company": "OHIO CASUALTY INSURANCE CO","bond_amount_usd": 55000,"bond_expiration_date": "2028-02-08","is_new_since_last_run": true,"source_url": "https://data.oregon.gov/d/g77e-6bhs","data_license": "Public Domain U.S. Government works (data.oregon.gov), Oregon Construction Contractors Board"}
{"signal": "new_license","signal_date": "2026-10-16","state": "WA","company_name": "1887575 ALBERTA INC","business_type": "Corporation","license_number": "18875AI741O3","license_type": "CONSTRUCTION CONTRACTOR","license_effective_date": "2026-10-16","specialties": ["GENERAL"],"ubi": "606204144","prior_licenses_same_ubi": 0,"city": "EDMONTON","phone": "7804380605","source_url": "https://data.wa.gov/d/m8qx-ubtq"}
Key-value store: SIGNALS_CSV (same rows as CSV) and SUMMARY (counts per state and signal, drops, rate-limit log).
company_key uses the same normalization as Contractor Permit Signals and Construction Distress Feed, so you can join new or lapsing licenses with permit activity and liens.
Pricing
Pay per event: $5 per 1,000 records ($0.005 per dataset row). No start fee. Set "Max cost per run" and the Actor stops at your limit, keeping your top-priority signals first. Use maxRecords, filters and onlyNewSinceLastRun to keep runs small.
Works in Clay / Zapier / Make
Run it from Clay (Apify integration), Zapier or Make with the official Apify apps, or call it through the Apify API and schedule it weekly. Each run's dataset is available as JSON, CSV or Excel.
FAQ
How do I find newly licensed contractors in Washington or Oregon?
Run this Actor with the new_license signal. It reads the official Washington L&I and Oregon CCB data and returns businesses licensed in the last N days. In the Oct 23, 2026 test, that was 185 in Washington and 89 in Oregon for the past 7 days.
Which contractors have insurance expiring soon?
Choose the insurance_expiring signal and a window (default 30 days). The Actor returns each business whose latest liability policy on file expires in that window: 3,433 in Washington and 1,638 in Oregon in the Oct 23, 2026 test. That's a renewal lead list for insurance agents.
Can I get alerts when a contractor license is suspended?
Yes. Schedule the Actor (daily or weekly) with the suspended signal for Washington. In Oregon, left_active_list flags licenses that dropped off the active list since your last run. Turn on onlyNewSinceLastRun to get only new changes.
How much does it cost?
$5 per 1,000 records ($0.005 per row), with Apify platform usage included. Set a max cost per run; the Actor stops at your limit and keeps your top-priority signals first.
Does it cover other states?
Today it covers Washington and Oregon. Other US states, and some countries, publish contractor license data in different forms, and we add them on request when the data is public and allowed for reuse. Coverage: we confirm data availability for your state before you run it; ask in the Issues tab.
Can I try it for free?
Yes. Apify's free plan includes $5 of usage every month and needs no credit card (Apify pricing). At $0.005 each, $5 covers about 1,000 records; Apify platform usage is included in that price. The form starts at 100 records ($0.50) for a first look.
Can ChatGPT, Claude or another AI agent run this Actor?
Yes. Connect the agent to the Apify MCP server and ask for city-signals-data/contractor-license-signals by name. The agent can start a run and read the results as JSON.
Limits
insurance_expiringmeans the latest policy on file expires in the window. A renewal may already be in progress and not yet filed.- Oregon publishes active licenses only, so Oregon suspensions appear as
left_active_list(from your second run on). - New license dates are when the state license took effect; a "new" license can be an existing company newly licensed in that state.
- A full both-states run takes under a minute and about 90 API calls.
More public-record data tools from City Signals Data
- Trade Show Exhibitor Scraper: first-time and lapsed exhibitors from Map Your Show, a2z and HTML directories.
- Arizona Mechanics Lien & Lis Pendens Feed: weekly Maricopa County liens grouped by company, repeat filers flagged.
- Building Permits Scraper: new and busy contractors from city open data (Austin, Chicago, Cincinnati, New Orleans, Mesa).
- SEC Form D Scraper: companies filing their first-ever Form D, every business day.