AusTender Contract Notices Scraper (Australian Government) avatar

AusTender Contract Notices Scraper (Australian Government)

Pricing

from $3.00 / 1,000 contract notices

Go to Apify Store
AusTender Contract Notices Scraper (Australian Government)

AusTender Contract Notices Scraper (Australian Government)

Australian Government contract notices from the official AusTender OCDS API as flat rows: agency, supplier, value, UNSPSC category, procurement method, dates, notice URL. Filter by date, keyword, agency, supplier, category, value. No contact details, no personal data.

Pricing

from $3.00 / 1,000 contract notices

Rating

0.0

(0)

Developer

La Fabbrica LLC

La Fabbrica LLC

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

What does AusTender Contract Notices Scraper do?

AusTender Contract Notices Scraper turns the Australian Government's procurement register, AusTender (tenders.gov.au), into flat, spreadsheet-ready rows: one row per contract notice with the procuring agency, the supplier organisation and its ABN, contract value in AUD, UNSPSC category, procurement method (open or limited tender, with the CPR condition or exemption used), signing date, contract period, status and the public notice URL. It reads AusTender's own OCDS open-data API (api.tenders.gov.au/ocds), so there is no HTML parsing to break and 100 notices arrive per request.

Pick a published-date window (default: the last three days) and optional filters, and you get for example:

  • every contract the Department of Defence signed this week, without amendments,
  • every IT or consulting contract (UNSPSC segments 43 and 81) above A$100,000 in the last month,
  • every notice won by a named supplier ("suppliers": ["Datacom"]), or every limited tender citing a particular CPR condition,
  • specific notices by id ("contractNoticeIds": ["CN4277105"]), including their amendment history.

The actor runs with Apify's limited permissions level: it can only read and write its own run storages and never touches other data in your account. It does not log in and does not collect personal data: agency and supplier contact officers (names, e-mails, phone numbers) and street addresses are never read, and when the supplier is a natural person (a sole trader listed as SURNAME, GIVEN NAMES, Given Surname, initials plus surname, or a trading name containing a personal name) the name is replaced by [individual supplier, name withheld] with supplierType: "individual", personalDataRedacted: true and the ABN, suburb and postcode set to null. Only Contract Notices are read; Approach-to-Market material, which AusTender does not license for redistribution, is never requested.

Why use it?

  • Bid and sales teams: a daily CSV of who won what, at which agency, for how much, to spot incumbents, panel usage and contract end dates (renewal windows) in your category.
  • Market and competitor analysis: total contract value by supplier, agency or UNSPSC segment over any window up to 92 days per run; chain runs for longer histories.
  • Journalists, researchers and civic-tech: limited-tender share, exemption codes and value distributions straight from the official register, with the licence attribution already in each row.
  • AI agents and RAG: "Which cyber-security contracts did Home Affairs sign this month?" becomes one actor call with agencies, keywords and daysBack.

On Apify you also get scheduling, webhooks, run monitoring and integrations (Google Sheets, Make, Zapier, LangChain, MCP).

How to use it

On the actor page, open the Input tab, set a date window and any filters, and click Start. Leave every field at its default to get the newest 100 notices from the last three days. The fields:

FieldTypeDefaultMeaning
daysBackinteger 1-923Read notices published in the last N days (UTC) when dateFrom is empty
dateFrom, dateToYYYY-MM-DDnone / todayExplicit published-date window, at most 92 days per run
keywordsarraynoneKeep notices whose title, description, agency, supplier, UNSPSC code or CN id contains any of these (case-insensitive substring)
excludeKeywordsarraynoneDrop notices containing any of these
agenciesarraynoneKeep notices whose agency name contains any of these
suppliersarraynoneKeep notices whose supplier name contains any of these
unspscPrefixesarraynoneKeep notices whose UNSPSC code starts with any of these ("43" IT, "8010" management advisory, "80111600" temporary personnel)
procurementMethodany / open / limited / selectiveanyFilter by procurement method
minValueAud, maxValueAudnumbernoneContract value range in Australian dollars
includeAmendmentsbooleantrueAlso return amendment releases (releaseTag: "contractAmendment")
contractNoticeIdsarraynoneFetch these CN ids directly instead of a date window (up to 200 per run)
maxItemsinteger100Stop after this many rows (max 20,000)

All filters combine with AND; each list matches when any of its entries matches. Notices are published on Canberra business days; a weekend window can legitimately be empty, and the log tells you which filter to loosen when nothing matches.

Example input

IT and consulting contracts above A$100,000 from the last week:

{
"daysBack": 7,
"unspscPrefixes": ["43", "81"],
"minValueAud": 100000,
"maxItems": 500
}

