EU Tenders Scraper avatar

EU Tenders Scraper

Pricing

from $0.50 / 1,000 tender notices

Go to Apify Store
EU Tenders Scraper

EU Tenders Scraper

Contract notices from TED, the EU's official procurement journal, with buyer, deadline, value and CPV codes for the 27 member states plus Iceland, Liechtenstein, Norway and Switzerland. Filter by country, CPV code, keyword or notice type, and schedule runs that return only new notices.

Pricing

from $0.50 / 1,000 tender notices

Rating

0.0

(0)

Developer

deriverge s.r.o.

deriverge s.r.o.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Security

Limited permissions

Share

EU Tenders Scraper searches TED (Tenders Electronic Daily), the EU's official procurement journal, and returns one row per notice: title, buyer, country, deadline, value, CPV codes, notice type and links to the notice and its PDF. Enter Buyer countries and CPV codes and click Start; without dates, the run covers the last seven days. Descriptions are not translated and stay in the language the buyer wrote them in. It costs $1.00 per 1,000 tender notices on the Free plan ($0.50 on Business), and the $5 of monthly credit in Apify's Free plan covers about 5,000 tender notices.

What data does it return?

FieldDescription
noticeIdTED publication number, for example 667367-2026.
titleCountry and main subject in the language you chose, followed by the buyer's own title in the original language.
descriptionThe buyer's description of the procurement, as published.
buyer, countryContracting authority and its two-letter country code, such as FR.
publishedAtPublication day as an ISO 8601 UTC timestamp. TED dates notices at midnight Central European time, so a notice of 29 September shows 2026-09-28T22:00:00.000Z.
deadline, daysToDeadlineDeadline for submitting tenders (the latest one when lots differ) and the whole days left at run time. Empty on award notices and prior information notices.
valueAmount, valueCurrencyTotal value published in the notice, which is the awarded amount on award notices; otherwise the estimated value of the procedure. The currency is an ISO code such as EUR.
cpvCPV codes of the notice without duplicates, such as 85100000 for health services.
noticeTypeeForms notice type: cn-standard contract notice, cn-social contract notice for social and other specific services, can-standard award notice, pin-only prior information notice, veat voluntary ex ante transparency notice.
procedureType, contractNatureProcedure, such as open, restricted or neg-w-call, and what is bought: services, supplies or works.
language, languagesAvailableThree-letter code of the title's language, such as eng, and the languages the buyer published the notice in, such as spa, or fra and nld for a bilingual Belgian notice.
url, documentsUrlThe notice page on ted.europa.eu, and the notice as a PDF in your language, or the English HTML version when there is no such PDF.
keyted: plus the publication number. The new-only mode compares runs by this key.
statusAlways null here, because TED publishes no status. The field keeps the rows in the same shape as those of the UK tender actors.

