TED EU Public Tenders Scraper (Official API)
Pricing
from $3.00 / 1,000 results
TED EU Public Tenders Scraper (Official API)
Scrape EU public tenders from the official TED API v3. Filter by keywords, CPV codes, buyer countries, notice types and publication dates. Up to 15,000 notices per run.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Владимир Иваницкий
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
Scrape public procurement notices from TED (Tenders Electronic Daily), the official EU supplement to the Official Journal. This actor queries the free, official TED API v3 (api.ted.europa.eu) — no proxies, no scraping of HTML pages, no brittle selectors. Results are sorted newest first and can be filtered by keywords, CPV codes, buyer countries, notice types and publication dates.
Multilingual fields (title, description) are returned in your preferred language with automatic fallback to the original language.
What data you get
| Field | Type | Description |
|---|---|---|
publicationNumber | string | TED publication number, e.g. 755907-2026 |
url | string | Human-readable notice page on ted.europa.eu |
title | string | Notice title (preferred language) |
noticeTitle | string | Full notice heading, usually including country and category |
description | string | Notice description / subject matter |
buyerName | string | Contracting authority name |
buyerCity | string | Buyer city |
buyerCountry | string | Buyer country (ISO 3166 alpha-3, e.g. DEU) |
publicationDate | string | Publication date (YYYY-MM-DD) |
deadline | string | null | Submission deadline, if published |
noticeType | string | eForms notice type, e.g. cn-standard, can-standard, pin-only |
procedureType | string | Procedure type code, e.g. open, neg-w-call |
contractNature | array | services, supplies, works |
cpvCodes | array | CPV codes (8-digit) |
placeOfPerformance | array | NUTS / country codes of performance |
estimatedValue | number | null | Estimated value, when published |
estimatedValueCurrency | string | null | Currency of the estimated value |
winners | array | null | Awarded suppliers (award notices) |
pdfUrl | string | Direct PDF of the notice |
xmlUrl | string | Direct eForms XML of the notice |
Use cases
- Lead generation — find open tenders matching your products or services across the EU/EEA.
- Market research — analyse public spending by country, CPV category or buyer.
- Competitor monitoring — track award notices (
can-standard) to see who wins what and at which value. - Tender alerts — schedule daily runs and push new notices to Slack, email or Google Sheets.
- Data pipelines — feed structured procurement data into BI tools, warehouses or ML models.
- Consultancies & bid writers — build shortlists of relevant opportunities for clients.
How to use
- Open the actor in Apify Console and go to the Input tab.
- Add one or more keywords (any of them matches), e.g.
software,cleaning,medical equipment. - Optionally narrow by buyer countries (ISO alpha-3:
DEU,FRA,POL…), CPV codes (8-digit, exact match) and notice types (cn-standard,can-standard,pin-only…). - Set the publication date range — defaults to the last 7 days. Enable Only active notices to skip expired deadlines.
- Choose the preferred language for multilingual fields (default
eng). - Set Max notices (up to 15,000 per run) and click Start.
- Download results from the Dataset tab as JSON, CSV, Excel or via the API.
Input example
{"keywords": ["software"],"buyerCountries": ["DEU", "POL"],"cpvCodes": ["72000000"],"noticeTypes": ["cn-standard"],"publishedSince": "2026-10-23","publishedUntil": "2026-10-30","onlyActive": true,"language": "eng","customQuery": "procedure-type=open","maxItems": 200}
Output example
{"publicationNumber": "755907-2026","url": "https://ted.europa.eu/en/notice/-/detail/755907-2026","title": "Neubau Verwaltungsgebäude der Verbandsgemeindewerke in Bernkastel-Kues / Andel: Los 3 - Leistungen der Tragwerksplanung","noticeTitle": "Germany – Engineering services – Neubau Verwaltungsgebäude der Verbandsgemeindewerke in Bernkastel-Kues / Andel: Los 3 - Leistungen der Tragwerksplanung","description": "Gegenstand der Planungsaufgabe ist der Neubau eines Verwaltungsgebäudes der Verbandsgemeindewerke in Bernkastel-Kues im Stadtteil Andel einschließlich der zugehörigen Freianlagen und der Einbindung in den bestehenden Betriebsstandort auf dem Grundstück \"Moselbahnstraße 14 in 54470 Bernkastel-Kues / ","buyerName": "Verbandsgemeinde Bernkastel-Kues","buyerCity": "Bernkastel-Kues","buyerCountry": "DEU","publicationDate": "2026-10-30","deadline": null,"noticeType": "cn-standard","procedureType": "neg-w-call","contractNature": ["services"],"cpvCodes": ["71300000", "71327000"],"placeOfPerformance": ["DEB22", "DEU"],"estimatedValue": null,"estimatedValueCurrency": null,"winners": null,"pdfUrl": "https://ted.europa.eu/en/notice/755907-2026/pdf","xmlUrl": "https://ted.europa.eu/en/notice/755907-2026/xml"}
Pricing
This actor uses pay-per-result pricing: $2 per 1,000 results (see the Pricing tab for whether Apify platform usage is included).
Cost examples:
| Notices | Cost |
|---|---|
| 200 | $0.40 |
| 1,000 | $2.00 |
| 5,000 | $10.00 |
| 15,000 (max per run) | $30.00 |
You are only charged for notices actually saved to the dataset — a run that returns fewer results costs proportionally less.
FAQ
Is this legal? Yes. TED is the official EU publication of public procurement notices, and this actor uses the official, free TED API v3. Only publicly available procurement data is collected. The actor does not bypass authentication or paywalls, and it accesses the API in a polite, rate-limited manner.
Do I need an API key or proxy? No. The TED API is free and open, so no API key is required and no proxy is used.
How far back can I search?
Set publishedSince to any date supported by the TED API. If left empty, it defaults to 7 days ago. Use publishedUntil to close the range.
What does onlyActive do?
When enabled, notices whose submission deadline has already passed are excluded, so you only get opportunities you can still bid on.
Why are some fields null?
TED notices vary by type and completeness. Deadlines, estimated values and winners are only present when the buyer published them — for example, winners appear mainly on award notices (can-standard).
What happens if my preferred language is missing? Multilingual fields fall back to the original language of the notice, so you always get a value when one exists.
What is customQuery for?
It lets you append an extra TED expert-search clause (e.g. procedure-type=open), which is ANDed with your other filters.
Integrations
- API — run the actor and fetch the dataset programmatically via the Apify API.
- Webhooks — trigger a webhook on run success to notify your own service.
- Google Sheets — export the dataset directly to a spreadsheet.
- Make / Zapier — connect Apify to hundreds of apps and build automated tender-alert workflows.
- Scheduling — set a daily or weekly schedule to collect new notices automatically.
🇺🇦 Коротко українською
Цей актор збирає публічні тендери ЄС із офіційного сервісу TED через безкоштовний API v3 — без проксі та без парсингу HTML. Можна фільтрувати за ключовими словами, кодами CPV, країнами замовників, типами оголошень і датами публікації. За один запуск обробляється до 15 000 оголошень, результати сортуються від найновіших. Оплата — за результат: $2 за 1 000 оголошень (див. вкладку Pricing). Дані експортуються в JSON, CSV чи Excel, а запуск можна поставити на розклад.