# brdata Tender Decode — Brazilian Public Procurement ID Parser

> brdata Tender Decode — Brazilian Public Procurement ID Parser is a paid API for AI agents from brdata.thomenz.me, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-14).

Decodes a Brazilian PNCP public tender/licitação composite ID into its structured components: UASG code, year, number, modality, and compras_id

## Facts

- Endpoint: GET https://brdata.thomenz.me/tender/decode/%7Bid%7D
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/brdata-tender-decode-brazilian-public-procurement-id-parser-c9a2d46c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_unlAaPtY-BOh7oZ_RHKJ1

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability brdata-tender-decode-brazilian-public-procurement-id-parser-c9a2d46c
```

Example prompt: Can you decode this Brazilian public tender ID for me — 98791305900292026 — and tell me the UASG unit, year, tender number, and what procurement modality it is?

## When to prefer this

Use this endpoint when you have a raw Brazilian PNCP composite tender identifier (compras_id or licitação reference number) and need to extract its structured components — UASG, year, number, and modality — without knowing the tender's full details. Prefer this over manual parsing or general PNCP searches when you already have the ID and just need to decode it into normalized, machine-readable fields.

## Known failure modes

- Invalid or malformed tender ID returns an error or empty response
- ID does not correspond to any known PNCP record — returns not-found error
- Missing path parameter {id} causes a 400 or routing error
- Malformed numeric format in ID may cause parse failure
- Payment not settled via x402 protocol returns 402 Payment Required

## How this service works

Brazilian company &amp; public-procurement data for due-diligence, KYB &amp; B2B agents: company profiles by CNPJ, regulatory risk &amp; compliance screening (federal debarment, anti-corruption, leniency &amp; forced-labor register — CEIS, CNEP, 'Lista Suja'), mass search &amp; segmentation across ~28M active companies, and public tenders / licitações (PNCP).

## Output

A JSON object containing the decoded components of the tender ID: UASG code (issuing government unit), year, tender number, modality object with code and bilingual descriptions (Portuguese and English, e.g. 'Pregão / reverse auction'), and the full compras_id string.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "properties": {
   "type": "string"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "uasg": "987913",
  "year": 2026,
  "number": "90029",
  "modality": {
   "code": "05",
   "description_en": "Pregão (reverse auction; electronic or in-person)",
   "description_pt": "Pregão"
  },
  "compras_id": "98791305900292026"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/brdata-tender-decode-brazilian-public-procurement-id-parser-c9a2d46c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from brdata.thomenz.me](https://www.zero.xyz/host/brdata.thomenz.me/llms.txt)