How to scrape EU tenders from TED

  1. In Buyer countries, enter two-letter codes such as DE or ES, or leave the field empty for every country. Besides the 27 EU member states, TED carries notices from Iceland, Liechtenstein, Norway and Switzerland; other countries need TED's three-letter code, such as MKD for North Macedonia.
  2. In CPV codes, enter what you sell. TED matches the code and everything below it, so 72000000 (IT services) also returns notices coded 72268000.
  3. Pick the period with Published from and Published to. To list everything that is still open, whenever it was published, set Deadline on or after to today's date instead.
  4. Narrow further with Keywords (TED's full-text search, where any one word is enough), Notice types and Minimum contract value, and choose a Preferred language for the titles.
  5. Click Start. Rows appear in the Output tab, ready to export as CSV, Excel or JSON. Through the API, the same run takes an input like this:
{
"countries": ["DE", "AT"],
"cpv": ["72000000"],
"deadlineAfter": "2026-10-01",
"noticeTypes": ["cn-standard"],
"language": "de",
"maxItems": 500
}

Example output

A Spanish notice from a run on 29 September 2026. In title, TED separates country, subject and the buyer's title with en dashes, which this example shows as hyphens.

{
"key": "ted:667367-2026",
"source": "ted",
"sourceName": "TED, the EU public procurement journal",
"country": "ES",
"noticeId": "667367-2026",
"title": "Spain - Health services - Contratación del servicio de asistencia sanitaria ambulatoria -tratamiento inicial y sucesivo con servicio de Fisioterapia hasta remisión a los servicios médicos propios de la Mutua- en las Comunidades Autónomas de Andalucía y Castilla y León para FREMAP, Mutua Colaboradora con la Seguridad Social nº 61",
"description": "Las necesidades que deben satisfacerse mediante este procedimiento se especifican, describen en detalle y justifican en la Memoria de Necesidades que se publica con el mismo.",
"buyer": "Director Gerente de FREMAP",
"publishedAt": "2026-09-28T22:00:00.000Z",
"deadline": "2026-10-28T23:00:00.000Z",
"daysToDeadline": 30,
"status": null,
"valueAmount": 792302.56,
"valueCurrency": "EUR",
"cpv": [
"85100000"
],
"noticeType": "cn-social",
"procedureType": "open",
"contractNature": "services",
"language": "eng",
"languagesAvailable": [
"spa"
],
"url": "https://ted.europa.eu/en/notice/-/detail/667367-2026",
"documentsUrl": "https://ted.europa.eu/en/notice/667367-2026/pdf"
}

How much does it cost to scrape EU tenders?

Free planStarterScaleBusiness
1,000 tender notices$1.00$0.80$0.65$0.50

You pay only for the events in the table. There is no start fee, and compute time and proxies are included.

A week of German and Dutch IT notices (72000000) came to about 200 notices in late September 2026, which costs $0.20 on the Free plan. Notices removed by Only notices you can still bid for and notices skipped by the new-only mode are not charged.

Limits

  • TED publishes on working days, about 3,500 notices a day in September 2026. A run reads at most 10,000 of them (40 pages of 250), newest first, so filter by country, CPV code or dates when you need every match.
  • Without publication dates, Deadline on or after covers every notice that is still open: more than 35,000 across TED on 30 September 2026. Combine it with countries or CPV codes to stay below the 10,000.
  • TED applies Only notices you can still bid for in its own search. It removes award notices (the can- types and veat) and passed deadlines, so Maximum notices counts open notices: for France and Spain on 30 September 2026, 2,124 of the week's 3,572 notices were open, and a limit of 1,000 returned 1,000. Notices without a deadline, such as pin-only, pass this filter, while Deadline on or after leaves them out.
  • A Minimum contract value becomes part of the TED search, and notices that publish no value stay in the results: with 100,000 for France and Spain, 184 of 500 rows had no value. Amounts are compared in each notice's own currency.
  • valueAmount is empty on about half of the notices (506 of 1,000 open notices for France and Spain on 30 September 2026), and some carry placeholders such as 0 or 1.
  • deadline holds the deadline for tenders only. Restricted and negotiated procedures often publish just a deadline for requests to participate, so their deadline can be empty.

Watching TED for new notices

Turn on Return only notices new since the last run, give the run a Watch name such as it-services-germany (a saved task keeps its own snapshot without one) and schedule it for weekday mornings. Each run then returns notices it has not seen before and notices whose deadline moved. The CHANGES record in the run's key-value store lists new notices, changed deadlines with the old and new date, and notices that dropped out of the search.

FAQ

According to TED's copyright notice, the procurement notices it publishes may be reused freely, commercially or not, unless a notice says otherwise. The actor reads them through TED's public search API without an account and returns what the buyer published about the procurement. You are responsible for how you use the results.

Why is the description in another language than the title?

TED writes the country and the CPV subject of every title in all 24 EU languages, but the buyer's own title and the description exist only in the languages the buyer published. For the description and the buyer name, the actor takes your language, then English, then whatever exists. languagesAvailable lists the languages the buyer published, and language says which one the title came in.

What is a CPV code?

The Common Procurement Vocabulary is the EU's list of what public bodies buy. Each code has eight digits, and the leading digits give the division: 45000000 is construction work and 72000000 is IT services. The buyer picks the codes for each notice.

Can I get UK tenders as well?

Since Brexit, UK buyers advertise on the UK's own services, and TED carried only 14 UK notices in August and September 2026. UK Tenders Scraper reads Find a Tender and Contracts Finder, and Public Tenders Scraper reads TED and both UK services in one run.

Support

This actor is built and maintained by deriverge s.r.o., a software company based in the Czech Republic. If a run fails or a field you need is missing, please open an issue in the Issues tab or write to us at info@deriverge.com. We respond in English and Czech. Runs can be scheduled in Apify Console or started from the API tab, which has examples for Python, JavaScript and cURL and works with Make, Zapier, n8n and the Apify MCP server. If the actor saves you time, a short review helps other people find it.