EU TED Public Tenders Scraper avatar

EU TED Public Tenders Scraper

Pricing

from $5.00 / 1,000 notice results

Go to Apify Store
EU TED Public Tenders Scraper

EU TED Public Tenders Scraper

Search EU TED public procurement notices via the official TED Search API. Filter by country, CPV, dates; get normalized JSON with deadlines, buyers, and document links. HTTP-only.

Pricing

from $5.00 / 1,000 notice results

Rating

0.0

(0)

Developer

Christopher Rosil

Christopher Rosil

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Search and download European Union public procurement notices from the official TED (Tenders Electronic Daily) portal — normalized JSON rows ready for CRM, alerts, or bid research.

Built for buyers who need structured EU tender data without writing TED expert queries by hand. Day-1 covers TED Europa’s public Search API (HTTP/JSON). No browser automation. No India GeM login.

What it returns

Each dataset item is one TED notice (normalized), including:

  • noticeId — TED publication number (e.g. 579968-2026)
  • title — preferred-language title
  • buyerName — contracting authority
  • buyerCountry — ISO-3 country code
  • cpvCodes — unique CPV list
  • publicationDate — when TED published the notice
  • deadline — earliest tender receipt deadline when present
  • estimatedValue / estimatedValueCurrency — when present on the notice
  • totalValue / totalValueCurrency — award/total value when present
  • procedureType / noticeType / contractNature
  • documentUrls — procurement document links when present
  • noticeUrl — public TED HTML detail page
  • xmlUrl — official XML link
  • source — always ted on Day-1 (extensible later)

Copy-paste input example

{
"searchQuery": "software",
"countries": ["DEU"],
"cpvCodes": ["72000000"],
"dateFrom": "2026-08-01",
"scope": "ACTIVE",
"preferredLanguage": "eng",
"maxResults": 50,
"dedupeBy": "notice-id"
}

Sample output (EXAMPLE — synthetic shape from live TED fields)

{
"noticeId": "579968-2026",
"title": "Germany – IT services: consulting, software development, Internet and support – EXAMPLE framework IT consulting",
"buyerName": "Example Universitätsmedizin Berlin",
"buyerCountry": "DEU",
"cpvCodes": ["72000000", "72220000", "72224000"],
"publicationDate": "2026-08-21",
"deadline": "2026-08-28",
"estimatedValue": null,
"estimatedValueCurrency": null,
"totalValue": null,
"totalValueCurrency": null,
"procedureType": "open",
"noticeType": "cn-standard",
"contractNature": ["services"],
"documentUrls": ["https://example-buyer-portal.example/tenderdocuments"],
"noticeUrl": "https://ted.europa.eu/en/notice/-/detail/579968-2026",
"xmlUrl": "https://ted.europa.eu/en/notice/579968-2026/xml",
"source": "ted",
"ojsNumber": null,
"procedureId": null
}

(Labeled EXAMPLE: field names and URL patterns match the live API; org names/titles may be shortened for Store readability.)

Pricing (PPE)

EventPriceNotes
notice-result$0.005 / noticePrimary event — one charge per unique notice pushed
First ~50 resultsFreeConfigure free event count in Console monetization
Actor startFree / platform defaultDo not charge start-only

One serious buyer pulling 4,000 paid notices/month clears **$20**. Charge path uses Actor.pushData(row, "notice-result") with in-run dedupe by noticeId; the Actor stops cleanly when ACTOR_MAX_TOTAL_CHARGE_USD / eventChargeLimitReached is hit.

Honest limitations

  • TED only on Day-1. National portals (and India GeM) are out of scope for this release.
  • Public notices only — anonymous Search API; no eSender submission, no unpublished drafts.
  • Rate limits apply (TED fair use: e.g. ≤700 HTTP requests/minute). Large pulls use ITERATION pagination and may take time.
  • Search returns notice projections, not a full lot-relational model. Lot-perfect joins may require following XML (optional future).
  • ACTIVE scope is TED’s convenience set — not a guarantee every row is still open for bids; always check deadline / notice type.
  • Historical depth via Search is roughly the last 10 years (scope: ALL), not a permanent legal archive.

Who it is for

Bid teams, market-intel analysts, and integrators who want EU OJ S / TED notices as clean JSON with filters for country, CPV, and dates.

Multi-portal roadmap (v1+)

Same dataset schema (source discriminator). Planned adapters (public HTTP where possible): DTVP, evergabe, UNGM / World Bank. v0 ships TED-class depth (batch queries, ITERATION pagination, normalize, cross-query dedup) so the product is not a thin single-endpoint wrapper.

Memory / runtime

  • Default 256 MB (min 256 / max 512). HTTP JSON only — no browser.
  • One run = many queries/pages (batch input). Pagination mode: ITERATION (iterationNextToken).

Source