Public Tenders UK & EU — Contracts Finder, Find a Tender, TED
Pricing
from $3.00 / 1,000 notices
Public Tenders UK & EU — Contracts Finder, Find a Tender, TED
No API key: public tenders and contract awards as company data from Contracts Finder + Find a Tender (UK, OGL v3) and TED (EU). Buyer, CPV, value, deadline, days left, winner + company number. No contact persons. Unofficial: not affiliated with the Cabinet Office or the EU Publications Office.
Pricing
from $3.00 / 1,000 notices
Rating
5.0
(2)
Developer
Rein X
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 hours ago
Last modified
Categories
Share
Public tenders and contract awards from the UK and the EU as clean company-level rows — government tenders, procurement notices and awards from Contracts Finder, Find a Tender and TED in one Actor, no API key, no contact persons. $3 per 1,000 notices, the first 3 rows free.
- 📄 What you get — one row per notice: title, buyer (name, registration id, town, region, type: health / council / central government / education), CPV codes with the division's name, procedure, estimated or awarded value, publication date, deadline and days left, stage (tender / award / planning), the winning supplier with its registration id, scheme and Companies House number, contract dates, and the link to the notice.
- 🏛️ Sources — the UK government's own notice services under the Open Government Licence v3.0 (Contracts Finder: every public-sector opportunity and award; Find a Tender: the above-threshold notices), and the EU's Tenders Electronic Daily (TED, Publications Office of the European Union: notice data reused under Commission Decision 2011/833/EU, "for commercial or non-commercial purposes", source acknowledged; editorial content CC BY 4.0). The attribution is on every row.
- 💵 Price — $3 per 1,000 notices; the first 3 rows are free (Preview).
- 🔑 No API key, no account — the three read routes are public and documented; the Actor declares who it is and reads one page at a time.
- 🔒 No personal data — the contact officer, e-mail and telephone that every notice carries are never read; buyers and suppliers are organisations.
- ⏱️ Time to first result — Preview: 3 notices, free; a week of UK software tenders in about a minute.
| Stage | Title | Buyer | Value | Deadline / awarded to | CPV |
|---|---|---|---|---|---|
| tender | H&C1025 Sexual Health Services | East Riding of Yorkshire Council (HU17, Yorkshire and the Humber) | £8,400,000 | 2026-10-26 | 85000000 |
| award | Website hosting and support | Home Office (SW1P) | £232,874 | Encircle Solutions Limited (GB-CFS-338659) | 72000000 |
| award | Client Transport Services 2026 - 2034 - Child Mainstream | Surrey County Council (RH2, UKJ26) | £14,537 | iconnectcar (GB-FTS-11163) | 60000000 |
| tender | France – Miscellaneous software development services – Outil Digitalisation Achats | Aéroport de Toulouse-Blagnac (SIRET 49329240300018, FR) | €460,000 | neg-w-call procedure | 72212900 |
Real rows from test runs on 26 Sep 2026: Contracts Finder and Find a Tender with {"maxItems": 20}, TED with {"source": "ted", "tedQuery": ["PD>=today(-3) AND buyer-country=FRA AND FT~\"logiciel\""]}. Every row also carries the description, procurement category, procedure, contract period, SME flag (Contracts Finder), the additional CPV codes, the CPV division name (85 = Health and social work services), the buyer type (council, central-government, health…), the days left to the deadline, the winners' Companies House numbers, the notice URL and a one-sentence summary.
Price: $3 per 1,000 notices — 3 rows free. Apify's free plan ($5 of credit a month) covers about 1,600 notices a month at no cost to you.
Try it in 60 seconds
- Tick Preview (3 notices, free) and press Start: three real notices, no charge.
- Untick Preview and press Start again: the form is prefilled with Contracts Finder, published in the last 7 days (the date is set at run time), keyword "software", 100 notices — back in about a minute.
- Download CSV, Excel or JSON — the dataset has an Open tenders view, a Closing soon view (by days left) and a Contract awards view — or call it from code:
curl -X POST "https://api.apify.com/v2/acts/rein8~public-tenders-uk-eu/run-sync-get-dataset-items?token=$APIFY_TOKEN&format=csv" \-H 'Content-Type: application/json' -d '{"source":"cf","keyword":"software","maxItems":100}'
What does this public tenders Actor do?
It reads the three official notice services that together publish nearly every public contract opportunity and award in the UK and the EU, and turns each notice into one flat row a bid team, a CRM or a spreadsheet can use: who is buying, what (CPV codes, title, description), for how much, by when, and — on award notices — who won and under which company registration. Contracts Finder (UK) lists every public-sector opportunity above £12,000 (central government) or £30,000 (the rest) and its award; Find a Tender (UK) lists the high-value notices above the Procurement Act thresholds; TED (EU) is the Supplement to the Official Journal, where every EU above-threshold notice is published. One source per run; three Tasks give you all three on a schedule.
When to use it: bid pipelines (which tenders to go for, by when), win/loss intelligence (which suppliers win which buyers), lead lists of public buyers by sector and region, market sizing by CPV code, monitoring a buyer or a competitor, feeding a CRM or a Google Sheet on a schedule. Not a tender-alert subscription: Stotles, Tussell, BidStats and Tenders Direct sell curated alerts and analytics from £475 a month; this Actor gives you the same public notices as rows, at $3 per 1,000, to build your own. Not for: contact persons — no buyer's procurement officer, e-mail or phone is ever returned; use the notice URL and the buyer's own procurement portal for that. Not the tender documents themselves (they sit behind each notice URL). Not sub-threshold notices published only on a council's own portal.
Official sources, open licences, company-level only. Contracts Finder and Find a Tender publish their notice data under the Open Government Licence v3.0 ("Notice data is available under the Open Government Licence" — Find a Tender developer documentation); TED notices are published by the Publications Office of the European Union for reuse with acknowledgement of the source. The Actor reads only the documented read routes, identifies itself, and never requests or maps the contactPoint block of a notice.
Why use official tender data?
- Bid teams and SMEs selling to government — every open opportunity in your CPV codes and region, with the deadline, the estimated value, the procedure and the SME-suitability flag, as a daily feed.
- Consultancies and bid writers — who is buying what, where and how often; the awards show which incumbents to unseat and at what price.
- Market analysts — the awards of a whole sector or a whole buyer group (NHS, councils, ministries) by month, with values and winners, for market-share and pricing studies.
- Sales teams — a contract award is a public statement that a company has just won money: the supplier list is a lead list with the buyer, the value and the contract period.
- Compliance-friendly — official sources under open licences, the licence stamped on every row, no personal data.
Why this one
| This Actor | |
|---|---|
| Sources | Contracts Finder + Find a Tender (Cabinet Office, OCDS APIs) + TED (Publications Office of the EU, Search API v3) |
| Account or API key | None |
| Personal data | None: the contact person, e-mail and phone of every notice are never read; only organisations |
| Licence | OGL v3.0 / TED reuse notice, stamped on every row (_source, _licence, _sourceUrl) |
| Monitoring | Only notices not delivered before + a daily schedule = a feed of new notices matching your filters |
| Pay for what you use | $3 per 1,000 notices delivered; a filtered-out notice is never charged |
| Buyer intelligence in the row | buyer type (health / council / central government / education), CPV division name, days to deadline, the winners' Companies House numbers — as filters and columns, no extra request |
How this compares
Store facts from the survey of 2026-09-24 (public Store API); rivals' figures change daily.
| Actor | Users / 30 d | Notes | Price per 1,000 |
|---|---|---|---|
| This actor | new | three sources in one listing, no key, no contact persons | $3.00 |
| ciel_labs/uk-government-tenders-contracts-finder | 9 | Contracts Finder only, success 72% | — |
| dltik/ted-europa-scraper | 4 | TED only | — |
| publicrecords/uk-find-a-tender-scraper | 2 | Find a Tender only | — |
Examples — ready-made inputs
Examples (one click)
Each example below is also a public Task with its own page — open it, press Start, and the input is already filled in:
- Open UK software and IT tenders this week
- New NHS tenders, daily feed
- EU IT tenders over EUR 1 million (TED)
- Who won UK construction contracts this month
- French service tenders on TED, weekly
- UK tenders closing in the next 14 days
- Companies awarded UK public contracts this month (lead list)
- Council tenders across the UK, weekly
- SME-suitable UK tenders, daily feed
- German construction contract awards on TED, weekly
Or copy one into the JSON tab of the input, or save it as a Task.
uk-software-tenders-this-week — open UK software and IT opportunities of the last 7 days (Contracts Finder, CPV 72 and 48; an empty publishedFrom = the last 7 days; run weekly):
{ "source": "cf", "stage": "tender", "cpvCodes": "72, 48", "maxItems": 500 }
nhs-tenders-daily — every new NHS / health-sector opportunity, once a day, only notices you have not received yet:
{ "source": "cf", "stage": "tender", "buyerType": "health", "incremental": true, "maxItems": 500 }
open-tenders-closing-in-14-days-uk — UK tenders whose deadline is at most 14 days away (the Closing soon view sorts them by days left):
{ "source": "cf", "stage": "tender", "closingWithinDays": 14, "publishedFrom": "2026-08-27", "maxItems": 1000 }
uk-contract-winners-this-month — every company awarded a UK public contract this month: a lead list with the buyer, the value and the Companies House number to join to the register:
{ "source": "cf", "stage": "award", "publishedFrom": "2026-09-01", "maxItems": 5000 }
council-tenders-uk-weekly — open opportunities from councils and other local authorities, last 7 days:
{ "source": "cf", "stage": "tender", "buyerType": "council", "maxItems": 1000 }
sme-suitable-tenders-uk-daily — only the opportunities flagged suitable for SMEs, daily, only new ones:
{ "source": "cf", "stage": "tender", "smeOnly": true, "incremental": true, "maxItems": 500 }
eu-it-tenders-over-1m — EU IT tenders (CPV 72) with an estimated value of at least €1 million, last 7 days (TED does the narrowing):
{ "source": "ted", "tedQuery": ["PD>=today(-7) AND classification-cpv=72* AND estimated-value-proc>=1000000 AND notice-type IN (cn-standard cn-social cn-desg)"], "maxItems": 500 }
contract-awards-construction-uk-monthly — who won UK construction contracts (CPV 45) in the last month, above-threshold notices from Find a Tender:
{ "source": "fts", "stage": "award", "cpvCodes": "45", "publishedFrom": "2026-08-26", "maxItems": 2000 }
ted-france-services-notices-weekly — French service tenders published on TED in the last 7 days (schedule weekly with incremental on):
{ "source": "ted", "tedQuery": ["PD>=today(-7) AND buyer-country=FRA AND contract-nature=services AND notice-type IN (cn-standard cn-social cn-desg)"], "incremental": true, "maxItems": 1000 }
ted-germany-construction-awards-weekly — who won construction contracts (CPV 45) from German public buyers on TED, last 7 days:
{ "source": "ted", "tedQuery": ["PD>=today(-7) AND buyer-country=DEU AND classification-cpv=45* AND notice-type IN (can-standard can-social can-desg)"], "incremental": true, "maxItems": 1000 }
Lead list recipe — companies awarded contracts this month. Run uk-contract-winners-this-month (or any stage: "award" run), take the supplierCompanyNumbers column and paste it into the Check a list of UK company numbers Task of the Companies House Actor: each winner comes back with its status, SIC code, incorporation date, registered-office town and accounts due dates — a lead list of companies that have just won public money, with the buyer, the value and the contract period from this Actor and the company facts from the register.
Contracts Finder API, Find a Tender search and TED tenders search — in one Actor
People arrive here looking for a Contracts Finder API without a key, a Find a Tender search they can export, a TED tenders search by CPV and country, or simply public sector tenders UK as a spreadsheet. This Actor is all four: it reads the documented, keyless routes of the three services and delivers the same rows from each, so one schedule covers below-threshold UK notices, above-threshold UK notices and every EU notice.
| Source | What it publishes | Read through | Rows carry | Best for |
|---|---|---|---|---|
| Contracts Finder (UK) | every public-sector opportunity above £12,000 (central government) / £30,000 (others) and its award, incl. copies of the above-threshold notices | OCDS search API (Published/Notices/OCDS/Search), 100 per page, cursor | buyer id (GB-CFS / GB-COH), delivery region name, SME flag, supplier id + Companies House number | UK pipelines, SME-suitable work, council and NHS feeds |
| Find a Tender (UK) | notices above the Procurement Act thresholds (works £5.4m, goods/services £139k–£214k) | OCDS release packages (api/1.0/ocdsReleasePackages), 100 per page, cursor, by update date | buyer PPON + ITL/NUTS region, supplier scheme (GB-COH / GB-PPON / GB-FTS), contract period, several awards per notice | high-value awards, win/loss intelligence |
| TED (EU + EEA) | every notice above the EU thresholds from the 27 member states, Norway, Iceland, Liechtenstein, Switzerland and a few others | Search API v3 (POST /v3/notices/search), 250 per page, expert query | buyer national id (SIRET, USt-IdNr…), ISO country, winner name + id + country, total and estimated values, English title (TED translates every title) | EU market sizing, country and CPV feeds |
How to scrape public tender data
- Pick the Source:
cf(Contracts Finder — UK, everything),fts(Find a Tender — UK, above-threshold) orted(TED — EU). - Set a date window (
publishedFrom/publishedTo, written 2026-09-19; empty = the last 7 days, set at run time). On TED write it in the query instead:PD>=today(-7). - Add filters: keyword in title/description, CPV prefix (72 = IT services, 45 = construction, 85 = health), buyer name or buyer type (health / council / central government / education), region or country, value range, stage (tender / award), closing within N days, SME-suitable only. Every filter is optional; they combine with AND; a notice that does not match is never charged.
- Set Max notices (default 500) and run. Download the dataset as JSON, CSV or Excel — the Open tenders and Contract awards views pick the right columns — or read it through the API.
- Optional: tick Only notices not delivered before and schedule the Actor daily to receive only new notices (and changed ones, marked
_changed).
Tick Preview for 3 notices free of charge.
Input
| Field | What it does |
|---|---|
source | cf Contracts Finder (UK) · fts Find a Tender (UK) · ted TED (EU). One per run. |
tedQuery | [TED only] one TED expert query per line — PD>=today(-7) (default), AND FT~"software", AND classification-cpv=72*, AND buyer-country=FRA, AND buyer-name~"hospital", AND estimated-value-proc>=1000000, AND notice-type IN (cn-standard cn-social). The same syntax as the Expert search on ted.europa.eu. |
publishedFrom, publishedTo | publication-date window, YYYY-MM-DD, both ends inclusive; sent to the two UK APIs as query parameters (Contracts Finder gets publishedTo as 23:59:59 — a bare date would exclude that day), applied to the rows on TED. Empty publishedFrom = the last 7 days (set at run time). |
closingWithinDays | open tenders whose deadline is at most N days away (14); drops notices with no or a passed deadline. |
buyerType | health (NHS trusts, health boards, hospitals) · central-government (ministries, departments, agencies) · council (local and regional authorities) · education · other — from the buyer's name. |
smeOnly | true = only notices flagged suitable for SMEs (Contracts Finder publishes the flag; the other sources do not). |
keyword | text in the title or description, case-insensitive; commas = any of them. On TED prefer FT~"…" in the query. |
cpvCodes | prefix(es) of the main CPV code: 72 IT services, 48 software, 45 construction, 85 health, 79 business services, 90 environment, 60 transport. |
buyerName | contracting authority's name contains (NHS, council, Ministry). |
region | Contracts Finder: the delivery region name (London, Scotland); Find a Tender: the buyer's ITL/NUTS code prefix (UKE, UKI). |
country | ISO-2 buyer country (FR, DE); UK sources are always GB. |
minValue, maxValue | published value range in the notice's currency; a notice without a value fails a value filter. |
stage | tender (open opportunities) · award (who won) · empty = everything incl. planning notices. |
maxItems | maximum notices delivered (default 500). |
incremental, stateKey | only notices not delivered before, per memory name (each saved Task gets its own memory automatically). |
preview | 3 notices, free. |
What data can this Actor extract?
All fields
| Field | Meaning |
|---|---|
noticeId, ocid | the notice's identifier in its service; the Open Contracting process id (UK sources) |
source | contracts-finder, find-a-tender or ted |
title, description, searchText | title; description without HTML, cut to 500 characters, any e-mail address or phone number a buyer typed into it replaced by [e-mail removed] / [phone removed]; the text the keyword filter searches |
noticeType, stage, status | the source's tags or notice type; tender / award / planning / other; OCDS status |
procurementMethod, procurementCategory | open / selective / limited / direct (or the TED procedure type); goods / works / services |
cpvMain, cpvAdditional, cpvText | main CPV code (the one the CPV filter matches by prefix); additional codes; the English name of the main code's division (72 → IT services: consulting, software development, Internet and support) from the EU Vocabularies CPV table |
buyerName, buyerType, buyerId, buyerIdScheme | the contracting authority; its type (health / central-government / council / education / other, from the name); its id (GB-CFS, GB-PPON, GB-COH, or a national registration number on TED) and scheme |
buyerCity, buyerPostcodeDistrict, buyerRegion, buyerCountry | town, outward postcode (UK), region name or ITL/NUTS code, ISO-2 country |
valueAmount, valueCurrency | estimated (tender) or awarded (award) value |
publicationDate, deadline, contractStartDate, contractEndDate, awardDate | dates, YYYY-MM-DD |
daysToDeadline | whole days from the run date to the deadline (0 = closes today); empty once the deadline has passed or when the notice has none |
smeSuitable | the buyer marked it suitable for SMEs (Contracts Finder) |
awardSupplierName, awardSupplierNames, awardSupplierId, awardSupplierIdScheme, awardSupplierCountry | the winner(s) of the notice's first award: organisation name(s), id (GB-COH = a Companies House number follows), scheme, country (TED) |
supplierCompanyNumbers | the Companies House numbers of those winners (01234567, OC407254), ready to paste into the Companies House Actor's check-uk-company-numbers Task; empty when the ids are the services' own (GB-FTS, PPON) or on TED |
awardValueAmount, awardValueCurrency | the awarded / contract value |
noticeUrl, language | the notice page; language (UK sources) |
summary | one plain-English sentence per row, for AI agents |
scrapedAt, _source, _licence, _sourceUrl, _changed | when read; attribution on every row; changed since the last incremental run |
Example output
{"noticeId": "091206-2026","ocid": "ocds-h6vhtk-077b06","source": "find-a-tender","title": "Client Transport Services 2026 - 2034 - Child Mainstream","description": "Client Transport Services 2026 - 2034 - Lot 1 Standard Transport - Taxi/MPV (1-8 passenger seats) - Child Mainstream","noticeType": "award, contract","stage": "award","status": "complete","procurementMethod": "limited","procurementCategory": "services","cpvMain": "60000000","cpvText": "Transport services (excl. Waste transport)","buyerName": "Surrey County Council","buyerType": "council","buyerId": "GB-PPON-PWRH-8974-TNBV","buyerIdScheme": "GB-PPON","buyerCity": "Reigate","buyerPostcodeDistrict": "RH2","buyerRegion": "UKJ26","buyerCountry": "GB","valueAmount": 14537.14,"valueCurrency": "GBP","publicationDate": "2026-09-26","contractStartDate": "2026-09-15","contractEndDate": "2027-07-30","awardDate": "2026-09-14","awardSupplierName": "iconnectcar","awardSupplierId": "GB-FTS-11163","awardSupplierIdScheme": "GB-FTS","supplierCompanyNumbers": null,"awardValueAmount": 14537.14,"awardValueCurrency": "GBP","noticeUrl": "https://www.find-tender.service.gov.uk/Notice/091206-2026","_source": "Find a Tender (Cabinet Office)","_licence": "Open Government Licence v3.0 — contains public sector information licensed under the OGL v3.0","summary": "Client Transport Services 2026 - 2034 - Child Mainstream: award notice by Surrey County Council (GB), published 2026-09-26, value 14,537.14 GBP, CPV 60000000, awarded to iconnectcar."}
Output
One dataset item per notice (fields above), plus a STATS record in the key-value store: counts, pages read, the source and the filters of the run, the identity and pacing used, and any errors. The dataset offers four views: Notices (everything), Open tenders (deadline, days left, buyer and type, value, procedure, SME flag), Closing soon (the open tenders with days left first — run with Closing within N days to keep only those) and Contract awards (supplier, its id, scheme and Companies House numbers, value, dates).
If this helped, an honest review on the Store page helps others find official-source tender data; if it did not, an issue on the Issues tab gets a reply within one business day.
Fields for AI agents. Every row also carries summary — one plain-English sentence built from the row, empty values left out (e.g. Website hosting and support: award notice by Home Office (GB), published 2026-09-25, value 232,874 GBP, CPV 72000000, awarded to Encircle Solutions Limited.).
How much will it cost to get public tender data?
| Event | When | Price |
|---|---|---|
result | each notice delivered | $0.003 |
So $3 per 1,000 notices. Award details (supplier, value, date) come in the same row at no extra charge — none of the three sources needs a second request for them.
| Scenario | Rows | Cost |
|---|---|---|
| Preview | 3 | $0 |
| A week of UK software tenders (Contracts Finder, CPV 72 + 48) | ~100–200 | ~$0.30–0.60 |
| Every NHS opportunity, daily feed | ~20–60 / day | ~$0.06–0.18 / day |
| A month of UK construction awards (Find a Tender, CPV 45) | ~300–600 | ~$0.90–1.80 |
| EU IT tenders over €1 million, weekly | ~150–250 / week | ~$0.45–0.75 / week |
A curated alert service charges £475–950 a month for the same public notices. You are charged only for notices delivered: a notice your filters reject is never charged, duplicates inside a run are never charged, and in incremental mode a notice already delivered is charged again only when it comes back changed (marked _changed). The Actor stops cleanly at your maximum charge.
Apify adds its own Actor start event on top of these prices: $0.00005 per GB of run memory, once per run (about $0.0001 at 2 GB, $0.0002 at 4 GB). It is the platform's charge, not this Actor's, and it shows as "Actor start" on your bill.
Integrations and automation
- API (curl):
curl -X POST "https://api.apify.com/v2/acts/rein8~public-tenders-uk-eu/run-sync-get-dataset-items?token=$APIFY_TOKEN&format=csv" -H 'Content-Type: application/json' -d '{"source":"fts","stage":"award","cpvCodes":"45","publishedFrom":"2026-08-26","maxItems":500}' - Python:
ApifyClient(token).actor("rein8/public-tenders-uk-eu").call(run_input={"source": "cf", "stage": "tender", "buyerName": "NHS", "maxItems": 200})thenclient.dataset(run["defaultDatasetId"]).iterate_items(). - Schedule + Google Sheets: a daily schedule with Only notices not delivered before on, and the Apify → Google Sheets integration in append mode, is a tender feed for your sector.
- n8n / Make / Zapier: Apify node → Run actor → Get dataset items → CRM, Slack, e-mail.
- AI assistants: see the next section — this Actor is an MCP tool.
Use with AI agents (MCP, Claude, Cursor)
Once published, this Actor is a tool on Apify's hosted MCP server. Add it to Claude Desktop, Claude.ai, Cursor, VS Code or ChatGPT with one URL — the server signs you in with OAuth on first connect, so no API token goes into the config:
https://mcp.apify.com?tools=rein8/public-tenders-uk-eu
{ "mcpServers": { "apify": { "type": "http", "url": "https://mcp.apify.com?tools=rein8/public-tenders-uk-eu" } } }
| You ask | The Actor runs with |
|---|---|
| "Open NHS software tenders this week" | source: "cf", stage: "tender", buyerName: "NHS", cpvCodes: "72, 48", publishedFrom: <7 days ago> |
| "Who won construction contracts in Yorkshire last month?" | source: "fts", stage: "award", cpvCodes: "45", region: "UKE", publishedFrom: <30 days ago> |
| "EU cloud tenders over €1m" | source: "ted", tedQuery: ["PD>=today(-30) AND FT~\"cloud\" AND estimated-value-proc>=1000000"] |
| "What did Surrey County Council award recently?" | source: "fts", stage: "award", buyerName: "Surrey County Council" |
| "Council tenders closing in the next two weeks" | source: "cf", stage: "tender", buyerType: "council", closingWithinDays: 14 |
Example prompt: "List the open UK tenders for software with a deadline after next week and an estimated value above £100,000, with buyer and deadline." — the agent runs source: "cf", stage: "tender", cpvCodes: "72, 48", minValue: 100000 and reads deadline, buyerName and valueAmount from the rows.
Where the data comes from — and why it is clean
- Contracts Finder (contractsfinder.service.gov.uk, Cabinet Office): the OCDS search API,
Published/Notices/OCDS/Search, documented on the service's "Data and API" page; every response carries the Open Government Licence v3.0 as itslicense. The footer of the service: "All content is available under the Open Government Licence v3.0 except where otherwise stated." - Find a Tender (find-tender.service.gov.uk, Cabinet Office): the OCDS release-package API,
api/1.0/ocdsReleasePackages; the developer documentation says "Notice data is available under the Open Government Licence." - TED (ted.europa.eu, Publications Office of the European Union): the Search API v3,
api.ted.europa.eu/v3/notices/search— "TED API allows anonymous access to all services manipulating published notices" (TED Developer Docs). Reuse of TED content is allowed with acknowledgement of the source (Commission Decision 2011/833/EU (notice data; CC BY 4.0 applies only to editorial content); Commission Decision 2011/833/EU on the reuse of Commission documents: "for commercial or non-commercial purposes"). - CPV names (
cpvText): the 45 division names of the Common Procurement Vocabulary (CPV 2008) come from the EU Vocabularies table of the Publications Office of the European Union, read through its public SPARQL endpoint; the Publications Office publishes it for reuse under Commission Decision 2011/833/EU ("for commercial or non-commercial purposes", with acknowledgement of the source). - The Actor reads one page at a time (500 ms between requests), declares its identity, respects robots.txt and stops on a throttle. It never fetches notice documents or buyer portals.
- Attribution lines (keep them with any copy of the data): Contains public sector information licensed under the Open Government Licence v3.0 (Contracts Finder / Find a Tender, Cabinet Office). · © European Union, 1998–2026, https://ted.europa.eu — TED, Tenders Electronic Daily, Publications Office of the European Union; reused with acknowledgement of the source (Commission Decision 2011/833/EU (notice data; CC BY 4.0 applies only to editorial content)).
Limits and honest notes
- Filters run on the rows for keyword, CPV, buyer, region, country and value: the Actor reads the source's pages (newest first) and delivers only the matches, so a rare keyword with a large
maxItemsreads many pages. A date window (publishedFrom, orPD>=on TED) keeps runs short; on TED put every criterion in the query, which the source narrows itself. - An empty
publishedFrommeans the last 7 days on the UK sources (the date is set at run time, so a saved Task never goes stale); set your own date for a longer window. A run then reads from the newest notice backwards untilmaxItems. - One row per notice, not per supplier. A Find a Tender notice can carry several awards (11 of 100 award notices on 26 Sep 2026) and an award several suppliers (a pharmacy framework listed 60): the row carries the first award's suppliers (
awardSupplierNames,supplierCompanyNumberslist them all), andocidgroups every notice of the same procurement so you can join the rest. - TED values on multi-lot notices:
valueAmount/awardValueAmountis the notice's total (total-value), else the estimated value, else the first lot's value; lot-level values are not delivered. TED repeats a winner once per lot, soawardSupplierNamescan name the same company twice. - Notice pages need a browser:
noticeUrlopens on contractsfinder.service.gov.uk, find-tender.service.gov.uk and ted.europa.eu for a person; the three sites answer scripts with 403 / a challenge page, so do not fetch them from code. - Buyer type is a keyword classification of the name (first match: health → central government → council → education → other); a fire service, a housing association or a police force is
other, and an unusual name can land in the wrong class — filter bybuyerNamewhen a specific organisation matters. - Contract awards can be sole traders whose registered name is a person's name — the register publishes it as the supplier.
awardSupplierIdScheme=GB-COHmeans a Companies House number follows;GB-FTS/GB-CFSids are the services' own. - Values are what the buyer published: estimated for tenders, awarded for awards, in the notice's currency; some TED award notices publish token values (1, -1). A notice without a value fails a min/max filter.
- Find a Tender lists notices by update date; an amended notice comes back as a new notice number.
- TED names are multilingual: the Actor takes the English title and, for buyer and winner, the last language of the notice (deterministic; almost every notice has one).
- Not for: contact persons, e-mail addresses or phone numbers; the tender documents; notices published only on regional portals; US or other non-UK/EU procurement.
FAQ, Disclaimers, and Support
What is the basis for using this data? Official open data. Contracts Finder and Find a Tender publish under the Open Government Licence v3.0, which permits commercial reuse with attribution; TED notices are published by the Publications Office of the EU for reuse with acknowledgement of the source. This is a description of the sources' own published terms, not legal advice.
Intended use: bid pipelines, market research on public procurement, supplier and buyer intelligence, monitoring of new notices. It is not a tool for profiling individuals, and it does not output personal data.
Personal data / GDPR: every notice names a contact officer with an e-mail and a telephone number. This Actor never requests or maps that block; buyers and suppliers are delivered as organisations with their registration ids. If you combine this output with personal data from other sources, you are responsible for having a lawful basis under GDPR.
Is it affiliated with the UK government or the EU? No. Unofficial: not affiliated with, endorsed by or reviewed by the Cabinet Office, Contracts Finder, Find a Tender, or the Publications Office of the European Union / TED.
Do I need an API key or an account?
No. The three read routes are public: Contracts Finder and Find a Tender's OCDS APIs answer without credentials, and the TED Developer Docs say the Search API "does not require a key". The Actor declares who it is on every request.
Why is there no contact person, e-mail or phone in the rows?
Because the rows are about organisations, and that is enough for every use above: the buyer's procurement mailbox is on the notice page (noticeUrl), where the buyer chose to publish it. The contactPoint block that every OCDS notice carries and TED's person, touchpoint and e-mail fields are never requested or mapped; if a buyer typed an e-mail address or a phone number into the free-text description, it is replaced by [e-mail removed] / [phone removed] before the row is written. Field requests for contact persons are declined.
How much of TED is covered?
Everything the TED Search API publishes: every notice from the 27 EU member states, the EEA countries and the other states that publish on TED (31 buyer countries in one day's 3,444 notices on 26 Sep 2026), of every type (contract notices, award notices, prior-information, corrections and the social / design variants). Your expert query narrows it (date, CPV, country, full text, value, notice type); a query without a PD window reads pages of 250 back to maxItems. Titles come in English for every notice (TED translates them); descriptions and names stay in the notice's language. Lot-level detail (per-lot values and winners) is folded into the notice row (see the limits).
Which source should I use?
Contracts Finder for everything published by UK public bodies (it includes the above-threshold notices too, as OCDS releases); Find a Tender when you want only the high-value notices in the richest OCDS form (buyer ITL region, Companies House ids for many suppliers); TED for the EU (and EEA) above-threshold notices.
Can I get only new notices on a schedule?
Yes: tick Only notices not delivered before, keep State key at default (every saved Task gets its own memory), and schedule the Task daily or weekly. Each run delivers only notices not delivered before, plus notices whose delivered fields changed (marked _changed).
How do I search TED?
Write the same expert query you would type on ted.europa.eu: PD>=today(-7) AND FT~"software" AND buyer-country=FRA. Fields you will use most: PD (publication date, YYYYMMDD or today(-N)), FT (full text), classification-cpv (72* = prefix), buyer-country (ISO-3), buyer-name, estimated-value-proc, notice-type (cn-standard contract notice, can-standard contract award notice, pin-only prior information).
Removal requests
The rows are organisation-level notice facts republished from official sources. If a row names you as a sole trader and you want it removed from a dataset you did not produce, ask the dataset's owner; the source's own removal process applies to the notice itself.
What does this Actor NOT do?
Contact persons, e-mail or phone lookup, tender documents, bid writing, notices from regional portals not federated into the three services, or the US (see the USAspending family for that).
Support: open an issue on the Actor's Issues tab — questions and field requests are answered within one business day. If this Actor saves you a subscription, a review on the Store page helps others find official-source data.
More official-data Actors by rein8
Same rules on every one: the source's own open route, no API key, the licence on every row, company-level data only.
- Companies House Data — UK Company Search, No API Key — every live UK company from the free monthly snapshot; paste
supplierCompanyNumbersinto its check-uk-company-numbers Task for the winners' SIC code, status, incorporation date and accounts due dates. Companies awarded contracts this month =uk-contract-winners-this-monthhere + that Task there: a lead list of businesses that have just won public money. - UK Company Watch — Companies House Changes on Your List, No Key — paste the winners' company numbers and get, each month, only the ones that changed (strike-off, liquidation, overdue accounts, new charges).
- UK Company Accounts Data — Companies House Accounts, Net Assets — net assets, cash and employees from the accounts the winning companies file.
- LEI Lookup & Changes — Legal Entity Identifier Data, No API Key — a supplier's LEI and parent group from its register number.
- Sirene Company Search — France SIREN/SIRET Lookup, No API Key — French buyers' and winners' SIRET numbers resolve here.
- Form D Scraper — Startup Funding Leads from SEC Form D, No Key — every private raise filed with the U.S. SEC.
- New Business Filings by State — Secretary of State Data, No Key — new LLCs and corporations from five US Secretary of State portals.
Changelog
- 0.1 (2026-09-26) — first release: Contracts Finder, Find a Tender and TED in one listing; date window (empty = last 7 days), keyword, CPV, buyer name and type, region, country, value, stage, closing-within-days and SME filters; CPV division name, buyer type, days to deadline and the winners' Companies House numbers on every row; award supplier with registration id and scheme; e-mail addresses and phone numbers scrubbed from descriptions; incremental mode; company-level fields only.