UK Tenders API: Contracts Finder & Find a Tender avatar

UK Tenders API: Contracts Finder & Find a Tender

Pricing

from $1.75 / 1,000 tender notices

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

UK Tenders API: Contracts Finder & Find a Tender

UK public sector tenders, planned procurements and contract awards from Contracts Finder and Find a Tender, the official UK government procurement services, in one feed. Filter by keyword, CPV code, value and deadline. Optional tender alerts: only new notices since the last run.

Pricing

from $1.75 / 1,000 tender notices

Rating

0.0

(0)

Developer

Tabulary

Tabulary

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Security

Limited permissions

Share

What does UK Tenders API do?

Every new UK public sector tender, planned procurement and contract award from the two official UK procurement services, Contracts Finder and Find a Tender, in one clean feed. The Actor reads both services' open APIs (published by the UK Cabinet Office in the Open Contracting Data Standard), merges them newest first, applies your filters and returns one tidy record per notice. Turn on only new since the last run and schedule it daily, and you have a tender alert service that costs cents instead of a monthly subscription. Bid teams, procurement consultants, sales teams and AI agents use it to find UK government contracts early without checking two websites every day.

What you get

  • Title, description, buyer (organisation and town) and a link to the official notice.
  • Stage (open tender, planned procurement or award), notice type (for example UK4 tender notice) and procedure (open, selective, direct award).
  • Estimated value in GBP excluding VAT, plus the VAT-inclusive figure when the source gives one.
  • Tender deadline, days left until the deadline, the deadline to request to participate (for two-stage procedures), and contract start and end dates.
  • CPV codes with labels, delivery regions, and whether the buyer says it suits SMEs and VCSEs.
  • For awards: the winning suppliers and the awarded value.
  • Only-new delivery for scheduled runs: you never pay twice for the same notice.
  • Export as JSON, CSV or Excel, send to Google Sheets, Slack or a webhook, or call it as a tool from AI agents through the Apify MCP server.

How much does it cost?

You pay per tender notice saved, with no monthly fee: $2.50 per 1,000 tender notices on Apify's free plan, and 10–40% less on paid Apify plans. Each run also costs $0.001 to start. Apify's free plan includes $5 of credit every month, enough for about 2,000 tender notices. Prices as of October 2026; the price shown on this page is the one that applies.

UseTender noticesCost on the free plan
One search100about $0.25
Daily alert, about 30 new notices a dayabout 900 a monthabout $2.25 a month
90 days of awards in your sector2,000about $5.00

Set Maximum cost per run to cap any run; the Actor stops cleanly at the cap and keeps everything it saved.

Ready-made searches

Paste one of these into the JSON input tab, or set the same fields in the form.

Open IT and software tenders worth £100,000 or more, last 14 days · open this example

{ "cpvPrefixes": ["72", "48"], "minValue": 100000, "publishedWithinDays": 14, "maxItems": 200 }

Daily construction tender alert (schedule it every morning) · open this example

{ "cpvPrefixes": ["45"], "publishedWithinDays": 2, "onlyNewSinceLastRun": true, "maxItems": 500 }

Who won contracts in your market (competitor and pricing research) · open this example

{ "stages": ["award"], "keywords": "cyber security, penetration testing", "publishedWithinDays": 90, "maxItems": 1000 }

Pipeline: planned procurements and market engagement before the tender opens · open this example

{ "stages": ["planning"], "keywords": "digital, data", "publishedWithinDays": 30, "maxItems": 300 }

Tender alerts: only new since the last run

  1. Set your filters and turn on Only new since the last run (tender alerts).
  2. Save it as a task and add an Apify Schedule (for example every weekday at 07:00).
  3. Connect the output: Apify's built-in Slack and email notifications, a webhook, or Make, Zapier and n8n to push each new tender into Google Sheets, a CRM or a Teams channel.

Each run returns only notices that earlier runs with the same filters have not delivered, newest first, so you pay only for what is new. An updated notice (for example a changed deadline) is delivered again. The first run returns everything that matches. If a run stops at your maximum results or spending limit, the rest is delivered next time. The memory is kept per set of filters, so separate tasks never interfere.

Input

FieldTypeDefaultDescription
keywordsstring"" (all)Comma-separated words or phrases. A notice matches when its title or description contains any of them.
stagesarray["tender"]tender (open opportunities), planning (pipeline and market engagement), award.
sourcesarraybothcontracts-finder, find-a-tender.
publishedWithinDaysinteger3Notices published or updated in the last 1 to 90 days.
onlyOpenbooleantrueDrop tenders whose deadline has passed or that are cancelled, withdrawn or complete.
onlyNewSinceLastRunbooleanfalseReturn only notices that earlier runs with the same filters have not delivered (see Tender alerts).
cpvPrefixesarray[]Keep notices with a CPV code starting with these digits, e.g. 72 for IT services.
minValueinteger0Keep notices with a stated value of at least this many GBP.
maxItemsinteger10Stop after this many notices.

Output

One dataset item per notice. A real item from a test run on 13 October 2026 (daysToDeadline added for illustration):

