HCRA Ontario Builder Directory Scraper — Licensed Builders
Pricing
$5.00 / 1,000 per builder returneds
HCRA Ontario Builder Directory Scraper — Licensed Builders
Ontario's licensed new-home builders from the HCRA Ontario Builder Directory: phone, e-mail, website, named principals with their phones, Tarion warranty-claims summary, licence dates, conditions, convictions and insolvency. Live licensees by default. $5 per 1,000 builders.
Pricing
$5.00 / 1,000 per builder returneds
Rating
0.0
(0)
Developer
Scrapers Delight
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
🏗️ HCRA Ontario Builder Directory Scraper — Licensed Home Builders
Export every licensed new-home builder and vendor in Ontario from the Home Construction Regulatory Authority's Ontario Builder Directory (obd.hcraontario.ca) — with the phone number, e-mail and website each builder files with the regulator, the named principals, directors and officers with their own phone numbers, the Tarion warranty-claims summary, licence dates, and the full regulatory record: conditions, court convictions, notices of proposal and insolvency proceedings.
The directory is HCRA's public register of every builder and vendor licensed to build or sell new homes in Ontario.
🤔 What does this actor do?
It reads the register the same way the Ontario Builder Directory website does — through the site's own JSON endpoints — and returns one row per builder licence. By default you get the live register: builders whose licence is Licensed or Licensed with Conditions (7,004 builders on 2026-09-23). Expired, revoked, refused, cancelled, resigned, suspended and unlicensed accounts are one click away for insurance, lending and due-diligence work.
Who uses it
- 🪟 Building-product manufacturers and dealers — windows, HVAC, lumber, kitchens, roofing — prospecting the builders who buy them, with a direct line to a named principal.
- 🛡️ New-home warranty, builder's-risk insurers and construction lenders — screen a builder's warranty-claims history, outstanding balances owed to Tarion, licence conditions, convictions and insolvency before you write the policy or the loan.
- 💻 Construction-software vendors and contractor-marketing agencies — a clean, deduplicated list of every active Ontario builder, sized by how many homes they have delivered.
- 🔎 Due diligence — look any builder up by licence number and get its whole public record in one row.
📊 What a real run returned (measured, not claimed)
Full run of the live register, 2026-09-23, default settings:
| Builders on the live register (Licensed + with Conditions) | 7,004 |
| Builders delivered | 7,004 (unique licence numbers: 7,004) |
| Builders that could not be read after retries | 0 (never charged) |
| Phone | 6,889 (98.4%) |
| 6,828 (97.5%) | |
| Phone and e-mail | 6,738 (96.2%) |
| Website | 3,865 (55.2%) |
| At least one named principal / director / officer | 6,823 (97.4%) |
| …of which with that person's own phone number | 6,817 (97.3%) of builders; 15,218 of the 15,548 people listed |
| Tarion warranty summary published | 4,232 (60.4%) |
| Warranty claims paid > $0 | 609 (8.7%) — 14.4% of builders with a warranty summary |
| Chargeable conciliations > 0 | 1,008 (14.4%) — 23.8% of builders with a warranty summary |
| Conditions on licence | 132 (1.9%) |
| Court charges / convictions | 46 (0.7%) |
| Notices of proposal | 44 (0.6%) |
| Insolvency proceedings | 29 (0.4%) |
| Condominium projects | 1,474 (21.0%) |
| Run time / memory | 24 minutes (1,435 s) at 512 MB |
Every percentage above is counted over all delivered rows, not a sample, and is re-computed on every run into the RUN_SUMMARY record so you can check it yourself.
🎯 What you get that other HCRA exports don't
- Named decision makers with direct numbers. The register lists each builder's principals, directors and officers with a contact phone for each person. Most exports stop at the company switchboard.
- Warranty and risk in the same row. Homes possessed, freehold homes, condo units, chargeable conciliations, total claims paid, outstanding balance owed to Tarion, breach and Tarion-action-on-behalf amounts — plus conditions, convictions, notices of proposal (with a link to the notice document) and insolvency proceedings (with the insolvency firm).
- Contact detail ON by default. You do not have to know about an "enrich" switch to get the phone number.
- Live register by default, the rest opt-in. Revoked and refused builders are a valuable list for an insurer, and noise for a window dealer. You choose.
- Complete, and it tells you so. The register's full list is read in one response and floor-checked, so there is no pagination to silently drop builders. Every builder that could not be read is listed in
RUN_SUMMARYand never charged.
📦 Every field
Identity & licence
| Field | What it is |
|---|---|
licenceNumber | HCRA licence number, e.g. B60177 |
name | Legal name (leading spaces the register stores are trimmed) |
operatingName | Operating / trade name, when filed |
licenceStatus | Exactly as the register shows it, e.g. Licensed, Licensed with Conditions, Revoked |
isCurrentlyLicensed | true for every status that starts with Licensed |
insolvencyFlag | The register's insolvency flag |
initialLicenceDate, licenceRenewedOn, licenceExpiryDate | ISO dates. The register stores 9999-12-30 for builders that were never licensed; that placeholder is returned as null |
renewalInProcess | A renewal is being processed |
umbrellaCompany, umbrellaId | The builder group ("umbrella") it belongs to, e.g. Slate Asset Management |
Contact — the product
| Field | What it is |
|---|---|
phone | The builder's filed phone, formatted 416-644-4264 (numbers the register stores as 647/270-5532 or (416)644-4264 are reformatted, never altered) |
phoneE164 | +14166444264, for dialers and CRMs |
email | Filed e-mail |
website | Filed website, exactly as filed (blank and NIL entries are null) |
fax, address, city, province | Office contact details |
principals | Array: { name, roles[], status, phone, phoneE164, personId } — one entry per person, roles merged (a person listed as both Officer and Director appears once) |
principalsSummary | The same as one readable string, for spreadsheets |
principalCount | Number of principals |
Tarion warranty overview (the register's "last 10 years, updated daily" block)
| Field | Register label |
|---|---|
warrantyTotalPossessions | Total possessions — freehold and condo homes occupied by a homeowner |
warrantyFreeholdHomes | Freehold properties enrolled with Tarion and under warranty |
warrantyCondoUnits | Condominium units enrolled and under warranty |
warrantyChargeableConciliations | Chargeable conciliations — Tarion found a warranted item the builder failed to resolve |
warrantyClaimsPaidCad | Total dollars paid in claims |
warrantyOutstandingOwingCad | Amount owing to Tarion for claims outstanding more than 30 days |
warrantyBreachCad | Outstanding claims where there was a warranty breach |
warrantyTarionActionOnBehalfCad | Tarion acting on the builder's behalf (TAB) — amounts owing |
warrantySummaryPublished | true when the register holds a warranty summary for this builder |
outstandingBalancePublished | true when the register holds an outstanding-balance record |
Null is not zero. The HCRA website draws a missing warranty figure as "0". This actor does not: a builder with no warranty summary on file gets null and warrantySummaryPublished: false; a builder whose summary says zero gets 0. The difference matters to an underwriter.
Regulatory record
| Field | What it is |
|---|---|
conditions[] | { text, effectiveDate } — conditions on the licence, in the register's own words |
convictions[] | Court charges and convictions: charge type, charged party, charge / offence / disposition dates, disposition, fines, probation, offence city |
noticesOfProposal[] | Notices of proposal to refuse, revoke or add conditions: action, document name, date issued, due date, compliance, link to the notice PDF |
insolvencyProceedings[] | Receivership / bankruptcy / proposal: type, insolvency firm, decision date, date HCRA was informed, document link |
condoProjects[] | Condominium projects: name, status, location, address, units, terminations |
…Count | The count for each list |
profileUrl links every row to the builder's public profile. scrapedAt and source record provenance.
📄 A real row (from the verified run)
Licence B60177 as delivered on 2026-09-23. Its principals array held 5 people; two are shown here to keep the page short.
{"licenceNumber": "B60177","name": "1 Delisle Ave GP Inc. in its capacity as general partner of and on behalf of 1 Delisle Ave L.P.","operatingName": null,"licenceStatus": "Licensed","isCurrentlyLicensed": true,"insolvencyFlag": false,"phone": "416-644-4264","phoneE164": "+14166444264","email": "info@slateam.com","website": "http://slateam.com","fax": "416-947-9366","address": "121 King Street West","city": "Toronto","province": "ON","umbrellaCompany": "Slate Asset Management","umbrellaId": "500000272","initialLicenceDate": "2021-05-13","licenceRenewedOn": "2026-07-29","licenceExpiryDate": "2027-05-14","renewalInProcess": false,"warrantySummaryPublished": false,"warrantyTotalPossessions": null,"warrantyFreeholdHomes": null,"warrantyCondoUnits": null,"warrantyChargeableConciliations": null,"warrantyClaimsPaidCad": null,"outstandingBalancePublished": false,"warrantyOutstandingOwingCad": null,"warrantyBreachCad": null,"warrantyTarionActionOnBehalfCad": null,"principalCount": 5,"principalsSummary": "Brandon Donnelly (Officer) 416-583-1773; …","principals": [{"personId": "100529119","name": "Brandon Donnelly","roles": ["Officer"],"status": "Active","phone": "416-583-1773","phoneE164": "+14165831773"},{"personId": "600021567","name": "Steven Dejonckheere","roles": ["Officer"],"status": "Active","phone": "416-583-1746","phoneE164": "+14165831746"}],"conditionsCount": 1,"conditions": [{"text": "1 Delisle Ave GP Inc. in its capacity as general partner of and on behalf of 1 Delisle Ave L.P. must provide proof, to the satisfaction of the Registrar, that it has obtained the following competencies by 2026-05-10:\n\n• Project Management and Supervision\n• Customer Service and Tarion Requirements\n\n1 Delisle Ave GP Inc. in its capacity as general partner of and on behalf of 1 Delisle Ave L.P. shall not act as vendor or builder of any homes except in relation to the following condo project located at 1 Delisle Avenue, Toronto, Ontario.","effectiveDate": "2026-02-12"}],"convictionsCount": 0,"convictions": [],"noticesOfProposalCount": 0,"noticesOfProposal": [],"insolvencyProceedingsCount": 0,"insolvencyProceedings": [],"condoProjectCount": 1,"condoProjects": [{"projectName": "One Delisle","status": "In Progress","location": "TORONTO","address": "1 Delisle Ave","units": 371,"terminations": null,"cancellationReason": null,"lastStatusUpdate": null}],"profileUrl": "https://obd.hcraontario.ca/profile/B60177","source": "HCRA Ontario Builder Directory (obd.hcraontario.ca)","scrapedAt": "2026-09-23T03:43:35.750Z"}
⚙️ How to run it
Every live builder in Ontario — set Max builders to 0:
{ "licenceStatuses": ["Licensed", "Licensed with Conditions"], "maxResults": 0 }
Builders in Ottawa and Barrie that file an e-mail:
{ "cities": ["Ottawa", "Barrie"], "requireEmail": true, "maxResults": 0 }
Revoked and refused builders for a risk screen:
{ "licenceStatuses": ["Revoked", "Refused"], "maxResults": 0 }
Look specific builders up:
{ "licenceNumbers": ["B60177", "B32235"] }
Insolvent builders that are still licensed:
{ "licenceStatuses": ["Licensed", "Licensed with Conditions"], "insolventOnly": true, "maxResults": 0 }
Turn off principals, regulatory record or condo projects for a faster run; the price is the same.
💰 Pricing
$0.005 per builder delivered — $5 per 1,000. No start fee, no platform-usage surcharge. The whole live register (about 7,000 builders) costs about $35.
You are charged only for builders delivered to your dataset. Builders removed by your filters, by the e-mail/phone filter, by your row cap, and builders the register could not serve after retries are read but never charged. A run with an empty input returns at most 75 builders ($0.375).
🔗 Source
HCRA Ontario Builder Directory, https://obd.hcraontario.ca/. The actor reads the same JSON endpoints the directory's own website calls, without a login.
🚧 Honest limits
- One register, one country. Ontario builders only. Quebec (RBQ), BC and other provinces are different registers.
- Umbrella groups and prosecution records are out of scope. The list also carries 2,845 umbrella-group entries and 168 records of charges against people and unlicensed firms. They are different entity types with different endpoints, and the builder-summary endpoint answers
[]for all of them, so they are excluded rather than delivered as empty rows. Looking one up by number reports it as not a builder account, uncharged. - Four warranty fields are not shipped. The register returns
SUMM_MINOR,SUMM_MINOR_AMT,SUMM_MAJORandSUMM_MAJOR_AMT, but the HCRA website neither displays nor defines them. Guessing a label would be inventing meaning, so they are left out. - Warranty figures cover the last 10 years and are HCRA's, updated daily; they are not a full lifetime history.
- Principal phone numbers are what HCRA publishes. Some principals share the company switchboard.
- The register lists 39 duplicate licence numbers, all in the out-of-scope tail (prosecution, refused and unlicensed entries). The live register has none; each licence number is delivered once.
- Some conditions live in a notice, not in
conditions. 5 of the 68 Licensed with Conditions builders have no condition text on the register; their conditions are carried by a Notice of Proposal (action: "NOP Conditions"), which is innoticesOfProposalwith a link to the notice document. - Phones are reformatted, never repaired. A number the register stores with a typo (one live builder files
416-740-55444, eleven digits) is delivered exactly as filed, withphoneE164: null. - Contact fields can be stale. They are what the builder filed with HCRA at its last licence event.
🧪 How reliability is checked
- The full list is read in one response (the register's
pageparameter is ignored — page 1 and page 2 are identical, in identical order) and floor-checked: fewer than 40,000 rows, or fewer than 5,000 Licensed, fails the run instead of selling a partial register. - The empty-response trap. The detail endpoint answers
[]under HTTP 200 both for "nothing on file" and for a request it did not accept — the difference is invisible. Every request carries theRefererandAcceptheaders the directory's own site sends, and because every builder account holds exactly one summary row, a[]summary for a builder the list contains is treated as a failure and retried, never as a builder with no details. Measured from Apify's network: 0 empty summaries in 7,004 calls on the full live register (2026-09-23), and in two earlier probes 0 of 300 with the Referer and 0 of 300 without it — the trap is guarded, not observed. - When the register's own status says a section must have content — Licensed with Conditions ⇒ a condition, an NOP status ⇒ a notice, the insolvency flag ⇒ a proceeding — an empty answer is re-read before it is accepted.
- A 200 carrying HTML or a truncated body is treated as a transport failure, never as data. Every request has a hard wall-clock deadline.
- A run where most builders cannot be read fails loudly; a run with legitimately no matches exits cleanly.
❓ FAQ
How fresh is the data? Each run reads the live register. HCRA updates the warranty block daily.
How long does a full run take? About 24 minutes (1,435 s) for the whole live register at the default concurrency.
Do I need a proxy? No. The register is open and has no anti-bot; a proxy only adds cost and latency. It is off by default.
Why are some websites missing? Only 3,865 (55.2%) of builders file one; the rest leave it blank or write NIL. Blank values are returned as null, never as an empty string.
What is a "chargeable conciliation"? Tarion's term for a case where it inspected a homeowner's warranty claim, found the item warranted, and the builder had failed to fix it in time.
Can I get only builders I haven't seen before? Filter on initialLicenceDate in your own pipeline — newly licensed builders carry a recent date.
What does "NOP" mean? A Notice of Proposal — HCRA's formal notice that it intends to refuse, revoke or condition a licence. The builder stays licensed while it is pending or under appeal.
Why are revoked builders not in the default output? Because a builder who cannot legally build is a wasted call for most sales teams. Tick Revoked (and Refused, Expired) to get them.
Is every phone number a mobile? No — they are whatever the builder and its principals filed: office lines, direct lines and mobiles.
Can I look up a builder by name? Yes — Builder name contains, e.g. mattamy.
What if HCRA changes its site? The actor fails loudly (short list, non-JSON answers, a high unreachable rate) rather than returning a quietly partial dataset.