EU TED Public Tenders Scraper
Pricing
from $5.00 / 1,000 notice results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
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 titlebuyerName— contracting authoritybuyerCountry— ISO-3 country codecpvCodes— unique CPV listpublicationDate— when TED published the noticedeadline— earliest tender receipt deadline when presentestimatedValue/estimatedValueCurrency— when present on the noticetotalValue/totalValueCurrency— award/total value when presentprocedureType/noticeType/contractNaturedocumentUrls— procurement document links when presentnoticeUrl— public TED HTML detail pagexmlUrl— official XML linksource— alwaystedon 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)
| Event | Price | Notes |
|---|---|---|
notice-result | $0.005 / notice | Primary event — one charge per unique notice pushed |
| First ~50 results | Free | Configure free event count in Console monetization |
| Actor start | Free / platform default | Do 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).
ACTIVEscope is TED’s convenience set — not a guarantee every row is still open for bids; always checkdeadline/ 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
- TED Search API docs: https://docs.ted.europa.eu/api/latest/search.html
- Actor slug:
eu-ted-public-tenders-scraper - Publisher:
chrisrosil