Defence contracts signed in a date range, original notices only:

{
"dateFrom": "2026-09-15",
"dateTo": "2026-09-22",
"agencies": ["Defence"],
"includeAmendments": false,
"maxItems": 1000
}

Specific notices by id:

{
"contractNoticeIds": ["CN4277105", "CN4278153"]
}

Example output

One row per contract notice. Download it as JSON, CSV or Excel, or read it through the API.

{
"contractNoticeId": "CN4277105",
"ocid": "prod-ea3c950e489c4664946de71bc37b0985",
"releaseId": "prod-ea3c950e489c4664946de71bc37b0985-cfe2d71678833e338f8911ad5075e77a",
"releaseTag": "contract",
"amendmentId": null,
"amendsReleaseId": null,
"publishedAt": "2026-09-22T23:50:26Z",
"title": null,
"description": "Provision of Delivery Confidence Assessment Services.",
"agency": "Australian Energy Regulator",
"agencyAbn": "18105599265",
"supplier": "ServeGate Australia",
"supplierAbn": "56609386156",
"supplierType": "organisation",
"supplierLocality": "Canberra",
"supplierRegion": "ACT",
"supplierPostcode": "2601",
"supplierCountry": "AUSTRALIA",
"personalDataRedacted": false,
"unspscCode": "80101507",
"procurementMethod": "open",
"procurementMethodDetails": "Open tender",
"limitedTenderExempt": null,
"limitedTenderReasonCode": null,
"limitedTenderReason": null,
"exemptionCode": null,
"exemption": null,
"valueAud": 35000,
"currency": "AUD",
"dateSigned": "2026-09-22T23:50:26Z",
"startDate": "2026-09-13T14:00:00Z",
"endDate": "2027-09-12T14:00:00Z",
"status": "active",
"noticeUrl": "https://www.tenders.gov.au/Cn/Show/CN4277105",
"apiUrl": "https://api.tenders.gov.au/ocds/findById/CN4277105",
"source": "AusTender (Australian Government Department of Finance)",
"license": "CC BY 3.0 AU (https://creativecommons.org/licenses/by/3.0/au/)",
"retrievedAt": "2026-09-27T03:15:17.651Z"
}

The Output tab shows a table view with the most useful columns; the run's key-value store holds a SUMMARY record with counts (read, matched, saved, sole-trader names withheld, pages read, ids not found).

Limits

  • At most 92 days per run and 20,000 rows per run; run several windows for longer histories. A busy day has roughly 100-400 notices.
  • Contract Notices and their amendments only. Approach-to-Market (ATM) and Standing Offer notices are not returned.
  • Supplier names that look like a natural person are withheld (see above); supplierRegion and supplierCountry are kept for them because a state is not personal data. Typically 5-10% of notices go to individuals (contractors, barristers, landlords). The detection is deliberately cautious: a few firms named after their founders (two or three plain words, no entity suffix or business noun, for example a law partnership) are withheld too, roughly 1-2% of rows. If you find a personal name that slipped through, open an issue and it will be excluded.
  • Values are as published by the agency (GST inclusive); valueAud is null on the rare notices without an amount.
  • The API is the Department of Finance's; when it is down the actor retries four times with back-off and then fails with the HTTP status in the message.

Data source and licence

Data comes from the AusTender OCDS API published by the Australian Government Department of Finance. Contract Notice data is licensed under Creative Commons Attribution 3.0 Australia; every row carries source and license fields so you can keep the attribution when you republish. The actor sends one request per 100 notices with an identifying User-Agent and no concurrency.

How much does it cost?

This actor uses pay-per-event pricing. You pay two things and nothing else:

EventPriceWhen
Actor start$0.02Once per run, after your input is validated
Contract notice$0.003Once per row saved to the dataset

A typical run of 100 notices costs $0.32; a full week of every notice (about 900 rows) about $2.72. Set Maximum cost per run in the run options to cap spending; the actor stops cleanly when the cap is reached and you keep everything saved up to that point. Free-plan users can try it within their monthly platform credit.

FAQ

Why is title often empty or a bare number? Agencies fill the title inconsistently; description is the reliable text field.

Why do I get two rows for one CN id? The original notice and each amendment are separate releases. Set includeAmendments: false to keep only originals, or group by contractNoticeId.

Can I get the contact officer for a notice? No. Contact names, e-mails and phone numbers are personal data and are never read by this actor. The noticeUrl opens the public notice page where the agency lists its enquiries channel.

Does it scrape the tenders.gov.au website? No. It reads only the official JSON API, respecting the site's robots rules, and never logs in.