Rhode Island Contractor Registration Lookup & List Scraper
Pricing
$0.004 / contractor registration
Rhode Island Contractor Registration Lookup & List Scraper
Every Rhode Island CRLB contractor registration: status, expiry, complaints and violations, with phone, email and address where the board's quarterly lists carry them.
Pricing
$0.004 / contractor registration
Rating
0.0
(0)
Developer
ScrapeBench
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Share
Pain points
- The Contractors' Registration and Licensing Board search shows one query at a time and cannot export, so a statewide list of 10,482 valid registrations (2026-10-27) means copying results by hand.
- The search shows a registration's status, expiry and complaint count but no phone, email or address; those sit only in the quarterly spreadsheets the board posts on a different page.
- Each quarterly spreadsheet covers only the applications approved that quarter, and the files use different column names, so joining them to the registry is a spreadsheet job of its own.
What we solve
- Returns every registration the board's search holds, valid or not, in one run: 31,869 registrations read on 2026-10-27, filterable by status, registration type and city.
- Joins the board's quarterly contact lists to the registry by registration number, so a row carries phone, email and street address wherever a list has them (2,837 of the 10,482 valid registrations on 2026-10-27, more with each quarter).
- Checks one registration number, or a batch of them, against the registry and returns its status, expiry date, complaints and violations.
Summary
Rhode Island contractor registrations from the Contractors' Registration and Licensing Board (CRLB) in one dataset. Each row has the registration number, company, contractor names, registration type, VALID/INVALID status, expiry date and the board's complaint and violation counts. Where the board's quarterly contractor lists carry them, the row also has phone, email and street address. On 2026-10-27 the dataset holds 31,869 registrations, 10,482 of them valid; 2,837 of the valid ones (27.1%) carry a phone and 2,799 an email. Each new quarterly list adds the registrations it approved. Data is served from a stored copy, so a run returns in seconds, and every row says when it was read. Pay only per registration returned.
Who it's for
- Building-supply, insurance and software sales teams prospecting Rhode Island contractors
- Homeowners, property managers and lenders checking a contractor's registration before signing
- Compliance and procurement teams verifying vendor registrations in bulk
- Researchers tracking Rhode Island's contractor population ahead of the 2028 residential licence
How to use
This actor does two jobs. Run it, then collect results from the run's dataset (export to JSON/CSV/Excel, or pull via the Apify API).
Get a list (export): no names, just filters; returns the whole matching list.
{"status": "VALID","categories": ["residential-commercial"],"city": "Providence","maxResults": 200}
Check specific firms (lookup): put company names or licence numbers in queries; Inputs below says how each is matched.
{"queries": ["GREENWICH BAY HOMES","GC-3036"],"maxResults": 5}
See Inputs below for every available field.
What you get
One row per record:
| Field | Description |
|---|---|
listing_id | CRLB registration number (e.g. GC-3036) |
name | Company name, or the contractor's own name when no company is registered |
category | Registration type: RESIDENTIAL, COMMERCIAL, RESIDENTIAL/COMMERCIAL, COMMERCIAL ROOFER, ... |
extras.status | VALID or INVALID |
extras.expires | Registration expiry date |
extras.complaints | Complaints on file with the board |
extras.violations | Violations on file with the board |
extras.contractor_names | Contractor (principal) names on the registration |
phone | Company phone, where a quarterly list carries it |
phone_e164 | The same number in +1 format |
email | Company email, where a quarterly list carries it |
street | Company street address, where on file |
city | Company city, where on file |
postal_code | ZIP code, where on file |
source_url | The board's search, keyed by registration number |
Sample:
{"listing_id": "GC-3036","name": "GREENWICH BAY HOMES LLC","phone": "(401)241-3949","phone_e164": "+14012413949","email": "dan@gbhomes.net","street": "138 Atwells Ave","city": "Providence","region": "Rhode Island","postal_code": "02903","country": "US","category": "RESIDENTIAL/COMMERCIAL","categories": ["RESIDENTIAL/COMMERCIAL"],"source": "snapshot","source_url": "https://datadbr.ri.gov/crb-search/contractor-search.php#GC-3036","extras": {"status": "VALID","expires": "2027-08-19","contractor_names": ["DANIEL SANTIS"],"complaints": 1,"violations": 1}}
Inputs
| Field | Required | Type | Default | Description |
|---|---|---|---|---|
mode | no | string | "auto" | export: no names, just filters; returns the whole matching list. lookup / verify: put company names (matched if contained in the company name) or licence numbers (exact) in 'queries'. auto picks the mode for you. |
query | no | string | — | A business name (or listing number) to look up in the stored copy of the directory. Kept alongside 'queries' for saved tasks. |
queries | no | array | [] | A business name (or listing number) to look up in the stored copy of the directory. Several values in one run; combined with 'query'. |
status | no | string | — | Only listings in this status. Kept alongside 'statuses' for saved tasks. |
statuses | no | array | [] | Only listings in this status. Several values in one run; combined with 'status'. |
city | no | string | — | Only listings in this city. Kept alongside 'cities' for saved tasks. |
cities | no | array | [] | Only listings in this city. Several values in one run; combined with 'city'. |
categories | no | array | [] | Only these categories, in the source's own names. Available: commercial, commercial-roofer, home-inspector, home-inspector-associate, pump-installer, registration-type-unlisted, residential, residential-commercial, underground-utility, water-filtration-contractor, water-filtration-installer, well-driller. |
maxResults | no | integer | 500 | Per query in lookup mode; per run in export mode. |
proxyConfiguration | no | object | {"useApifyProxy": false} | Used only for live lookups; exports read the stored snapshot. |
Pricing (Pay Per Event)
You pay per result (dataset-item) — no charge for empty runs. Example: 1000 contractor registrations at $0.004/result ≈ $4.00.
Notices (unknown category, no match, stale data) are free. Apify platform usage is billed separately per your plan.
Use cases
- Lead lists: every valid residential/commercial contractor in Providence with phone and email where on file.
- Vendor checks: verify a batch of registration numbers and flag expired ones before a job starts.
- Risk screening: pull registrations with complaints or violations on file.
- Renewal outreach: valid registrations expiring in the next 60 days, by type and city.
Why this actor
- The whole registry, 31,869 registrations, not one search page at a time.
- Registry status joined to the board's quarterly contact lists by registration number, column names normalised across files.
- Complaint and violation counts on every row; the quarterly lists don't have them.
- Every filter takes a list; one registration number or a batch verifies in one run.
- Pay per registration; notices are free.
Limitations & updates
Covers registrations with Rhode Island's CRLB, not municipal permits or other trades boards. Phone, email and address are present only for registrations in a board quarterly list (27.1% of valid ones on 2026-10-27). Status between refreshes is derived from each row's expiry date. Lookups and verification answer from the stored copy, never the live search.
FAQ
Where does the data come from?
Two public sources from the Rhode Island Contractors' Registration and Licensing Board: its contractor search (status, expiry, complaints, violations) and the quarterly contractor lists it posts on crb.ri.gov (phone, email, address). They are joined on the registration number.
Why do only some rows have a phone or email?
The board publishes contact details only in its quarterly lists, and each list covers the applications approved that quarter. On 2026-10-27, 2,837 of 10,482 valid registrations had a phone. Registrations run about a year, so each new list fills in more of them.
How do I get only active contractors?
Set status to VALID. A registration the board showed as VALID whose expiry date has since passed is returned as INVALID, with a status_note saying the status came from the date.
Can I verify a registration number?
Yes. Put one or more numbers (e.g. GC-3036) in queries. The actor returns each one's status, expiry, complaints and violations from the stored copy.
Which registration types are there?
residential, commercial, residential-commercial, commercial-roofer, underground-utility, well-driller, pump-installer, water-filtration-installer, water-filtration-contractor, home-inspector, home-inspector-associate, plus registration-type-unlisted for new registrations whose quarterly list does not say which of residential, commercial or both they hold.
How current is it?
The registry was read on 2026-10-27, and the stored copy is refreshed from each new quarterly list when it is older than a month and the actor is in use. The run log states the date of the copy, and a run served from a copy older than 45 days returns one free notice saying so.
How am I charged?
One event per registration returned. Notices are free.
Guides & use cases
Written up on scrapebench.dev — the bench that runs and verifies this actor against the live source every night:
- How-to: How to run Rhode Island Contractor Registration Lookup & List Scraper
- Use case: Providence RI Registered Contractors List with Phone Numbers
More actors, coverage and nightly verification results: scrapebench.dev
Works with AI assistants (MCP)
Callable as an MCP tool, so Claude, Cursor, VS Code Copilot and other MCP clients can run it directly. Grab the config from the MCP tab on this page — Apify hosts the server and keeps that snippet current, and OAuth signs you in on first connect, so no API token goes in your config file.
Then just ask:
"List valid residential/commercial contractors registered in Providence, Rhode Island, with their phone numbers and registration expiry dates."
That is status 'VALID', category 'residential-commercial', city 'Providence': 124 registrations on the 2026-10-27 data. Keep maxResults small on a first call. Runs started this way bill exactly like any other run.
Data & lawful use
This actor collects publicly available information that the Rhode Island Contractors' Registration and Licensing Board publishes for public lookup — licence records, business listings and the contact details professionals list there. Some of it identifies individuals (sole proprietors, licence holders, agents), so treat any names, phone numbers and emails in your results as personal data.
When you run this actor, you decide what is collected and what it is used for, so you are the controller of that data and we act only as your processor (Apify Standard Actor Contract). You need a lawful basis for your use, must honour opt-out and deletion requests, and must follow the marketing rules that apply to you (CAN-SPAM, TCPA, GDPR, CCPA and similar). Don't use the output for unsolicited bulk messaging, for screening covered by the FCRA, or for anything the source's own terms forbid.
Your results are stored in your own Apify account. We don't keep a copy of your results and don't sell or share them.
Disclaimer
This is an independent tool. It is not affiliated with, endorsed by or sponsored by the Rhode Island Contractors' Registration and Licensing Board. Names and marks are used only to describe the data source. Records are provided as published by the source and may be out of date or incomplete. For anything consequential (hiring, a permit, a legal decision), confirm the record with the issuing agency. You are responsible for making sure your use complies with applicable law and the source's terms.
Need help?
Open an issue on this actor's Issues tab and we'll respond there. Bug reports, missing fields and feature requests are all welcome. Guides and examples: scrapebench.dev.
If you are a person named in this data and want your record removed from our copy, email apify-help@scrapebench.dev; the source agency remains the official record.
Your run may be used to improve our services. If something looks off, or you want this actor to fit your use better, please share your run data with us: Apify Console → Settings → Security → Share run data with developers. It lets us see exactly what went wrong and keep improving the actor.