CIB
Oklahoma Roofing Contractor Directory & Leads (CIB)
Export every Oklahoma CIB-registered roofing contractor statewide: company, registration #, status, phone, address, insurance and workers' comp carrier.
Verification
Output fields
Authoritative field set from the dataset schema.
| Field | Type |
|---|---|
state | string|null |
registration_id | integer|null |
license_number | string|null |
business_name | string|null |
trade_name | string|null |
license_type | string|null |
status | string|null |
commercial_endorsement | boolean|null |
expiration_date | string|null |
processed_date | string|null |
issue_date | string|null |
phone | string|null |
fax | string|null |
address | string|null |
city | string|null |
address_state | string|null |
zip_code | string|null |
county | string|null |
person_name | string|null |
company_type | string|null |
state_of_formation | string|null |
insurance_company | string|null |
insurance_expiration_date | string|null |
workers_comp_company | string|null |
workers_comp_expiration_date | string|null |
workers_comp_exempt | boolean|null |
bond_amount | string|null |
bond_company | string|null |
matched_by | string|null |
notice | string|null |
notice_type | string|null |
source_url | string|null |
Sample row
{
"state": "OK",
"registration_id": 47591,
"license_number": "80000002",
"business_name": "S & CM, LLC",
"trade_name": "MCROOF.US",
"license_type": "Roofing Contractor Registration",
"status": "In Good Standing",
"commercial_endorsement": true,
"expiration_date": "2027-11-30",
"processed_date": "2026-09-29",
"phone": "(405) 877-7663",
"address": "722 ENTERPRISE DR #150",
"city": "EDMOND",
"address_state": "OK",
"zip_code": "73013",
"fax": null,
"person_name": "SCOTT A MCCOLLUM,SR",
"company_type": "LLC",
"state_of_formation": "OK",
"insurance_company": "WESTERN WORLD IN CO",
"insurance_expiration_date": "2027-06-26",
"workers_comp_company": "TRAVELERS CAS & SURETY CO",
"workers_comp_expiration_date": "2027-07-01",
"workers_comp_exempt": false,
"county": null,
"matched_by": "statewide_export",
"source_url": "https://verify.cib.hbesystems.com/roofing/search"
} Inputs
| Field | Type | Req | Default | Description |
|---|---|---|---|---|
statuses | array | no | ["In Good Standing"] | Which CIB statuses to export: 'In Good Standing', 'Not In Good Standing', 'Expired', 'Expired - for non-renewal', 'Pending', or 'all'. Case and punctuation do not matter. Left empty, only 'In Good Standing' registrations are returned. A value that is not a CIB status is dropped (never widened to every status). |
status | string | no | — | One status, same values as 'Registration statuses'. Combined with that list if you fill both. |
cities | array | no | [] | Only registrations whose business address is in one of these cities (e.g. 'Oklahoma City', 'Tulsa', 'Edmond'). Exact city name, case-insensitive. Left empty, the export is statewide. Registrants based out of state keep their own city. |
city | string | no | — | One city, same as 'Cities'. Combined with that list if you fill both. |
maxResults | integer | no | 500 | Cap on rows returned for the whole run. The registry held 1,924 In Good Standing registrations and 6,069 in all statuses on 2026-10-14, so 2,000 covers every active roofer and 10,000 covers everything. Default 500. |
proxyConfiguration | object | no | {"useApifyProxy":false} | Off by default: the CIB registry is a public, keyless JSON service. Turn a proxy on only if a run returns a 'blocked' notice saying the source did not answer. |
Pricing
Pay per result (dataset-item) — no charge for empty runs.
Example: 1924 roofing contractor records at $0.002/result ≈ $3.85.
FAQ
Where does the data come from?
The Oklahoma Construction Industries Board's public roofing registry search at verify.cib.hbesystems.com. The actor reads the same public JSON that page uses; no login or key is involved.
How many records are there?
On 2026-10-14 the registry held 6,069 roofing records: 1,924 In Good Standing, 3,129 Expired - for non-renewal, 377 Expired, 332 Not In Good Standing and 307 Pending applications. 1,565 of the 1,924 active registrants have an Oklahoma address; the rest are out-of-state firms registered to work in Oklahoma.
Can I filter by county or get email addresses?
No. CIB publishes neither a county nor an email for roofing registrants. Filter by city instead; the county field is always null.
How am I charged?
$0.002 per registration returned. The full active registry is about $3.85. Rows that only explain a problem (no match, source down, budget reached) are free.
How current is the data?
Each run reads the live registry, so it is as current as CIB's own search page.
Why do some registration numbers repeat?
CIB has reused numbers across firms: on 2026-10-14, 228 numbers appeared on more than one record, 221 of them under different companies (18 among active registrations, all different companies). Every record is kept, keyed on CIB's unique record id.
Guides & use cases
Related actors