Documentation menu
Getting started
QuickstartEndpoints
GET/zoneGET/geocodeGET/reverse-geocodeGET/zoningGET/contractor/statsGET/contractor/coverageGET/contractor/{name_normalized}GET/contractorGET/permitGET/inspectionGET/licenceGET/development_permitGET/planning_applicationGET/assessmentGET/permit/statsGET/inspection/statsGET/licence/statsGET/development_permit/statsGET/planning_application/statsGET/assessment/statsGET/permit/coverageGET/inspection/coverageGET/licence/coverageGET/development_permit/coverageGET/planning_application/coverageGET/assessment/coverageGET/permit/feedGET/permit/{record_id}GET/inspection/{record_id}GET/licence/{record_id}GET/development_permit/{record_id}GET/planning_application/{record_id}GET/assessment/{record_id}Docs / Guides / Monitor new records
Monitor new records
Poll for records added since your last check and act on them automatically.
To act on new records as they appear, poll BuildData on a schedule and keep the IDs you have already seen. Sort by newest and stop once you hit a known record.
import requests
URL = "https://builddata-canadian-construction-data-api.p.rapidapi.com/zone"
HEADERS = {"x-rapidapi-host": "builddata-canadian-construction-data-api.p.rapidapi.com", "x-rapidapi-key": "YOUR_RAPIDAPI_KEY"}
seen = set() # persist this between runs
r = requests.get(URL, headers=HEADERS, params={"limit": 100}).json()
for record in r.get("results", []):
rid = record.get("record_id")
if rid in seen:
continue
seen.add(rid)
notify(record) # email, Slack, CRM, ...Run it on a cron (hourly or daily) and route new records to email, Slack, or your CRM.
Ready to build?Subscribe on RapidAPI to get your key and start calling BuildData in minutes.
Get your API key →