🇬🇧 UK Find a Tender Watch — Tenders, Awards & Incumbents avatar

🇬🇧 UK Find a Tender Watch — Tenders, Awards & Incumbents

Pricing

from $13.40 / 1,000 procedure deltas

Go to Apify Store
🇬🇧 UK Find a Tender Watch — Tenders, Awards & Incumbents

🇬🇧 UK Find a Tender Watch — Tenders, Awards & Incumbents

Watch UK public procurement from the official Find a Tender OCDS feed: new tenders, award results and incumbent changes as deduplicated, delta-only events. Seed-zero watch mode, a machine-checkable source receipt on every run, and pay-per-delta pricing.

Pricing

from $13.40 / 1,000 procedure deltas

Rating

0.0

(0)

Developer

NexGen Watch

NexGen Watch

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Bid teams lose contracts they never saw posted. This turns the UK's official Find a Tender OCDS feed into a deduplicated, delta-only watch on new opportunities, award results, and incumbent changes — with a machine-checkable receipt on every run.

What you get

  • tender_notice — opportunity and planning records with buyer, CPV, value, deadline and source URL
  • award_notice — award records with winner names/ids, incumbent keys, award value, and the linked tender
  • procedure_delta — watch-mode change events: new opportunity, notice updated, tender-to-award, incumbent change
  • source_receipt on every run — terminal state, counts, and a source-shape canary result, never billed
  • Deduplication on the source-native procedure id, so a re-run does not re-charge you for the same change

Use cases by team

  • Suppliers & bid teams: Watch named buyers and CPV categories so a qualifying tender reaches your pipeline the day it publishes.
  • Incumbency & market analysts: Track who is winning which contracts, and catch the award that quietly replaces an incumbent.
  • Procurement-intelligence vendors: License a bounded, deduplicated official feed instead of maintaining an OCDS parser yourself.
  • Public-sector consultancies: Keep dated, auditable evidence of what the official register said and when.

Example inputs

Last 7 days, everything (default window)

{
"maxItems": 500
}

Watch two named buyers by CPV

{
"buyerNames": [
"Ministry of Defence"
],
"cpvCodes": [
"72000000"
],
"watchMode": true,
"baselineId": "mod-it-watch"
}

Explicit window with keyword targeting

{
"updatedFrom": "2026-07-01",
"updatedTo": "2026-07-24",
"keywords": [
"cyber",
"cloud migration"
],
"linkAwards": true
}

📊 Sample Output

{
"record_type": "award_notice",
"procedure_id": "ocds-h6vhtk-04f2c1",
"buyer_name": "Ministry of Defence",
"title": "Cloud hosting services",
"cpv_codes": [
"72000000"
],
"award_value_gbp": 4250000,
"winner_names": [
"Example Digital Ltd"
],
"incumbent_key": "example-digital-ltd",
"linked_tender_id": "ocds-h6vhtk-04f2c1-tender",
"notice_kind": "award",
"source_url": "https://www.find-tender.service.gov.uk/Notice/04f2c1-2026",
"observed_at": "2026-07-25T00:00:00Z"
}

How it works

Give it a date window and optional buyer / CPV / keyword / notice-kind filters. It reads the Find a Tender Service OCDS Release Packages API (find-tender.service.gov.uk) as an anonymous public client, normalizes each release into tender_notice and award_notice records, links awards back to their originating tender when linkAwards is on, and — in watch mode — diffs against a private baseline to emit only procedure_delta events. Every run closes with a source_receipt carrying the terminal state and a canary check on the source shape, so a zero is always explained.

Pricing

EventPrice (FREE tier)
Actor start (apify-actor-start)$0.02 flat, once per run
Procedure delta (procedure_delta) — primary$0.02
Tender notice (tender_notice)$0.004
Award notice (award_notice)$0.006
Source check (source_check)$0.10, once per run

