EU TED Tenders Scraper: Public Procurement by CPV & Country avatar

EU TED Tenders Scraper: Public Procurement by CPV & Country

Pricing

from $3.00 / 1,000 tender notices

Go to Apify Store
EU TED Tenders Scraper: Public Procurement by CPV & Country

EU TED Tenders Scraper: Public Procurement by CPV & Country

Search EU public procurement notices on TED (Tenders Electronic Daily) by CPV code (sub-codes included), buyer country, date range and keyword. One row per notice: buyer, country, CPV, title, estimated value, deadline, procedure type. Contact-person data removed. Not affiliated with the EU.

Pricing

from $3.00 / 1,000 tender notices

Rating

0.0

(0)

Developer

Aerion

Aerion

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Security

Limited permissions

Share

EU TED Tender Notices

Find new EU tender opportunities on TED (Tenders Electronic Daily) without manual searching. Filter by CPV code (sub-codes included), buyer country, publication date and keyword, and get one clean row per notice with buyer, CPV codes, title, estimated and total value, tender deadline, procedure type and framework flag, in your preferred EU language where available. Contact-person data is removed. Ideal for bid teams, procurement consultants and market researchers.

What does EU TED Tender Notices do?

It searches published public procurement notices of the European Union on TED (Tenders Electronic Daily, the online version of the Supplement to the Official Journal of the EU) and returns one clean row per notice: buyer, country, CPV codes, title, optional description, estimated and total value, tender deadline, procedure type and framework flag. Filter by CPV code (sub-codes included), buyer country, publication date range and keyword. Titles and descriptions are returned in your preferred EU language when the notice has that version, otherwise in the original language.

Data freshness: TED publishes new notices every working day; this Actor queries the public TED search API at run time, so results reflect what TED returns at that moment.

Personal data

Notices can contain names, e-mail addresses and phone numbers of contact persons. This Actor never requests those fields, removes any contact field that still appears (also when nested), and removes e-mail addresses and phone numbers found inside titles and descriptions. Web links and host names found in free-text fields (titles and descriptions) are replaced by [link removed]: links starting with http, https, ftp or www, and host names written in lower case with any valid top-level domain (this also applies to a brand written as a domain inside a title). Organisation names (buyerName, buyerNames) are kept exactly as published, even when they contain a domain-style brand. Winner/tenderer details are not included at all. Descriptions are free text written by the buyer and may contain names of persons, which cannot be detected automatically. They are therefore off by default; turn on includeDescriptions only if you need them (e-mail addresses and phone numbers are still removed).

How much does it cost?

This Actor uses pay-per-event pricing: you pay a small fee per run start and per tender notice saved to the dataset (event tender-notice). Duplicate or malformed notices are not charged. Set Maximum results (maxItems) or a run spending limit to cap your cost; the Actor stops cleanly and keeps the results collected so far.

EventWhenPrice (USD)
tender-noticeone notice saved to the dataset0.003
Actor startcharged by the platform when a run starts0.00005

Input

FieldTypeDescription
cpvCodesarray of stringsCPV codes, 8 digits (e.g. 72000000). Sub-codes are included. Empty = all.
countriesarray of stringsBuyer country, ISO code with 2 or 3 letters (DE or DEU). Empty = all.
keywordstringOptional full-text search.
publishedFrom / publishedTostring (YYYY-MM-DD)Publication date range.
publishedWithinDaysintegerLast N days (default 7), used when publishedFrom is empty.
languagestringPreferred language for titles/descriptions (default English, eng).
includeDescriptionsbooleanInclude the procedure description (free text, max 2000 characters). Off by default. Free text may contain names of persons.
maxItemsintegerStop after this many notices (default 50).

Output

Each result is one record in the dataset. Example (real record from a local test run on saved TED data, with includeDescriptions turned on; by default description and descriptionLanguage are null):

