EU Public Tenders Search, from TED data avatar

EU Public Tenders Search, from TED data

Pricing

from $2.10 / 1,000 tender notices

Go to Apify Store
EU Public Tenders Search, from TED data

EU Public Tenders Search, from TED data

Search European public tenders using open data from TED (Tenders Electronic Daily), the EU procurement journal. Filter by keywords, CPV codes, countries, dates, notice types and days left to bid. English titles, CPV descriptions, values, deadlines and lots. Not affiliated with the EU.

Pricing

from $2.10 / 1,000 tender notices

Rating

0.0

(0)

Developer

br_data_hub

br_data_hub

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Find European public tenders from TED (Tenders Electronic Daily), the official journal where public buyers in the EU and EEA must publish every procurement above the EU thresholds: about 750,000 notices a year from 30+ countries.

Search by keywords, CPV codes, buyer countries, publication dates and notice types, keep only tenders that are still open or have at least N days left to bid, and get every notice in one clean, flat format: English title when TED has it, buyer, city, country, CPV codes with descriptions, estimated value and currency, procedure, submission deadline, days to deadline and lots.

Use it to find sales opportunities with European governments, build a daily tender alert for your product, or give an AI agent a live view of EU public procurement.

What you get per notice

  • Publication number, publication date, link to the notice on TED and to the PDF
  • Notice type (contract notice, prior information, award...) with its name
  • Title in your preferred language (English by default), with the language actually used in titleLanguage
  • Buyer name, city and country (ISO code and name), places of performance (country and NUTS codes)
  • Main CPV code and description, and every CPV code of the notice with its description
  • Contract nature (works, supplies, services) and procedure (open, restricted, negotiated...)
  • Estimated value and currency (procedure value, or the sum of the lots)
  • Next submission deadline (date and time), and days left until it; for restricted and negotiated procedures this is the deadline for requests to participate (deadlineType)
  • Lots: identifier and title

Input

FieldDescription
keywordsWords searched by TED in the full text of the notice (any word matches). Default ["software"].
cpvCodesCPV codes, e.g. 72000000 (IT services). Check digit optional; a prefix like 72 means the whole division.
countriesBuyer countries, ISO 2 or 3 letters, e.g. ["DE", "FR"]. Empty = all.
noticeTypescontract-notice (default), prior-information-call, prior-information, design-contest, qualification-system, subcontracting, pre-market-consultation, contract-award, voluntary-ex-ante, contract-modification. Empty = all.
publishedWithinDaysPublication window, default the last 14 days.
publishedFrom / publishedToExact publication dates (YYYY-MM-DD); override the window.
onlyOpenSkip notices whose deadline has passed (default true).
minDaysToDeadlineOnly notices with at least this many days left to bid.
minEstimatedValueMinimum estimated value, in the notice's currency (mostly EUR).
titleLanguagePreferred language for titles and names (en, fr, de...). Default en.
maxItemsStop after this many notices (default 50).

Keywords, CPV codes, countries, dates and notice types are filtered by TED itself, so they are fast. Deadline and value are checked by the Actor while reading the results. The default input finishes in a few seconds.

Output example

{
"publicationNumber": "900001-2026",
"noticeUrl": "https://ted.europa.eu/en/notice/-/detail/900001-2026",
"publicationDate": "2026-10-28",
"noticeType": "cn-standard",
"noticeTypeName": "Contract or concession notice – standard regime",
"title": "Germany – Software maintenance services – Maintenance of business applications",
"titleLanguage": "en",
"buyerName": "Beispielstadt Musterhausen",
"buyerCity": "Musterhausen",
"countryCode": "DE",
"countryName": "Germany",
"contractNature": "Services",
"procedureType": "Open",
"mainCpvCode": "72267000",
"mainCpvDescription": "Software maintenance and repair services",
"cpv": [{ "code": "72267000", "description": "Software maintenance and repair services" }],
"estimatedValue": 370000.5,
"currency": "EUR",
"submissionDeadline": "2026-11-20",
"submissionDeadlineTime": "12:00",
"daysToDeadline": 21,
"deadlineType": "tenders",
"lots": [{ "lotId": "LOT-0001", "title": "Lot 1 – core systems" }]
}

