Contracts API
Developer API for Canadian government contract data. Access contracts, awards, departments, suppliers, and market intelligence programmatically.
Authentication
All API requests require an API key passed via the Authorization header.
Authorization: Bearer YOUR_API_KEYRate Limit
100 requests/minute
Base URL
https://api.contractfinder.ca/v1
Endpoints
| Method | Path | Description | Auth |
|---|---|---|---|
| GET | /api/v1/contracts | List all contracts with filters | API Key |
| GET | /api/v1/contracts/{id} | Get single contract details | API Key |
| GET | /api/v1/awards | List contract awards | API Key |
| GET | /api/v1/departments | List government departments | None |
| GET | /api/v1/departments/{id} | Get department details | None |
| GET | /api/v1/suppliers | List suppliers/contractors | API Key |
| GET | /api/v1/suppliers/{id} | Get supplier profile | API Key |
| GET | /api/v1/industries | List industry categories | None |
| GET | /api/v1/reports | List available reports | API Key |
| GET | /api/v1/analytics/spending | Spending analytics | API Key |
| POST | /api/v1/searches | Save a search query | API Key |
| GET | /api/v1/saved-searches | List saved searches | API Key |
Code Examples
const response = await fetch('https://api.contractfinder.ca/v1/contracts', {
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
const data = await response.json();SDK Examples
Node.js SDK
npm install @contractfinder/sdk
import { ContractFinder } from '@contractfinder/sdk';
const client = new ContractFinder('API_KEY');
const contracts = await client.contracts.list({ province: 'ON' });Python SDK
pip install contractfinder-sdk
from contractfinder import ContractFinder
client = ContractFinder('API_KEY')
contracts = client.contracts.list(province='ON')Premium
Premium API Access
Get unlimited API access, higher rate limits, priority support, and advanced analytics endpoints.