TED Europa Scraper [Only $3.5💰] | EU Tenders | Awards avatar

TED Europa Scraper [Only $3.5💰] | EU Tenders | Awards

Pricing

from $3.40 / 1,000 results

Go to Apify Store
TED Europa Scraper [Only $3.5💰] | EU Tenders | Awards

TED Europa Scraper [Only $3.5💰] | EU Tenders | Awards

Search EU public procurement notices on TED (ted.europa.eu) for tender monitoring and procurement intelligence: titles, buyers, CPV codes, estimated values, deadlines, award criteria, documents and winner info.

Pricing

from $3.40 / 1,000 results

Rating

0.0

(0)

Developer

Ahmed Jasarevic

Ahmed Jasarevic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

TED Europa Scraper

Search EU public procurement notices on TED (Tenders Electronic Daily, ted.europa.eu) for tender monitoring and procurement intelligence: notice titles, buyer authorities, countries, CPV codes, estimated values, submission deadlines, award criteria, procurement document links and winner information.

This actor does not use a browser and does not scrape HTML. It calls TED's official, anonymous Search API directly, the same JSON backend the ted.europa.eu website itself queries, so results are clean and structured.

Main Use Cases

  • EU tender monitoring for gov-con and public-sector contractors
  • B2B lead generation from open calls, filtered by country and CPV code
  • Procurement intelligence and competitor/winner analysis from award notices
  • Deadline tracking and opportunity pipelines for bid teams
  • Building structured tender databases for procurement SaaS and market research
  • Supply-market analysis by CPV sector and buyer country

How It Works

TED exposes an anonymous, keyless Search API for published notices. The actor calls it directly, so there is no CMS front door, no Cloudflare, no cookies and no JavaScript to render:

StepEndpointWhat it does
PrimaryPOST https://api.ted.europa.eu/v3/notices/searchReturn structured notice JSON for a query or filter set.
FallbackPOST https://tedweb.api.ted.europa.eu/v3/notices/searchSame API, used if the primary host is unavailable.

The API takes an expert query plus filters, returns up to 250 notices per page, sorts newest first, and includes multilingual titles, CPV arrays, values, deadlines and winner organisations, with per-notice links to the XML, PDF and HTML in all EU languages.

Extract EU Public Procurement Notices Without Scraping HTML

The TED homepage is a Liferay CMS shell, so notice data is not embedded in the served HTML and there is nothing to parse with CSS selectors; TED also uses no third-party search backend. The official Search API is therefore the cheapest and most reliable surface:

  • Filter by buyer country (ISO alpha-3), CPV code prefix and publication date window.
  • Choose all notices, only open calls (competition) or only award notices (with winner info).
  • Run raw expert queries such as publication-date >= 20260101 AND buyer-country=DEU.
  • Retrieve up to 15,000 notices per query in page mode (250 per page); narrow the date window for larger sweeps.

Get Tender Details And Winner Information

Two modes are available. In search mode the filters above drive a newest-first sweep of notices. In detail mode, pass direct notice URLs or publication numbers in noticeUrls to fetch each notice in full, ignoring the search filters. Award notices carry the winner name, country and the list of winners, plus the lowest and highest tender values, which is the dataset for competitor and winner analysis.

Input Parameters

FieldTypeRequiredDefaultNotes
querystringNopublication-date >= 20260101Raw TED expert query, AND-combined with the filters.
countryCodesarrayNo[]Buyer country filter (ISO alpha-3, for example DEU, FRA, CZE); OR-combined.
cpvCodesarrayNo[]CPV code prefix filter (for example 45000000 construction, 48000000 software); OR-combined.
noticeTypestringNoallall, competition (open calls) or award (award notices).
fromDatestringNo20260101Published on or after this date (YYYYMMDD).
toDatestringNoemptyPublished on or before this date (YYYYMMDD).
noticeUrlsarrayNo[]Direct notice URLs or publication numbers; detail mode ignores the search filters.
languagestringNoenPreferred language for titles and names, with fallback.
maxItemsintegerNo100Maximum notices (1 to 15000). Free users are capped at 20.
proxyobjectNoApify Proxy offProxy configuration used for the requests.

Output Fields

One item per notice:

  • publicationNumber, noticeId, procedureId: notice and procedure identifiers.
  • title, contractTitle: notice and contract titles.
  • buyerName, buyerCountry, buyerCountries, buyerCity, buyerEmail: buyer details.
  • cpvCodes, cpvMain: CPV classification.
  • value, valueCurrency, tenderValueLowest, tenderValueHighest: estimated and awarded values.
  • deadline, deadlineDate, deadlineTime: submission deadline.
  • awardCriteriaTypes, awardCriteriaNames: award criteria.
  • documentsLinks, pdfUrl, xmlUrl, url: procurement documents and notice links.
  • winnerName, winnerCountry, winners: winner info (award notices).
  • publicationDate, noticeType, noticeSubtype, formType: publication metadata.

Dataset view: overview.

Example Input And Output

Example input:

{
"countryCodes": ["DEU", "FRA"],
"cpvCodes": ["48000000"],
"noticeType": "competition",
"fromDate": "20260101",
"maxItems": 100
}

Example output row:

