UK Public Tenders & Contract Expiry Feed avatar

UK Public Tenders & Contract Expiry Feed

Pricing

$4.00 / 1,000 tender notices

Go to Apify Store
UK Public Tenders & Contract Expiry Feed

UK Public Tenders & Contract Expiry Feed

One clean, deduplicated feed of UK public sector tenders, awards and soon-to-expire contracts from the official Find a Tender and Contracts Finder OCDS APIs. Contact-person data is stripped by default.

Pricing

$4.00 / 1,000 tender notices

Rating

0.0

(0)

Developer

Larches Technologies Limited

Larches Technologies Limited

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

This Actor gives you one clean, deduplicated feed of UK public sector procurement notices from the two official government platforms:

SourceCoversAPI
Find a Tender (FTS)Above-threshold UK tenders and awards (Procurement Act 2023 / PCR 2015)find-tender.service.gov.uk/api/1.0/ocdsReleasePackages
Contracts Finder (CF)Below-threshold contracts from English buyers (over £12k / £30k)contractsfinder.service.gov.uk/Published/Notices/OCDS/Search

It does no HTML scraping and needs no login or API key. All data comes from the official, open OCDS APIs.

What it is for

  • Open opportunities. These are new tenders still open for bids, plus pipeline/planning notices, filtered by CPV, keyword, value, region and SME suitability.
  • Contract awards. See who won what, for how much, and when. Useful for competitor intelligence.
  • Expiring contracts (renewal radar). These are awarded contracts whose end date falls in the next N months. You can approach the buyer before the re-tender. Paid tools such as Stotles sell this as "Upcoming expiring contracts" from £75/month.
  • Only-new mode. On a daily schedule you get, and pay for, each notice once.
  • Presets. it covers CPV 72/48/302. cyber is a security keyword set covering SOC, SIEM, pentest, MDR, Cyber Essentials and similar. Construction and facilities presets are also included.

Privacy by default (UK GDPR)

Notices often name a buyer's contact person and give their email and phone number. By default, this Actor drops those details.

  • The contactPoint block is removed.
  • Email addresses and UK phone numbers in titles and descriptions are replaced with [email removed] / [phone removed].
  • Supplier names that may belong to a sole trader are withheld. A name is kept when the supplier has a company or charity number, is "large", or has an organisation word in its name; otherwise it is withheld.

You can turn on includeContacts only if you have a lawful basis for processing that data.

Input (main fields)

FieldDefaultNotes
modeopportunitiesopportunities, awards, expiringContracts or all
sources["fts","cf"]
lookbackDays2Use 365+ for expiringContracts
keywords / excludeKeywords / keywordScope–Whole-word matching; cyber* matches as a prefix
cpvPrefixes / cpvPreset–Matches main and additional CPV codes
minValueGbp, requireValue, smeSuitableOnly, openOnly, regions
expiringWithinMonths12
onlyNewfalseState is kept in the named key-value store uk-tenders-feed-state
maxItems / maxRequestsPerSource500 / 50Each request returns up to 100 notices

Output

Each notice is one row. Fields include:

  • source, noticeUrl, stage (planning / tender / award)
  • title, description, buyer (name, locality, postcode, region, website)
  • CPV codes with labels, procurement method, estimated value
  • deadline, contract start and end, delivery regions, SME/VCSE suitability
  • awards (value, dates, suppliers with Companies House number and scale)
  • the licence statement

See .actor/dataset_schema.json and sample-output.json. A run summary is saved to the key-value store as RUN_SUMMARY.

Politeness

  • At most about 1 request per second per host, with a declared User-Agent.
  • Backs off on 429/403/5xx and honours Retry-After.
  • Follows cursor pagination and hard-caps pages per source.
  • Neither host publishes a robots.txt (both returned 404 when checked on 2026-10-28).

Licence and attribution

The notice data is published under the Open Government Licence v3.0. Every row carries: "Contains public sector information licensed under the Open Government Licence v3.0." Keep that statement when you republish.

Always read the official notice before you bid.

Run locally

cd /workspace/apify-actors/uk-public-tenders-feed
python3 -m venv .venv && . .venv/bin/activate && pip install -r requirements.txt # or reuse ../.venv
apify run -i '{"mode":"opportunities","lookbackDays":2,"maxItems":20}' # no login needed
# or without the CLI:
mkdir -p storage/key_value_stores/default && echo '{"mode":"awards","cpvPreset":"cyber"}' > storage/key_value_stores/default/INPUT.json
APIFY_LOCAL_STORAGE_DIR=./storage python -m src

The results land in storage/datasets/default/.