curl -H "X-API-Key: your_api_key_here" \
"https://api.northaxiumdata.ca/api/v1/contracts?vendor=Palantir&limit=5&offset=5"
import requests
headers = {"X-API-Key": "your_api_key_here"}
params = {"vendor": "Palantir", "limit": 5, "offset": 5}
response = requests.get(
"https://api.northaxiumdata.ca/api/v1/contracts",
headers=headers,
params=params
)
data = response.json()
for contract in data["data"]:
print(f"{contract['vendor']}: ${contract['value']:,.0f}")
const response = await fetch(
"https://api.northaxiumdata.ca/api/v1/contracts?vendor=Palantir&limit=5&offset=5",
{ headers: { "X-API-Key": "your_api_key_here" } }
);
const data = await response.json();
{
"data": [
{
"record_id": "abc123xyz",
"vendor": "Palantir Technologies Canada Inc",
"department": "Royal Canadian Mounted Police | Gendarmerie royale du Canada",
"value": 1250000.00,
"date": "2023-06-15",
"procurement_method": "Non-competitive",
"source_dataset": "open.canada contracts (PP-Contracts)",
"source_url": "https://buyandsell.gc.ca/..."
}
],
"meta": {
"total": 47,
"limit": 5,
"offset": 5
}
}
{
"error": {
"code": "BAD_REQUEST",
"message": "Invalid date format for date_from. Use ISO 8601 (YYYY-MM-DD)."
}
}
{
"error": {
"code": "UNAUTHORIZED",
"message": "Missing API key. Pass your key in the X-API-Key header."
}
}
{
"error": {
"code": "RATE_LIMITED",
"message": "Monthly request limit exceeded. Upgrade your plan for higher limits."
}
}
Contracts
List Contracts
Search and filter federal procurement contracts from CanadaBuys and TBS.
GET
/
api
/
v1
/
contracts
curl -H "X-API-Key: your_api_key_here" \
"https://api.northaxiumdata.ca/api/v1/contracts?vendor=Palantir&limit=5&offset=5"
import requests
headers = {"X-API-Key": "your_api_key_here"}
params = {"vendor": "Palantir", "limit": 5, "offset": 5}
response = requests.get(
"https://api.northaxiumdata.ca/api/v1/contracts",
headers=headers,
params=params
)
data = response.json()
for contract in data["data"]:
print(f"{contract['vendor']}: ${contract['value']:,.0f}")
const response = await fetch(
"https://api.northaxiumdata.ca/api/v1/contracts?vendor=Palantir&limit=5&offset=5",
{ headers: { "X-API-Key": "your_api_key_here" } }
);
const data = await response.json();
{
"data": [
{
"record_id": "abc123xyz",
"vendor": "Palantir Technologies Canada Inc",
"department": "Royal Canadian Mounted Police | Gendarmerie royale du Canada",
"value": 1250000.00,
"date": "2023-06-15",
"procurement_method": "Non-competitive",
"source_dataset": "open.canada contracts (PP-Contracts)",
"source_url": "https://buyandsell.gc.ca/..."
}
],
"meta": {
"total": 47,
"limit": 5,
"offset": 5
}
}
{
"error": {
"code": "BAD_REQUEST",
"message": "Invalid date format for date_from. Use ISO 8601 (YYYY-MM-DD)."
}
}
{
"error": {
"code": "UNAUTHORIZED",
"message": "Missing API key. Pass your key in the X-API-Key header."
}
}
{
"error": {
"code": "RATE_LIMITED",
"message": "Monthly request limit exceeded. Upgrade your plan for higher limits."
}
}
Overview
Returns paginated federal contract records from CanadaBuys and TBS Proactive Disclosure. Usevendor, department, and date filters to narrow results. For an aggregated view of a specific vendor, use the Vendor Profile endpoint instead.
Getting Started
There are only 3 steps for making a successful API call:- Add your API key to the header as
X-API-Key - Add query parameters to filter the data
- Execute the request
Query Parameters
string
Partial match on vendor name (case-insensitive). Example:
Palantir.string
Partial match on department name (case-insensitive). Example:
National Defence.string
Exact match on
procurement_method field. Example: Non-competitive.string
Exact match on
source_dataset field. Example: open.canada.number
Minimum contract value in CAD. Example:
100000.number
Maximum contract value in CAD. Example:
5000000.string
ISO 8601 start date — e.g.
2023-01-01. Example: 2023-01-01.string
ISO 8601 end date — e.g.
2023-12-31. Example: 2023-12-31.integer
Results per page. Default:
50. Max: 200. Example: 25.integer
Result offset for pagination. Default:
0. Example: 50.page and per_page are accepted as input aliases. per_page maps to limit, and page is converted internally into the corresponding offset.curl -H "X-API-Key: your_api_key_here" \
"https://api.northaxiumdata.ca/api/v1/contracts?vendor=Palantir&limit=5&offset=5"
import requests
headers = {"X-API-Key": "your_api_key_here"}
params = {"vendor": "Palantir", "limit": 5, "offset": 5}
response = requests.get(
"https://api.northaxiumdata.ca/api/v1/contracts",
headers=headers,
params=params
)
data = response.json()
for contract in data["data"]:
print(f"{contract['vendor']}: ${contract['value']:,.0f}")
const response = await fetch(
"https://api.northaxiumdata.ca/api/v1/contracts?vendor=Palantir&limit=5&offset=5",
{ headers: { "X-API-Key": "your_api_key_here" } }
);
const data = await response.json();
{
"data": [
{
"record_id": "abc123xyz",
"vendor": "Palantir Technologies Canada Inc",
"department": "Royal Canadian Mounted Police | Gendarmerie royale du Canada",
"value": 1250000.00,
"date": "2023-06-15",
"procurement_method": "Non-competitive",
"source_dataset": "open.canada contracts (PP-Contracts)",
"source_url": "https://buyandsell.gc.ca/..."
}
],
"meta": {
"total": 47,
"limit": 5,
"offset": 5
}
}
{
"error": {
"code": "BAD_REQUEST",
"message": "Invalid date format for date_from. Use ISO 8601 (YYYY-MM-DD)."
}
}
{
"error": {
"code": "UNAUTHORIZED",
"message": "Missing API key. Pass your key in the X-API-Key header."
}
}
{
"error": {
"code": "RATE_LIMITED",
"message": "Monthly request limit exceeded. Upgrade your plan for higher limits."
}
}