UK & Australia Tenders Scraper - Search Gov Contracts & Awards avatar

UK & Australia Tenders Scraper - Search Gov Contracts & Awards

Pricing

from $1.50 / 1,000 notices

Go to Apify Store
UK & Australia Tenders Scraper - Search Gov Contracts & Awards

UK & Australia Tenders Scraper - Search Gov Contracts & Awards

Search UK and Australian government tenders and contract awards (Find a Tender, Contracts Finder, AusTender) via OCDS APIs. Input: sources, keywords, CPV/UNSPSC codes, notice types, dates, value range, buyer. Returns per notice: title, buyer, category, value, deadline, URL. Default: 20 notices.

Pricing

from $1.50 / 1,000 notices

Rating

0.0

(0)

Developer

Bence Kadi

Bence Kadi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Share

UK & Australia Tenders Scraper: government contracts and awards API

Export UK and Australian public tenders and contract awards from UK Find a Tender, UK Contracts Finder and AusTender in one run. One clean row per notice as JSON, CSV or Excel: title, buyer, CPV/UNSPSC category, estimated value, deadline, winning suppliers and awarded values, region and link. No API key, no login, no browser.

What is the UK & Australia Tenders Scraper?

It reads the official OCDS APIs of Find a Tender (higher-value UK notices, Procurement Act 2023), Contracts Finder (English contracts from about £12k-£30k, mostly awards) and AusTender (Australian Government awarded contracts) and returns one flat table. Field names match our EU Public Tenders Scraper (TED), so UK, Australian and EU notices stack in one sheet.

Who uses it and why:

  • Bid and tender managers get a daily list of new UK tenders in their CPV codes, with deadlines, in Sheets, Slack or their CRM.
  • B2G sales teams find public buyers that purchase what they sell, and see what they paid before.
  • Competitive intelligence analysts track who wins UK and Australian government contracts, and for how much.
  • Market researchers and consultants size public-sector demand by category, region and value.
  • Tender portals and AI agents feed fresh procurement data into their products, together with EU (TED) and US (SAM.gov) data.
  • Journalists and NGOs follow the spending of one buyer, such as an NHS trust.

Data fields

Every notice is one dataset item with these fields. Examples are from real runs on 2026-10-05.

FieldDescriptionExample
sourceCountryCountry of the source (2-letter code)GB
sourceSource nameUK Contracts Finder
sourceIdSource ID, as used in the sources inputuk_cf
publicationNumberNotice ID at the source (unique per source)093572-2026
ocidOCDS ID of the whole procurement processocds-h6vhtk-078036
referenceNumberThe buyer's own reference, when publishedSR3006962870
titleNotice titlePlay Ground Refurbishment x 2
descriptionWhat is being bought (contact data removed). Empty for AusTenderIngoldmells Parish Council is seeking ...
stageplanning, tender or awardtender
noticeTypeNotice type in plain EnglishTender notice
noticeTypeCodeSource notice codeUK4
isUpdatetrue for updated, amended or changed noticesfalse
statusStatus at the sourceactive
contractNatureWorks, goods or services (UK only)services
buyerNameContracting authorityBritish Council
buyerCountryBuyer country (2-letter code)GB
buyerRegionUK ITL/NUTS code or Australian stateUKI41
buyerCityBuyer cityLondon
categorySchemeCPV (UK) or UNSPSC (Australia)CPV
mainCategoryMain category code79340000
mainCategoryLabelEnglish label of the main code (UK only)Advertising and marketing services
categoryCodesAll category codes in the notice["45300000", "48000000", "32000000"]
mainCpvMain CPV code (UK only, same as TED)80000000
mainCpvLabelLabel of the main CPV codeEducation and training services
cpvCodesAll CPV codes (empty for AusTender)["80000000"]
estimatedValueEstimated value (empty if not published)75000
currencyCurrency of estimatedValueGBP
awardedValueTotal value awarded (award notices)220591.2
awardedCurrencyCurrency of awardedValueAUD
winnersNames of the winning suppliers["DELOITTE LLP"]
winnersOmittedWinners left out as natural persons1
publicationDateDate the source published the notice2026-10-04
deadlineDeadline for tenders or expressions of interest2026-10-16T12:00:00+01:00
contractStartContract start date2026-11-01
contractEndContract end date2029-10-31
procedureTypeProcedure, as the source names itCall-off from a framework agreement
placeOfPerformanceRegions where the contract is performed["England"]
lotsCountNumber of lots2
urlOfficial notice pagehttps://www.find-tender.service.gov.uk/Notice/093572-2026
attributionLicence attribution text for this sourceContains public sector information licensed under ...
isNewMonitoring mode only: notice not seen beforetrue
scrapedAtWhen the Actor saved the item (UTC)2026-10-05T04:48:17Z

