Oregon
Verify an Oregon contractor license with one API call.
Better Vetters checks an Oregon contractor against the Construction Contractors Board’s active license records, including the liability insurance and surety bond on file, and returns a verdict, a 0 to 100 trust score, and the records behind them. $0.15 per check, and every new API key includes 20 free checks.
What you get
Oregon CCB records in one response.
Oregon’s Construction Contractors Board publishes every active license as open data, so a check can see license type, expiry, bond, and insurance in one call.
License status and expiry
CCB license number, license and endorsement type, status, expiry date, days until expiry, and a link to the CCB’s license search.
Insurance and bond
Liability insurance and surety bond on file, with amounts, providers, and expiry dates.
Match confidence
A 0 to 1 confidence from name, license number, phone, city, and website domain, plus alternate candidates.
Freshness
The CCB dataset states a daily update cadence; each response shows when we last refreshed and when the CCB last updated.
Sources
One official dataset, read three ways.
Record counts are a snapshot from November 11, 2026. The insurance and bond rows come from the same CCB dataset as the licenses. Live counts: GET /v1/coverage.
| Data | Source dataset | Records | License | Publisher cadence |
|---|---|---|---|---|
| License | Oregon CCB Active Licenses (one row per license endorsement; active licenses only) | 56,648 | Public Domain U.S. Government | Daily |
| Insurance | Same dataset, rows with a liability insurance company | 43,918 | Public Domain U.S. Government | Daily |
| Bond | Same dataset, rows with a surety bond company | 44,577 | Public Domain U.S. Government | Daily |
Try it
An Oregon check in one request.
Set state to OR. name is the only required field; add license_number if you have it.
curl -s -X POST https://api.bettervetters.com/v1/contractor/check \
-H "Authorization: Bearer $BV_API_KEY" \
-H 'content-type: application/json' \
-d '{"name":"Example Builders LLC","state":"OR","city":"Portland"}'Fields are documented in the docs. For Oregon, discipline.available is false and no permits are attached.
How to read the result
- Read
verdictandtrust_score.trustedneeds a score of 80 or more and a match confidence of 0.8 or more. - If the verdict is
needs_review, the closest record was only a fuzzy name match. Confirm the business before relying on it. - Read
license.status,license.expires, andinsurance_bond. - Cite
data_freshnesswhen you show the result to a person.
Limits
What an Oregon check does not tell you.
Not covered
- Expired, suspended, or revoked licenses: the feed lists active licenses only
- Permits, because Oregon has no permit feed here
- Discipline and complaint history
Good to know
- One license number can have several rows, one per endorsement
- A missing record is not proof of a problem
- This is public records, not a consumer report. Do not use it for employment, credit, insurance, or tenant-screening decisions
Other covered places: Washington · Texas · New York City · Connecticut · Pennsylvania (Pittsburgh). See all sources on the Coverage page.
FAQ
Oregon contractor verification FAQ.
How do I verify an Oregon contractor license through an API?
Send POST /v1/contractor/check with the contractor’s name and state set to OR. Add license_number, phone, or city to raise confidence. The response includes the matched Construction Contractors Board (CCB) license, its status and expiry, and the liability insurance and surety bond on file.
Where does the Oregon data come from?
From the Oregon Construction Contractors Board’s Active Licenses dataset on data.oregon.gov, which lists the license number, license and endorsement type, business name, address, phone, expiry, and bond and insurance details. Its metadata states Public Domain U.S. Government and a daily update cadence. Every response carries a data_freshness block with the refresh time of each source used.
Does it show insurance and bond for an Oregon contractor?
Yes. For Oregon matches the response includes insurance_bond: whether liability insurance and a surety bond are on file, with amounts, providers, and expiry dates as published by the CCB.
What happens if an Oregon license has expired, been suspended, or been revoked?
The CCB dataset lists active licenses only. A contractor whose license is no longer active will usually come back as not_found or as a weaker match to a different business, so there is no expired or revoked history in this feed. not_found is not proof that a contractor was never licensed. Check the CCB’s own license search if it matters.
Does it include Oregon permits or violations?
No. Oregon is license data only: there is no permit feed and no discipline data, so permits.total is zero and a contractor with no permits is scored neutrally, not penalized.
Why did my Oregon check return needs_review?
needs_review means the closest record was only a fuzzy name match: confidence below 0.8 with no license-number or phone match. The score is capped at 50. Confirm the business, or add license_number or phone and check again.
Check an Oregon contractor.
20 free checks, then $0.15 per check.
# Get a key (20 free checks, no card). The key is shown once.
curl -s -X POST https://api.bettervetters.com/v1/keys \
-H 'content-type: application/json' \
-d '{"label":"my-agent"}'