UK Public Tenders API: Contracts Finder + Find a Tender avatar

UK Public Tenders API: Contracts Finder + Find a Tender

Pricing

Pay per usage

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

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

UK Open Data Tools

Maintained by Community

Actor 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) or 45 (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

FieldTypeDefaultNotes
sourcesarraybothcontracts_finder, find_a_tender
daysBackinteger1Contracts Finder filters by published date and Find a Tender by updated date. Use 1 with a daily schedule.
keywordsarray[]Case-insensitive; matches any keyword in the title or description
cpvPrefixesarray[]e.g. ["72","48"]
minValueinteger0GBP. Notices with no published value are kept.
crossSourceDuplicatesstringflagflag, drop or off
maxItemsinteger500Maximum rows returned
maxReleasesScannedinteger20000Safety 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 contactPoint details (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 awardedSupplierCount is 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.