TED Europa Scraper [Only $3.5💰] | EU Tenders | Awards
Pricing
from $3.40 / 1,000 results
TED Europa Scraper [Only $3.5💰] | EU Tenders | Awards
Search EU public procurement notices on TED (ted.europa.eu) for tender monitoring and procurement intelligence: titles, buyers, CPV codes, estimated values, deadlines, award criteria, documents and winner info.
Pricing
from $3.40 / 1,000 results
Rating
0.0
(0)
Developer
Ahmed Jasarevic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
TED Europa Scraper
Search EU public procurement notices on TED (Tenders Electronic Daily, ted.europa.eu) for tender monitoring and procurement intelligence: notice titles, buyer authorities, countries, CPV codes, estimated values, submission deadlines, award criteria, procurement document links and winner information.
This actor does not use a browser and does not scrape HTML. It calls TED's official, anonymous Search API directly, the same JSON backend the ted.europa.eu website itself queries, so results are clean and structured.
Main Use Cases
- EU tender monitoring for gov-con and public-sector contractors
- B2B lead generation from open calls, filtered by country and CPV code
- Procurement intelligence and competitor/winner analysis from award notices
- Deadline tracking and opportunity pipelines for bid teams
- Building structured tender databases for procurement SaaS and market research
- Supply-market analysis by CPV sector and buyer country
How It Works
TED exposes an anonymous, keyless Search API for published notices. The actor calls it directly, so there is no CMS front door, no Cloudflare, no cookies and no JavaScript to render:
| Step | Endpoint | What it does |
|---|---|---|
| Primary | POST https://api.ted.europa.eu/v3/notices/search | Return structured notice JSON for a query or filter set. |
| Fallback | POST https://tedweb.api.ted.europa.eu/v3/notices/search | Same API, used if the primary host is unavailable. |
The API takes an expert query plus filters, returns up to 250 notices per page, sorts newest first, and includes multilingual titles, CPV arrays, values, deadlines and winner organisations, with per-notice links to the XML, PDF and HTML in all EU languages.
Extract EU Public Procurement Notices Without Scraping HTML
The TED homepage is a Liferay CMS shell, so notice data is not embedded in the served HTML and there is nothing to parse with CSS selectors; TED also uses no third-party search backend. The official Search API is therefore the cheapest and most reliable surface:
- Filter by buyer country (ISO alpha-3), CPV code prefix and publication date window.
- Choose all notices, only open calls (competition) or only award notices (with winner info).
- Run raw expert queries such as
publication-date >= 20260101 AND buyer-country=DEU. - Retrieve up to 15,000 notices per query in page mode (250 per page); narrow the date window for larger sweeps.
Get Tender Details And Winner Information
Two modes are available. In search mode the filters above drive a newest-first sweep of notices. In detail mode, pass direct notice URLs or publication numbers in noticeUrls to fetch each notice in full, ignoring the search filters. Award notices carry the winner name, country and the list of winners, plus the lowest and highest tender values, which is the dataset for competitor and winner analysis.
Input Parameters
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
query | string | No | publication-date >= 20260101 | Raw TED expert query, AND-combined with the filters. |
countryCodes | array | No | [] | Buyer country filter (ISO alpha-3, for example DEU, FRA, CZE); OR-combined. |
cpvCodes | array | No | [] | CPV code prefix filter (for example 45000000 construction, 48000000 software); OR-combined. |
noticeType | string | No | all | all, competition (open calls) or award (award notices). |
fromDate | string | No | 20260101 | Published on or after this date (YYYYMMDD). |
toDate | string | No | empty | Published on or before this date (YYYYMMDD). |
noticeUrls | array | No | [] | Direct notice URLs or publication numbers; detail mode ignores the search filters. |
language | string | No | en | Preferred language for titles and names, with fallback. |
maxItems | integer | No | 100 | Maximum notices (1 to 15000). Free users are capped at 20. |
proxy | object | No | Apify Proxy off | Proxy configuration used for the requests. |
Output Fields
One item per notice:
publicationNumber,noticeId,procedureId: notice and procedure identifiers.title,contractTitle: notice and contract titles.buyerName,buyerCountry,buyerCountries,buyerCity,buyerEmail: buyer details.cpvCodes,cpvMain: CPV classification.value,valueCurrency,tenderValueLowest,tenderValueHighest: estimated and awarded values.deadline,deadlineDate,deadlineTime: submission deadline.awardCriteriaTypes,awardCriteriaNames: award criteria.documentsLinks,pdfUrl,xmlUrl,url: procurement documents and notice links.winnerName,winnerCountry,winners: winner info (award notices).publicationDate,noticeType,noticeSubtype,formType: publication metadata.
Dataset view: overview.
Example Input And Output
Example input:
{"countryCodes": ["DEU", "FRA"],"cpvCodes": ["48000000"],"noticeType": "competition","fromDate": "20260101","maxItems": 100}
Example output row:
{"publicationNumber": "685618-2026","noticeId": "685618-2026","procedureId": "a1b2c3d4-0001","title": "Supply of enterprise software licences","contractTitle": "Enterprise software licences","buyerName": "Example Federal Agency","buyerCountry": "DEU","buyerCountries": ["DEU"],"buyerCity": "Berlin","buyerEmail": "procurement@example.de","cpvCodes": ["48000000"],"cpvMain": "48000000","value": "250000","valueCurrency": "EUR","deadlineDate": "2026-11-30","deadlineTime": "12:00","awardCriteriaTypes": ["price"],"awardCriteriaNames": ["Lowest price"],"documentsLinks": ["https://ted.europa.eu/en/notice/-/detail/685618-2026"],"publicationDate": "2026-10-10","noticeType": "competition","formType": "competition","url": "https://ted.europa.eu/en/notice/-/detail/685618-2026","pdfUrl": "https://ted.europa.eu/en/notice/-/detail/685618-2026/pdf","xmlUrl": "https://ted.europa.eu/en/notice/-/detail/685618-2026/xml"}
Integrations & Automation
Results are written to Apify datasets, so you can export them as JSON, CSV or Excel, read them through the Apify API, or push them onward with webhooks. Connect the actor to Zapier or Make to load rows into a CRM, a bid pipeline, a spreadsheet or a BI tool.
For new-tender alerts, schedule the actor daily (or hourly) with a rolling fromDate, so each run returns only the notices published since the last run. A weekly schedule is usually enough for market research. Recurring runs also help the actor surface better in the Apify Store.
Related Actors
- foxlabs/ted-tenders
- artificially/eu-tenders-scraper
- dltik/ted-europa-scraper
- memo23/ted-tenders-scraper
- scrapers_lat/eu-ted-tenders-scraper
FAQ
Is there an official TED API?
Yes. TED publishes an anonymous, keyless Search API for published notices (POST /v3/notices/search), and it is the same backend the ted.europa.eu website queries. This actor wraps it: it adds filters and pagination and returns a flattened row, so you do not have to build the expert query and field mapping yourself.
What are the alternatives to this actor for EU tender data?
Alternatives include calling the official TED Search API directly, third-party providers such as tedapi.pro, paid tender-intelligence platforms, and other Apify Store actors that focus on TED or EU public tenders. This actor returns both open calls and award notices with winner info from a single configuration.
Why use this actor instead of calling the TED API myself?
The API is keyless and free, but you have to build the expert query, map around 1,250 available fields to a flat row, and handle pagination and the 15,000-notice page-mode cap. This actor does that mapping and returns one clean JSON row per notice, with the fields most teams need already flattened.
Can I get only open calls or only awards?
Yes. Set noticeType to competition for open calls (contract notices) or award for award notices, which include the winner name, country and the list of winners.
Does it return winner information?
Yes, on award notices: winnerName, winnerCountry and the winners array, plus tenderValueLowest and tenderValueHighest.
How far back can I search?
The Search API page mode can retrieve at most 15,000 notices per query. Narrow the date window (fromDate/toDate) to sweep more history in separate runs. With no filters at all, the actor defaults to the last 7 days.
SEO Keywords
ted europa scraper, ted scraper, eu public procurement data, eu tenders, eu tender monitoring, ted tenders api, public procurement notices, tender intelligence, cpv code search, eu tender leads, government contracts eu, award notices, tender winner data, procurement lead generation, bid opportunity tracking, eu public tenders scraper, ted europa api, tender deadline tracking, procurement market research, govcon leads, eu procurement database, ted notices export, tender data extraction, public sector tenders
For AI Agents & LLM Apps
Purpose: return EU public procurement notice rows (buyer, CPV, value, deadline, documents, winner) from TED for a query or filter set.
Minimal working input:
{ "countryCodes": ["DEU"] }
Variant that fetches award notices with winner info:
{ "noticeType": "award", "cpvCodes": ["45000000"], "fromDate": "20260101", "maxItems": 100 }
Output fields: publicationNumber, noticeId, procedureId, title, contractTitle, buyerName, buyerCountry, buyerCountries, buyerCity, buyerEmail, cpvCodes, cpvMain, value, valueCurrency, deadline, deadlineDate, deadlineTime, awardCriteriaTypes, awardCriteriaNames, documentsLinks, winnerName, winnerCountry, winners, tenderValueLowest, tenderValueHighest, publicationDate, noticeType, noticeSubtype, formType, url, pdfUrl, xmlUrl.
Behaviors an agent should know:
queryis AND-combined withcountryCodes,cpvCodes,noticeTypeand the date filters;countryCodesandcpvCodesare OR-combined within themselves.noticeUrlsswitches to detail mode and ignores all search filters.- With no filters at all, the actor defaults to notices from the last 7 days.
maxItemsis capped at 15,000 (the Search API page-mode cap); leaving it unset uses the default of 100. Free users are capped at 20.- The API is anonymous and unprotected, so no proxy is needed by default.
Billing: pay-per-event. apify-actor-start (about $0.00005) and one apify-default-dataset-item per notice (about $0.0035, less at higher loyalty tiers).
Legal & Compliance Disclaimer
This actor is independent and is not affiliated with, endorsed by or sponsored by the Publications Office of the European Union or the TED service. It reads only publicly available data through TED's own anonymous Search API: it does not log in, does not bypass authentication and does not solve CAPTCHAs.
Users are responsible for complying with the terms that apply to TED data and with any applicable rules in their own jurisdiction. Where the output contains buyer contact details such as buyerEmail, that data must not be used for unsolicited commercial outreach in violation of applicable law.