EU Tenders Scraper (TED) - Public Contracts, Winners avatar

EU Tenders Scraper (TED) - Public Contracts, Winners

Pricing

from $0.83 / 1,000 notices

Go to Apify Store
EU Tenders Scraper (TED) - Public Contracts, Winners

EU Tenders Scraper (TED) - Public Contracts, Winners

Scrape EU public tenders from TED, the official EU journal: open calls with deadline, value, buyer email and documents, plus awards with winners. Filter by keyword, country, CPV, buyer, procedure, nature, value, date. Optional AI summary with your own key. $1.50 per 1,000 notices.

Pricing

from $0.83 / 1,000 notices

Rating

0.0

(0)

Developer

Khandji Omar

Khandji Omar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

EU Tenders Scraper (TED) — Public Contracts, Winners

Scrape EU public tenders from TED (Tenders Electronic Daily), the official journal of EU procurement: open calls with deadline, estimated value, buyer email, documents and submission links, and contract awards with the winning companies, their emails and the contract value. Filter by keyword, country, CPV code and date. Official API, no key. $1.50 per 1,000 notices, no start fee.

Free tier — 20 results free on every run

The first 20 results of every run are free, on every run you ever make — not a one-off trial. One guard: the free allowance never covers more than half of a run, so the offer stays sustainable.

What does this EU tenders scraper do?

It searches every public procurement notice published by the EU and EEA countries (France, Germany, Italy, Spain, Poland, Netherlands, Ireland, Nordics…) above the EU thresholds — hundreds of thousands per year — and returns clean rows: one per notice, with titles in English when available.

Compared with foxlabs/ted-tenders

Read on the Store on 2026-10-23 (EU TED Tenders Scraper — Public Procurement & RFP Data). Where it does better, this section says so.

  • Built on the site's own data, not a resold scraper: no second Actor between you and the source.
  • Free results on every run and a hard cost cap (maxTotalChargeUsd).
  • Price: $1.5 per 1,000 here, $4 there.

Why use it

  1. Open tenders to bid on: title, description, deadline, estimated value, buyer contact, documents link and submission link.
  2. Winners of past contracts: company names, countries, emails and the awarded value — a ready B2B lead list (who sells IT, cleaning, construction… to the public sector).
  3. Precise filters: keywords in any language, buyer countries, CPV categories (a code includes its sub-codes), notice kind, publication dates, "still open" deadlines.
  4. Official source: the EU's own TED API, stable and complete.
  5. Cheaper than the alternatives ($0.0015 per notice, no start fee).
  6. Monitoring: schedule it daily with publishedAfter to get each new tender once.

How to use it in 3 steps

  1. Click Try for free — keyword "software", France and Germany, open calls are prefilled.
  2. Change the keywords, countries, CPV codes or notice kind.
  3. Click Start and download JSON, CSV or Excel.

Input

FieldWhat it does
keywordsWords searched in the full notice text (any of them).
countriesBuyer countries as two-letter codes: FR, DE, IT, ES, PL, NL, IE…
cpvCodesEU procurement categories: 72000000 = all IT services, 45000000 = construction, 79000000 = business services.
noticeKindAll, open calls, contract awards (winners), or planned procurements.
onlyOpenDeadlinesKeep only calls you can still answer.
publishedAfter / publishedBeforeDates (default: last 30 days).
languagePreferred language for titles and texts (English by default).
maxNoticesNewest first, 1 to 15,000. Default 100.
customQueryA TED expert query instead of the filters.
buyerNamePart of the buyer's name.
procedureTypesopen, restricted, neg-w-call, neg-wo-call, comp-dial, innovation...
contractNaturesworks, services, supplies.
minValueMinimum estimated or awarded value, in EUR.
analyzeWithAi + anthropicApiKeyOptional AI reading of each result with your own Anthropic key (summary, deliverables, 0-100 fit score and recommended action; describe your company in businessProfile). aiModel picks the Claude model, maxAiRows caps how many results are read. The model usage is billed by Anthropic to you.
maxTotalChargeUsdOptional hard cost cap for the run.
{
"cpvCodes": ["72000000"],
"countries": ["FR", "BE", "LU"],
"noticeKind": "awarded",
"publishedAfter": "2026-09-01",
"maxNotices": 500
}

Output

Real example — a contract award (emails masked here):

{
"noticeId": "677198-2026",
"title": "France – Computer-related services – La fourniture de service et d'accompagnement sur les sujets Cloud, Data & IA en particulier pour KEDGE BS",
"noticeType": "can-standard",
"procedureType": "open",
"contractNature": "services",
"publicationDate": "2026-10-01",
"buyerName": "KEDGE BUSINESS SCHOOL",
"buyerCountry": "FRA",
"buyerCity": "Talence",
"buyerEmail": "pole.achats@…",
"buyerWebsite": "http://www.kedge.edu",
"estimatedValue": 3600000.0,
"estimatedValueCurrency": "EUR",
"totalValue": 3600000.0,
"totalValueCurrency": "EUR",
"cpvCodes": ["72500000", "72227000", "72228000"],
"winners": ["SOPRA STERIA GROUP", "ENGIT", "IKKI LEAGUE", "TNP CONSULTANTS", "SFEIR"],
"winnerCountries": ["FRA"],
"winnerEmails": ["…@soprasteria.com", "…@engit.fr"],
"noticeUrl": "https://ted.europa.eu/en/notice/-/detail/677198-2026",
"pdfUrl": "https://ted.europa.eu/en/notice/677198-2026/pdf"
}

Open calls also carry deadline, documentsUrl and submissionUrl.

How much does it cost?

EventPrice
Notice$0.0015 ($1.50 per 1,000)
Start feenone

Up to 20 notices of every run are free (at most half of the run). A query TED rejects is reported and never charged. Paid Apify plans get lower tier prices.

Use cases

  • Bid teams and consultants — every new open tender in your sector and countries, daily.
  • B2B sales — companies that win public contracts in your field, with contacts and values.
  • Market intelligence — who buys what, for how much, and who wins.
  • Journalism and research — public spending by buyer, sector and country.

Use it from code (API)

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("om_kh/eu-tenders-scraper").call(run_input={
"keywords": ["cybersecurity"],
"noticeKind": "open",
"onlyOpenDeadlines": True,
})
for t in client.dataset(run["defaultDatasetId"]).iterate_items():
print(t["deadline"], t["buyerCountry"], t["title"], t["submissionUrl"])
curl -X POST "https://api.apify.com/v2/acts/om_kh~eu-tenders-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"keywords": ["software"], "countries": ["IE"], "maxNotices": 20}'

Integrations and MCP

Schedule it every morning and send new tenders to Slack, Teams, Google Sheets or a CRM with n8n, Make or Zapier. AI agents can call it through https://mcp.apify.com as om_kh/eu-tenders-scraper.

Tips and limits

  • TED covers tenders above the EU thresholds; smaller national-only tenders are on each country's own portal.
  • Some notices give values per lot only, or none; empty fields mean the buyer did not publish them.
  • One query returns at most 15,000 notices — narrow by dates or countries for more.

FAQ

Do I need a TED account or API key? No.

Is it legal? TED is the EU's open data publication of public procurement. Use contact data in line with the GDPR and anti-spam rules that apply to you.

Your feedback

Did this Actor save you time? A short review on the Reviews tab helps other people find it, and every review is read. Something missing or broken? Open an issue on the Issues tab: it is answered and fixed fast.