UK Tenders: Find a Tender + Contracts Finder avatar

UK Tenders: Find a Tender + Contracts Finder

Pricing

$3.00 / 1,000 results

Go to Apify Store
UK Tenders: Find a Tender + Contracts Finder

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

Home Lab Mobile

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

7 days ago

Last modified

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; noticeIds lists every notice, sources says which portal(s) published it.
  • Filters by date window (daysBack or publishedFrom/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

FieldTypeRequiredDescription
daysBackintegernoNotices from the last N days (default 3, max 90). Ignored if publishedFrom is set.
publishedFromstringnoWindow start, YYYY-MM-DD or ISO 8601 date-time (UTC).
publishedTostringnoWindow end, YYYY-MM-DD (whole day) or ISO 8601 date-time. Default: now.
keywordstringnoKeep notices whose title or description contains all these words, case-insensitive.
stagesarraynoAny of planning, tender, award, implementation. Empty = all.
cpvPrefixesarraynoKeep notices with a CPV code starting with any of these, e.g. ["72"] (IT services).
sourcesarraynofind-a-tender and/or contracts-finder. Empty = both.
maxResultsintegernoStop 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:

EventPricePer 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. publishedDate is 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 in SOURCE_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 suppliersRedacted instead. 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.