EU public tender search (TED)
ted_tender_searchSearch EU public procurement notices (tenders, contract notices, awards) on TED through the official API v3: keywords, optional buyer country and open-deadline filter, newest first. Free: the 25 newest matches. With bulk=true or page: 100 notices per page, pages 1-50, for $0.002 USDC. Paid calls made without a payment return isError with the x402 v2 PaymentRequired object (amount in USDC atomic units, network, payTo, HTTP endpoint); retry with the signed PaymentPayload in params._meta["x402/payment"]. Invalid input and calls where every item fails are never charged. Fetches follow robots.txt, use the User-Agent AdamHaleTools/1.0 and refuse private or internal addresses.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Keywords; a comma separates alternatives (OR), up to 5, e.g. "cloud hosting,data centre". | |
| bulk | No | true = paid tier (100 notices per page). | |
| page | No | Paid tier: result page of 100 notices. | |
| country | No | Optional buyer country, ISO 3166-1 alpha-2 (EU/EEA + CH), e.g. "FR". | |
| open_only | No | true = only notices whose tender deadline has not passed. | |
| x402_payment | No | Optional, paid tier only: a signed x402 v2 PaymentPayload, base64 (the value an HTTP client sends as the PAYMENT-SIGNATURE header). Prefer params._meta["x402/payment"]. Never a private key or seed phrase. |