HCRA Ontario Builder Directory Scraper — Licensed Builders avatar

HCRA Ontario Builder Directory Scraper — Licensed Builders

Pricing

$5.00 / 1,000 per builder returneds

Go to Apify Store
HCRA Ontario Builder Directory Scraper — Licensed Builders

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

Scrapers Delight

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

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 delivered7,004 (unique licence numbers: 7,004)
Builders that could not be read after retries0 (never charged)
Phone6,889 (98.4%)
E-mail6,828 (97.5%)
Phone and e-mail6,738 (96.2%)
Website3,865 (55.2%)
At least one named principal / director / officer6,823 (97.4%)
…of which with that person's own phone number6,817 (97.3%) of builders; 15,218 of the 15,548 people listed
Tarion warranty summary published4,232 (60.4%)
Warranty claims paid > $0609 (8.7%) — 14.4% of builders with a warranty summary
Chargeable conciliations > 01,008 (14.4%) — 23.8% of builders with a warranty summary
Conditions on licence132 (1.9%)
Court charges / convictions46 (0.7%)
Notices of proposal44 (0.6%)
Insolvency proceedings29 (0.4%)
Condominium projects1,474 (21.0%)
Run time / memory24 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

  1. 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.
  2. 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).
  3. Contact detail ON by default. You do not have to know about an "enrich" switch to get the phone number.
  4. 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.
  5. 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_SUMMARY and never charged.

📦 Every field

Identity & licence

FieldWhat it is
licenceNumberHCRA licence number, e.g. B60177
nameLegal name (leading spaces the register stores are trimmed)
operatingNameOperating / trade name, when filed
licenceStatusExactly as the register shows it, e.g. Licensed, Licensed with Conditions, Revoked
isCurrentlyLicensedtrue for every status that starts with Licensed
insolvencyFlagThe register's insolvency flag
initialLicenceDate, licenceRenewedOn, licenceExpiryDateISO dates. The register stores 9999-12-30 for builders that were never licensed; that placeholder is returned as null
renewalInProcessA renewal is being processed
umbrellaCompany, umbrellaIdThe builder group ("umbrella") it belongs to, e.g. Slate Asset Management

Contact — the product

FieldWhat it is
phoneThe 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
emailFiled e-mail
websiteFiled website, exactly as filed (blank and NIL entries are null)
fax, address, city, provinceOffice contact details
principalsArray: { name, roles[], status, phone, phoneE164, personId } — one entry per person, roles merged (a person listed as both Officer and Director appears once)
principalsSummaryThe same as one readable string, for spreadsheets
principalCountNumber of principals

Tarion warranty overview (the register's "last 10 years, updated daily" block)

FieldRegister label
warrantyTotalPossessionsTotal possessions — freehold and condo homes occupied by a homeowner
warrantyFreeholdHomesFreehold properties enrolled with Tarion and under warranty
warrantyCondoUnitsCondominium units enrolled and under warranty
warrantyChargeableConciliationsChargeable conciliations — Tarion found a warranted item the builder failed to resolve
warrantyClaimsPaidCadTotal dollars paid in claims
warrantyOutstandingOwingCadAmount owing to Tarion for claims outstanding more than 30 days
warrantyBreachCadOutstanding claims where there was a warranty breach
warrantyTarionActionOnBehalfCadTarion acting on the builder's behalf (TAB) — amounts owing
warrantySummaryPublishedtrue when the register holds a warranty summary for this builder
outstandingBalancePublishedtrue 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

FieldWhat 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
…CountThe 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_MAJOR and SUMM_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 in noticesOfProposal with 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, with phoneE164: 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 page parameter 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 the Referer and Accept headers 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.