{"openapi":"3.1.0","info":{"title":"TenderTrail API","version":"0.1.0","description":"Canadian federal tenders, contract awards and expiring-contract (recompete) intelligence. Pay per call in USDC via x402; no account. Contains information licensed under the Open Government Licence – Canada (https://open.canada.ca/en/open-government-licence-canada)."},"servers":[{"url":"https://tendertrail.fly.dev"}],"paths":{"/v1/contracts/expiring":{"get":{"operationId":"contractsExpiring","summary":"Federal contracts ending soon (recompete leads)","description":"Canada government contracts expiring soon (recompete / re-bid leads): Government of Canada federal contracts that end within N days, with incumbent supplier, buying department, value (CAD), end date, procurement method, and open tenders/RFPs from the same buyer that may be the re-tender. GovCon / B2G sales leads. Source: CanadaBuys award notices (Open Government Licence - Canada), refreshed daily.","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Keywords (title/description/category), e.g. 'cybersecurity' or 'janitorial'"}},{"name":"buyer","in":"query","required":false,"schema":{"type":"string","description":"Buyer/department name, e.g. 'Shared Services Canada'"}},{"name":"supplier","in":"query","required":false,"schema":{"type":"string","description":"Incumbent supplier name"}},{"name":"withinDays","in":"query","required":false,"schema":{"type":"string","description":"Contracts ending within this many days (1-730, default 365)"}},{"name":"minValue","in":"query","required":false,"schema":{"type":"string","description":"Minimum contract value in CAD"}},{"name":"excludeStandingOffers","in":"query","required":false,"schema":{"type":"string","description":"'1' to exclude standing offers and supply arrangements"}},{"name":"limit","in":"query","required":false,"schema":{"type":"string","description":"1-25, default 10"}}],"x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"network":"eip155:8453","payTo":"0x2eE3eB1bbb97f374BAfEde3a484C5F213278ec55"},"x-x402":{"scheme":"exact","price":"$0.05","network":"eip155:8453","asset":"USDC","payTo":"0x2eE3eB1bbb97f374BAfEde3a484C5F213278ec55"},"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"total":250,"totalValueCad":1550554597,"withinDays":180,"results":[{"ref":"(example)","title":"Pension Modernization","incumbent":"DXC TECHNOLOGY CANADA CO.","buyer":"Department of Public Works and Government Services (PSPC)","value_cad":569972639.14,"end_date":"2027-03-31","daysUntilEnd":144,"method":"Competitive - Open bidding","wasNonCompetitive":false,"possibleRetender":[{"ref":"(example)","title":"…","closing":"2026-12-01T14:00:00","confidence":"low","matchedTerms":["pension","modernization"]}]}]}}}},"400":{"description":"Invalid input (never charged)"},"402":{"description":"Payment required: $0.05 USDC via x402. Requirements in the PAYMENT-REQUIRED header."},"404":{"description":"Not found (never charged)"},"409":{"description":"Ambiguous name; candidates returned (never charged)"},"429":{"description":"Rate limited"}}}},"/v1/tenders/search":{"get":{"operationId":"tendersSearch","summary":"Search open Canadian federal tenders","description":"Canada open tenders, RFPs and RFQs: search Government of Canada federal bid opportunities open now on CanadaBuys by keyword, province, category (GD goods, SRV services, CNST construction) and closing window. Returns title, buying department, closing date, days to close, category, regions and the official notice URL. Updated every 6 hours.","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Keywords"}},{"name":"province","in":"query","required":false,"schema":{"type":"string","description":"Province or region, e.g. 'Ontario'"}},{"name":"category","in":"query","required":false,"schema":{"type":"string","description":"GD, SRV, CNST or SRVTGD"}},{"name":"closingWithinDays","in":"query","required":false,"schema":{"type":"string","description":"Only tenders closing within N days"}},{"name":"limit","in":"query","required":false,"schema":{"type":"string","description":"1-25, default 10"}}],"x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"network":"eip155:8453","payTo":"0x2eE3eB1bbb97f374BAfEde3a484C5F213278ec55"},"x-x402":{"scheme":"exact","price":"$0.01","network":"eip155:8453","asset":"USDC","payTo":"0x2eE3eB1bbb97f374BAfEde3a484C5F213278ec55"},"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"total":2,"results":[{"ref":"cb-536-24115079","title":"IT Professional Services","buyer":"…","closing":"2026-11-23T14:00:00","daysToClose":16,"url":"https://canadabuys.canada.ca/…"}]}}}},"400":{"description":"Invalid input (never charged)"},"402":{"description":"Payment required: $0.01 USDC via x402. Requirements in the PAYMENT-REQUIRED header."},"404":{"description":"Not found (never charged)"},"409":{"description":"Ambiguous name; candidates returned (never charged)"},"429":{"description":"Rate limited"}}}},"/v1/tenders/history":{"get":{"operationId":"tendersHistory","summary":"Change history of a tender","description":"Canada tender change history: the timeline TenderTrail has observed for one Government of Canada tender/RFP: first seen, amendments, closing-date extensions, and when it left the open list (early exit = possible cancellation). The official CanadaBuys files only show current state; this history is TenderTrail's own record.","parameters":[{"name":"ref","in":"query","required":true,"schema":{"type":"string","description":"Tender reference number (from /v1/tenders/search)"}}],"x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"network":"eip155:8453","payTo":"0x2eE3eB1bbb97f374BAfEde3a484C5F213278ec55"},"x-x402":{"scheme":"exact","price":"$0.01","network":"eip155:8453","asset":"USDC","payTo":"0x2eE3eB1bbb97f374BAfEde3a484C5F213278ec55"},"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"ref":"cb-536-24115079","trackedSince":"2026-11-07T05:26:39Z","closingDateChanges":1,"events":[{"at":"2026-11-09T11:00:00Z","kind":"closing_changed","detail":{"closing":["2026-11-23T14:00:00","2026-11-30T14:00:00"]}}]}}}},"400":{"description":"Invalid input (never charged)"},"402":{"description":"Payment required: $0.01 USDC via x402. Requirements in the PAYMENT-REQUIRED header."},"404":{"description":"Not found (never charged)"},"409":{"description":"Ambiguous name; candidates returned (never charged)"},"429":{"description":"Rate limited"}}}},"/v1/awards/search":{"get":{"operationId":"awardsSearch","summary":"Search federal contract awards","description":"Canada government contract awards: search Government of Canada federal procurement awards since Aug 2022 (29k+ awards, $100B+ CAD) by keyword, winning supplier, buying department, date range and minimum value. Returns totals plus the most recent matching awards. Source: CanadaBuys.","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Keywords"}},{"name":"supplier","in":"query","required":false,"schema":{"type":"string","description":"Supplier name"}},{"name":"buyer","in":"query","required":false,"schema":{"type":"string","description":"Buyer name"}},{"name":"from","in":"query","required":false,"schema":{"type":"string","description":"Award date from (YYYY-MM-DD)"}},{"name":"to","in":"query","required":false,"schema":{"type":"string","description":"Award date to (YYYY-MM-DD)"}},{"name":"minValue","in":"query","required":false,"schema":{"type":"string","description":"Minimum value CAD"}},{"name":"limit","in":"query","required":false,"schema":{"type":"string","description":"1-25, default 10"}}],"x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"network":"eip155:8453","payTo":"0x2eE3eB1bbb97f374BAfEde3a484C5F213278ec55"},"x-x402":{"scheme":"exact","price":"$0.02","network":"eip155:8453","asset":"USDC","payTo":"0x2eE3eB1bbb97f374BAfEde3a484C5F213278ec55"},"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"total":70,"totalValueCad":279267033,"results":[{"title":"…","supplier":"…","buyer":"…","value_cad":1200000,"award_date":"2026-10-01"}]}}}},"400":{"description":"Invalid input (never charged)"},"402":{"description":"Payment required: $0.02 USDC via x402. Requirements in the PAYMENT-REQUIRED header."},"404":{"description":"Not found (never charged)"},"409":{"description":"Ambiguous name; candidates returned (never charged)"},"429":{"description":"Rate limited"}}}},"/v1/suppliers/profile":{"get":{"operationId":"suppliersProfile","summary":"Government contract profile of a supplier","description":"Canada government contractor profile: one supplier's Government of Canada federal contracts for competitive intelligence or teaming: total awards and value, top buying departments, top categories, yearly trend, non-competitive (sole-source) share, active contracts, and contracts expiring in the next 12 months. Ambiguous names return candidates (not charged).","parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string","description":"Supplier legal name (fuzzy)"}}],"x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"network":"eip155:8453","payTo":"0x2eE3eB1bbb97f374BAfEde3a484C5F213278ec55"},"x-x402":{"scheme":"exact","price":"$0.05","network":"eip155:8453","asset":"USDC","payTo":"0x2eE3eB1bbb97f374BAfEde3a484C5F213278ec55"},"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"match":"resolved","name":"Oracle Canada ULC","awards":30,"totalValueCad":799761630,"topBuyers":[{"name":"PSPC","awards":23,"valueCad":768421137}],"expiringNext12Months":{"total":12}}}}},"400":{"description":"Invalid input (never charged)"},"402":{"description":"Payment required: $0.05 USDC via x402. Requirements in the PAYMENT-REQUIRED header."},"404":{"description":"Not found (never charged)"},"409":{"description":"Ambiguous name; candidates returned (never charged)"},"429":{"description":"Rate limited"}}}},"/v1/buyers/profile":{"get":{"operationId":"buyersProfile","summary":"Spending profile of a federal buyer","description":"Canada federal department procurement profile: one Government of Canada buyer's spending: total awards and value, top suppliers (incumbents), top categories, yearly trend, non-competitive (sole-source) share, contracts expiring in 12 months, and its tenders/RFPs open right now. Ambiguous names return candidates (not charged).","parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string","description":"Department / agency name (fuzzy)"}}],"x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"network":"eip155:8453","payTo":"0x2eE3eB1bbb97f374BAfEde3a484C5F213278ec55"},"x-x402":{"scheme":"exact","price":"$0.05","network":"eip155:8453","asset":"USDC","payTo":"0x2eE3eB1bbb97f374BAfEde3a484C5F213278ec55"},"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"match":"resolved","name":"Shared Services Canada","awards":455,"topSuppliers":[{"name":"KYNDRYL CANADA LIMITED","awards":1,"valueCad":111023934}],"openTendersNow":{"total":16}}}}},"400":{"description":"Invalid input (never charged)"},"402":{"description":"Payment required: $0.05 USDC via x402. Requirements in the PAYMENT-REQUIRED header."},"404":{"description":"Not found (never charged)"},"409":{"description":"Ambiguous name; candidates returned (never charged)"},"429":{"description":"Rate limited"}}}},"/v1/export/expiring":{"get":{"operationId":"exportExpiring","summary":"Bulk export of expiring contracts (up to 1,000 rows)","description":"Canada government contracts expiring: bulk export of the Government of Canada recompete pipeline (same filters as /v1/contracts/expiring) as JSON or CSV, up to 1,000 rows sorted by value, with incumbent, department, value and end date. For CRM import or B2G lead lists.","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Keywords"}},{"name":"buyer","in":"query","required":false,"schema":{"type":"string","description":"Buyer"}},{"name":"supplier","in":"query","required":false,"schema":{"type":"string","description":"Incumbent"}},{"name":"withinDays","in":"query","required":false,"schema":{"type":"string","description":"1-730, default 365"}},{"name":"minValue","in":"query","required":false,"schema":{"type":"string","description":"Minimum CAD"}},{"name":"excludeStandingOffers","in":"query","required":false,"schema":{"type":"string","description":"'1' to exclude standing offers/supply arrangements"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","description":"json or csv (default json)"}},{"name":"limit","in":"query","required":false,"schema":{"type":"string","description":"1-1000, default 1000"}}],"x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":"1.00"},"network":"eip155:8453","payTo":"0x2eE3eB1bbb97f374BAfEde3a484C5F213278ec55"},"x-x402":{"scheme":"exact","price":"$1.00","network":"eip155:8453","asset":"USDC","payTo":"0x2eE3eB1bbb97f374BAfEde3a484C5F213278ec55"},"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"total":3301,"rows":1000,"format":"json","results":[]}}}},"400":{"description":"Invalid input (never charged)"},"402":{"description":"Payment required: $1.00 USDC via x402. Requirements in the PAYMENT-REQUIRED header."},"404":{"description":"Not found (never charged)"},"409":{"description":"Ambiguous name; candidates returned (never charged)"},"429":{"description":"Rate limited"}}}},"/demo/expiring":{"get":{"operationId":"demoExpiring","summary":"Free demo: top 3 expiring contracts (20/day/IP)","responses":{"200":{"description":"OK"}}}},"/demo/tenders":{"get":{"operationId":"demoTenders","summary":"Free demo: up to 5 open tenders (20/day/IP)","responses":{"200":{"description":"OK"}}}}}}