Documentation menu
Search recalls
Parameters
| Parameter | Type | Description | |
|---|---|---|---|
q | string | optional | Full-text search across data fields. Space-separated words require all terms (e.g. "wood panel"). Use OR to match any term ("wood OR panel OR acoustic"), quotes for exact phrases ("supply arrangement"), and a leading minus to exclude ("software -hardware"). |
category | string | optional | Procurement category: CNST, GD, SRV, SRVTGD. For recalls: product category (e.g. 'Baby products', 'Toys and games'). For healthcare: facility category (acute, long_term, home, behavioral, outpatient, specialty). For storage tanks: record type (tank or release). |
recall_type | string | optional | Recall type: food, vehicle, health_product, consumer_product, medical_device, cannabis |
recall_agency | string | optional | Recall issuing agency: CFIA, Health Canada, Transport Canada |
hazard_class | string | optional | Hazard class: class_1, class_2, class_3 |
allergen | string | optional | Filter food recalls by allergen: milk, peanut, gluten, egg, fish, sesame, soy, sulphites, tree_nut, wheat, mustard, crustacean, shellfish |
issued_after | string | optional | Filter by recall date >= YYYY-MM-DD (event_date). Aliases: date_from, date_after |
issued_before | string | optional | Filter by date <= YYYY-MM-DD. Aliases: date_to, date_before |
sort_by | string | optional | Sort field: published (publication_date, tenders only), date (event date; this is award_date for contracts/awards), value (the entity's value field), closing (closing_date for tenders) |
sort_order | string | optional | Sort order: asc or desc |
limit | integer | optional | |
offset | integer | optional | |
cursor | string | optional | Pagination cursor from next_cursor in a previous response. Use instead of offset for deep pagination. |
lang | string | optional | Return translations for a single language only: en or fr. |
Request
curl --request GET \
--url 'https://recalltracker-canadian-product-and-vehicle-recalls.p.rapidapi.com/recall' \
--header 'x-rapidapi-host: recalltracker-canadian-product-and-vehicle-recalls.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY'import requests
url = "https://recalltracker-canadian-product-and-vehicle-recalls.p.rapidapi.com/recall"
headers = {"x-rapidapi-host": "recalltracker-canadian-product-and-vehicle-recalls.p.rapidapi.com", "x-rapidapi-key": "YOUR_RAPIDAPI_KEY"}
resp = requests.get(url, headers=headers)
print(resp.json())const res = await fetch("https://recalltracker-canadian-product-and-vehicle-recalls.p.rapidapi.com/recall", {
headers: {
"x-rapidapi-host": "recalltracker-canadian-product-and-vehicle-recalls.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY",
},
});
const data = await res.json();
console.log(data);<?php
$ch = curl_init("https://recalltracker-canadian-product-and-vehicle-recalls.p.rapidapi.com/recall");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"x-rapidapi-host: recalltracker-canadian-product-and-vehicle-recalls.p.rapidapi.com",
"x-rapidapi-key: YOUR_RAPIDAPI_KEY",
]);
echo curl_exec($ch);require "net/http"
require "uri"
uri = URI("https://recalltracker-canadian-product-and-vehicle-recalls.p.rapidapi.com/recall")
req = Net::HTTP::Get.new(uri)
req["x-rapidapi-host"] = "recalltracker-canadian-product-and-vehicle-recalls.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.bodypackage main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://recalltracker-canadian-product-and-vehicle-recalls.p.rapidapi.com/recall", nil)
req.Header.Add("x-rapidapi-host", "recalltracker-canadian-product-and-vehicle-recalls.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://recalltracker-canadian-product-and-vehicle-recalls.p.rapidapi.com/recall"))
.header("x-rapidapi-host", "recalltracker-canadian-product-and-vehicle-recalls.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());Example response
{
"entity_type": "recall",
"count": 5,
"next": "eyJkIjoiMjAyNS0wMy0xMiIsImkiOiI3NzQifQ==",
"results": [
{
"record_id": "hc:77401",
"recall_type": "food",
"agency": "Health Canada",
"hazard_class": "class_1",
"event_date": "2025-03-12",
"recalling_firm": "President's Choice",
"allergens": [
"listeria"
],
"translations": {
"en": {
"title": "President's Choice Spinach recalled due to Listeria",
"hazard_description": "May be contaminated with Listeria.",
"what_to_do": "Do not consume. Return to place of purchase."
},
"fr": {
"title": "Rappel \u00e9pinards President's Choice \u2014 Listeria"
}
}
}
]
}Ready to build?Subscribe on RapidAPI to get your key and start calling RecallTracker in minutes.
Get your API key →