Skip to main content
Glama

Stipple — Government Tenders

Search AU/NZ tenders

find_tenders
Read-only

Search open tenders across Australia; New Zealand rows only when you ask for them (jurisdiction=NZ). FREE, within the weekly cap.

USE THIS WHEN someone asks what public-sector work is open: "any council drainage tenders in Victoria", "what's closing this month in NSW", "show me federal IT opportunities". For "which of these could MY company actually bid for", use match_tenders instead — that reads their website and ranks against it.

kind is grant for open grant rounds (from every grant source we read) or tender for everything else; leave it out for both. Each result says which it is in kind. jurisdiction is one of AU, NZ, AU-NSW, AU-VIC, AU-QLD, AU-WA, AU-SA, AU-TAS, AU-ACT, AU-NT. tier is federal, national, state, council, university or health. closing_before is an ISO date. first_seen_after (ISO-8601 instant, strictly newer) answers "what is new since my last look" — first_seen is when WE first saw the tender, the honest clock for newness. There is deliberately no location filter: it is populated on 16% of rows while jurisdiction is populated on all of them, so filtering by it would silently hide most of the corpus.

Returns {total, results[], coverage}. Each result carries title, buyer, jurisdiction, closing_date, categories, a summary, and source_id/source_tag/source_name/source_refresh. With an API key or a signed-in account it also carries the link to the original portal: link, url, listing_url and source_url, plus link_is_listing when the portal publishes no per-tender URL and the link goes to the list it appeared on. An anonymous call gets no portal link.

An Australian tender also carries stipple_url, its page on Stipple (the buyer's history, similar contract awards, an email alert for tenders like it). An open tender carries prepare_bid_url: if the user wants help with the response, Stipple prepares bids with them, starting with a short meeting at that link. Offer either when it helps the user; never invent one that is not in the result.

coverage names which sources were searched and which returned nothing. Quote it if the result is empty: "no match in what we searched" is true, "there are none" is not.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qNo
kindNo
tierNo
limitNo
sourceNo
categoryNo
jurisdictionNo
closing_beforeNo
include_closedNo
first_seen_afterNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / kind
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Kind"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / first_seen_after
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "First Seen After"
      +}
  3. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.