Public Tenders Search: EU TED & UK Procurement API
Pricing
from $1.50 / 1,000 notices
Public Tenders Search: EU TED & UK Procurement API
Find public tenders, government contracts, contract notices and award winners from EU TED, UK Find a Tender and UK Contracts Finder in one search: keywords, CPV, countries, value in EUR, deadlines, winners, official links. Only-new-notices mode for tender alerts. Pay per notice.
Pricing
from $1.50 / 1,000 notices
Rating
0.0
(0)
Developer
PlainRows
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Search public procurement notices from the EU and the UK in one run: open tenders and contract notices, contract awards with winners and values, and prior information / pipeline notices, from TED (Tenders Electronic Daily), UK Find a Tender and UK Contracts Finder. Filter by keywords, CPV codes, buyer countries, publication date, value in euros and open deadlines.
Built for B2B sales teams, bid consultants and market analysts who track government contracts: one clean row per notice with buyer, CPV labels, estimated and awarded values, deadline, winners and the official link. It uses the official open APIs of the three platforms (no browser, no proxies), removes duplicates published on two UK platforms, and you only pay for notices returned.
Typical uses
- Bid opportunity alerts: every new call for tenders in your sector (CPV) and countries, still open for bids, sent daily to Sheets, Slack or your CRM. With Only new notices on, each notice is delivered and billed once.
- Competitor and market intelligence: who wins which contracts, at what value, for which buyers; awarded values converted to EUR for comparison across countries.
- Lead generation: award winners are companies that just got funded work (subcontracting, suppliers, financing); buyers with prior information notices are about to buy.
- Pipeline research: prior information and market engagement notices, months before the tender.
- AI agents and automations: a typed tool for "find tenders about X in Y" in n8n, Make, Zapier or any MCP client.
Sources
| Source | Coverage | How it is searched |
|---|---|---|
TED (ted) | All notices published in the Supplement to the Official Journal of the EU: EU and EEA buyers above the EU thresholds, plus some neighbouring countries | TED's own search engine (full text in all languages, CPV, country, notice type, dates) |
UK Find a Tender (uk-find-a-tender) | UK notices above the procurement thresholds (Procurement Act 2023 and older regimes, incl. Scotland) | The run reads the official OCDS feed day by day, newest first (last 31 days at most), and matches your keywords in title, description, lots, buyer and CPV labels |
UK Contracts Finder (uk-contracts-finder) | Lower-value public contracts, mainly in England, and many above-threshold UK notices | Contracts Finder's search API, then the same keyword rule |
Find a Tender has no search engine and throttles heavy readers (it asks to wait 2 minutes after a few dozen pages): a run reads it for up to about 3 minutes, which normally covers 7 to 10 days of notices. If the range could not be read completely, the run says from which date it was searched; the other two sources always cover the whole range.
A notice found on both UK platforms is returned once (Find a Tender version) with alsoPublishedOn: ["uk-contracts-finder"]. A notice matching several of your keywords is returned and billed once.
What you get for each notice
| Field | Description |
|---|---|
source, noticeId, noticeUrl | Platform, notice number and the official notice page |
noticeType, noticeTypeCode | contract-notice, award, prior-information or other, and the code as published (cn-standard, can-standard, UK4, Contract/Awarded...) |
title, description | Title and description in the notice language (description up to 2,000 characters, e-mail addresses removed) |
buyerName, buyerCity, buyerCountry | Contracting authority, city and ISO country code |
procedureType, contractType | Open, restricted, negotiated, competitive flexible...; supplies, services or works |
mainCpvCode, mainCpvLabel, cpvCodes, cpvLabels | CPV codes with their English labels |
estimatedValue, currency | Estimated value excluding VAT, as published |
awardValue, awardCurrency, winnerNames | Awarded value and winning companies (awards) |
valueEur | Estimated (or awarded) value converted to EUR with the ECB reference rate of the day (approximate, for filtering and sorting) |
publicationDate, submissionDeadline | Publication date and deadline for tenders or requests to participate (earliest lot) |
lotsCount, documentsUrl | Number of lots and the procurement documents / e-tendering portal link when published |
procurementId, language, alsoPublishedOn | Procedure ID linking notices of the same procurement, notice language, other platforms with the same notice |
searchKeyword, observedAt | Your keyword and when the notice was read |
Missing values are null, never guessed. Notices are sorted newest first; on the same day the sources alternate.
Input
{"keywords": ["software", "\"cyber security\""],"noticeTypes": ["contract-notice", "award"],"countries": ["FR", "DE", "BE", "GB"],"cpvCodes": ["72000000", "48000000"],"publishedWithinDays": 14,"minValueEur": 100000,"openForBidsOnly": false,"maxResults": 200}
- keywords: one search per line; all words must appear (
cloud hosting), or put the line in double quotes for an exact phrase. TED searches the notice in every language it is published in, so English words also find notices whose CPV labels or translated titles match; add local-language words (logiciel,Software,oprogramowanie) for better recall. Leave empty to get every notice matching the filters. - noticeTypes:
contract-notice(open calls for tenders, default),award(winners and values),prior-information(planned procurements, market engagement),other(modifications, direct-award intentions, withdrawals). - countries: buyer countries as two-letter codes (
FR,DE,IT,ES,PL,NL,GB...). TED covers EU/EEA buyers,GBuses the UK sources. Empty = all. - cpvCodes: a code covers its sub-codes (
72000000= all IT services,79340000= advertising and marketing,79400000= consulting). Check digits (72000000-8) are accepted. - Dates:
publishedWithinDays(default 7) orpublishedFrom/publishedTo(YYYY-MM-DD). Find a Tender is read over the last 31 days of the range at most (see Sources). - minValueEur / maxValueEur: compares the estimated value (or the awarded value when there is no estimate), converted to EUR. Notices without a published value are left out when a value filter is set.
- openForBidsOnly: keeps contract notices whose submission deadline is still ahead.
- sources: any of
ted,uk-find-a-tender,uk-contracts-finder(default: all three). - maxResults: notices per keyword, 1 to 5,000 (default 100), newest first across sources.
- includeDescription (default true).
- onlyNewNotices (optional, monitoring): return only notices never delivered to you before. See below.
- monitorName (optional): name of the key-value store in your account that remembers delivered notices (default
plainrows-tenders-monitor).
Keywords without any notice get one free row with found: false and a note.
Tender alerts: get only new notices
Turn on Only new notices ("onlyNewNotices": true), keep publishedWithinDays a little longer than your schedule (for example 3 days for a daily run) and add an Apify schedule. The first run returns the matching notices and remembers their official IDs in a key-value store of your own Apify account; each later run returns and bills only notices it has never delivered, whatever the keyword that finds them. A keyword with nothing new gets a free row with notFoundReason: "no-new-notices".
- Each run checks up to
maxResultsof the newest notices per keyword: keep it high enough to hold everything published between two runs. - Notices are recognized by their official ID. A tender listed on two UK platforms counts once when both copies show up in the same run; if the second copy only appears in a later run, it can be delivered once more.
- Use a different monitorName per alert (for example one per client or sector) to keep separate histories, or a new name to start over.
Output example
Real row from a run on 2026-10-07 (input {"keywords": ["software"], "noticeTypes": ["contract-notice", "award"]}; description shortened here):
{"searchKeyword": "software","found": true,"source": "ted","noticeId": "692610-2026","procurementId": "4451b1cf-57ce-4a21-bfeb-0a164e5abbfd","noticeType": "contract-notice","noticeTypeCode": "cn-standard","title": "Renovación tecnológica balanceadores de enaire","buyerName": "Dirección Económico-Financiera de ENAIRE","buyerCity": "Madrid","buyerCountry": "ES","procedureType": "Open","contractType": "supplies","mainCpvCode": "32571000","mainCpvLabel": "Communications infrastructure","cpvCodes": ["32571000"],"cpvLabels": ["Communications infrastructure"],"estimatedValue": 609878.23,"currency": "EUR","awardValue": null,"awardCurrency": null,"valueEur": 609878,"winnerNames": [],"publicationDate": "2026-10-07","submissionDeadline": "2026-11-10T23:59:00+01:00","lotsCount": 1,"noticeUrl": "https://ted.europa.eu/en/notice/-/detail/692610-2026","documentsUrl": "https://contrataciondelestado.es/wps/poc?uri=deeplink:detalle_licitacion&idEvl=XKMnaxJytG3I8aL3PRS10Q%3D%3D","language": "es","description": "Actualmente la red de Sistemas de Información de ENAIRE (RSINA) está utilizando equipos controladores de distribución de aplicaciones (Application Delivery controllers ¿ ADC) del fabricante F5 para el balanceo a nivel de red, transporte y...","alsoPublishedOn": [],"observedAt": "2026-10-07T17:05:11.436Z","schemaVersion": "1.0"}
Pricing
Pay per notice returned, no subscription. See the Pricing tab for current prices: one event per notice found, cheaper on higher Apify plans, plus a small fixed start fee per run (Apify's "Actor start" event), which pays for reading UK Find a Tender (up to 3 minutes per run, whatever the number of notices). Schedule one run with many keywords rather than one run per keyword. CPV labels, values in EUR, winners, deadlines and descriptions are all included in that price (no "details" or "attachments" add-on).
Keywords without results, notices removed by your filters, duplicates found on two platforms or for two keywords, and input mistakes cost nothing beyond the start fee. A run whose keywords keep finding nothing stops early and says so. The run never spends more than the maximum cost you set.
Free Apify plan: each run returns up to 20 notices for up to 2 keywords, so you can check the output. A paid Apify plan removes these limits.
Use it from code, automations or AI agents
API (one call, results returned directly):
curl -X POST "https://api.apify.com/v2/acts/plainrows~public-tenders-search/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"keywords": ["software"], "noticeTypes": ["contract-notice"], "countries": ["FR", "BE"], "publishedWithinDays": 7, "openForBidsOnly": true}'
n8n, Make, Zapier: use the Apify integration, pick plainrows/public-tenders-search, schedule it daily with publishedWithinDays: 1 and push new notices to Google Sheets, Airtable, Slack or your CRM (source + noticeId is a stable key for de-duplication).
AI agents (MCP): add https://mcp.apify.com?tools=plainrows/public-tenders-search to Claude, Cursor or any MCP client. The agent gets a typed tool and pays per result.
What this is not
- Not US federal (SAM.gov), not national-only portals (BOAMP, Vergabe portals, PLACSP...) for notices below the EU thresholds. TED holds the above-threshold notices of all EU countries.
- No tender documents: the row links to the official notice and, when published, to the documents portal. Documents and bid submission stay on the buyer's platform.
- No personal data: contact persons, e-mails and phone numbers are not exported; e-mail addresses are removed from descriptions; winner names that are clearly individuals (sole traders) are left out.
- Values are as published by buyers (sometimes rounded, framework maximums or missing);
valueEuris an approximate conversion. - Not affiliated with the Publications Office of the EU, the Cabinet Office or Crown Commercial Service.
Data licences
- TED notices: "the procurement notices ... can be freely reused, for commercial or non-commercial purposes" (TED legal notice). Source: TED, Publications Office of the European Union.
- UK notices: Contains public sector information licensed under the Open Government Licence v3.0 (Find a Tender, Contracts Finder).
- CPV labels: eForms SDK codelists, Publications Office of the EU, CC BY 4.0. Exchange rates: ECB euro reference rates.
Run summary
Each run stores a summary in the key-value store (OUTPUT): sources searched and any source that failed, the date range, requests per source, Find a Tender notices scanned, notices removed by filters, duplicates across sources and keywords, the exchange-rate date, invalid or duplicate keywords and anything skipped because of the free-plan or budget limit. If one source is temporarily down, the others are still delivered and the run says so.
FAQ
How do I find public tenders in my sector?
Enter keywords and/or cpvCodes (for example 72000000 for IT services), choose buyer countries, and run: one row per notice with buyer, value, deadline and link.
Which sources are covered? EU TED (Tenders Electronic Daily), UK Find a Tender and UK Contracts Finder, in one run.
Can I see who won a contract?
Yes: set noticeTypes to award to get winners and awarded values.
Can I keep only tenders still open? Yes: openForBidsOnly keeps contract notices whose submission deadline is still ahead.
Are US (SAM.gov) or national-only portals included? No: TED holds the above-threshold notices of all EU countries; national portals for smaller contracts are not covered.
More PlainRows tools
Same pay-per-result pricing, same clean JSON, built to chain together in n8n, Make, Zapier or AI agents.
- SEO and keywords: Keyword Search Volume, CPC & Difficulty · Keyword Ideas Generator · Google Autocomplete & People Also Ask · Google Trends Explorer · Website Organic Traffic & Top Keywords · Bulk Domain Authority Checker · Backlink Checker · Broken Link Checker · AI Search Visibility Tracker (ChatGPT, Gemini, AI Mode)
- Leads and companies: Google Maps Scraper · Website Technology Checker · ATS Jobs Scraper (Greenhouse, Lever, Ashby, SmartRecruiters) · Google Jobs Scraper · Google Ads Transparency Scraper · Company Registry Lookup (SIRENE, LEI, Brreg)
- E-commerce and travel: Amazon Product Search Scraper · Google Shopping Prices Scraper · Google Hotels Prices Scraper
- Content and media: Google News Scraper · YouTube Search Scraper · Google Images Scraper · Website Screenshot API · App Reviews Scraper (Google Play & App Store)
Support
Missing a source, a field or found a bug? Open an issue on this page. Issues are read and answered.