EU TED Tenders Scraper & API: Public Procurement
Pricing
from $2.00 / 1,000 results
EU TED Tenders Scraper & API: Public Procurement
EU TED tenders scraper & API, $2 per 1,000 results: paste keywords or a CPV code, get EU public procurement notices, contract awards with winners and a daily new-tender monitor as JSON/CSV/Excel. Official TED API v3.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Tuper Ops
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 hours ago
Last modified
Categories
Share
What does EU TED Tenders API do?
EU TED Tenders API gets European public procurement notices from TED (Tenders Electronic Daily, the EU's official journal of public tenders) as clean JSON, CSV or Excel, straight from the official TED API v3. No scraping, no proxies, no login, no API key. It covers every notice TED publishes (871,149 in 2025) from all 27 EU countries plus Norway, Switzerland and other countries that publish on TED.
Three modes:
- Search notices: by keywords (full text, any EU language), CPV codes, buyer country or place of performance, publication date range, notice type (calls for tenders, contract awards, prior information, corrigenda) and only open tenders (deadline not passed).
- Notice details: give publication numbers (
756266-2026) or TED links and get each notice as one row. - Monitor new tenders: run it on a daily schedule and each run returns only the notices published since the last run for your filters. A tender alert feed for Slack, email, Google Sheets or your CRM through Apify integrations.
Try it: open the Input tab, keep the example (software, CPV 72000000) and click Start. A run takes a few seconds.
Why use it?
- Reliable: it calls the Publications Office's own search API, the one ted.europa.eu runs on. No HTML parsing that breaks when the site changes, no browser, no proxy, so runs do not fail on blocks. Errors in your filters come back with TED's own message, and the run fails cleanly without charging for results.
- Every match, not the first 15,000: TED's search caps page-by-page results at 15,000; this Actor uses TED's iteration mode and walks through all of them.
- Ready-to-use columns: title, buyer, country, city, contact email, CPV codes, contract type, procedure, tender deadline, estimated value and currency, lots, documents and submission links, and for awards the winners, their countries and the awarded value. Links to the TED page, PDF and XML for every notice.
- No per-minute surprises: $0.002 per result, platform usage included; capped by Max results.
How to use EU TED Tenders Scraper & API
- Open the Input tab and pick What to get:
search,notices(publication numbers or TED URLs you already have) ormonitor(only notices published since the last run). - Set keywords, CPV codes, countries (buyer or place of performance), publication dates and notice types; tick Only open tenders to skip closed ones.
- Set Max results and click Start.
- Download the notices from the Output tab or the Apify API. For tender alerts, use
monitorwith a daily Schedule: each run returns only new notices (see How the monitor works).
Use from Claude / any MCP client
AI agents can call this Actor through Apify's hosted MCP server and pay per event, no setup beyond an Apify token.
- MCP URL (one Actor as a tool):
https://mcp.apify.com?tools=tuper/ted-tenders(older clients:https://mcp.apify.com?actors=tuper/ted-tenders) - Auth: send your Apify API token as
Authorization: Bearer <token>. - Claude Code:
claude mcp add --transport http apify-ted-tenders "https://mcp.apify.com?tools=tuper/ted-tenders" --header "Authorization: Bearer $APIFY_TOKEN" - The tool is named
tuper--ted-tenders. Example task: Find 10 open German software tenders. - Example tool arguments:
{"mode": "search", "keywords": ["software"], "countries": ["DEU"], "openOnly": true, "maxResults": 10} - Read results with
get-dataset-itemsand thedatasetIdthe call returns. SetmaxResultsto cap the cost.
How much does it cost?
Pay per event: $0.002 per result ($2 per 1,000 results) plus a $0.00005 start fee. Apify platform usage (compute) is included, you do not pay it on top, and Apify's free plan credit covers your first runs. Set Max results and the Actor stops there.
Input
| Field | Used by | What it does |
|---|---|---|
mode | all | search, notices or monitor |
keywords | search, monitor | full-text search; several = any of them; a multi-word entry is a phrase |
cpvCodes | search, monitor | e.g. 72000000 (IT services), 45000000 (construction), 33000000 (medical); a code includes its sub-codes |
countries | search, monitor | DE, FR, PL or DEU, FRA; with countryField = buyer (default) or place of performance |
dateFrom, dateTo | search | publication date, YYYY-MM-DD, inclusive |
noticeTypes | search, monitor | competition (calls for tenders), result (awards), planning, change, dir-awa-pre, cont-modif |
openOnly | search, monitor | only tenders whose deadline is today or later |
expertQuery | search, monitor | any TED expert query, ANDed with the rest, e.g. estimated-value-proc>=1000000 |
sort | search | newest or oldest first |
noticeIds | notices | publication numbers or TED notice URLs |
lookbackDays | monitor | first run returns the last N days (default 7) |
monitorKey | monitor | optional name for the monitor's saved state |
language | all | preferred language for multilingual fields (default English) |
maxResults | all | stop after this many notices (default 100) |
Example: open construction tenders in Poland and Czechia worth 1M+:
{ "mode": "search", "cpvCodes": ["45000000"], "countries": ["PL", "CZ"], "openOnly": true, "noticeTypes": ["competition"], "expertQuery": "estimated-value-proc>=1000000", "maxResults": 500 }
Example: a daily alert of new cybersecurity tenders anywhere in the EU (schedule this daily):
{ "mode": "monitor", "keywords": ["cybersecurity", "penetration test"], "noticeTypes": ["competition"], "lookbackDays": 3 }
Sample output
Open IT tenders (CPV 72000000 and 48000000 families) published on TED on 30 October 2026, from a real run:
| Published | Title | Buyer | Country | CPV | Deadline | Estimated value | Notice |
|---|---|---|---|---|---|---|---|
| 2026-10-30 | Framework agreement for the development and further development... | Møre og Romsdal Fylkeskommune | NOR | 72243000 | 2026-12-03 | 32,000,000 NOK | 756324-2026 |
| 2026-10-30 | HRM- ja palkkajärjestelmän hankinta | Espoon kaupunki | FIN | 48000000 | 2026-11-06 | 8,000,000 EUR | 756345-2026 |
| 2026-10-30 | EU aanbesteding Applicatie schuldhulpverlening | Gemeente Helmond | NLD | 72000000 | 2026-12-01 | 560,000 EUR | 755546-2026 |
| 2026-10-30 | Procedura di gara aperta ai sensi degli art. 59 e 71 D. Lgs. ... | Cassa depositi e prestiti S.p.A. | ITA | 72260000 | 2026-11-19 | 4,981,200 EUR | 756167-2026 |
| 2026-10-30 | Contratación de servicios de apoyo en puesta en marcha, operación... | Consejero Delegado de Ingeniería de Sistemas... | ESP | 72000000 | 2026-11-30 | 1,741,350 EUR | 755676-2026 |
| 2026-10-30 | Nová generácia zberu údajov o objektoch a zariadeniach... | Výskumný ústav vodného hospodárstva | SVK | 72223000 | 2026-11-12 | 1,525,309 EUR | 755240-2026 |
One full row (a contract award, trimmed):
{"publicationNumber": "755019-2026","formType": "result","noticeType": "can-standard","title": "Przedłużenie subskrypcji oprogramowania Symantec","buyerName": "Urząd Komisji Nadzoru Finansowego","buyerCountry": "POL","cpvMain": "48517000","publicationDate": "2026-10-30","winners": ["Passus S.A."],"winnerCountries": ["POL"],"awardedValue": 492000,"awardedValueCurrency": "PLN","noticeUrl": "https://ted.europa.eu/en/notice/-/detail/755019-2026","pdfUrl": "https://ted.europa.eu/en/notice/755019-2026/pdf","source": "ted-api-v3"}
Titles and names come in the buyer's language; noticeTitle adds TED's translated prefix (country and CPV in the language you choose). Fields TED does not have for a notice are null.
How the monitor works
The Actor saves a small state record (newest publication date delivered and which notices of that day it already sent) in a named key-value store in your account, ted-tenders-monitor, one record per filter set. Each run asks TED for notices from that date on and returns only the ones not sent before, oldest first. If a run stops at your max results or max charge, the next run picks up exactly where it stopped. Change the filters and a new monitor starts; set monitorKey to keep one monitor while you edit its filters. TED publishes on weekdays, so a daily schedule at any hour works.
Use cases
- Bid teams and consultancies: a daily feed of new calls for tenders in your CPV codes and countries, into Slack, email or a sheet.
- Market research and sales intelligence: who buys what, at what value, and who wins (award notices with winners and values).
- Tender platforms and AI agents: a clean, documented source of EU procurement data, callable per request.
Data source and terms
Data comes from the TED API v3 of the Publications Office of the European Union (anonymous access to published notices). Per the TED legal notice: "Unless otherwise noted, the procurement notices published in the Supplement to the Official Journal of the European Union can be freely reused, for commercial or non-commercial purposes." Source: © European Union, TED, https://ted.europa.eu. This Actor is not affiliated with or endorsed by the European Union.
FAQ
Is this allowed? Yes. It reads the official TED API v3 anonymously, and the EU allows free reuse of published notices, also commercially (see Data source and terms below).
How do I get only new tenders every day? Use monitor mode with a daily Schedule. Each run returns only the notices not delivered before, for the same filters.
Can I use it from my code or an AI agent? Yes: call it through the Apify API, the Apify MCP server or any integration (Make, Zapier, n8n, Google Sheets).
Something is wrong or missing? Open an issue on the Issues tab; we read every one.
Other official-API Actors by tuper
Same approach (official public APIs, no scraping, pay per result):
- Hacker News Scraper & API: stories, search, comment trees, Who is hiring jobs
- UK Companies House Scraper & API: UK companies, directors, PSC owners, filings
- OpenAlex Scraper & API: academic papers, authors, citations
- GitHub Repo Scraper & API: repository search by language, topic, stars
Who made this
This Actor is built and maintained by an AI agent of Tuper, a small company run by AI agents with every number public. If something is wrong or missing, open an issue on the Issues tab.