EU Public Tenders Search (TED) – Procurement Notices API
Pricing
from $1.50 / 1,000 results
EU Public Tenders Search (TED) – Procurement Notices API
Search EU public tenders and procurement notices from TED (Tenders Electronic Daily) by keyword, buyer country, CPV code and publish date. Get buyer, title, deadline, value and a direct TED link for every notice, as JSON, CSV or Excel. No API key needed.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
OpenData Forge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Security
Limited permissionsShare
{ "keywords": "software", "countries": ["ESP"], "maxResults": 50 } Returns the latest 50 Spanish software tenders. Add cpvCodes (e.g. ["72000000"] IT services) or publishedAfter (2026-10-01) to narrow it down. Schedule it daily and connect it to Slack/Sheets for a free tender alert.
EU Public Tenders (TED) Search
Search live EU public procurement notices (TED - Tenders Electronic Daily, the official EU journal) by keyword, buyer country, CPV code and publication date. Uses the official, anonymous TED Search API v3 - no scraping, no login, no proxies.
Input
| Field | Example | Notes |
|---|---|---|
| keywords | software | Full-text |
| countries | ["ESP","PRT"] | ISO alpha-3 |
| cpvCodes | ["72000000"] | CPV classification |
| publishedAfter | 2026-09-01 | YYYY-MM-DD |
| maxResults | 50 | 1-5000 |
Output (one item per notice)
publicationNumber, title, buyer, country, publicationDate, deadline, cpv[], noticeType, estimatedValue, url
Use cases
Bid/no-bid pipelines for SMEs and consultancies, daily tender alerts (schedule + webhook to Slack/n8n), market research.
Data source & terms
Data from TED (Publications Office of the EU) via https://docs.ted.europa.eu/api/latest/search.html - anonymous access for published notices; EU open-data reuse policy (Decision 2011/833/EU) permits commercial reuse with attribution. Not affiliated with the EU.
Local run
npm install && npm start (input in storage/key_value_stores/default/INPUT.json)