Use cases: Generate leads (build B2B prospect lists) · Research markets & competitors (find deals & buy opportunities, build market datasets, track competitors) · Developer tools (extract government & public data, monitor & alert on website changes).

How to use the UK & Australia tenders scraper

  1. Open the Actor and click Try for free (you need a free Apify account).
  2. Pick the Sources (all three by default) and, optionally, Notice types: "Tender" = open calls you can still bid on, "Award" = who won and for how much.
  3. Set a date window, for example Published within the last N days = 3 (the prefill).
  4. Optionally add Keywords, Category codes, a minimum value, a buyer name or regions.
  5. Set Max results (the prefill is 30, about 15 seconds) and click Start.
  6. Open the Output tab and download the data as CSV, Excel or JSON, or send it to Google Sheets.
  7. For alerts, turn on Only new notices, then create a daily Schedule (see below).

Input guide

Sources. uk_fts (Find a Tender), uk_cf (Contracts Finder), au_austender (AusTender). AusTender has award notices only, so it is skipped (with a note in RUN_SUMMARY) if Notice types lacks "Award".

Keywords. Searched in title, description, buyer and category label (AusTender: title and buyer only). Several lines = OR. Case and accents do not matter.

  • Good: software, cleaning, cyber security.
  • Bad: IT. Terms also match inside words, so IT matches "facilities". Use a CPV code instead.

Category codes (CPV / UNSPSC). UK notices use CPV codes, AusTender uses UNSPSC. Sub-categories are included automatically.

  • Good: 72000000 (all CPV IT services, including 72220000), 4323 (UNSPSC software, returns 43232300), or a short prefix such as 72. 72000000-5 also works; the check digit is ignored.
  • Warning: codes are checked against every selected source, and UNSPSC codes starting with 72 are building services, not IT. Run CPV searches on the UK sources and UNSPSC searches on AusTender separately.
  • Tip: to find your codes, run a keyword search and look at categoryCodes.

Notice types. tender (open opportunities), award (winners and values), planning (pipeline and market engagement). Leave empty for all.

Date window. Published within the last N days for rolling searches (0 = today), Published from / to for a fixed period; no dates = last 30 days.

  • Warning: "last N days" replaces the from/to dates, so clear the prefilled 3 for a fixed period.

Submission deadline on or after. Only tenders you can still bid on. Accepts 2026-11-01, today or +14 days. Notices without a deadline (awards, planning, all of AusTender) are excluded.

Min / max value. The estimated value, or the awarded value when there is no estimate, in GBP or AUD (no conversion). Notices without a value are excluded.

Buyer name contains. For example NHS, County Council or Department of Defence.

Regions. Prefix match on buyer region and place of performance: UKI (London), UKM (Scotland), England, or Australian states like NSW. Contracts Finder has no buyer region, so UKI finds few of its notices.

Include updates and amendments. On by default. Changed notices come as separate rows with isUpdate: true. Turn it off for first publications only.

Max results. Total notices (0 = no limit), shared fairly: 30 gives 10 per source. Also your cost cap.

