EU Tenders Scraper - TED Public Procurement Notices
Pricing
from $0.60 / 1,000 tender notice scrapeds
EU Tenders Scraper - TED Public Procurement Notices
Search EU public procurement notices (TED) by country, CPV, keyword, deadline and value. Returns flat, English-normalized rows instead of raw 24-language eForms.
Pricing
from $0.60 / 1,000 tender notice scrapeds
Rating
0.0
(0)
Developer
Guy Weitzman
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Get EU public tenders as clean, flat rows you can filter in a spreadsheet - not raw 24-language XML. Search every notice published in the Supplement to the Official Journal of the EU by country, sector, keyword, deadline and contract value.
Unofficial tool. Not affiliated with, endorsed by, or connected to the European Union or the Publications Office of the EU. It reads TED's public API, whose notices the EU explicitly permits reusing for commercial and non-commercial purposes.
What does EU Tenders Scraper do?
TED (Tenders Electronic Daily) publishes every above-threshold public procurement notice in the EU and EEA - hundreds of thousands per year, worth hundreds of billions of euros. The raw data is public, but it arrives as multilingual eForms where a single field like the buyer's name is an object containing up to 24 translations, dates carry non-standard offsets, and the same CPV code repeats once per lot.
This Actor turns each notice into one flat row with plain-English columns: buyer, country name, notice type, value, currency, deadline, days remaining, sector, and the winner where a contract has been awarded. Download as JSON, CSV, Excel or HTML, pull it via API, or schedule it to run daily.
How this compares to other TED Actors
Several Actors can fetch TED data. This one is built around three things they don't do:
- It normalizes instead of forwarding. Others hand back TED's raw shape - a
buyer-nameobject with 24 translations, repeated CPV codes,can-standardcodes and+02:00dates. Here every row is already flat, English-labelled and spreadsheet-ready. - It prices per notice, low. Comparable Actors charge $0.005 to $0.10 per tender. This one charges a fraction of that, so pulling a full country-sector dataset costs cents rather than tens of dollars.
- It tells you why a run returned less than you asked. Bad country code? You get "use DEU, not DE" with the exact failing value - not a stack trace or a silently empty dataset.
Why use this Actor?
- Normalized, not raw -
"Netherlands"instead of["NLD"],"Contract award notice"instead of"can-standard","IT services"instead of"72000000", ISO 8601 dates instead of2026-07-01+02:00. - Bid-ready filtering - combine country, CPV sector, title keywords, publication window, minimum value, and "deadline on or after today" to get only the tenders you can still win.
- Deadline urgency built in - every row carries
daysUntilDeadlineandisOpen, so sorting by "closing soonest" needs no post-processing. - Award intelligence - filter to
can-standardnotices to see who won, for how much, and from which buyer. Useful for competitor and pricing research. - One row per notice - superseded revisions are filtered out by default, and results are deduplicated within a run, so you're never charged twice for the same publication number.
- Honest limits - when TED stops returning results, the run log says so instead of silently returning less than you asked for.
- No API key, no account - the Actor talks to TED's public API directly.
Typical buyers: B2B sales and bid teams tracking EU public-sector demand, tender consultancies, market researchers sizing public spend, and GovTech products that need a procurement feed.
How to use it
- Pick your filters - e.g. countries
DEU,FRA; CPV72000000(IT services); deadline on or after today. - Set Max results as your spending cap.
- Click Start, then export the dataset or fetch it from the API.
- To monitor continuously, schedule the Actor daily with a
publishedFromof yesterday.
Input
{"countries": ["DEU", "NLD"],"cpvCodes": ["72000000", "48000000"],"keywords": ["cloud"],"noticeTypes": ["cn-standard"],"publishedFrom": "2026-06-01","deadlineFrom": "2026-07-21","minValue": 100000,"language": "eng","maxItems": 1000}
Every field is optional. With no filters at all, the Actor returns everything published in the last 30 days. Power users can pass a raw customQuery in TED expert-search syntax, which overrides the structured filters.
Useful CPV prefixes: 72000000 IT services · 48000000 software · 45000000 construction · 85000000 health & social · 79000000 business services · 71000000 engineering · 34000000 transport equipment.
Useful notice types: cn-standard open tenders · can-standard awarded contracts · pin-only early-warning notices.
Output
{"id": "502026-2026","publicationNumber": "502026-2026","title": "Netherlands – Computer support and consultancy services – Digitaal Dossier JGZ","buyerName": "Stichting CJG Rijnmond","buyerCountry": "Netherlands","buyerCountryCode": "NLD","noticeType": "can-standard","noticeTypeLabel": "Contract award notice","procedureType": "open","contractNature": "services","publicationDate": "2026-07-21T00:00:00.000Z","deadline": null,"daysUntilDeadline": null,"isOpen": null,"totalValue": 8670000,"currency": "EUR","cpvCodes": ["72600000"],"cpvMainCategory": "IT services","placeOfPerformance": ["NL366", "NLD"],"winnerName": "Gino","description": "CJG wil vanaf 1 januari 2027 ...","noticeUrl": "https://ted.europa.eu/en/notice/-/detail/502026-2026","xmlUrl": "https://ted.europa.eu/en/notice/502026-2026/xml","pdfUrl": "https://ted.europa.eu/en/notice/502026-2026/pdf"}
Data fields
| Field | Description |
|---|---|
publicationNumber | TED identifier, e.g. 502026-2026 - stable and unique |
title, description | Notice text in your chosen language, English fallback |
buyerName, buyerCountry, buyerCountryCode | Contracting authority and its country |
noticeType, noticeTypeLabel | Raw TED code plus a plain-English label |
procedureType, contractNature | e.g. open, services |
publicationDate, deadline | ISO 8601 timestamps |
daysUntilDeadline, isOpen | Computed urgency for open tenders |
totalValue, currency | Contract value where published |
cpvCodes, cpvMainCategory | Sector codes plus a readable category |
placeOfPerformance | NUTS/country codes, deduplicated |
winnerName | Awarded supplier, on award notices |
noticeUrl, xmlUrl, pdfUrl | Links to the official notice |
titleAllLanguages, buyerNameAllLanguages | Every translation, when enabled |
How much does it cost?
Pay per result: a small Actor-start fee plus a per-notice charge, on top of standard Apify platform usage. Rough guide at current rates:
- 1,000 notices: ≈ $0.60
- 10,000 notices: ≈ $6.00
Max results is a hard cap - the run stops charging the moment it's reached. Apify's free plan credit covers thousands of notices.
Tips
- Only tenders you can still bid on: set
deadlineFromto today andnoticeTypestocn-standard. - Competitor research: set
noticeTypestocan-standardand readwinnerNameandtotalValue. - Daily monitoring: schedule the Actor with
publishedFromset to yesterday; each run then costs only what the new notices cost. - Value filters exclude notices without a published value - many notices legitimately have none, so use
minValueonly when you specifically want valued contracts. - Country codes are 3-letter (
DEU, notDE).
FAQ
Is this legal? Yes. TED's own legal notice states the procurement notices "can be freely reused, for commercial or non-commercial purposes" under Commission Decision 2011/833/EU. This Actor uses TED's public API and does not bypass any access control.
Is this an official EU product? No. This is an unofficial Actor and is not affiliated with, endorsed by, or connected to the European Union or the Publications Office of the EU.
Which countries are covered? All EU member states plus EEA and other countries that publish to TED (Norway, Switzerland, Iceland, and candidate countries).
Why do some notices have no deadline or value? TED notice types differ - award notices have no future deadline, and many notices don't publish a value. Fields are null rather than guessed.
Found a bug or need another field? Open an issue in the Issues tab. TED exposes over 1,800 fields; the Actor surfaces the commercially useful subset and more can be added on request.