Canadian Government Tender Monitor avatar

Canadian Government Tender Monitor

Pricing

from $5.00 / 1,000 tender notices

Go to Apify Store
Canadian Government Tender Monitor

Canadian Government Tender Monitor

Track Government of Canada tender opportunities matched to your business. Buyer contacts, closing dates, GSIN/UNSPSC filtering and relevance scoring, from official open data. Not affiliated with the Government of Canada.

Pricing

from $5.00 / 1,000 tender notices

Rating

0.0

(0)

Developer

Jon Mcconnell

Jon Mcconnell

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Find Government of Canada contracts your business can actually bid on. Reads every federal tender notice from official open data, scores each against what you do, and returns clean rows with buyer contacts, closing dates, and eligibility details.

Run once for a snapshot, or schedule it daily to get new opportunities the morning they're published.

Not affiliated with, or endorsed by, the Government of Canada.

Quick start

Click Run. The defaults return currently open federal tenders matching software and consulting work.

To tune it for your business, set two things:

  • Keywords — what you deliver (janitorial, engineering, translation)
  • GSIN or UNSPSC code prefixes — Canada's classification codes. Prefixes work, so D3 catches all D3xx categories

Everything else is optional.

What you get

One row per notice:

FieldDescription
title, descriptionWhat the government wants
organizationThe buying department or agency
contactName, contactEmail, contactPhoneWho to talk to
closingDate, daysUntilClosing, urgencyHow long you have
publicationDate, amendmentNumber, amendmentDateNotice history
tradeAgreementsWhich trade agreements apply — determines whether you're eligible to bid at all
procurementMethod, selectionCriteriaHow the bid will be run and judged
limitedTenderingReasonWhy competition was limited, where applicable
procurementCategoriesConstruction / Goods / Services
gsinCodes, unspscCodesOfficial classification codes
buyerProvince, buyerCity, postalCodeWhere the buying department is
regionsOfDelivery, regionsOfOpportunityWhere the work is
expectedStartDate, expectedEndDateContract period
solicitationNumber, referenceNumberIDs for cross-referencing award data
relevanceScore, matchedKeywordsWhy this matched you, 0–100
searchUrlOpens CanadaBuys with this notice's solicitation number
noticeUrlDirect link, where the government provides one
languageWhether the source notice was English or French

How relevance scoring works

Deterministic and explainable — no AI, no randomness, identical output for identical input.

  • Keyword in the title: +40
  • Keyword in the description: +15
  • GSIN or UNSPSC code match: +35
  • Capped at 100

The minimum score defaults to 1, meaning a notice must match something to be returned. Set it to 0 to browse everything regardless of match, or raise it toward 40 once your keywords are tuned. If you set no keywords or codes at all, every notice scores 100 and the threshold has no effect.

  1. Set Which notices to Published today only
  2. Set your keywords and codes
  3. Set Minimum relevance score to 40
  4. Schedule the Actor each morning
  5. Pipe the dataset to Slack, email, Google Sheets, or Zapier via Apify integrations

New matching federal contracts arrive daily without you checking a portal.

Two data quirks this Actor handles for you

Notices marked "Open" that closed months ago. The source data leaves the status field stale — testing found notices still marked Open more than a year past their closing date. Hide notices past their closing date is on by default, so you only see things you can still bid on. Turn it off for historical research.

Missing links. Only some notices carry a direct URL in the open data, and CanadaBuys' internal page slugs can't be derived from any published field. Rather than construct links that 404, every row gets a searchUrl that opens CanadaBuys pre-filtered to that solicitation number. It always resolves.

Bilingual by design

Federal notices are published in English and French, and some records populate only one side. This Actor returns the English text where available and falls back to French rather than returning a blank — so you don't silently lose opportunities. The language field tells you which you got.

Procurement categories

CodeMeaning
CNSTConstruction
GDGoods
SRVServices
SRVTGDServices related to goods

A notice can carry more than one.

Coverage and limits

  • Federal notices only. The CanadaBuys website also lists provincial and municipal opportunities, but the open data files cover federal organizations only. This Actor reflects that.
  • Notices published through PSPC's SAP Ariba system appear the following day, after the overnight sync.
  • Not every notice populates every field; missing values come through as null rather than causing a failure.
  • One solicitation can appear multiple times as it's amended. Results are deduplicated per run, keeping the first occurrence.

A note on the contact emails

The contact details are procurement officers' work addresses, published by the government so that bidders can reach them about specific solicitations.

Canada's Anti-Spam Legislation (CASL) governs commercial electronic messages. Contacting an officer about the specific opportunity they posted is the intended use. Adding these addresses to a bulk marketing list is not, and may expose you to penalties. Use them for what they're for.

Data source and licensing

Data comes from the CanadaBuys tender notices dataset published by Public Services and Procurement Canada, used under the Open Government Licence – Canada.

The "published today" file is refreshed every 2 hours from 6:15 am to 10:15 pm (UTC−05:00). The "currently open" file refreshes each morning between 7:00 and 8:30 am.

This is an official licensed open data feed, not scraping. No proxies, no anti-bot measures, no terms-of-service grey area, and nothing that breaks when a website is redesigned.

This Actor is an independent product. It is not affiliated with, endorsed by, or sponsored by the Government of Canada or Public Services and Procurement Canada.

Troubleshooting

"No matching notices found" — a filter problem, not a fault. Switch Which notices to All currently open, clear your keywords, set minimum relevance to 0, then narrow back down.

Nothing matches my code — try a shorter prefix. 81111500 is narrow; 8111 is broad; 81 is broader still.

I expected provincial contracts — see Coverage above. The federal open data files don't include them.

Fewer results than I expected — expired notices are hidden by default. Turn off Hide notices past their closing date to include them.