Only new notices (monitoring mode). Outputs (and charges) only notices not returned by earlier runs with the same filters. Use a different Monitor name for each saved search; changing any filter also starts a new list.

Input example: open UK IT tenders you can still bid on

{
"sources": ["uk_fts", "uk_cf"],
"noticeTypes": ["tender"],
"categoryCodes": ["72000000", "48000000"],
"publishedWithinDays": 7,
"deadlineAfter": "today",
"minValue": 50000,
"maxResults": 500,
"onlyNewNotices": true
}

Output

Each notice is one item in the run's dataset. This is a real Contracts Finder award notice from a run on 2026-10-05:

{
"sourceCountry": "GB",
"source": "UK Contracts Finder",
"sourceId": "uk_cf",
"publicationNumber": "8ccf33cd-d570-41f3-b423-97f2a7b3bfcd-916399",
"ocid": "ocds-b5fd17-4310452a-3d86-46ea-b34d-f2f93f29decb",
"referenceNumber": "SR3006962870",
"title": "TPC STRATEGIC DELIVERY PARTNER",
"description": "Tax Profession Capability (TPC) Strategic Delivery Partner\nHM Revenue & Customs (HMRC) is seeking to appoint a Strategic Delivery Partner ...",
"stage": "award",
"noticeType": "Awarded contract notice",
"noticeTypeCode": "award",
"isUpdate": false,
"status": "active",
"contractNature": "services",
"buyerName": "H M REVENUE & CUSTOMS",
"buyerCountry": "GB",
"buyerRegion": null,
"buyerCity": "TELFORD",
"categoryScheme": "CPV",
"mainCategory": "79400000",
"mainCategoryLabel": "Business and management consultancy and related services",
"categoryCodes": ["79400000"],
"mainCpv": "79400000",
"mainCpvLabel": "Business and management consultancy and related services",
"cpvCodes": ["79400000"],
"estimatedValue": 13100000,
"currency": "GBP",
"awardedValue": 13100000,
"awardedCurrency": "GBP",
"winners": ["DELOITTE LLP"],
"winnersOmitted": 0,
"publicationDate": "2026-10-04",
"deadline": null,
"contractStart": "2026-10-05",
"contractEnd": "2029-10-04",
"procedureType": "Call-off from a framework agreement",
"placeOfPerformance": ["England"],
"lotsCount": null,
"url": "https://www.contractsfinder.service.gov.uk/Notice/8ccf33cd-d570-41f3-b423-97f2a7b3bfcd",
"attribution": "Contains public sector information licensed under the Open Government Licence v3.0. Source: Contracts Finder, Cabinet Office, https://www.contractsfinder.service.gov.uk",
"scrapedAt": "2026-10-05T04:48:17Z"
}

On tender notices, deadline is filled and the winner fields are empty. AusTender rows have categoryScheme: "UNSPSC", values in AUD and empty cpvCodes. Fields shared with our TED actor (buyerName, mainCpv, estimatedValue, winners ...) have the same name and meaning.

Fill rates in a live run of 1,000 notices (last 7 days, 2026-10-05): title, buyer, category code, publication date and link 100% for every source. Find a Tender: tender deadline 90%, estimated value 89%, award winners 99%, awarded value 96%. Contracts Finder: award winners 99%, awarded value 97%, tender deadline 100%. AusTender: awarded value 100%, winners 93% (the rest are individuals, left out for GDPR).

Dataset views. The Output tab shows three tables:

  • Notices: date, source, title, type, buyer, category, estimated value, deadline, link. Best for daily review.
  • Awards and winners: buyer, winners, awarded value, contract dates, link. Best for competitor analysis.
  • Full details: description, procedure, region, all category codes, contract dates.

Run summary. Every run saves RUN_SUMMARY in the key-value store: filters used, per-source counts and errors, skipped sources and monitoring skips. The real summary of the prefilled run:

{
"filters": {"publishedFrom": "2026-10-02", "publishedTo": "2026-10-05", "noticeTypes": [], "keywords": [], "categoryCodes": []},
"sources": {
"UK Find a Tender": {"pages": 1, "fetched": 100, "matched": 100, "saved": 10},
"UK Contracts Finder": {"pages": 1, "fetched": 61, "matched": 61, "saved": 10},
"AusTender": {"pages": 1, "fetched": 100, "matched": 100, "saved": 10}
},
"skippedSources": {},
"noticesSaved": 30,
"skippedAlreadySeen": 0,
"winnersOmittedNaturalPersons": 5,
"requests": 6
}

Export. Download any view as JSON, CSV, Excel, XML, HTML or RSS from the Output tab or the API. You can also send results straight to Google Sheets with the Google Sheets integration.

Pricing

This Actor uses pay per event: $1.50 per 1,000 notices saved ($0.0015 per notice). Apify also charges a start fee of $0.00005 per run. Platform compute is included in the price.

Typical runNoticesCost
First test with the prefilled input30about $0.05
Weekly export of UK tenders in a few CPV codes1,000about $1.50
Daily UK + AU alert, about 100 new notices a day, for 30 days3,000about $4.50 per month
Bulk research export of award notices10,000about $15

What is free:

  • In monitoring mode, notices already returned in earlier runs are skipped and not charged.
  • Notices that do not match your filters are never charged; a search with no matches costs only the start fee.
  • Apify's free plan gives you monthly platform credit (see apify.com/pricing), enough for a few thousand notices.

Cap spending with Max results or Max charge per run in the run options. At the cap, the Actor stops cleanly and keeps what it saved.

Use it via API

Replace MY_APIFY_TOKEN with your token from Apify Console > Settings > API & Integrations.