(Illustrative values.)

How much does it cost?

Pay per event, no usage fees on top: US$ 0.003 per notice returned (notice event), i.e. US$ 3 per 1,000 notices.

Searching, paging, notices removed by your filters and failed runs are free.

$0.003 per tender notice (notice event, pay per event). Charged once per TED notice returned. Paging, notices removed by your filters and errors are free.

You getFree tierBronze tier (10% off)Gold tier (30% off)
100 tender notices$0.30$0.27$0.21
1,000 tender notices$3.00$2.70$2.10
10,000 tender notices$30.00$27.00$21.00

Discounts follow your Apify subscription tier: Bronze 10%, Silver 20%, Gold and above 30%. No subscription to this Actor and no charge for platform usage: you pay only for results. The Apify Free plan includes $5 of monthly credit, enough for about 1,666 tender notices at the list price. You can cap the cost of any run with Maximum cost per run; the Actor stops when it is reached.

Data source

Official TED Search API of the Publications Office of the European Union (api.ted.europa.eu/v3/notices/search), open and without an API key, made for reuse of TED data including by commercial services. CPV descriptions, country names, notice types and procedure names come from the official eForms codelists (eForms SDK). Data is as published by each buyer; some notices have no estimated value or no English title. Only public-body data is returned; contact persons, e-mails and phone numbers are not collected. Always check the official notice on TED before bidding.

Disclaimer: this Actor is an independent tool. It is not affiliated with, endorsed by or operated by the European Union, the Publications Office of the EU or TED. "TED" is used only to describe the data source.

More questions

Does it include tenders below the EU thresholds?

Only what is published on TED. TED is mandatory above the EU procurement thresholds; some buyers also publish smaller tenders there voluntarily, but most below-threshold tenders appear only on national portals, which this Actor does not read.

How do keywords and CPV codes combine?

Keywords are searched by TED in the full text of each notice, and any keyword matches (software OR cloud). All other filters must match together: keywords AND CPV codes AND countries AND notice types AND the publication window. A CPV code can be a prefix: 72 is the whole IT services division and 722 its software subgroup; the check digit (72000000-5) is optional.

What happens to notices without a deadline or without an estimated value?

With onlyOpen on, only notices whose deadline has passed are removed; notices with no deadline in the data are kept. minDaysToDeadline keeps only notices with a deadline at least that many days away, so notices without a deadline are left out. minEstimatedValue keeps only notices with a value at or above it, so notices without a value are left out too. When a notice has several lots, submissionDeadline is the earliest deadline not yet passed.

Why is the title not in English?

Titles and names come in titleLanguage (default English) when TED has that language, then in English, otherwise in the original language of the notice. titleLanguage in the output tells you which language you got.

What is the difference between "tenders" and "requestsToParticipate" in deadlineType?

In open procedures the deadline is for submitting tenders. In restricted and negotiated procedures the buyer first takes requests to participate, so when the notice has no tender deadline, the request deadline is returned and deadlineType is requestsToParticipate.

Is the estimated value converted to euros?

No. estimatedValue is in the notice's currency (mostly EUR; some countries use their own currency). When the procedure has no total, the lot values are added up, but only if all lots use the same currency. minEstimatedValue compares in the notice's currency.

How do I build a daily tender alert?

Set publishedWithinDays to 1 (or 2 to cover weekends and delays), keep onlyOpen on, add your keywords, CPV codes and countries, and schedule the Actor daily on Apify with a webhook or an integration (e-mail, Slack, Google Sheets). Each notice is returned and charged only once per run.

How many notices can one run return?

Up to maxItems (default 50, maximum 100,000). The Actor reads TED page by page and stops as soon as it has enough matching notices or reaches your maximum cost per run. Notices read but removed by the deadline, value or CPV filters are free.

Use it via API

Run it from any language and get the results as JSON. Replace <YOUR_API_TOKEN> with your Apify API token.

curl -X POST "https://api.apify.com/v2/acts/br_data_hub~eu-ted-tenders/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"keywords": ["software"]}'
from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("br_data_hub/eu-ted-tenders").call(run_input={'keywords': ['software']})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

