API를 통해 온타리오 주 주택 건설업체 데이터를 가져오는 방법 (2026)
요약
온타리오 주 건설업체 디렉토리(OBD)의 데이터를 API 엔드포인트를 통해 프로그래밍 방식으로 추출하는 방법을 설명합니다. 검색 및 상세 정보 조회를 위한 엔드포인트 활용법과 데이터의 상업적 가치를 다룹니다.
핵심 포인트
- OBD의 JSON API 엔드포인트를 활용한 데이터 추출 방법 제시
- 면허 상태, 연락처, 실적 등 건설업체의 핵심 데이터 확보 가능
- 리드 생성 및 실사(due diligence)를 위한 B2B 타겟팅 활용
- 검색 시 기술 명칭 대신 회사 관련 용어 사용 권장
온타리오(Ontario)에서는 **Home Construction Regulatory Authority (HCRA)**의 면허를 받지 않으면 법적으로 새 집을 짓거나 판매할 수 없습니다. 모든 면허를 보유한 건설업체 — 그리고 면허가 만료되었거나, 취소되었거나, 거부된 모든 업체 — 는 **Ontario Builder Directory (OBD)**라고 불리는 공개 데이터베이스에 등록되어 있습니다. 이는 연락처 정보, 면허 상태, 각 업체가 건설한 주택 수 등을 포함한 건설 기업들의 기성 목록입니다.
문제는 "모두 다운로드" 버튼이 없고 문서화된 API도 없다는 점입니다. 이 디렉토리는 검색창 형태로 되어 있습니다. 이 포스트에서는 2026년에 해당 데이터를 프로그래밍 방식으로 추출하는 방법 — 검색 뒤에 숨겨진 실제 엔드포인트(endpoint), 가져올 수 있는 필드(fields), 그리고 코드나 AI 에이전트에서 호출할 수 있는 호스팅 옵션 — 을 보여줍니다.
건설업체 디렉토리 데이터가 유용한 이유
HCRA 면허 기록은 강력한 상업적 신호입니다:
- 연락처 정보 (Contact info) — 대부분의 건설업체는 전화번호를 기재하며, 많은 업체가 이메일과 웹사이트를 제공합니다.
- 면허 상태 (Licence status) — 면허 보유(Licensed), 조건부 면허(Licensed with Conditions), 만료(Expired), 취소(Revoked), 거부(Refused). 리드 생성(lead-gen, 활성 업체만 추출) 또는 실사(due diligence, 부적격 업체 식별)에 매우 유용합니다.
- 실적 (Track record) — 디렉토리는 각 건설업체가 완료한 프리홀드(freehold) 및 콘도(condo) 주택 수와 더불어, 보증 청구(warranty-claim) 횟수 및 파산(insolvency) 플래그를 보고합니다.
공급업체, 하도급 업체, PropTech 도구, 그리고 온타리오 주 주거용 건설 분야로 B2B 영업을 하는 모든 이들은 이를 타겟 목록으로 전환할 수 있습니다.
HCRA에 관한 중요한 사항
HCRA는 기술 하도급업체가 아닌 신축 주택 건설업체 및 판매업체에게 면허를 부여합니다. 따라서 디렉토리는 지붕 수리공, 전기 기술자 또는 배관공이 아니라 주택 건설 회사들로 가득 차 있습니다. 만약 "roofing(지붕 공사)"와 같은 기술 명칭으로 검색하면 활성 검색 결과가 매우 적을 것입니다. 대신 homes, construction, developments와 같은 회사 관련 용어나 특정 건설업체 이름으로 검색하십시오. (기술 면허의 경우, 퀘벡(Quebec)의 RBQ 등록부가 원하는 데이터셋입니다 — 이는 별도의 포스트에서 다룹니다.)
소스: obd.hcraontario.ca
Ontario Builder Directory는 JSON API를 기반으로 하는 공개 사이트입니다. 두 개의 엔드포인트(endpoint)가 모든 작업을 수행합니다.
검색 (list):
GET https://obd.hcraontario.ca/api/builders?builderName=<term>
법적 명칭(legal name) 또는 운영 명칭(operating name)에 <term>이 포함된 건설업체(builders)의 JSON 배열을 반환합니다 (서버 측 부분 일치 검색). 각 행은 가볍게 구성되어 있습니다:
{
"NAME": "1000046468 Ontario Inc.",
"OPERATINGNAME": "Kinfolk Homes",
...
상세 정보 (summary):
GET https://obd.hcraontario.ca/api/buildersummary?id=<ACCOUNTNUMBER>
상세 기록을 반환합니다 — 주소, 전화번호, 이메일, 웹사이트, 최초 면허 날짜, 건설된 주택 수 및 보증 청구(warranty claims) 건수 (필드는 예시 값과 함께 표시됨):
{
"ACCOUNTNUMBER": "B10000",
"VB_Name": "Example Homes Inc.",
...
Python으로 데이터 가져오기
검색을 수행한 다음, 상세 정보 엔드포인트(detail endpoint)를 사용하여 각 건설업체의 데이터를 보강(enrich)합니다:
import requests
BASE = "https://obd.hcraontario.ca/api"
...
위 코드가 처리하거나 여러분이 알아두어야 할 몇 가지 주의 사항(gotchas)은 다음과 같습니다:
builderName이 비어 있는 경우 HTTP 500 오류를 반환합니다 — 항상 검색어를 전달해야 합니다.page파라미터는 무시됩니다. 일치하는 전체 배열이 한 번의 응답으로 반환되므로, 클라이언트 측에서 페이지네이션(pagination)을 수행하십시오.- 하나의 검색어(예:
homes)는 수천 개의 행을 반환합니다. 디렉토리 _전체_를 훑으려면 각 알파벳a–z를 쿼리하고ACCOUNTNUMBER를 기준으로 중복을 제거(dedupe)해야 합니다. - 활성 상태의 건설업체만 원하는 경우
LICENSESTATUS == "Licensed"로 필터링하십시오 — 디렉토리에는 만료(Expired), 취소(Revoked) 및 거부(Refused)된 항목도 포함되어 있습니다.
이것이 바로 실제적인 작은 파이프라인(pipeline)입니다: 검색어 입력, 중복 제거, 건설업체별 데이터 보강, 상태 필터링, 그리고 최신 데이터를 원한다면 스케줄러(scheduler)까지 구성할 수 있습니다. 아니면 이러한 복잡한 과정(plumbing)을 건너뛰어도 됩니다.
호스팅 옵션: 한 번의 호출로 두 개 주(province) 데이터 확보
저는 검색 및 보강을 수행하고, 필드를 정규화(normalize)하며, 기본적으로 활성 면허(active licences)만 필터링하는 Apify Actor를 유지 관리하고 있습니다:
Contractor License Scraper Canada — 온타리오(HCRA)와 퀘벡(RBQ) 데이터를 하나의 스키마(schema)로 제공합니다.
{
"provinces": ["ontario"],
"keywords": ["homes", "construction"],
...
출력 결과 — 건설업체당 하나의 깔끔한 기록:
{
"licenseNumber": "B10000",
"holderName": "Example Homes Inc.",
...
출력 결과 — 건설업체당 하나의 깔끔한 기록:
activeOnly 매개변수는 기본값이 'on'으로 설정되어 있어, 현재 면허를 보유한 건설업체 목록을 깔끔하게 받아볼 수 있습니다. 만료되었거나 취소된 건설업체에 대한 조사가 필요하다면 이 설정을 'off'로 변경하세요. 가격은 레코드당 책정되며 (1,000개당 $6), 따라서 특정 지역의 타겟 목록을 만드는 데는 불과 몇 센트면 충분합니다.
AI 에이전트(MCP)에서 호출하기
이 Actor는 Model Context Protocol (MCP)를 통해 노출되므로, LLM 에이전트가 도구 (tool)로서 건설업체 데이터를 가져올 수 있습니다:
이를 Claude / MCP 클라이언트에 연결하고 "오타와에 있는 전화번호를 포함한 온타리오의 활성 주택 건설업체"와 같이 일상적인 언어로 질문하면, 에이전트가 Actor를 실행하고 스스로 결과를 필터링합니다.
FAQ
이것은 합법인가요? Ontario Builder Directory는 소비자들이 건설업체를 확인할 수 있도록 HCRA가 게시하는 공공 등록부입니다. 저희는 게시된 그대로의 데이터를 읽어옵니다.
모든 건설업체에 이메일이 있나요? 아니요. 전화번호는 흔히 제공되지만, 이메일과 웹사이트는 일부 건설업체에만 기재되어 있으며 모든 업체에 있는 것은 아닙니다.
만료되거나 취소된 건설업체 정보도 얻을 수 있나요? 네 — activeOnly를 'off'로 설정하거나 (또는 직접 LICENSESTATUS를 필터링하세요). 실사 (due diligence) 과정에서 유용합니다.
기술직(지붕 수리공, 전기 기술자 등)은 어떻게 되나요? HCRA는 주택 건설업체/판매업체만을 면허화합니다. 퀘벡(Quebec)의 기술직 면허를 확인하려면 RBQ 등록부를 사용하세요 (동일한 Actor를 사용하되, province: "quebec"로 설정).
캐나다의 공공 데이터(허가, 입찰, 면허 등)를 활용한 구축에 대해 다룹니다. 저는 오픈 등록부를 제품으로 전환하는 방법에 대해 글을 씁니다. 질문은 댓글로 환영합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기