JavaScript / Node.js (npm install apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('kadi_bence/gov-tenders-scraper').call({
sources: ['uk_fts', 'uk_cf'],
noticeTypes: ['tender'],
categoryCodes: ['72000000'],
publishedWithinDays: 7,
deadlineAfter: 'today',
maxResults: 500,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.length, items[0]?.title);

Python (pip install apify-client):

from apify_client import ApifyClient
client = ApifyClient("MY_APIFY_TOKEN")
run = client.actor("kadi_bence/gov-tenders-scraper").call(run_input={
"sources": ["au_austender"],
"publishedWithinDays": 30,
"minValue": 1000000,
"maxResults": 1000,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["buyerName"], item["winners"], item["awardedValue"], item["awardedCurrency"])

cURL (runs the Actor and returns the items in one call):

curl -X POST "https://api.apify.com/v2/acts/kadi_bence~gov-tenders-scraper/run-sync-get-dataset-items?token=MY_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"sources": ["uk_fts"], "noticeTypes": ["award"], "buyerName": "NHS", "publishedWithinDays": 1, "maxResults": 100}'

Apify CLI:

$apify call kadi_bence/gov-tenders-scraper --input '{"sources": ["uk_fts", "uk_cf"], "keywords": ["cleaning"], "publishedWithinDays": 3, "maxResults": 50}' --output-dataset

MCP (AI agents such as Claude, Cursor or VS Code). Add this to your MCP client config. The client will ask you to sign in to Apify (or send your token as an Authorization: Bearer header):

{"mcpServers":{"apify":{"url":"https://mcp.apify.com/?actors=kadi_bence/gov-tenders-scraper"}}}

Then ask your agent things like "Find open UK cyber security tenders with a deadline after next week".

Integrations and scheduling

  • Schedules. In Apify Console, Schedules > Create new: pick this Actor or a saved task and a time.
  • Webhooks. Call your own URL when a run succeeds or fails.
  • Zapier, Make and n8n. Use the Apify app to run the Actor or react to finished runs, then send rows to your CRM, Slack or e-mail.
  • Google Sheets. The Google Sheets integration on the Integrations tab appends each run's results to a sheet.

Recipe: new UK tenders every morning. UK sources, your Category codes, Notice types = Tender, last 2 days, deadline on or after +7 days, Only new notices on. Save as a task, schedule it daily at 07:00 and connect it to Google Sheets or Slack. Each morning you get only unseen notices.

Recipe: weekly competitor wins. Notice types = Award, your keywords or codes, last 7 days, weekly schedule, export the Awards and winners view to a sheet.

FAQ

How does it work, and where does the data come from? The Actor reads the official OCDS open-data APIs of the three sources, 100 notices per page, and applies your filters. The data may be re-used, also commercially; keep the attribution text of each row when you publish it.

  • Find a Tender and Contracts Finder (Cabinet Office): Open Government Licence v3.0. Commercial and non-commercial use is allowed if you acknowledge the source: "Contains public sector information licensed under the Open Government Licence v3.0."
  • AusTender (Department of Finance): Creative Commons Attribution 3.0 Australia. Any use, even commercial, if you give credit, link the licence and say if changes were made.

Is it legal? What about personal data? Yes. It is official open data published for re-use, and the Actor respects robots.txt and rate limits. Contact names, e-mails and phone numbers are never output ([email removed] / [phone removed] in descriptions). Winners that look like natural persons, such as sole traders, are left out and counted in winnersOmitted. Descriptions can still mention people, so handle the data according to GDPR and the UK/Australian Privacy Acts.

Why are there no open tenders from Australia? The AusTender API publishes awarded contracts only. Open approaches to market are not in the API, and AusTender's search pages are closed to robots, so we don't scrape them.

What about Canada (CanadaBuys)? Not available. CanadaBuys data is under the Open Government Licence - Canada, but its robots.txt disallows all automated clients, and we follow robots.txt. The parser is ready; we will add Canada once automated access is allowed.

Are there limits? Each source stops after 3,000 API pages (300,000 notices) per run, and monitoring remembers up to 300,000 notices per search. Only dates and notice types go to the APIs; other filters are applied after download, so a narrow search over a long window takes longer, but you pay only for matches.

How fast is it? The prefilled run (30 notices) takes about 15 seconds; 1,000 notices from the three sources took 48 seconds in our test. If a source answers "429 Too Many Requests", the Actor waits and retries.

How fresh is the data? As fresh as the sources: the APIs are read live at run time.

Why are my results different from the websites? Sub-codes are always included, keywords match inside longer words, updates are included by default, natural-person winners are left out, and AusTender uses the Australian calendar day. Find a Tender's API filters by last update, so the Actor re-filters by publication date. RUN_SUMMARY shows the exact window and filters.

Why is the estimated value or the deadline sometimes empty? Buyers don't always publish them, and award notices have no deadline. The Actor never invents values: a value of 0 is returned as empty.

Can I use it from Python or connect it to Google Sheets, Slack or my CRM? Yes. See Use it via API and Integrations and scheduling above.

How does "Only new notices" work? Returned notice IDs are stored in a named key-value store in your account. The next run with the same filters and monitor name outputs only unseen notices, marked isNew: true. Notices cut off by Max results are not marked as seen, so they come next run.

What if a run fails or something looks wrong? Invalid input stops the run at once with a clear message. If one source is down, the Actor retries, then continues with the others and names the failed source in RUN_SUMMARY; the run fails only when every source fails. Open an issue on the Issues tab with the run link. Fixes usually land within 24 to 48 hours.

What changed recently? See the changelog below.

Need a custom version?

I build custom scrapers, scheduled data feeds and integrations (CSV, Excel, Google Sheets, API, MCP for AI agents). Tell me the sites and fields you need:

More low-cost Actors by the same developer, built on official APIs and public data:

All my Actors: apify.com/kadi_bence

Changelog

  • 1.0 (2026-10-05): First release. UK Find a Tender, UK Contracts Finder and AusTender via the official OCDS APIs, TED-compatible fields, monitoring mode, CPV/UNSPSC sub-category matching, GDPR filtering of individuals.