UK Public Tenders API: Contracts Finder + Find a Tender
Pricing
Pay per usage
UK Public Tenders API: Contracts Finder + Find a Tender
Official UK tender and contract award notices from Contracts Finder and Find a Tender in one deduplicated feed. Filter by CPV, value, keyword.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
UK Open Data Tools
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
UK Public Tenders API: Contracts Finder + Find a Tender in one feed
Get UK public-sector tender opportunities and contract award notices as clean JSON, CSV or Excel. The data comes from the two official UK government services:
- Contracts Finder: contract opportunities and awards from UK public bodies.
- Find a Tender (FTS): the UK's service for higher-value public procurements.
The actor calls the services' official OCDS APIs (Open Contracting Data Standard). It does not scrape web pages, needs no login and no proxies, and every row links back to the official notice.
What it does
- One feed from both services. Choose Contracts Finder, Find a Tender, or both.
- One row per procurement. A process often has several releases (planning → tender → award). The actor keeps the latest release per OCID, so you don't get duplicate rows for the same procurement.
- Cross-source duplicate handling. Some procurements are published on both services. The two services share no identifier, so the actor matches on exact normalised title + buyer. It then either flags the pair (default; both rows kept and linked) or drops the Find a Tender copy.
- Filters. Keywords (title/description), CPV code prefixes, minimum contract value, and a look-back window in days.
- Privacy built in. Contact names, emails and phone numbers are removed (see Privacy below).
- Official notice link on every row (
noticeUrl).
Use cases
- Daily bid alerts for your sector. Example: CPV
72(IT services) or45(construction), scheduled every morning. - Feed a CRM, Slack, Airtable or Google Sheet via Apify integrations.
- Market research on who is buying what, where and at what value.
- Competitor and award monitoring from award notices.
- Data for AI agents and RAG pipelines that need structured UK procurement data.
Input
| Field | Type | Default | Notes |
|---|---|---|---|
sources | array | both | contracts_finder, find_a_tender |
daysBack | integer | 1 | Contracts Finder filters by published date and Find a Tender by updated date. Use 1 with a daily schedule. |
keywords | array | [] | Case-insensitive; matches any keyword in the title or description |
cpvPrefixes | array | [] | e.g. ["72","48"] |
minValue | integer | 0 | GBP. Notices with no published value are kept. |
crossSourceDuplicates | string | flag | flag, drop or off |
maxItems | integer | 500 | Maximum rows returned |
maxReleasesScanned | integer | 20000 | Safety cap per source |
Example:
{"sources": ["contracts_finder", "find_a_tender"],"daysBack": 7,"keywords": ["software", "digital"],"cpvPrefixes": ["72", "48"],"minValue": 100000,"maxItems": 100}
Output
One row per procurement. Real example from a test run on 16 Oct 2026:
{"source": "find_a_tender","sourceLabel": "Find a Tender","noticeId": "097903-2026","ocid": "ocds-h6vhtk-069852","releaseId": "097903-2026","releaseTags": ["tender"],"status": "active","title": "AT1452 Civil and Structural Inspections for Luton Airport","description": "To conduct principal inspection of Luton DART civil engineering assets, ...","buyerName": "LONDON LUTON AIRPORT LIMITED","buyerPostcode": "LU2 0LA","buyerRegion": "UKH21","valueAmount": 800000.0,"valueCurrency": "GBP","tenderDeadline": null,"procurementMethod": "Competitive flexible procedure","cpvCodes": ["71000000"],"awardedSupplierCount": 0,"publishedDate": "2026-10-16T12:23:18+01:00","noticeUrl": "https://www.find-tender.service.gov.uk/Notice/097903-2026","possibleDuplicateOf": null,"licence": "Contains public sector information licensed under the Open Government Licence v3.0"}
Each run also writes a RUN_SUMMARY record to the key-value store. It holds the date window, releases fetched per source, the count after dedup, cross-source matches and rows returned.
Pricing
Free during launch. The actor itself charges nothing; you only use your own Apify platform usage (a one-day run costs a fraction of a cent in compute on our tests). Pay-per-result pricing may be introduced later; if so, it will be announced in advance on this page and through Apify's standard notice period, and you can always set a maximum cost per run.
Rough guide: a one-day window returned about 590–620 notices before filtering in our October 2026 tests. A filtered daily alert usually returns far fewer rows.
Limits and accuracy
- Data is exactly what buyers published. Values, deadlines and CPV codes are missing on some notices. In a 3-day test, about 60% had a value, about 43% had a deadline and about 60% had CPV codes.
- Cross-source matching is deliberately strict, so some true duplicates with different wording are not flagged. Similar titles from the same buyer can occasionally be flagged.
- Find a Tender filters on the updated date, so older notices that were amended recently can appear.
- Historical backfills of more than 31 days per run are not supported. Schedule daily runs instead.
- This is an independent tool. It is not affiliated with or endorsed by the Cabinet Office or Crown Commercial Service.
Data licence
Contains public sector information licensed under the Open Government Licence v3.0 (https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/). Both APIs declare this licence in every response. If you republish the data, keep this attribution.
Privacy
This actor is designed to output organisation-level procurement data only:
- Buyer and supplier
contactPointdetails (names, emails, phones) are never output. - Email addresses and UK phone numbers inside titles and descriptions are replaced with
[email removed]/[phone removed]. - Awarded supplier names are not output, because some suppliers are sole traders. Only
awardedSupplierCountis given. - Free-text descriptions are reproduced as published, after redaction. In rare cases they may still mention a person's name. Do not use this data to profile individuals.
FAQ
Is this legal to use commercially? The source data is published under the Open Government Licence v3.0, which allows commercial reuse with attribution. You are responsible for how you use it.
Why not just use the free government websites? You can. This actor saves you combining two services, deduplicating releases, filtering by CPV and value, and removing personal contact details. It delivers clean rows on a schedule into your tools.
How fresh is the data? It is fetched live from the official APIs at run time.
Do I need an API key or proxy? No.
Why do some rows have possibleDuplicateOf? The same procurement appears on both services. The field links to the other notice.
Can I get supplier names? Not in this version, for privacy reasons. You can open noticeUrl to see the official award notice.
Something broke or a field is wrong? Open an issue on the actor's Issues tab. We aim to reply within 24 hours.