In Ontario, you can't legally build or sell a new home unless you're licensed by the Home Construction Regulatory Authority (HCRA). Every licensed builder — and every expired, revoked or refused one — lives in a public database called the Ontario Builder Directory (OBD). That's a ready-made list of construction businesses, with contact info, licence status, and how many homes each has built.
The catch: there's no "download all" button and no documented API. The directory is a search box. This post shows how to pull that data programmatically in 2026 — the real endpoint behind the search, the fields you get, and a hosted option you can call from code or an AI agent.
Why builder-directory data is useful
An HCRA licence record is a strong commercial signal:
Contact info — most builders list a phone number, many an email and website.
Licence status — Licensed, Licensed with Conditions, Expired, Revoked, Refused. Great for lead-gen (only-active) or due diligence (find the bad ones).
Track record — the directory reports how many freehold and condo homes each builder has completed, plus warranty-claim counts and insolvency flags.
Suppliers, sub-trades, PropTech tools, and anyone doing B2B sales into Ontario residential construction can turn this into a targeted list.
One important thing about HCRA
HCRA licenses new-home builders and vendors — not trade subcontractors. So the directory is full of home-building companies, not roofers, electricians or plumbers. If you search for a trade like "roofing" you'll get very few active hits. Search instead by company terms like homes, construction, developments, or by a specific builder name. (For trade licences, Quebec's RBQ registry is the dataset you want — different post.)
The source: obd.hcraontario.ca
The — Ontario (HCRA) and Quebec (RBQ) in one schema.
{
"provinces": ["ontario"],
"keywords": ["homes", "construction"],
"activeOnly": true,
"maxResults": 100
}
Output — one clean record per builder:
{
"licenseNumber": "B10000",
"holderName": "Example Homes Inc.",
"otherNames": ["Example Homes"],
"city": "Ottawa",
"phone": "613-555-0100",
"email": "[email protected]",
"website": "example-homes.ca",
"status": "Licensed",
"issuedDate": "2021-06-01",
"homesBuilt": { "freehold": 12, "condo": 0, "total": 12 },
"province": "ON"
}
activeOnly defaults to on, so you get a clean list of currently-licensed builders; turn it off for research on expired or revoked ones. Pricing is per record ($6 per 1,000), so a targeted regional list costs cents.
Call it from an AI agent (MCP)
The Actor is exposed over the Model Context Protocol, so an LLM agent can pull builder data as a tool:
https://mcp.apify.com?tools=truenorthdata/canada-contractor-licenses
Wire that into a Claude / MCP client and ask in plain language — "active Ontario home builders in Ottawa with a phone number" — and the agent runs the Actor and filters the results itself.
FAQ
Is this legal? The Ontario Builder Directory is a public register HCRA publishes so consumers can check builders. We read it as published.
Does every builder have an email? No. Phone is common; email and website are listed for some builders, not all.
Can I get expired/revoked builders? Yes — set activeOnly off (or filter LICENSESTATUS yourself). Useful for due diligence.
What about trades (roofers, electricians)? HCRA only licenses home builders/vendors. For Quebec trade licences, use the RBQ registry (same Actor, province: "quebec").
Building with Canadian public data — permits, tenders, licences? I write about turning open registries into products. Questions welcome in the comments.
SOCIAL SHARE CARD GENERATOR