{
"id": "096730-2026",
"ocid": "ocds-h6vhtk-077bad",
"source": "find-a-tender",
"stage": "tender",
"noticeType": "UK4",
"title": "Fire Risk Assessments - Domestic",
"description": "The Council are looking for a suppler to conduct Fire Risk Assessments for our Domestic housing stock.",
"buyerName": "West Lancashire Borough Council",
"buyerLocality": "Ormskirk",
"buyerCountry": "United Kingdom",
"status": "active",
"procurementMethod": "open",
"procurementMethodDetails": "Open procedure",
"mainCategory": "services",
"cpvCodes": ["71000000"],
"cpvLabels": ["Architectural, construction, engineering and inspection services"],
"valueAmount": 340000,
"valueAmountGross": 408000,
"minValueAmount": null,
"valueCurrency": "GBP",
"awardedValue": null,
"awardedValueCurrency": null,
"awardedSuppliers": [],
"publishedAt": "2026-10-13T16:57:10+01:00",
"tenderDeadline": "2026-11-13T16:00:00+00:00",
"participationDeadline": null,
"daysToDeadline": 31,
"contractStart": "2027-01-04T00:00:00+00:00",
"contractEnd": "2030-01-03T23:59:59+00:00",
"deliveryRegions": ["UKD47"],
"suitableForSme": true,
"suitableForVcse": null,
"url": "https://www.find-tender.service.gov.uk/Notice/096730-2026"
}

Fields the source leaves empty are null (or an empty list). Text is copied as published, typos included. Dates are ISO 8601 with the source's time zone. daysToDeadline counts whole days from the moment of the run.

Use it from AI agents

Add the Actor to Claude, ChatGPT, Cursor or any MCP client through the Apify MCP server (https://mcp.apify.com?tools=tabulary/uk-public-tenders). Ask in plain language, for example: "Find open UK tenders for cyber security worth over £50k that close in the next three weeks." The agent fills in the input and gets structured records back.

Use it from code

curl -X POST "https://api.apify.com/v2/acts/tabulary~uk-public-tenders/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keywords": "software", "publishedWithinDays": 7, "maxItems": 50}'

The same works with the Apify Python and JavaScript clients. See the API tab for details.

Data source and limits

  • Sources: the Contracts Finder API (terms) and the Find a Tender API (terms). Contains public sector information licensed under the Open Government Licence v3.0.
  • Contracts Finder mostly carries lower-value contracts from public bodies in England. Find a Tender carries higher-value notices from across the UK, including every notice under the Procurement Act 2023 and above-threshold notices from Scotland, Wales and Northern Ireland.
  • Find a Tender's own stage filter misses Procurement Act notices, so the Actor reads every Find a Tender release in your period and keeps the stages you chose. Stages come from each notice's OCDS release tags.
  • Keyword, CPV and value filters run inside the Actor on the fields above. Long periods with narrow filters scan more notices and take longer.
  • When a procurement has several tender or planning notices in your period (for example an update), you get the newest one. Award notices are returned one per notice, because each lot can have its own contract.
  • Regions are ITL/NUTS codes on Find a Tender (for example UKD47) and region names on Contracts Finder.
  • The Actor sends at most about one request per second to each site, identifies itself, and backs off when asked. If Contracts Finder reports its rate limit, the Actor stops reading that source for the run, keeps what it saved and says so in the run status.
  • No personal contact data: the contact-person fields (names, emails, phone numbers) are left out, and email addresses or phone numbers that buyers type into a title or description are replaced with [email removed] or [phone removed]. Otherwise text is copied as published.
  • Not affiliated with or endorsed by the UK Government or the Cabinet Office.

Other Tabulary tools

Clean data from official and public sources, priced per result:

FAQ

Is this data official? Yes. It comes from the services' public APIs. Only field names and formatting change, contact-person fields are dropped, and contact details in free text are masked.

How fresh is it? Every run fetches live data. New notices usually appear within minutes of publication.

How do I get new tenders every morning? Turn on only-new delivery, save the input as a task and schedule it (see Tender alerts). Use publishedWithinDays: 2 so nothing published late in the day is missed.

Does it cover Scotland, Wales and Northern Ireland? Above-threshold notices from all four nations are on Find a Tender, so yes for those. Lower-value notices published only on Public Contracts Scotland, Sell2Wales or eTendersNI are not included.

Why is the value or deadline empty? The buyer did not state it in the notice. Two-stage procedures often give a participation deadline instead of a tender deadline.

Can I get buyer contact details? No. The Actor deliberately leaves out personal contact data. Each record links to the official notice, which shows how to respond.

Something broke? Open an issue on the Issues tab. The Actor is tested daily.

Changelog

  • 2026-10-21: only-new delivery for scheduled tender alerts, daysToDeadline, ready-made searches.
  • 2026-10-13: first version: both services merged, keyword, CPV, value and open-deadline filters.

About Tabulary

This tool is part of Tabulary: clean tables from official public sources. Every Tabulary tool uses the source's official API or open data where one exists, collects no personal data, and is tested on Apify every day. Questions or ideas? Open an issue on the Issues tab.