Find open tenders and RFPs
find_open_tendersFind open public tenders and RFPs that match keywords, CPV codes, and buyer countries across official UK, EU, and Canada portals, returning notice details and links.
Instructions
Find open public tender and RFP notices that match keywords, CPV codes, and buyer countries, read from four official portals with no key: UK Contracts Finder, UK Find a Tender, EU TED (Tenders Electronic Daily), and CanadaBuys. Returns one row per notice with portal, notice_id, notice_url, title, description_excerpt, buyer_name, buyer_country, published_at, deadline_at, days_to_deadline, estimated_value, currency, category_codes (CPV or UNSPSC), contract_type, procedure, sme_suitable (UK), buyer_contact_email, matched_keywords, and match_source. Filters run before billing. When nothing matches, one free no_results row says why. A run that does not succeed is returned as an error with its run ID. Read-only; requires an APIFY_TOKEN; Apify charges per notice row returned plus a run start.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| portals | No | Portals to read. Default all four. | |
| keywords | No | Words or phrases to find in the notice title or description, any case. A notice matches any of them. EU TED matches over the full notice text in every language. Empty: every open notice in the window. Up to 25. | |
| only_new | No | Skip notices an earlier run with the same state_key returned. Default false. | |
| countries | No | Two letter buyer country codes, for example GB, DE, CA. A portal that covers none of them is skipped. | |
| min_value | No | Drop notices valued below this number, in the notice currency. Notices with no value are kept. | |
| only_open | No | Drop notices whose deadline has passed. Default true. | |
| state_key | No | Names the seen list for only_new. | |
| max_notices | No | Notice rows per run, newest first, up to 5000. Each notice row is billed. Default 100. | |
| cpv_prefixes | No | Keep notices with a CPV code that starts with one of these, for example 72 or 48000000. CanadaBuys uses UNSPSC codes, so a CPV filter leaves it out. | |
| max_charge_usd | No | Optional. The run stops before any row that would take its charges over this amount. | |
| exclude_keywords | No | Drop a notice whose title or description contains any of these. | |
| published_within_days | No | Publication window in days, 1 to 90, today included. Default 14. |