EU & UK Tenders Scraper: TED + Find a Tender avatar

EU & UK Tenders Scraper: TED + Find a Tender

Pricing

from $5.00 / 1,000 apify-default-dataset-items

Go to Apify Store
EU & UK Tenders Scraper: TED + Find a Tender

EU & UK Tenders Scraper: TED + Find a Tender

Open public tender notices from EU TED and UK Find a Tender, filtered by keyword, CPV code and country, in one format.

Pricing

from $5.00 / 1,000 apify-default-dataset-items

Rating

0.0

(0)

Developer

TaeSung Lee

TaeSung Lee

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Security

Limited permissions

Share

Collect open public procurement notices from two official sources, the EU's TED (Tenders Electronic Daily) and the UK's Find a Tender, in one flat format. Filter by keyword, CPV code and buyer country, and get title, buyer, estimated value, currency, submission deadline and a link for every notice. No login, no API key, no browser: the Actor calls the official public JSON APIs.

Typical uses: a daily alert for new tenders in your field, a lead list for bid teams and agencies, market research on public spending, or feeding a spreadsheet or CRM.

What you get

  • Competition notices only (calls for tenders), published within the last 1 to 30 days.
  • One record per notice with the same 17 fields from both sources.
  • Open notices only by default (notices whose deadline has passed are dropped).
  • No personal data: contact persons' names, e-mails and phone numbers are never read or saved.

Input

All fields are optional. The defaults return the newest 100 open notices from both sources.

FieldTypeDescription
keywordslist of textNotices matching any keyword are kept. Empty means no keyword filter.
cpvCodeslist of textCPV codes, 2 to 8 digits. Matching is hierarchical: 45000000 matches every construction code starting with 45, 72220000 matches 7222....
countrieslist of textBuyer country as ISO alpha-3 code (DEU, FRA, GBR). Empty means all. Find a Tender is only queried when GBR is included or the list is empty.
sourceslistted, uk or both.
publishedWithinDaysinteger 1-30Notices published since 00:00 UTC of (today minus N days). Default 3.
onlyOpenbooleanDrop notices whose submission deadline has passed. Default true. Notices without a deadline are kept.
maxItemsinteger 1-5000Maximum notices saved, both sources together. Default 100.

Example:

{
"keywords": ["software"],
"cpvCodes": ["72000000"],
"countries": ["DEU", "GBR"],
"publishedWithinDays": 3,
"maxItems": 100
}

How keywords work

TED uses its own full-text search over the whole notice in all languages, so a match may come from a field not shown in the output. Find a Tender has no search parameter, so the Actor matches keywords case-insensitively against the title and description. Matching is by substring, so soft also matches software.

Publication window and daily runs

publishedWithinDays counts whole UTC days. Running daily with 1 can return the same notice twice across two runs, which is intentional so that nothing is missed. De-duplicate by noticeId in your own workflow. The Actor keeps no state between runs.

Output

Each dataset item has these fields:

FieldDescription
sourceTED or UK Find a Tender
noticeIdNotice number in the source portal
title, descriptionNotice title and procurement description, original text (TED: English when available)
buyerName, buyerCountryContracting authority and ISO alpha-3 country
placeOfPerformanceNUTS or region codes
contractTypesupplies, services or works
procedureTypeProcedure as published, for example open
cpvCodesCPV classification codes
estimatedValue, currencyEstimated value as published, null when not published. TED: total value, otherwise the sum of lot values in one currency
publicationDateTED: YYYY-MM-DD; UK: ISO timestamp
submissionDeadlineLatest submission deadline, null when not published
urlLink to the notice page
attribution, licenseUrlAttribution statement and licence of the source

See sample-output.json for real examples. Results are sorted by publication date, newest first, and the dataset has an Overview table view.

How it works

  • TED: one search request per page of up to 250 notices, sorted newest first. The Actor stops as soon as maxItems notices are collected.
  • Find a Tender: the release feed is read page by page (100 releases per page, newest first). Only tender releases are kept, and only the latest release per procedure, so a cancelled tender does not appear. The feed cannot be searched, so a selective keyword over many days means many pages; a 7-day keyword run read 25 pages and took about 5 to 6 minutes locally. On the Apify platform the UK feed answered more slowly (up to about 14 seconds per page in our test), so a keyword scan over many days can take many minutes. The Console prefill queries TED only for that reason. Narrow publishedWithinDays or leave the keyword empty for faster runs.
  • Politeness: requests to each official host are sequential with at least 1 second between them. Failed requests are retried 3 times with growing waits (honouring Retry-After). Blocked or changed responses are not bypassed.
  • If one source fails, results from the other are saved and the run succeeds with a status message naming the failed source. The run fails only when every requested source fails.
  • No results is not an error: the run succeeds with a warning that no notices matched.

Pricing

The Actor uses pay per event: you are charged per notice saved to the dataset. The draft price is $0.005 per notice (about $5 per 1,000). The final price is whatever is configured in the Apify Console when the Actor is published. The Actor stops by itself when your maximum cost per run is reached.

Is the data allowed to be reused?

TED: the legal notice states that, unless otherwise noted, procurement notices published in the Supplement to the Official Journal of the European Union can be freely reused for commercial or non-commercial purposes. Each TED record carries © European Union, https://ted.europa.eu (reformatted); the data is reformatted by this Actor. The TED logo is not used.

Find a Tender: notice data is published under the Open Government Licence v3.0. Each UK record carries "Contains public sector information licensed under the Open Government Licence v3.0." and the licence link. The licence excludes personal data, which this Actor does not collect.

Is this an official service?

No. This Actor is not affiliated with, endorsed by or operated by the European Union, the UK Government or the Cabinet Office. It uses their public APIs at a low request rate.

Does it collect personal data?

No. Contact person fields are not requested or read.

Responsibility

You are responsible for complying with the terms, licences and laws that apply to your use of the data. This section summarises the source terms as checked on 2026-11-05 and is not legal advice.

Why did I get fewer notices than maxItems?

Fewer notices matched your filters in the chosen period. The status message tells you how many were saved and whether a source failed.

Can I get award results or other portals?

Not in this version: only competition notices from TED and Find a Tender.