ssh.autos

Catalog / Tenders & public contracts

TENDERS & PUBLIC CONTRACTS

UNGM UN Tenders | UN Procurement Notices

Search UNGM, the UN Global Marketplace, for procurement notices by keyword, agency, country or notice type.

PER CALL · X402 / MPP From $0.01 per call 1 endpoint at api.ssh.autos. Pay in USDC, no account. See the endpoint
APIFY STORE Public actor Run it with your Apify account: bulk runs, schedules and exports. Open on Apify

About this data

Search UNGM, the UN Global Marketplace, for procurement notices by keyword, agency, country or notice type. Each row has agency, reference, beneficiary country, publication date, deadline in its own GMT offset and links. Add description, contacts and UNSPSC codes. Export JSON, CSV or Excel.

From the actor’s Apify Store listing. The per-call endpoint may return a bounded subset; its own description is below.

Buy per call over x402

One endpoint at api.ssh.autos. Each call is one JSON POST, paid in USDC with no account or API key, and answered in the same HTTP response.

POST /v1/ungm/tenders

UN procurement notices from UNGM: title, agency, reference, beneficiary country, notice type, publish date and deadline.

PRICE$0.01 per call, in USDC
RESULTUp to 10 per call
PAYMENTx402 or MPP · no account

Input

Send a JSON body to POST https://api.ssh.autos/v1/ungm/tenders.

FieldTypeRequiredNotes
keywordsstringoptionalup to 200 characters
maxItemsintegeroptional1–10; default 5

Returned fields

The answer is JSON: records, a list of up to 10, and summary, the run status and counts. Each record has these 23 fields; a field the source does not publish comes back null.

23 fields per record
FieldTypeNotes
noticeIdstringUNGM notice id, for example 319219. One row per notice.
urlstringOfficial notice page on ungm.org.
referencestringThe buyer's reference number, for example UNDP-SLE-00337.
agencystringUN organization that published the notice, for example UNDP, UNICEF or WFP.
noticeTypestringNotice type as published, for example Invitation to bid, Request for quotation or Call for individual consultants.
countrystringBeneficiary country or countries exactly as published; some notices say 'Multiple destinations' or list several countries in one line.
statusstringactive when the run kept UNGM's 'only currently active' filter on (the source returned it as open); null when closed notices were included.
one of active
publishedOnstringPublication date, YYYY-MM-DD.
deadlineAtstringBid deadline as ISO 8601 with the notice's own GMT offset, for example 2026-11-04T15:59:00-04:00.
deadlineTextstringDeadline exactly as published, for example '04-Nov-2026 15:59 (GMT -4.00)'.
deadlineDatestringDeadline calendar date, YYYY-MM-DD.
deadlineTimestringDeadline clock time as published, HH:MM in the notice's own GMT offset.
deadlineOffsetstringThe GMT offset UNGM publishes with the deadline, for example -04:00 or +04:30.
registrationLevelstringRegistration level the notice asks for, when published; null otherwise.
contactsarray of objectsContact rows exactly as published (label and value); null unless includeDetails.
linksarray of objectsPublished Links tab: external pages, e-procurement and supplier-registration links. null unless includeDetails.
unspscCodesarray of stringsUNSPSC codes UNGM selected for this notice; null unless includeDetails.
unspscNamesarray of stringsThe names of the selected UNSPSC codes, in the same order; null unless includeDetails.
detailsFetchedbooleantrue when the notice page was read for this row.
detailsErrorstringWhy the notice page could not be read, when it could not; null when the details are complete or were not requested.
sourceQuerystringThe filters this run used, for traceability.
sourcestringungm.org
scrapedAtstringWhen this row was read, ISO 8601 with UTC offset.

Example call

TERMINAL · $0.01 PER RUN
npx agentcash@latest fetch https://api.ssh.autos/v1/ungm/tenders -m POST -b '{"maxItems": 3}'

The example values come from the API spec or the actor’s own sample input. Running it is a paid call.

What is and isn’t charged

Free

  • Invalid input (422), busy (503), source failure (502), timeout (504) and calls whose client hung up are never charged.
  • Invalid input and source failures are not charged.

Prefer a subscription? Run it on Apify

This data source is a public actor on the Apify Store: UNGM UN Tenders Scraper | UN Procurement Notices. Run it with your Apify account and plan for larger, scheduled or exported runs; it may offer more input options than the per-call endpoint.

Open on Apify

How x402 payment works

  1. Your client sends the request. The API answers 402 Payment Required with the price and where to pay.
  2. The client pays from its own wallet: USDC on Base or Solana over x402, or over MPP on Tempo. No account, sign-up or API key.
  3. The client retries with the payment attached and gets the JSON answer in the same call. You are only charged for answers.

The AgentCash CLI in the example does all three steps for you and pays from your AgentCash wallet. Any x402 or MPP client works the same way.

Machine-readable: openapi.json · llms.txt

Some links to Apify are affiliate links. We may earn a commission if you sign up and become a paying customer.