curl -H "X-API-Key: your_api_key_here" \
"https://api.northaxiumdata.ca/api/v1/procurement/PS23-AG-004"
import requests
headers = {"X-API-Key": "your_api_key_here"}
solicitation = "PS23-AG-004"
response = requests.get(
f"https://api.northaxiumdata.ca/api/v1/procurement/{solicitation}",
headers=headers
)
print(response.json())
{
"data": {
"solicitation_number": "PS23-AG-004",
"tender": {
"record_id": "tender_abc",
"event_type": "tender",
"date": "2023-03-15",
"department": "Public Services and Procurement Canada"
},
"awards": [
{
"record_id": "award_xyz",
"event_type": "award",
"vendor": "Acme Government Solutions Inc",
"value": 450000.00,
"date": "2023-04-02"
}
],
"contracts": [
{
"record_id": "contract_123",
"event_type": "contract",
"vendor": "Acme Government Solutions Inc",
"value": 450000.00,
"date": "2023-04-15"
}
]
}
}
{
"error": {
"code": "NOT_FOUND",
"message": "Procurement lifecycle not found."
}
}
{
"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
Procurement Lifecycle
Full tender → award → contract chain linked by solicitation number.
GET
/
api
/
v1
/
procurement
/
{solicitation_number}
curl -H "X-API-Key: your_api_key_here" \
"https://api.northaxiumdata.ca/api/v1/procurement/PS23-AG-004"
import requests
headers = {"X-API-Key": "your_api_key_here"}
solicitation = "PS23-AG-004"
response = requests.get(
f"https://api.northaxiumdata.ca/api/v1/procurement/{solicitation}",
headers=headers
)
print(response.json())
{
"data": {
"solicitation_number": "PS23-AG-004",
"tender": {
"record_id": "tender_abc",
"event_type": "tender",
"date": "2023-03-15",
"department": "Public Services and Procurement Canada"
},
"awards": [
{
"record_id": "award_xyz",
"event_type": "award",
"vendor": "Acme Government Solutions Inc",
"value": 450000.00,
"date": "2023-04-02"
}
],
"contracts": [
{
"record_id": "contract_123",
"event_type": "contract",
"vendor": "Acme Government Solutions Inc",
"value": 450000.00,
"date": "2023-04-15"
}
]
}
}
{
"error": {
"code": "NOT_FOUND",
"message": "Procurement lifecycle not found."
}
}
{
"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 all procurement events — tender notices, award notices, and contracts — linked by a commonsolicitation_number. Use this to trace the full lifecycle of a competitive procurement from open tender through to final contract award.
Solicitation number coverage is approximately 4% of total procurement records. Many contracts in the TBS disclosure dataset do not carry a solicitation number in the source data.
Path Parameters
string
required
The solicitation number to look up — e.g.
PS23-AG-004. Example: WS345678.curl -H "X-API-Key: your_api_key_here" \
"https://api.northaxiumdata.ca/api/v1/procurement/PS23-AG-004"
import requests
headers = {"X-API-Key": "your_api_key_here"}
solicitation = "PS23-AG-004"
response = requests.get(
f"https://api.northaxiumdata.ca/api/v1/procurement/{solicitation}",
headers=headers
)
print(response.json())
{
"data": {
"solicitation_number": "PS23-AG-004",
"tender": {
"record_id": "tender_abc",
"event_type": "tender",
"date": "2023-03-15",
"department": "Public Services and Procurement Canada"
},
"awards": [
{
"record_id": "award_xyz",
"event_type": "award",
"vendor": "Acme Government Solutions Inc",
"value": 450000.00,
"date": "2023-04-02"
}
],
"contracts": [
{
"record_id": "contract_123",
"event_type": "contract",
"vendor": "Acme Government Solutions Inc",
"value": 450000.00,
"date": "2023-04-15"
}
]
}
}
{
"error": {
"code": "NOT_FOUND",
"message": "Procurement lifecycle not found."
}
}
{
"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."
}
}
⌘I