TED Scraper
EU public tenders from TED (Tenders Electronic Daily). No API key, no login, no proxy: official open API. Search by keyword, CPV code, country, value and deadline; get buyer, contact, value, deadline, CPV codes and document links. Only-new mode for daily tender alerts.
Example request
curl -X POST https://radarbg.com/v1/eu-tenders-ted-monitor \
-H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"keywords": ["software"], "searchIn": "title", "noticeTypes": ["contract-notices"], "postedWithinDays": 7}'
Answer: {"ok": true, "count": N, "items": [...], "usage": {...}}. Failed calls are not counted.
Inputs
| Field | Type | Description |
|---|---|---|
keywords | array | Words to find in the tender title, e.g. 'software', 'cleaning', 'cybersecurity', 'solar'. English works for tenders in every EU language (titles are translated). Several keywords = any of them. Empty = all tenders. |
searchIn | string | 'Title' gives precise results. 'Full notice text' also matches the description, so you get more (and looser) results. |
cpvCodes | array | Common Procurement Vocabulary codes. A general code includes all its sub-codes: '72000000' = all IT services, '90910000' = cleaning, '45000000' = construction works, '79' = business services. Empty = any. |
countries | array | Country of the contracting authority: ISO codes (DE, FR, PL or DEU) or English names (Germany). Empty = all EU/EEA countries. |
noticeTypes | array | Contract notices = open tenders you can bid on. Prior information = upcoming tenders. Contract awards = who won and for how much. |
postedWithinDays | integer | Only notices published in the last N days. 0 = any date. |
onlyOpenTenders | boolean | Skip contract notices whose submission deadline has passed (applies when only 'Contract notices' are selected). |
minValue | integer | Skip tenders in EUR with a known estimated value below this. Tenders without a published value are kept. 0 = no limit. |
language | string | Language for the translated title and names when available. |
includeDescription | boolean | Add the procedure description (original language). |
onlyNewTenders | boolean | Return only notices not seen in previous runs with the same Monitor ID. Use with a Schedule for daily tender alerts. |
monitorId | string | Name of the monitor for 'only new tenders'. Use different IDs for different searches. |
maxItems | integer | Hard limit on tenders saved (and paid for). |
Price
Included in every plan: 100 calls a month free, then from €9 a month for 3,000 calls across all APIs.