EU Public Tenders Scraper (TED)
Pricing
from $0.01 / actor start
EU Public Tenders Scraper (TED)
Filter and extract public procurement notices from the EU's official TED tender portal - contract notices, awards, values, deadlines and buyer details.
Pricing
from $0.01 / actor start
Rating
0.0
(0)
Developer
Ayşenur Özdemir
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Search, filter, and monitor public procurement notices published on TED (Tenders Electronic Daily), the EU's official portal for public tenders above the EU threshold. This Actor queries TED's own Search API directly, so results are always up to date, and returns clean, structured JSON - notice title, buyer, CPV category, estimated value converted to EUR, submission deadline, lots, documents, and (for award notices) the winning bidder.
Run it once for a one-off export, or combine it with an Apify Schedule in Monitor mode to get a recurring feed of only the tenders published since your last run - useful for sales prospecting, market research, and bid-tracking pipelines across all 27 EU member states plus the EEA, UK, and EU candidate countries.
Why use EU Public Tenders Scraper (TED)?
- New business leads - find open contract notices in your industry (by CPV code or keyword) before your competitors do.
- Competitive intelligence - contract award notices show who won a tender and for how much, across any EU country.
- Market sizing - aggregate public spending by country, buyer type, or category using the normalised EUR value on every row.
- Compliance & monitoring - watch a specific country, buyer, or CPV category continuously with monitor mode, and feed new notices into your CRM or Slack via Apify integrations.
How to use EU Public Tenders Scraper (TED)
- Click Try for free (or Start) to open the Actor.
- On the Input tab, set at least one filter - a country, a CPV code, or keywords. Dates default to the last 7 days if you leave them blank.
- Click Start and wait for the run to finish.
- Open the Output tab to preview results, or export the dataset as JSON, CSV, or Excel.
- Optional: attach an Apify Schedule and turn on Monitor mode to receive only newly published notices on every scheduled run.
No coding is required, but every input field is also available through the Apify API and client libraries if you want to automate runs.
Input
The full list of options is on the Input tab in the Apify Console, grouped into sections:
- Geography - include/exclude countries, NUTS region codes.
- Subject matter - CPV classification codes and free-text keywords.
- Dates - a rolling "last N days" window, or absolute publication/deadline dates.
- Contract value - minimum/maximum estimated value in EUR (converted from the notice's original currency).
- Notice type - contract notices (open opportunities), contract awards (results), prior information, modifications, design contests; plus procedure type and buyer type.
- Output - max rows, preferred language, whether to include lot details, document links, contact details, or raw XML.
- Monitoring - enable to skip notices already returned by a previous run with the same state key.
All fields are optional except that at least a date range (or its 7-day default) always applies, so a run with no filters at all returns the most recent notices EU-wide.
Output
Each dataset item is one procurement notice. Example:
{"noticeId": "449208-2026","noticeType": "cn-standard","isAwardNotice": false,"publicationDate": "2026-07-15","deadline": "2026-08-31T10:00:00Z","isOpen": true,"title": "Framework agreement x86 servers and Dell storage with accompanying maintenance","buyerName": "Statens vegvesen","buyerCountry": "NOR","buyerCountryName": "Norway","cpvMain": "30230000","cpvDivisionLabel": "Office and computing machinery, equipment and supplies","estimatedValue": 580000000,"estimatedValueCurrency": "NOK","estimatedValueEurApprox": 49880000,"noticeUrl": "https://ted.europa.eu/en/notice/-/detail/449208-2026","winnerName": null}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel from the Output tab or via the API.
Data table
| Field | Description |
|---|---|
noticeId / noticeType | TED publication number and notice type code |
title / shortDescription | Notice title and a trimmed description, in your preferred language |
buyerName / buyerCountry / buyerCity | Contracting authority and location |
cpvMain / cpvDivisionLabel | Procurement classification (CPV code and human-readable category) |
estimatedValue / estimatedValueEurApprox | Contract value in its original currency and approximate EUR |
deadline / isOpen | Submission deadline and whether it has already passed |
lots | Per-lot title, description, value and deadline (when "Include lot details" is on) |
documentUrls | Direct links to tender documents (when "Include document links" is on) |
winnerName / winnerCountry | Winning bidder, for contract award notices |
noticeUrl / xmlUrl | Link to the notice on ted.europa.eu and its source XML |
How much does it cost to scrape TED tenders?
This Actor only calls TED's public Search API - no browser, no proxies - so runs are fast and cheap. A typical run fetching 1,000 notices completes in well under a minute of compute time. Set Maximum results to cap the size (and cost) of any single run; the default is 1,000. Check the Apify pricing page for your plan's included usage.
Tips and advanced options
- Prefer CPV codes over keywords when possible - notices are published in the buyer's own language, so a keyword filter alone will miss non-English results, while CPV codes work regardless of language.
- Use prefix CPV matching (e.g.
72) to cover an entire category instead of listing every sub-code. - For a recurring "what's new" feed, turn on Monitor mode and schedule the Actor daily or weekly; each run remembers what it already returned under your account, so only new notices come through.
- Turn off Include lot details / Include document links if you don't need them - it trims the output size on large runs.
FAQ, disclaimers, and support
TED data is published by the Publications Office of the EU and is public information; this Actor only reads it through TED's official Search API and does not bypass any access controls. Contract values are approximate: they're converted to EUR using a static reference rate, not a live feed, so treat estimatedValueEurApprox as indicative rather than exact for financial reporting. Some older or non-standard notices omit fields such as value or CPV code - these come through as null rather than being dropped.
Found a bug or want a feature? Open an issue on the Actor's Issues tab in Apify Console. Need a tailored version - additional fields, a different output shape, integration with your CRM? Reach out via the same tab or through Apify's custom solutions.