{
"noticeId": "696529-2026",
"noticeVersion": 1,
"noticeIdentifier": "4199552c-1e81-40d6-ae0e-82e8b785adf4",
"noticeType": "cn-standard",
"noticeSubtype": "16",
"formType": "competition",
"publicationDate": "2026-10-08",
"dispatchDate": "2026-10-06",
"title": "Prestación de los servicios necesarios para el desarrollo e implantación de una aplicación a medida para realizar los procesos de gestión de fondos con financiación del FONDO SOCIAL EUROPEO+ (FSE+) de la Fundación Biodiversidad.",
"titleLanguage": "spa",
"noticeTitle": "Spain – Custom software development services – Prestación de los servicios necesarios para el desarrollo e implantación de una aplicación a medida para realizar los procesos de gestión de fondos con financiación del FONDO SOCIAL EUROPEO+ (FSE+) de la Fundación Biodiversidad.",
"noticeTitleLanguage": "eng",
"description": "Los trabajos solicitados incluyen el diseño, desarrollo, integración con otras herramientas, implantación, despliegue y puesta en marcha, documentación, formación y gestión del cambio, y mantenimiento de la aplicación de gestión de fondos FSE+ denominada AGFSE.",
"descriptionLanguage": "spa",
"buyerName": "Dirección de la Fundación Biodiversidad",
"buyerNames": [
"Dirección de la Fundación Biodiversidad"
],
"buyerCity": "Madrid",
"buyerCountry": "ESP",
"buyerCountries": [
"ESP"
],
"buyerLegalType": "pub-undert-cga",
"cpvMain": "72230000",
"cpvCodes": [
"72230000"
],
"contractNature": "services",
"procedureType": "open",
"tenderDeadline": "2026-11-17",
"estimatedValue": 550000,
"estimatedValueCurrency": "EUR",
"estimatedValueBasis": "procedure",
"totalValue": 550000,
"totalValueCurrency": "EUR",
"placeOfPerformanceCountries": [
"ESP"
],
"placeOfPerformanceNuts": [
"ES300"
],
"officialLanguages": [
"spa"
],
"frameworkAgreement": false,
"source": "TED (Tenders Electronic Daily) / Publications Office of the European Union",
"attribution": "Source: TED (Tenders Electronic Daily), Supplement to the OJ EU, © European Union, 1998-2026. Reused under Commission Decision 2011/833/EU; reformatted by this Actor (contact data and links in free text removed), may differ from the published notice; only the published notice is authentic. Not affiliated with or endorsed by the EU or the Publications Office.",
"scrapedAt": "2026-10-09T15:50:49.891Z"
}

The output contains no notice page or PDF links, and web addresses in free-text fields are replaced by [link removed]; organisation names are kept as published and may contain a domain-style brand name. Use noticeId (the TED publication number) to look a notice up on TED.

Every run also writes a RUN_SUMMARY record (counts, success rate, why the run stopped) and an errors dataset with one row per problem (no personal data, no stack traces).

Data source and license

Source: Tenders Electronic Daily (TED), Supplement to the Official Journal of the European Union, © European Union, 1998-2026. Reused under the European Commission's reuse policy (Commission Decision 2011/833/EU). Data is reformatted by this Actor (fields selected and renamed, contact data and web links in free text removed) and may differ from the published notice. This Actor is not affiliated with or endorsed by the European Union or the Publications Office of the European Union.

TED states that only the electronically signed notices published in the Supplement to the Official Journal of the European Union are authentic, so check the official notice before you rely on it. TED and EU logos are not used. This Actor uses the public TED search service, respects its fair usage policy and makes at most about 1 request every 1.5 seconds.

Limitations

  • Searches published notices only (no draft or unpublished notices, no documents/attachments).
  • Values are copied as published; some notices publish only lot values (estimatedValueBasis = sum-of-lots) or no value.
  • Link detection in free text is pattern-based: unusual spellings (for example a host name written in capitals with a rare ending) may not be recognised.
  • Names of persons written inside free text (titles, and descriptions if turned on) cannot be detected automatically; e-mail addresses and phone numbers are removed. Descriptions are off by default for this reason.
  • Language tags are copied from TED; occasionally a text is tagged with a different language than it is written in.

Support

Found a problem or need a field? Open an issue in the Issues tab of this Actor. We aim to respond within 48 hours.


This Actor was developed with AI assistance and is covered by automated tests.