Pay-per-event on a four-tier ladder (FREE → GOLD, with Platinum/Diamond floored at the Gold rate). Primary event procedure_delta: $0.02 / $0.018 / $0.016 / $0.0134. Notices: $0.004 / $0.0036 / $0.0032 / $0.00268 (tender) and $0.006 / $0.0054 / $0.0048 / $0.00402 (award). source_check: $0.10 / $0.09 / $0.08 / $0.067. Worked example — a watch run on FREE that finds 12 procedure deltas: $0.02 start + $0.10 source check + 12 × $0.02 = $0.36. A seed run or a genuine-zero run charges the start + source check only; receipts are never billed. New to Apify? Start free.

Run it — API, CLI, MCP

API:

curl -X POST "https://api.apify.com/v2/acts/nexgenwatch~uk-fts-tender-award-watch/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" -d @input.json

CLI:

$apify call nexgenwatch/uk-fts-tender-award-watch -i @input.json

MCP: expose nexgenwatch/uk-fts-tender-award-watch through Apify's MCP server, select it as a tool, and pass the same input object.

ActorWhat it does
EU TED Tender & Award WatchWatch EU-wide public procurement: tenders, awards, incumbent changes.
CanadaBuys Tender WatchWatch Government of Canada tender opportunities and awards.
AusTender Award WatchWatch Australian federal contract awards and incumbents.
GeBIZ Tender & Award WatchWatch Singapore GeBIZ tenders open, change, close and award.
MAS Directory Change WatchWatch Singapore MAS financial-institution licence changes.

Compliance & honest limits

  • Public, logged-out official source only — no API key, login, cookie, CAPTCHA, or access-control defeating.
  • Client-side targeting: filters are applied to the bounded window this actor fetched, not pushed into the upstream query.
  • Watch mode's first run seeds a private baseline and emits zero deltas by design — deltas start on the second run.
  • A source-confirmed empty window is SUCCEEDED-0: GENUINE_EMPTY; truncated runs are PARTIAL; exhausted retries are BLOCKED.
  • source_receipt records are always emitted and are never billed.

FAQ

Where does the data come from?

The official UK Find a Tender Service (find-tender.service.gov.uk) OCDS Release Packages API public, logged-out feed. No API key, login, or cookie is used, and no access control is defeated.

What does watch mode actually do?

The first run stores a private baseline and emits zero deltas. Every later run emits only procedure_delta events keyed on the source-native procedure id — new opportunity, notice updated, tender-to-award, and incumbent change.

Does zero results mean I was blocked?

No, and you never have to guess. Every run emits a source_receipt with an explicit terminal state: NORMAL, GENUINE_EMPTY, PARTIAL, or BLOCKED, plus a source-shape canary result.

What am I charged when nothing changed?

The $0.02 start and the $0.10 source check. Deltas are the primary billable unit, so a quiet window is cheap by design. Receipts are never billed.

How do I bound the window?

Use updatedFrom / updatedTo — it defaults to a recent bounded window rather than attempting the full historical archive.

Can I track a specific buyer or category?

Yes — that is the main targeting path. Pass buyerNames, cpvCodes, keywords, or noticeKinds.

Will this reconstruct the full contract history?

No. It is a bounded, deduplicated recurring feed, not a historical archive backfill. That honesty is deliberate.

Troubleshooting

  • Watch mode emitted nothing? Expected on the first run — it seeds the baseline. Deltas begin on run two with the same baselineId.
  • Zero records? Check the date window first, then read the source_receipt: GENUINE_EMPTY means the source really had nothing in that window.
  • Run marked PARTIAL? Collection was truncated against maxItems or a retry budget. Raise maxItems or narrow the window and re-run.
  • Filters returning too little? Filters apply client-side to the fetched window, so widen the date window before widening the filters.
  • Need the untouched upstream payload? Set includeRaw: true to carry the raw source object alongside the normalized record.

About

Part of the NexGenData procurement-watch family — one honest, deterministic contract across UK, EU, Canadian, Australian and Singaporean public procurement. Built by NexGenData. Questions or need a custom feed? Open an issue on the Actor page.