Documentation menu
Docs / Cookbook / Build a weekly new-permit lead list

Build a weekly new-permit lead list

Pull residential permits issued in the last week for a city, newest first, as a lead stream for sales.

curl --request GET \
  --url 'https://builddata-canadian-construction-data-api.p.rapidapi.com/permit?municipality=toronto&permit_type=residential&issued_after=2026-07-01&sort_by=issued_date&sort_order=desc&limit=200' \
  --header 'x-rapidapi-host: builddata-canadian-construction-data-api.p.rapidapi.com' \
  --header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY'
import requests

url = "https://builddata-canadian-construction-data-api.p.rapidapi.com/permit?municipality=toronto&permit_type=residential&issued_after=2026-07-01&sort_by=issued_date&sort_order=desc&limit=200"
headers = {"x-rapidapi-host": "builddata-canadian-construction-data-api.p.rapidapi.com", "x-rapidapi-key": "YOUR_RAPIDAPI_KEY"}
resp = requests.get(url, headers=headers)
print(resp.json())
const res = await fetch("https://builddata-canadian-construction-data-api.p.rapidapi.com/permit?municipality=toronto&permit_type=residential&issued_after=2026-07-01&sort_by=issued_date&sort_order=desc&limit=200", {
  headers: {
    "x-rapidapi-host": "builddata-canadian-construction-data-api.p.rapidapi.com",
    "x-rapidapi-key": "YOUR_RAPIDAPI_KEY",
  },
});
const data = await res.json();
console.log(data);
<?php
$ch = curl_init("https://builddata-canadian-construction-data-api.p.rapidapi.com/permit?municipality=toronto&permit_type=residential&issued_after=2026-07-01&sort_by=issued_date&sort_order=desc&limit=200");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "x-rapidapi-host: builddata-canadian-construction-data-api.p.rapidapi.com",
    "x-rapidapi-key: YOUR_RAPIDAPI_KEY",
]);
echo curl_exec($ch);
require "net/http"
require "uri"

uri = URI("https://builddata-canadian-construction-data-api.p.rapidapi.com/permit?municipality=toronto&permit_type=residential&issued_after=2026-07-01&sort_by=issued_date&sort_order=desc&limit=200")
req = Net::HTTP::Get.new(uri)
req["x-rapidapi-host"] = "builddata-canadian-construction-data-api.p.rapidapi.com"
req["x-rapidapi-key"] = "YOUR_RAPIDAPI_KEY"
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |h| h.request(req) }
puts res.body
package main

import (
    "fmt"
    "io"
    "net/http"
)

func main() {
    req, _ := http.NewRequest("GET", "https://builddata-canadian-construction-data-api.p.rapidapi.com/permit?municipality=toronto&permit_type=residential&issued_after=2026-07-01&sort_by=issued_date&sort_order=desc&limit=200", nil)
    req.Header.Add("x-rapidapi-host", "builddata-canadian-construction-data-api.p.rapidapi.com")
    req.Header.Add("x-rapidapi-key", "YOUR_RAPIDAPI_KEY")
    res, _ := http.DefaultClient.Do(req)
    defer res.Body.Close()
    body, _ := io.ReadAll(res.Body)
    fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.*;

HttpRequest req = HttpRequest.newBuilder()
    .uri(URI.create("https://builddata-canadian-construction-data-api.p.rapidapi.com/permit?municipality=toronto&permit_type=residential&issued_after=2026-07-01&sort_by=issued_date&sort_order=desc&limit=200"))
    .header("x-rapidapi-host", "builddata-canadian-construction-data-api.p.rapidapi.com")
    .header("x-rapidapi-key", "YOUR_RAPIDAPI_KEY")
    .build();
HttpResponse<String> res = HttpClient.newHttpClient()
    .send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(res.body());

Repeat per city in your service area and dedupe on record_id so you never send the same lead twice.

Ready to build?Subscribe on RapidAPI to get your key and start calling BuildData in minutes.
Get your API key →