UK Public Tender Monitor (CF + FTS)
Pricing
from $4.00 / 1,000 new or amended records
UK Public Tender Monitor (CF + FTS)
Unofficial tool, not affiliated with UK Government/Cabinet Office. Get only new and amended UK public notices from Find a Tender and Contracts Finder since your last run, in one feed. OGL v3.0 data.
Pricing
from $4.00 / 1,000 new or amended records
Rating
0.0
(0)
Developer
Two Five Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
Not affiliated with or endorsed by the UK Government or the Cabinet Office (including Contracts Finder and Find a Tender). This is an independent tool from Two Five Labs that reads publicly available data. No government seals or logos are used.
What it does
Reads the Find a Tender and Contracts Finder OCDS APIs (one or both, set by portals) for notices published or updated in your look-back window, and returns only what is new or changed since your last run.
Duplicates:
- Within each portal, several releases of the same notice are collapsed to the latest.
- Across portals, a notice is merged when it has the same normalized title and buyer on both. The Find a Tender record is kept and the Contracts Finder copy is listed in
extra.alsoOn. - The match is title+buyer only, so a notice with a different title on each portal is not merged, and two different notices with an identical title and buyer would be. In a live run, a few records were merged this way.
Who it's for
Suppliers that bid on UK public contracts at any value.
Input
| Field | Description |
|---|---|
portals | list, default ["fts","cf"]. fts = Find a Tender, cf = Contracts Finder. Cross-portal merging applies only with both. |
lookbackDays | integer, default 3. Days of published/updated notices to check. |
keywords | list. Matches the notice title (case-insensitive). |
includeDescriptions | boolean, default false. Off: no free-text description is output. On: the description is added in extra.description, trimmed to remove contact names (marked [contact details removed]). Leave it off unless you need it. |
maxPages | integer, default 5. API pages (100 notices each) per portal per run. |
maxSpendUsd, emitUnchanged, stateStoreName | see "How runs work". |
There is no CPV or region filter.
No API key is needed for this source.
Run it via API
curl -X POST "https://api.apify.com/v2/acts/flamelit_constellation~uk-public-tender-monitor/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"maxSpendUsd": 1.0}'
Use your own Apify token.
How runs work
- First run: returns every matching record in the look-back window, all marked
changeType: "new". A first run can return many records, so the default spend cap may stop it early. The rest are output on the next run. - Later runs: return only records that are new, or whose content changed since they were last seen (
amended). The actor keeps a content hash per record in a key-value store. A second run over the same data outputs nothing. stateStoreName: give each saved search its own name so each one tracks its own history.emitUnchanged: truealso outputs unchanged records (changeType: "same"), which are never charged.- Spend cap:
maxSpendUsd(default 1.0) is a hard cap. When it is reached, the actor stops charging and stops output. Records not yet output are kept for the next run. - Errors and rate limits: network errors, HTTP 429 and 5xx responses are retried up to 3 times with backoff.
Retry-Afteris honoured in both its seconds and date forms; if the source asks for a wait longer than 2 minutes, the run stops instead of waiting.
Output
Tender record: id (OCDS ocid), source ("uk-fts" or "uk-cf"), title, buyer, cpv[], region, value, currency, posted, deadline, url, changeType, extra{portal, tag, status, attribution, modified, alsoOn (merged records only), description (only with includeDescriptions, max 1,000 chars)}.
Output includes award and contract notices, not only open tenders. Check extra.tag and extra.status. posted is the date of the latest release.
Excerpts from a live run:
{"id": "ocds-h6vhtk-078805","source": "uk-fts","title": "Air Source Heat Pump installation at Fullwell Cross Medical Centre","buyer": "NHS Property Services Limited","posted": "2026-10-14T18:05:40.000Z","url": "https://www.find-tender.service.gov.uk/Notice/097237-2026","changeType": "new","extra": {"portal": "fts","tag": ["award","contract"],"status": "complete","attribution": "Contains public sector information licensed under the Open Government Licence v3.0. https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/ © European Union, https://ted.europa.eu, 1998–2020 (notice schema)."}}
{"id": "ocds-b5fd17-19814284-7c7b-4dc3-b05f-6e646dadb7e2","source": "uk-cf","title": "Asset Management Surveys","buyer": "Environment Agency","cpv": ["71311300"],"value": 150000,"currency": "GBP","posted": "2026-10-14T18:05:16.000Z","url": "https://www.contractsfinder.service.gov.uk/notice/a8021dbb-046b-457b-b502-1dcc0e2788f6","changeType": "new","extra": {"portal": "cf","tag": ["award"],"attribution": "Contains public sector information licensed under the Open Government Licence v3.0. https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/ © Crown copyright."}}
cpv, region and value are often empty for Find a Tender records.
Personal data: contact fields such as contactPoint are removed, and emails and phone numbers in text are masked. Free-text descriptions are off by default. If you turn them on, they are trimmed to remove contact names: Contact names after role labels are removed; other names in free text may remain. Long descriptions may be shortened, sometimes before any contact details, to remove contact names.
Pricing
Pay per event: one run-start charge per run and one new-item charge per new or amended record output. Current prices are shown on this actor's Apify Store page.
Limits
- One shared throttle for both portals: at least 6 seconds between any two requests, so 10 requests per minute or fewer overall, and at most 20 requests per run.
- The live run used 10 requests.
Data source and terms
- Sources: Find a Tender OCDS API (
https://www.find-tender.service.gov.uk) and Contracts Finder OCDS API (https://www.contractsfinder.service.gov.uk). - Contains public sector information licensed under the Open Government Licence v3.0 (
https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/). - Contracts Finder records: © Crown copyright. Find a Tender records: notice schema © European Union (
https://ted.europa.eu), 1998–2020. - Each record carries its line in
extra.attribution. The data has been modified: notices are normalized, filtered, merged as described above, and compared between runs. - Not affiliated with or endorsed by the UK Government or the Cabinet Office (including Contracts Finder and Find a Tender).
FAQ
Does it return every record? The first run returns everything matching. After that it returns only new or changed records.
How often should I run it? Daily is enough.
Can I cap spend? Yes. maxSpendUsd is a hard cap, and records it stops are output on the next run.
Does it need a key? No.
Support
Questions or problems: please use the Issues tab on this actor's Apify page first.
Publisher: Two Five Labs, contact twofivelabs@gmail.com.
Requests to the source identify themselves with a contact address: flamelit-constellation-actors/0.1 (+mailto:twofivelabs@gmail.com).