UK Tenders: Find a Tender + Contracts Finder
Pricing
$3.00 / 1,000 results
UK Tenders: Find a Tender + Contracts Finder
UK public procurement notices from Find a Tender and Contracts Finder official OCDS APIs, merged into one schema and deduplicated by OCID. Filter by date, stage, keyword, CPV.
Pricing
$3.00 / 1,000 results
Rating
0.0
(0)
Developer
Home Lab Mobile
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
7 days ago
Last modified
Categories
Share
UK Public Tenders (Find a Tender + Contracts Finder)
Get UK public procurement notices (tenders, pipeline notices, contract awards) from both official government portals, Find a Tender and Contracts Finder, as one clean JSON dataset with one row per procurement process (OCID), newest first. Data comes from the portals' public OCDS APIs; no login, account or API key is needed.
What it does
- Reads both official UK portals in one run and merges them into one harmonised schema: title, description, buyer, CPV codes, regions, values, deadlines, lots, awards and winning suppliers.
- Deduplicates by OCID. A process that had several notices in your window (e.g. a tender and two
updates) is one row;
noticeIdslists every notice,sourcessays which portal(s) published it. - Filters by date window (
daysBackorpublishedFrom/publishedTo), stage (planning, tender, award, implementation), keywords and CPV code prefixes. - Strips personal data: buyer contact names, emails and phone numbers are never output, and email addresses and phone numbers inside titles and descriptions are redacted.
- You pay only for valid rows; malformed rows are dropped and not charged. If the APIs return nothing for a wide window, the run fails instead of returning an empty dataset.
Input
| Field | Type | Required | Description |
|---|---|---|---|
daysBack | integer | no | Notices from the last N days (default 3, max 90). Ignored if publishedFrom is set. |
publishedFrom | string | no | Window start, YYYY-MM-DD or ISO 8601 date-time (UTC). |
publishedTo | string | no | Window end, YYYY-MM-DD (whole day) or ISO 8601 date-time. Default: now. |
keyword | string | no | Keep notices whose title or description contains all these words, case-insensitive. |
stages | array | no | Any of planning, tender, award, implementation. Empty = all. |
cpvPrefixes | array | no | Keep notices with a CPV code starting with any of these, e.g. ["72"] (IT services). |
sources | array | no | find-a-tender and/or contracts-finder. Empty = both. |
maxResults | integer | no | Stop after this many rows (default 50, max 1,000). Caps the cost of a run. |
Open tenders from the last 3 days:
{ "daysBack": 3, "stages": ["tender"], "maxResults": 50 }
IT-services notices (CPV 72) mentioning "cloud" in the first week of October 2026:
{ "publishedFrom": "2026-10-01", "publishedTo": "2026-10-07", "keyword": "cloud", "cpvPrefixes": ["72"], "maxResults": 200 }
Calling from an AI agent (MCP)
This Actor works as a tool through the Apify MCP server. Example tool call:
{ "actor": "homelabmobile/uk-tenders", "input": { "daysBack": 7, "stages": ["tender"], "keyword": "software", "maxResults": 10 } }
Output
One JSON object per procurement process (OCID). A real row from a staging run (lots shortened):
{"ocid": "ocds-h6vhtk-0785d5","sources": ["find-a-tender"],"noticeId": "096735-2026","noticeIds": ["096735-2026", "096286-2026", "096189-2026"],"noticeUrl": "https://www.find-tender.service.gov.uk/Notice/096735-2026","stage": "tender","releaseTags": ["tenderUpdate"],"title": "High Quality Cafe Furniture","description": "High quality contemporary external cafe furniture comprising chairs and matching \ntables, suitable for installation within a publicly accessible outdoor space and \nintended to remain outdoors throughout the year. See documents for details.","status": "active","buyerName": "Awdurdod Parc Cenedlaethol Eryri","buyerId": "GB-PPON-PMBN-3325-GJRQ","buyerLocality": "Gwynedd","buyerPostalCode": "LL48 6LF","buyerCountry": "United Kingdom","buyerWebsite": "http://www.eryri.llyw.cymru","mainCpvCode": "39100000","mainCpvDescription": "Furniture","cpvCodes": ["39100000"],"regions": ["UK"],"valueAmount": 12500,"valueAmountGross": 15000,"valueMinAmount": null,"currency": "GBP","procurementMethod": "open","procurementMethodDetails": "Below threshold - open competition","mainProcurementCategory": "goods","suitableForSme": null,"suitableForVcse": null,"publishedDate": "2026-10-13T16:06:24.000Z","tenderDeadline": "2026-11-09T12:00:00.000Z","contractStart": null,"contractEnd": null,"lots": [{ "id": "1", "title": null, "description": null, "status": "active", "valueAmount": 12500, "currency": "GBP" }],"awards": [],"scrapedAt": "2026-10-14T02:47:59.340Z"}
Award rows fill awards with the award date, value, and winning supplier organisation names and
ids (e.g. GB-COH-<Companies House number>). Suppliers that may be individuals are only counted, in
suppliersRedacted. All dates are UTC ISO 8601. Every field is described
in the dataset schema.
Each run also writes RUN_SUMMARY (status, counts) and SOURCE_STATS (pages and releases read per
portal, and any portal error) to its key-value store.
Pricing
Pay per event:
| Event | Price | Per 1,000 |
|---|---|---|
| Result (one valid row = one OCID) | $0.003 | $3.00 |
Plus Apify's standard Actor start charge. A typical run of 50 open tenders costs about $0.15.
Licence and attribution
Notice data is published by the Cabinet Office (Find a Tender) and Crown Commercial Service (Contracts Finder) under the Open Government Licence v3.0. If you reuse the data, include this attribution:
Contains public sector information licensed under the Open Government Licence v3.0. Source: Find a Tender (https://www.find-tender.service.gov.uk) and Contracts Finder (https://www.contractsfinder.service.gov.uk), © Crown copyright.
Licence text: https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/. Some Find a Tender notices are based on the TED XML schema (© European Union). This Actor is not endorsed by the Cabinet Office or Crown Commercial Service.
Known limits
- Different date fields. Contracts Finder filters on publication date; Find a Tender only
filters on "last updated", so an old notice updated inside your window is included.
publishedDateis the date of the newest release for that OCID. - Cross-portal duplicates are rare. The two portals issue different OCID prefixes
(
ocds-b5fd17-Contracts Finder,ocds-h6vhtk-Find a Tender), so a notice posted on both usually appears as two rows. Deduplication mainly collapses several notices for the same process. - Filters run after download. Neither API filters by keyword or CPV, and Find a Tender's own stage filter drops many notices, so those filters run on every downloaded notice. A rare keyword over a long window reads many pages; each portal is capped at 40 pages (4,000 notices) per run.
- Regions differ by portal. Contracts Finder gives region names (e.g. London); Find a Tender gives NUTS/ITL codes (e.g. UKI). Values on award notices are on the award, not the tender.
- Speed. The portals rate-limit their APIs. The Actor makes one request at a time, at most one
every 10 seconds to Find a Tender and every 2 seconds to Contracts Finder, and honours
Retry-After. A 500-row run takes about 1–3 minutes. If a portal blocks the run, its rows are skipped and the run reports it inSOURCE_STATS; the run fails only if both portals fail. - Only organisations are named as suppliers. A winning supplier's name and id are output only if
it has a company, charity or public-body ID, or a legal-form name (Ltd, PLC, LLP, CIC, University,
Council and so on). Others may be sole traders trading under their own name, so they are counted in
suppliersRedactedinstead. Some small firms without a legal-form name are left out as a result. No supplier addresses or contact details are output. - Public, logged-out API data only. It does not log in or bypass any access control.
Support
Open an issue on the Actor's Issues tab. We reply within 2 business days.