TED Tenders Scraper
Pricing
from $1.50 / 1,000 results
TED Tenders Scraper
Scrape EU public procurement notices from TED (Tenders Electronic Daily): calls for tender, awards and planned purchases by keyword, country, CPV code, notice type and date, with buyers, estimated values, deadlines, lots, winners and award values. Official EU data. No API key, no login.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Anyx Solutions
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Security
Limited permissionsShare

TED Tenders Scraper
Every EU public tender, contract award and planned purchase published on TED — with buyers, CPV codes, estimated values, deadlines, lots and winners — as clean JSON.
TED (Tenders Electronic Daily) is the official journal of European public procurement: every public contract above the EU thresholds, from all 27 member states, the EEA and beyond, is published there. This Actor scrapes TED by keyword, buyer country, CPV code, notice type and publication date, from any ted.europa.eu search or notice URL, or from an expert query. Each notice comes back with its title in English or its original language, description, notice type, buyer (name, country, city, type and website), CPV codes and the main CPV category in English, procedure type, contract nature (works, supplies or services), estimated value and currency, the deadline for tenders or requests to participate, every lot with its value, the place of performance, and for award notices the winning suppliers and the value awarded, plus links to the English notice page, PDF, XML and the buyer's tender documents. Turn on Open for bids only to keep notices you can still bid on. No API key, no login and no proxy. Built for bid and tender teams, sales teams selling to the public sector, procurement consultants, market analysts, and anyone tracking who buys what across Europe.
⚡ Quick start
{"startUrls": [{"url": "https://ted.europa.eu/en/search/result?FT=software&buyer-country=DEU¬ice-type=cn-standard&search-scope=ACTIVE"}],"searchTerms": ["artificial intelligence"],"maxItems": 5}
🧩 Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
startUrls | array | no | — | ted.europa.eu pages: a search results page (https://ted.europa.eu/en/search/result?FT=software&buyer-country=DEU&search-scope=ACTIVE) or a notice page (https://ted.europa.eu/en/notice/-/detail/674450-2026), in any language. |
searchTerms | array | no | — | Words to find anywhere in a notice, one search per line, such as artificial intelligence or cybersecurity. Quote a phrase for an exact match ("school buses"). |
rawQuery | string | no | — | A search in TED's expert query syntax, such as classification-cpv=72000000 AND buyer-country=DEU AND procedure-type=open. Copy it from the expert search on ted.europa.eu. |
countries | array | no | — | Only return notices from buyers in these countries, as three-letter ISO codes such as DEU, FRA, ITA or POL. Two-letter codes such as DE also work. |
cpvCodes | array | no | — | Only return notices for these CPV codes. A code covers every code below it: 72000000 (IT services), 45000000 (construction work), 33100000 (medical equipment), 90900000 (cleaning services). |
noticeTypes | array | no | — | Only return these kinds of notice: competition (calls for tender), planning (prior information), result (contract awards), directAward (voluntary ex-ante transparency), modification, completion or consultation (preliminary market consultations). |
publishedFrom | string | no | — | Only return notices published on or after this date (YYYY-MM-DD). |
publishedTo | string | no | — | Only return notices published on or before this date (YYYY-MM-DD). |
activeOnly | boolean | no | false | Open for bids only: only return notices whose deadline for tenders or requests to participate is today or later. |
maxItems | integer | no | — | Maximum number of notices per URL, search term or expert query. The input form starts at 5; leave it empty for every matching notice. |
proxyConfiguration | object | no | { "useApifyProxy": false } | Proxy settings. TED needs no proxy. |
Add TED URLs, search terms, an expert query, or any mix. The country, CPV, notice-type, date and
open-for-bids filters apply to all of them except notice URLs, which return that one notice. With
filters but no URL, search term or query, the filters alone make one search. The easiest way to
build a search is to run it on ted.europa.eu and paste
the address bar. Results come newest first, unless an expert query sets its own SORT BY.
📤 Output
Each notice is one dataset row. TED publishes a new notice for every stage of a procurement, so a
call for tender, its corrections and its award are separate rows that share a procedureId.
Fields
| Field | Type | Description |
|---|---|---|
publicationNumber | string | TED publication number, such as 705792-2026. |
url | string | The notice's English page on ted.europa.eu. |
title | string | The procedure's title, in English when the buyer gave one, else in the original language. |
language | string | Language of title and description, as a three-letter code such as deu or fra. |
description | string | Description of the procedure. |
noticeType | string | Kind of notice, such as Contract notice, Contract award notice or Prior information notice. |
noticeTypeCode | string | TED's notice-type code, such as cn-standard or can-standard. |
formType | string | Stage of the procurement: planning, competition, result, dir-awa-pre, cont-modif and so on. |
publicationDate | string | Date published on TED (YYYY-MM-DD). |
dispatchDate | string | Date the buyer sent the notice to TED. |
buyer | object | The buyer: name, country (three-letter code), city, type (such as Local authority) and website. |
otherBuyers | array | Names of other buyers in a joint procurement. |
cpvCodes | array | Every CPV code of the procedure and its lots. |
mainCpvCode | string | The main CPV code. |
mainCpvDescription | string | The main CPV category in English, such as IT services: consulting, software development, Internet and support. |
procedureType | string | Procedure, such as Open, Restricted or Negotiated with prior call for competition. |
contractNature | string | works, supplies or services. |
estimatedValue | number | Estimated value of the whole procedure, before tax. |
estimatedValueCurrency | string | Currency of estimatedValue, such as EUR. |
deadlineDate | string | The earliest deadline (YYYY-MM-DD): for tenders, else for requests to participate. |
deadlineDateTime | string | The same deadline with its time and UTC offset, such as 2026-11-12T10:30:00+01:00. |
deadlineType | string | tenders or requests to participate. |
lots | array | Each lot with lotId, title, estimatedValue, awardedValue and currency. |
placeOfPerformance | object | Where the contract is performed: countries, cities and regions (NUTS codes such as DE212). |
awardedSuppliers | array | For awards: each winning supplier with name, country, city and size (sme, large and so on). |
awardValue | number | For awards: the total value awarded. |
awardCurrency | string | Currency of awardValue. |
awardDecisionDate | string | For awards: date the contract was awarded. |
documentsUrl | string | The buyer's page with the tender documents. |
submissionUrl | string | Where tenders are submitted. |
pdfUrl | string | The notice as an English PDF. |
xmlUrl | string | The notice's official XML. |
procedureId | string | Identifier of the procurement procedure, shared by all its notices. |
💡 Use cases
- Bid pipeline — collect every open call for tender in your CPV codes and countries each morning, with deadlines and links to the tender documents.
- Public-sector sales intelligence — find which ministries, cities and hospitals buy what you sell, and how much they budget.
- Competitor tracking — read contract award notices to see who wins which contracts, at what value, and from which buyers.
- Market sizing — total estimated and awarded values by country, sector and year.
- Early warning — follow prior information notices and preliminary market consultations to hear about purchases months before the call opens.
- Procurement research — build datasets of EU public spending for journalism, policy analysis or AI and NLP pipelines.
❓ FAQ
- Do I need an API key or an account? No. TED is public, and the Actor needs no key, login or proxy.
- Which countries are covered? Every notice published on TED: the 27 EU member states, the EEA, and other countries that publish there, such as Switzerland, Ukraine or Moldova.
- Why is the title not in English? Buyers write notices in their own language, and the title is returned as the buyer wrote it unless they also gave an English one.
languagetells you which language it is, andmainCpvDescriptiongives the category in English. - What is a CPV code? The Common Procurement Vocabulary is the EU's classification of what is bought. Each notice carries at least one code, and a code covers everything below it:
72000000(IT services) also finds72260000(software-related services). - Why are some values empty? Buyers do not always publish an estimated value, and award notices may withhold the amount or the winner; those fields are
null. Older notices carry fewer fields than current ones. - Does a search return every match? Yes, page by page, until
maxItemsis reached. Very broad searches can be slow; narrow them with countries, CPV codes, notice types or dates. - Why did a run return fewer notices than expected? The filters may be narrower than you think, or an expert query was rejected; the log says why. Open an issue if something looks off.
🔗 More scrapers by Anyx
🤝 Anyx Solutions
We build custom scrapers and data-extraction pipelines.
- Email: tantosthor@gmail.com
🖼 Image credit
Image credit: ted.europa.eu