{
"publicationNumber": "685618-2026",
"noticeId": "685618-2026",
"procedureId": "a1b2c3d4-0001",
"title": "Supply of enterprise software licences",
"contractTitle": "Enterprise software licences",
"buyerName": "Example Federal Agency",
"buyerCountry": "DEU",
"buyerCountries": ["DEU"],
"buyerCity": "Berlin",
"buyerEmail": "procurement@example.de",
"cpvCodes": ["48000000"],
"cpvMain": "48000000",
"value": "250000",
"valueCurrency": "EUR",
"deadlineDate": "2026-11-30",
"deadlineTime": "12:00",
"awardCriteriaTypes": ["price"],
"awardCriteriaNames": ["Lowest price"],
"documentsLinks": ["https://ted.europa.eu/en/notice/-/detail/685618-2026"],
"publicationDate": "2026-10-10",
"noticeType": "competition",
"formType": "competition",
"url": "https://ted.europa.eu/en/notice/-/detail/685618-2026",
"pdfUrl": "https://ted.europa.eu/en/notice/-/detail/685618-2026/pdf",
"xmlUrl": "https://ted.europa.eu/en/notice/-/detail/685618-2026/xml"
}

Integrations & Automation

Results are written to Apify datasets, so you can export them as JSON, CSV or Excel, read them through the Apify API, or push them onward with webhooks. Connect the actor to Zapier or Make to load rows into a CRM, a bid pipeline, a spreadsheet or a BI tool.

For new-tender alerts, schedule the actor daily (or hourly) with a rolling fromDate, so each run returns only the notices published since the last run. A weekly schedule is usually enough for market research. Recurring runs also help the actor surface better in the Apify Store.

FAQ

Is there an official TED API?

Yes. TED publishes an anonymous, keyless Search API for published notices (POST /v3/notices/search), and it is the same backend the ted.europa.eu website queries. This actor wraps it: it adds filters and pagination and returns a flattened row, so you do not have to build the expert query and field mapping yourself.

What are the alternatives to this actor for EU tender data?

Alternatives include calling the official TED Search API directly, third-party providers such as tedapi.pro, paid tender-intelligence platforms, and other Apify Store actors that focus on TED or EU public tenders. This actor returns both open calls and award notices with winner info from a single configuration.

Why use this actor instead of calling the TED API myself?

The API is keyless and free, but you have to build the expert query, map around 1,250 available fields to a flat row, and handle pagination and the 15,000-notice page-mode cap. This actor does that mapping and returns one clean JSON row per notice, with the fields most teams need already flattened.

Can I get only open calls or only awards?

Yes. Set noticeType to competition for open calls (contract notices) or award for award notices, which include the winner name, country and the list of winners.

Does it return winner information?

Yes, on award notices: winnerName, winnerCountry and the winners array, plus tenderValueLowest and tenderValueHighest.

The Search API page mode can retrieve at most 15,000 notices per query. Narrow the date window (fromDate/toDate) to sweep more history in separate runs. With no filters at all, the actor defaults to the last 7 days.

SEO Keywords

ted europa scraper, ted scraper, eu public procurement data, eu tenders, eu tender monitoring, ted tenders api, public procurement notices, tender intelligence, cpv code search, eu tender leads, government contracts eu, award notices, tender winner data, procurement lead generation, bid opportunity tracking, eu public tenders scraper, ted europa api, tender deadline tracking, procurement market research, govcon leads, eu procurement database, ted notices export, tender data extraction, public sector tenders

For AI Agents & LLM Apps

Purpose: return EU public procurement notice rows (buyer, CPV, value, deadline, documents, winner) from TED for a query or filter set.

Minimal working input:

{ "countryCodes": ["DEU"] }

Variant that fetches award notices with winner info:

{ "noticeType": "award", "cpvCodes": ["45000000"], "fromDate": "20260101", "maxItems": 100 }

Output fields: publicationNumber, noticeId, procedureId, title, contractTitle, buyerName, buyerCountry, buyerCountries, buyerCity, buyerEmail, cpvCodes, cpvMain, value, valueCurrency, deadline, deadlineDate, deadlineTime, awardCriteriaTypes, awardCriteriaNames, documentsLinks, winnerName, winnerCountry, winners, tenderValueLowest, tenderValueHighest, publicationDate, noticeType, noticeSubtype, formType, url, pdfUrl, xmlUrl.

Behaviors an agent should know:

  • query is AND-combined with countryCodes, cpvCodes, noticeType and the date filters; countryCodes and cpvCodes are OR-combined within themselves.
  • noticeUrls switches to detail mode and ignores all search filters.
  • With no filters at all, the actor defaults to notices from the last 7 days.
  • maxItems is capped at 15,000 (the Search API page-mode cap); leaving it unset uses the default of 100. Free users are capped at 20.
  • The API is anonymous and unprotected, so no proxy is needed by default.

Billing: pay-per-event. apify-actor-start (about $0.00005) and one apify-default-dataset-item per notice (about $0.0035, less at higher loyalty tiers).

This actor is independent and is not affiliated with, endorsed by or sponsored by the Publications Office of the European Union or the TED service. It reads only publicly available data through TED's own anonymous Search API: it does not log in, does not bypass authentication and does not solve CAPTCHAs.

Users are responsible for complying with the terms that apply to TED data and with any applicable rules in their own jurisdiction. Where the output contains buyer contact details such as buyerEmail, that data must not be used for unsolicited commercial outreach in violation of applicable law.