13trust / 100

Govspend Global Opportunities

by GovSpendPulse in Search & web

x402 APIFailing, checked 2 h ago

Global government procurement / tender search beyond US/EU/UK. Covers Australia (AusTender), Canada (CanadaBuys), Asia-Pacific, Africa, Latin America, Middle East, and the UN system in one synthesis — for business-development and international-sourcing agents.

GET
https://govspendpulse.theaslangroupllc.com/api/govspend/global-opportunities
Price
$0.15
per call in USDC
Uptime
0.0%
last 30 days
Response time
-
no timed checks yet
Last check
Failed
2 h ago, next any minute now

Run a free test callHow to call it

Reliability

All checks passedSome failedAll failedNot checked

Latest check failed 2 h ago: Amount "0.15" is not in atomic token units

Status and outage history · Atom feed · Watch with other listings

How to call it

GET https://govspendpulse.theaslangroupllc.com/api/govspend/global-opportunities

Each call costs $0.15 in USDC on Polygon, paid with the request over x402.

Run a free test callOne unpaid request, the way an agent sends it. You see the payment challenge it gets back. Nothing is charged.

Example request

From the listing.

GET https://govspendpulse.theaslangroupllc.com/api/govspend/global-opportunities?lang=en&regions=all

Parameters

ParameterTypeRequiredDescription
keywordstringNosearch term — e.g. "water infrastructure" | "health information systems" | "renewable energy" | "education technology"
langstringNoen | es | fr | pt | ar | zh (default: en)
regionsstringNocomma-separated regions to prioritize — australia | canada | asia | africa | latam | mena | un (default: all)

Example response

The provider's example. We can't check it without paying.

Example response, 43 lines
{
  "agent_action": "Focus on ADB and AfDB — faster procurement cycles than World Bank, less incumbent competition.",
  "market_entry_tips": "Register on UNGM at ungm.org for UN access; World Bank: eConsultant2.worldbank.org; ADB: procurement.adb.org",
  "opportunities_by_region": {
    "australia": {
      "active_tenders": 12,
      "highlights": [
        "$45M solar grid integration — Australian Renewable Energy Agency",
        "NSW grid battery storage RFT"
      ],
      "portal": "austender.gov.au"
    },
    "canada": {
      "active_tenders": 8,
      "highlights": [
        "$120M offshore wind feasibility — Natural Resources Canada"
      ],
      "portal": "canadabuys.canada.ca"
    }
  },
  "query_summary": {
    "as_of": "2026-06-07",
    "keyword": "renewable energy",
    "regions_searched": [
      "australia",
      "canada",
      "asia_pacific",
      "africa",
      "un"
    ]
  },
  "regional_intelligence": "Asia-Pacific dominates renewable energy procurement volume in 2026, driven by ADB's $10B climate finance commitment.",
  "top_opportunities": [
    {
      "country": "Kenya",
      "deadline": "2026-07-30",
      "estimated_value_usd": 85000000,
      "source_url": "https://afdb.org",
      "title": "Solar Energy Rural Electrification Programme",
      "why_interesting": "Large AfDB-funded project with minimal incumbent — open to new entrants with African experience."
    }
  ]
}

Call it from code

The curl command shows the payment challenge. The JavaScript and Python versions pay and call, and never pay more than $0.15.

curl: see the payment challenge
# bash or zsh: see the payment challenge. Nothing is charged.
curl -sS -g -i 'https://govspendpulse.theaslangroupllc.com/api/govspend/global-opportunities?lang=en&regions=all'

# x402 v2 sends the challenge base64-encoded in the PAYMENT-REQUIRED header (v1 sends it in the body).
# To read the header:
curl -sS -g -o /dev/null -D - 'https://govspendpulse.theaslangroupllc.com/api/govspend/global-opportunities?lang=en&regions=all' \
  | grep -i '^payment-required:' | cut -d' ' -f2 | tr -d '\r' | base64 --decode
JavaScript: pay and call
// npm i @x402/fetch @x402/evm viem
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

// Pays at most $0.15 per call.
const client = new x402Client().setSpendControls({ maxAmountPerPayment: "$0.15" });
registerExactEvmScheme(client, { signer: privateKeyToAccount(process.env.EVM_PRIVATE_KEY) });
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? ToolVet checks it first for $0.005. Pay for that from a separate
// client: this one is capped at $0.15 per payment. GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fgovspendpulse.theaslangroupllc.com%2Fapi%2Fgovspend%2Fglobal-opportunities
const res = await pay("https://govspendpulse.theaslangroupllc.com/api/govspend/global-opportunities?lang=en&regions=all");
console.log(res.status, await res.text());
Python: pay and call
# pip install "x402[requests,evm]"
import os
from eth_account import Account
from x402 import x402ClientSync
from x402.http.clients import x402_requests
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client

# Pays at most $0.15 per call.
client = x402ClientSync().set_spend_controls({"max_amount_per_payment": "$0.15"})
register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ["EVM_PRIVATE_KEY"])))

with x402_requests(client) as session:
    res = session.get("https://govspendpulse.theaslangroupllc.com/api/govspend/global-opportunities?lang=en&regions=all")
    print(res.status_code, res.text)

Security scan

No findings

We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
2 h agoAmount "0.15" is not in atomic token units4021.0 s$0.15
5 h agoAmount "0.15" is not in atomic token units402223 ms$0.15
10 h agoAmount "0.15" is not in atomic token units402224 ms$0.15
16 h agoAmount "0.15" is not in atomic token units402199 ms$0.15
21 h agoAmount "0.15" is not in atomic token units4021.2 s$0.15
Show 9 older checks
27 h agoAmount "0.15" is not in atomic token units4021.2 s$0.15
33 h agoAmount "0.15" is not in atomic token units402195 ms$0.15
39 h agoAmount "0.15" is not in atomic token units402191 ms$0.15
44 h agoAmount "0.15" is not in atomic token units402251 ms$0.15
2 days agoAmount "0.15" is not in atomic token units402212 ms$0.15
2 days agoAmount "0.15" is not in atomic token units402333 ms$0.15
3 days agoAmount "0.15" is not in atomic token units402196 ms$0.15
3 days agoAmount "0.15" is not in atomic token units402178 ms$0.15
3 days agoAmount "0.15" is not in atomic token units402248 ms$0.15