Contractor License Change Monitor — new, expiring, lost (US)
Pricing
from $5.00 / 1,000 license changes
Contractor License Change Monitor — new, expiring, lost (US)
Watch US state contractor registries (WA, OR, TX, NY) and get only what changed since your last run: new licenses, lapsed ones, status changes, renewals and licenses entering your expiry window. Official open data, no scraping.
Pricing
from $5.00 / 1,000 license changes
Rating
0.0
(0)
Developer
tatsuya handa
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Contractor License Change Monitor (WA/OR/TX/NY) — new, expiring, lost
Know the moment a contractor's license changes. This Actor watches the official contractor registries of Washington, Oregon, Texas and New York and returns only what changed since your last run:
changeType | Meaning | Who cares |
|---|---|---|
new | a license appeared in the registry (a new business, or a newly licensed trade) | suppliers, insurers, bonding agents, software vendors — first to call wins |
expiring-soon | a license entered your expiry window (default 60 days) | renewal marketing: continuing-education, bonds, insurance |
renewed | the expiration date moved forward | confirms the business is active |
status-changed | e.g. ACTIVE → SUSPENDED (WA, NY expose status) | risk & compliance, prime contractors vetting subs |
removed | the license no longer appears (lapsed / inactive / revoked) | stop selling to them; risk flag |
The first run stores a compressed baseline snapshot of your scope and (optionally) returns every license already inside the expiry window, so you have a usable list on day one. Every later run compares against the snapshot.
Sample output
{"type": "change","changeType": "expiring-soon","state": "WA","licenseNumber": "ACMERRL123AB","businessName": "ACME ROOFING LLC","licenseType": "CONSTRUCTION CONTRACTOR","status": "ACTIVE","expirationDate": "2026-10-28","daysToExpiry": 53,"city": "TACOMA","zip": "98402","phone": "2535550100","sourceDataset": "https://data.wa.gov/d/m8qx-ubtq","checkedAt": "2026-09-05T08:00:00.000Z","llmSummary": "ACME ROOFING LLC (WA CONSTRUCTION CONTRACTOR, #ACMERRL123AB) expires 2026-10-28 — in 53 days."}
A summary record per run gives counts per state and change type.
Sources
| State | Registry (open data, refreshed daily) | Status field | Expiry field |
|---|---|---|---|
| WA | Department of Labor & Industries — Contractor License Data | yes | yes |
| OR | Construction Contractors Board — Active Licenses (removal = no longer active) | active-only | yes |
| TX | TDLR — All Licenses (contractor & electrician types) | no | yes |
| NY | Department of Labor — Contractor Registry Certificates | yes | yes |
No scraping, no login, no proxies.
Input
{"states": ["WA", "OR"],"licenseType": "ROOF","zip": "98","expiringWithinDays": 60,"emitExpiringOnBaseline": true}
| Field | Default | Meaning |
|---|---|---|
states | WA | registries to watch |
licenseType / city / county / zip | — | watch scope (strongly recommended; a whole state can be 160,000 licenses) |
expiringWithinDays | 60 | emit expiring-soon when a license enters this window |
emitExpiringOnBaseline | true | on the first run, return all licenses already in the window |
maxRecordsPerState | 20000 | snapshot cap per state |
stateStoreName | license-change-state | where snapshots live; one per watchlist |
socrataAppToken | — | optional, lifts rate limits for large scopes |
Schedule it daily or weekly with the same input.
Monitor mode, watchlists and the free first run
All handa-labs monitors share the same controls:
| Field | Default | Meaning |
|---|---|---|
mode | monitor | monitor remembers what was returned and emits only changes on later runs; snapshot returns everything matching on every run |
watchlistId | default | label for this watchlist; runs with the same ID share memory, different IDs are independent |
emitBaseline | false | the first monitor run establishes a free baseline (only the Actor-start fee) and returns counts; set true to also receive, and pay for, every current item on that first run |
Schedule the Actor with the same input and you get a clean change feed. Nothing is charged for records on the first run unless you ask for them.
Pricing
Pay-per-event: a small fee per run plus a fee per change record. A focused scope (one trade, one state) typically produces a few dozen changes per week.
Notes
licenseTypematches the registry's own type / specialty / endorsement fields. Trades like ROOF, ELECTRICAL, PLUMBING, HVAC work in WA, TX and NY; Oregon licenses are endorsement levels (e.g. "Residential General Contractor", "Commercial General Contractor Level 2"), so use those words, or leavelicenseTypeempty and scope Oregon bycounty/zipinstead.- Texas publishes no status, so only
new,removed,renewedandexpiring-soonapply there; it also publishes no address or phone. - Oregon's dataset lists active licenses only, so a license leaving it is reported as
removed. - Snapshots are stored compressed in your key-value store; changing the scope starts a new baseline.
- Need the full current list instead of changes? Use the companion US Contractor License Lookup & Lead Lists.
- Public records for business use; not for FCRA-regulated decisions.
日本語
米国4州(WA/OR/TX/NY)の建設業者ライセンス登録簿を監視し、前回からの変化だけを返します: 新規取得、失効(登録簿から消えた)、状態変更(有効→停止など)、更新、そして「N日以内に期限切れ」になった業者。保険・ボンド・建材・SaaSの営業と、元請の下請け審査向け。初回は圧縮スナップショットを保存し、期限が近い業者の一覧も返します。州のオープンデータのみ使用、スクレイピングなし。