TED Tenders Scraper avatar

TED Tenders Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
TED Tenders Scraper

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

Anyx Solutions

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Security

Limited permissions

Share

banner

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&notice-type=cn-standard&search-scope=ACTIVE"
}
],
"searchTerms": ["artificial intelligence"],
"maxItems": 5
}

🧩 Input

FieldTypeRequiredDefaultDescription
startUrlsarrayno—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.
searchTermsarrayno—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").
rawQuerystringno—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.
countriesarrayno—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.
cpvCodesarrayno—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).
noticeTypesarrayno—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).
publishedFromstringno—Only return notices published on or after this date (YYYY-MM-DD).
publishedTostringno—Only return notices published on or before this date (YYYY-MM-DD).
activeOnlybooleannofalseOpen for bids only: only return notices whose deadline for tenders or requests to participate is today or later.
maxItemsintegerno—Maximum number of notices per URL, search term or expert query. The input form starts at 5; leave it empty for every matching notice.
proxyConfigurationobjectno{ "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

FieldTypeDescription
publicationNumberstringTED publication number, such as 705792-2026.
urlstringThe notice's English page on ted.europa.eu.
titlestringThe procedure's title, in English when the buyer gave one, else in the original language.
languagestringLanguage of title and description, as a three-letter code such as deu or fra.
descriptionstringDescription of the procedure.
noticeTypestringKind of notice, such as Contract notice, Contract award notice or Prior information notice.
noticeTypeCodestringTED's notice-type code, such as cn-standard or can-standard.
formTypestringStage of the procurement: planning, competition, result, dir-awa-pre, cont-modif and so on.
publicationDatestringDate published on TED (YYYY-MM-DD).
dispatchDatestringDate the buyer sent the notice to TED.
buyerobjectThe buyer: name, country (three-letter code), city, type (such as Local authority) and website.
otherBuyersarrayNames of other buyers in a joint procurement.
cpvCodesarrayEvery CPV code of the procedure and its lots.
mainCpvCodestringThe main CPV code.
mainCpvDescriptionstringThe main CPV category in English, such as IT services: consulting, software development, Internet and support.
procedureTypestringProcedure, such as Open, Restricted or Negotiated with prior call for competition.
contractNaturestringworks, supplies or services.
estimatedValuenumberEstimated value of the whole procedure, before tax.
estimatedValueCurrencystringCurrency of estimatedValue, such as EUR.
deadlineDatestringThe earliest deadline (YYYY-MM-DD): for tenders, else for requests to participate.
deadlineDateTimestringThe same deadline with its time and UTC offset, such as 2026-11-12T10:30:00+01:00.
deadlineTypestringtenders or requests to participate.
lotsarrayEach lot with lotId, title, estimatedValue, awardedValue and currency.
placeOfPerformanceobjectWhere the contract is performed: countries, cities and regions (NUTS codes such as DE212).
awardedSuppliersarrayFor awards: each winning supplier with name, country, city and size (sme, large and so on).
awardValuenumberFor awards: the total value awarded.
awardCurrencystringCurrency of awardValue.
awardDecisionDatestringFor awards: date the contract was awarded.
documentsUrlstringThe buyer's page with the tender documents.
submissionUrlstringWhere tenders are submitted.
pdfUrlstringThe notice as an English PDF.
xmlUrlstringThe notice's official XML.
procedureIdstringIdentifier 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. language tells you which language it is, and mainCpvDescription gives 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 finds 72260000 (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 maxItems is 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.

🖼 Image credit

Image credit: ted.europa.eu