You can also schedule runs, send results to webhooks, or connect the Actor to Make, Zapier, n8n, Google Sheets and other integrations.

Use it with AI agents (MCP)

This Actor is ready for AI agents: typed input and output schemas, pay-per-event pricing, limited permissions and short runs.

  • Apify MCP server: add https://mcp.apify.com/?tools=br_data_hub/eu-ted-tenders to Claude, ChatGPT, Cursor, VS Code or any MCP client, and the agent can call this Actor as a tool.
  • Agent frameworks: call it from LangChain, LlamaIndex, CrewAI or the OpenAI Agents SDK through the Apify integrations, or with the API call above.
  • Results come as structured JSON with stable field names, documented in the Output tab.

FAQ

Where does the data come from?

Official TED Search API of the Publications Office of the European Union (api.ted.europa.eu/v3/notices/search), open and without an API key, made for reuse of TED data including by commercial services. CPV descriptions, country names, notice types and procedure names come from the official eForms codelists (eForms SDK). Data is as published by each buyer; some notices have no estimated value or no English title. Only public-body data is returned; contact persons, e-mails and phone numbers are not collected. Always check the official notice on TED before bidding.

How much does it cost?

$0.003 per tender notice. Discounts follow your Apify subscription tier: Bronze 10%, Silver 20%, Gold and above 30%. See How much does it cost? above for examples.

Do I pay for errors or empty results?

No. Charged once per TED notice returned. Paging, notices removed by your filters and errors are free.

Can I run it on a schedule or connect it to other tools?

Yes. Use Apify schedules to run it daily or weekly, webhooks to get notified, and integrations such as Make, Zapier, n8n and Google Sheets. Everything also works through the API.

Can AI agents use it?

Yes. It works as a tool in the Apify MCP server and in agent frameworks, and AI agents can pay per event. See Use it with AI agents (MCP).

The Actor reads only public sources. You are responsible for how you use the data and for complying with the source's terms and with privacy laws such as GDPR.

I found a bug or need a feature. What should I do?

Open an issue in the Issues tab. We answer within 14 days, usually much sooner.

More Actors from BR Data Hub

ActorWhat it does
EU VAT Number Bulk Validator (from VIES data)Bulk-check EU and Northern Ireland (XI) VAT numbers using the European Commission's public VIES service: valid
LEI Lookup & Corporate Ownership Tree, from GLEIF dataLook up companies by LEI or name in GLEIF's open Global LEI Index: legal data, direct and ultimate parent, sub
Sanctions Screening: OFAC, UN, EU, UKScreen people and companies using data from the official OFAC SDN and Consolidated, UN Security Council, EU an
US Company Financials from SEC XBRL Data (normalized)Standardized financial statements of US-listed companies, built from public SEC XBRL data: revenue, profits, E
Entity Resolver & ID Crosswalk (from Wikidata data)Resolve company, brand, organization and place names to the right Wikidata entity with an explained confidence

See all our Actors at apify.com/br_data_hub.

Usar em português

Licitações públicas europeias do TED (Diário Oficial da UE), pela API oficial e aberta. Filtros por palavras-chave, códigos CPV, países, datas de publicação, tipo de aviso e prazo mínimo restante. Cada aviso vem com comprador, país, cidade, título em inglês (ou no idioma original, indicado em titleLanguage), CPV com descrição, valor estimado e moeda, procedimento, prazo de proposta, dias até o prazo, lotes e link. Cobrança só pelos avisos devolvidos (US$ 0,003 cada). Ferramenta independente, sem afiliação com a União Europeia nem com o TED. Confira sempre o aviso oficial no TED antes de concorrer.

Quanto custa: $0.003 por resultado (notice); 1.000 resultados saem por $3.00. Desconto pelo nível da assinatura Apify: Bronze 10%, Silver 20%, Gold ou acima 30%. Erros e consultas sem resultado não são cobrados. Use também pela API ou por agentes de IA no servidor MCP da Apify (https://mcp.apify.com/?tools=br_data_hub/eu-ted-tenders).