---
name: pontofato
description: "PontoFato — ponto CNEFE (endereço+lat/lon IBGE), raio em metros e empresas no CEP ou no raio, para agentes. Use quando a tarefa envolver PontoFato, pontofato.com, CEP ou CNEFE."
---

# PontoFato — skill para agentes

**Live:** https://pontofato.com  
**Local:** http://127.0.0.1:8767  
**Descoberta:** `GET /api/` · `/llms.txt` · `/llms-full.txt` · `/openapi.json`  
**MCP:** `POST https://pontofato.com/mcp`

Conta global: integração local em `/api/auth/bootstrap`, `/api/auth/login`, callback,
`/api/me`, leitura de perfil em `/api/account/profile`, foto em `/api/account/avatar`
e logout, via SDK único da plataforma. Foto é WebP privado sem cache; edição de
perfil/foto ocorre na conta MM. Os caminhos de entrada são de navegador,
com cookies HttpOnly/CSRF; não enviar senha, código ou segredo de cliente por MCP.
Consultas públicas não exigem conta. Publicação e UI de conta ainda pendentes no roadmap de auth.

## Operações

O acervo `/enderecos/` preserva `complemento`, `cod_unico_endereco` e `nv_geo_coord`
nos lotes de até 20 unidades. Não deduplique unidades só pelo número da rua.
`vizinhanca` entrega o cruzamento pronto com Receita, com limite/cobertura e data
da base; distâncias das empresas são associadas ao CEP.
`/api-access-guide.md` explica valor, limites e o cliente de compra com orçamento
explícito. O pacote de metadados não aumenta o raio da vizinhança.

A UI é voltada a pessoas. Comece em `/developers` ou `/api/`, leia somente a referência da
operação desejada e consuma HTTP/MCP; não extraia dados do HTML da busca.

| Tool | HTTP |
|------|------|
| `api_index` | `GET /api/` |
| `health` | `GET /api/health` — `cobertura.completa` é true só com as 27 UFs |
| `cep` | `GET /api/cep/:cep` — edifícios + `resumo.especies` + lat/lon |
| `unidades` | `GET /api/cep/:cep/unidades?logradouro=&numero=` — cada apto/loja, paginado |
| `proximo` | `GET /api/proximo?lat=&lon=` — sem default (0,0) |
| — | `GET /api/local` — cidade/UF de quem chama, pela borda Cloudflare; sem cache, sem token |
| `buscar` | `GET /api/buscar?q=&uf=&cidade=` |
| `empresas` | `GET /api/empresas?cep=&page=` — card da Receita (50/página) |
| `raio` | `GET /api/raio?cep=&raio=` ou `?lat=&lon=&raio=` — CEPs a N metros (1–2000), com distância e pontos CNEFE; grátis |
| `vizinhanca` | `GET /api/vizinhanca?cep=&raio=&cnae=&desde=` — ativas, abertas e baixadas no raio, por CNAE, com as 50 aberturas mais recentes e a distância de cada uma. Cobrança desativada enquanto `quota.free_now` incluir `vizinhanca` ou `*` |
| `credito` | `POST /api/credito?usd=10` recarrega; `GET /api/credito` mostra saldo. O token vale em todos os produtos da casa |
| `contact` | `POST /api/contact` — agente **$0.10** x402 |

CEP inválido → 400. CEP bem-formado fora da malha → 404 com `cobertura`. Origem fora → 503.

Fonte: CNEFE 2022 no c3. CEP com coordenada e empresas é o produto; não é o DNE/ViaCEP (misturar mente a coordenada).

## Cota

**Acervos em volume:** `api_access` / `GET /api/acesso` informa disponibilidade do
pacote de US$1 por 1.000 leituras/30 dias, compartilhado com Radar e EditalMD.
Gere e guarde `api_pass` antes de `api_access_buy` / `POST /api/acesso`, via x402
ou crédito. Não renova automaticamente. Use `X-API-Pass` só nas origens declaradas
dos índices `/empresas`, `/enderecos`, `/licitacoes`; `GET <prefixo>/api/uso`
consulta saldo sem consumo. Vizinhança tem política própria. 402 no índice instrui
comprar no emissor; retries conservam passe e prova. `X-API-Transaction` permite
reconciliar uma liquidação incerta sem pagar novamente.

Antes de planejar gasto, leia `GET /api/pricing` (tool `pricing`) e `GET /api/billing`
(tool `billing`). São públicos e gratuitos: franquias, preços, x402 e entrada do crédito.
A cotação da operação paga continua sendo o valor a pagar.

Lookup de CEP, ponto, busca, raio e empresas: grátis. `vizinhanca` está com cobrança
desativada. Consulte `quota.free_now` antes de planejar gasto; quando inclui `vizinhanca`
ou `*`, a operação não exige crédito. Se a cobrança voltar, a franquia diária e a
cotação da chamada determinam o pagamento. Contato agente: **402** + `accepts[]` ($0.10).

A janela padrão de "abriu/baixou desde" conta 90 dias a partir de `base.dump_date` (data do dump da
Receita), não de hoje — leia o campo antes de dizer que a rua parou.

## Acervos públicos de dados

`GET /api/` → `docs.data_indexes` descobre quatro acervos de leitura: endereços CNEFE,
metadados PNCP, domínios observados em CT e arquivos de programação XMLTV. As mesmas raízes
estão em `/llms.txt`, `/llms-full.txt`, `/okf/index.md` e `/developers#dados`. Abra o
`formats.json` adequado e siga a hierarquia e `links.proximo` (até 20 itens por página).
Atualização manual: confira fonte e referência. Respeite `Retry-After` em 429/503. Não
encaminhe credenciais do produto a esses hosts. Leia somente o recorte necessário à tarefa.

<!-- GERADO por scripts/monta-ui.mjs — fonte: .agents/skills/<produto>/SKILL.md. Não edite. npm run ui -->
