The register, joined
Everything on this site is free to read. What is sold is the work of joining five tables, separating two contradictory status fields, and computing the links between businesses.
The pages of this site are free and will stay free : an official fact belongs to no one. What is sold here is the compilation work — extracting Washington State L&I's contractor registration data, reconciling it, dating it, and delivering it in a usable form.
What is actually added
L&I publishes five tables. Joining them is the easy part — the
contractorlicensenumber matches perfectly across all of them, which
is rare enough to be worth saying. What is not in any of the five:
- the suspension separated in two. A date without a status means was suspended. 52,655 registrations are in that case, against 9,749 suspended today. Taking the date at face value mislabels a third of the register;
- the shared-principal links. 19,695 registrations share a principal with another business. Nothing in the source computes that;
- the gaps. Active with no bond, active with no policy, a bond expiring before the job ends.
The flow is the product
L&I refreshes these tables every day and publishes no change log. A snapshot tells you today; only a sequence tells you that a subcontractor lapsed, got suspended, or let a policy expire. We keep every collection from 2026-08-20 on and deliver the differences.
- Change feed — USD 300 / monthOr USD 3 000 a year. At every collection, what came in, went out or changed since the previous one. This is the part that does not age.
- One slice — USD 90 / monthThe feed restricted to a single trade or city, for those who do not need the rest.
- Full snapshot — USD 4 000, onceThe state of the register on the day of delivery, every field included. Listed last on purpose : a snapshot ages.
What you get, field by field
| Field | Description | Filled |
|---|---|---|
licence_number | The key, as printed on the advert. | 100.0 % |
ubi | The state's Unified Business Identifier. | 100.0 % |
business_name | As recorded. | 100.0 % |
status | Active, expired, suspended, out of business… | 100.0 % |
suspended_now | ⚠️ Status is SUSPENDED — suspended today. | 100.0 % |
suspended_in_the_past | ⚠️ A suspension date with another status — the distinction the raw file does not draw. | 100.0 % |
bond_amount / bond_firm / bond_expiry | ⚠️ Joined from the bond table. | 51.2 % |
insurance_amount / insurer / policy_expiry | ⚠️ Joined from the insurance table. | 43.9 % |
principals | ⚠️ Every named principal, joined from the principal table. | 90.9 % |
shares_a_principal_with | ⚠️ How many other registered businesses share a principal with this one — a link the source does not compute. | 100.0 % |
specialty | One per registration. | 99.7 % |
city | The city. The street and phone are in the source and are not republished here. | 100.0 % |
The 6 fields marked ⚠️ do not exist in the source : we add them — a join, a normalisation, or a reconstructed history. That is the part a buyer cannot reproduce by downloading the official file.
Order
Tell us what you need : we reply with a sample, the field dictionary, and an invoice. No payment is taken on this site — an order opens a conversation.
Prices in USD, before any applicable tax. Delivered as CSV and Parquet, by download link. Every request is answered by hand.