ssh.autos

Catalog / Tenders & public contracts

TENDERS & PUBLIC CONTRACTS · BRAZIL

PNCP Brazil Public Tenders | Licitações

Search Brazilian public tenders (licitações) on PNCP by keyword, state, modality, sphere or buyer CNPJ.

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 Brazilian public tenders (licitações) on PNCP by keyword, state, modality, sphere or buyer CNPJ. Get the subject, buyer, municipality, estimated value in BRL, proposal deadline in local time, edital documents and links. Export JSON, CSV or Excel; build daily tender alerts and feeds.

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/br/pncp/tenders

Brazilian public tenders on PNCP: buyer, state, municipality, method, status, estimated value in BRL and proposal 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/br/pncp/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 40 fields; a field the source does not publish comes back null.

40 fields per record
FieldTypeNotes
tenderIdstringPNCP control number, unique per tender, e.g. 08829974000194-1-000080/2026.
noticeNumberstringThe buyer's own notice number, e.g. 90004/2026.
noticeTypestringInstrument: Edital, Aviso de Contratação Direta, Edital de Chamamento Público, ...
buyerNamestringBuying organisation (órgão).
buyerIdstringBuyer CNPJ, 14 digits.
buyerUnitNamestringBuying unit inside the organisation.
buyerUnitCodestringUnit code.
spherestringFederal, Estadual, Municipal or Distrital.
countrystringAlways BR.
regionstringState code (UF), e.g. SP.
regionNamestringState name.
municipalitystringBuyer municipality.
municipalityIbgeCodestringIBGE municipality code.
procurementMethodstringProcurement method (modalidade), e.g. Pregão - Eletrônico.
procurementMethodIdstringMethod id, as used by the 'Procurement methods' input.
disputeModestringBidding mode: Aberto, Fechado, Aberto-Fechado, ...
legalBasisstringLegal basis, e.g. Lei 14.133/2021, Art. 28, I.
priceRegistrationbooleanTrue for a price registration (registro de preços) procedure.
statusstringopen, closed, awarded, cancelled or suspended.
one of open, closed, awarded, cancelled, suspended
statusLabelstringSituation as the portal shows it, e.g. Divulgada no PNCP.
isOpenForBidsbooleanTrue while the proposal deadline is in the future.
categoryCodesarray of objectsItem category codes, with details on; null otherwise.
itemsCountintegerNumber of items, with details on.
itemKindsarray of stringsgoods and/or services, with details on.
estimatedValuenumberTotal estimated value when published; null when not published or confidential.
currencystringBRL when estimatedValue is set.
budgetConfidentialbooleanTrue when the buyer keeps the budget confidential.
publishedAtstringPublication on PNCP, ISO 8601 with offset (Brasília time).
updatedAtstringLast change on PNCP, ISO 8601 with offset.
proposalsOpenAtstringStart of the proposal period, ISO 8601 with the buyer's local offset.
deadlinestringEnd of the proposal period, ISO 8601 with the buyer's local offset.
documentsarray of objectsNotice documents (edital, terms of reference, annexes), with details on.
urlstringOfficial notice page on pncp.gov.br.
submissionUrlstringThe buyer's e-procurement page for the tender, when given.
descriptionExcerptstringSubject and additional information as published, up to 1,000 characters, with details on.
detailsFetchedbooleanTrue when the details were collected for this row.
detailsErrorstringWhy details are missing on a details run, else null.
sourceQuerystringThe filters that produced the row.
sourcestringpncp.gov.br.
scrapedAtstringWhen the row was collected, ISO 8601 UTC.

Example call

TERMINAL · $0.01 PER RUN
npx agentcash@latest fetch https://api.ssh.autos/v1/br/pncp/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: PNCP Brazil Public Tenders Scraper | Licitações. 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.