# EditalMD — referência completa da API > Gerada do catálogo em https://editalmd.com · build `ba6a32d9` > 3 endpoints · 18 estruturas · fatia `/api/precos` > Índice curto: https://editalmd.com/llms.txt · Spec: https://editalmd.com/openapi.json · MCP: https://editalmd.com/mcp > Referência completa para pesquisar licitações, acessar documentos e acompanhar mudanças. > Cada comprador paga $0.02 por página pelo próprio acesso, inclusive ao texto pronto, via x402/crédito ou depósito USDC. Geração necessária incluída. Cinco exemplos livres; piloto individual oferece um premium e 100 básicos até 50 páginas com X-Agent-Pass (/api/avaliacao, guia /avaliacao.md), sujeito a validade, capacidade e orçamento. Básico não revisado; premium não equivale a aprovação de fidelidade. Conta opcional em /conta/global; /api/me/documentos e /compras são privados. Compra autenticada vincula automaticamente; a anônima pode ser vinculada em POST /api/documento/:id/vincular com sessão e X-Editalmd-Acesso. Depois do vínculo só a conta abre. Sem vínculo, guarde acesso.codigo. GET nunca inicia geração. > > Pagamento: x402 por requisição **ou** crédito pré-pago (`POST /api/credito?usd=10` → token `cred_…` em `Authorization: Bearer`, válido em todos os produtos da casa). ## Como ler - Cada endpoint traz caminho, auth, parâmetros, corpo, estrutura da resposta, erros e uma chamada que roda. - `Pagina` é referência: os campos estão em **Estruturas**, no fim, uma vez só. - `(opcional)` num campo quer dizer que ele pode não vir; `(pode ser null)` quer dizer que vem com valor nulo. - Fatie o que precisa: `https://editalmd.com/llms-full.txt?prefix=/api/` devolve só aquele ramo. ## Autenticação - `session` — Conta: cookie HttpOnly `__Host-mm-session-editalmd-web`, gravado por `/api/auth/callback` depois de entrar em `/conta/global`; escrita exige a mesma origem e `X-CSRF-Token` de `/api/auth/bootstrap`. Não há bearer para pessoas. Conta não concede documentos sem compra vinculada. - `none` — Público. Agente não se cadastra: quando a rota cobra, cobra por requisição (x402) ou desconta de crédito pré-pago. - `credito` — Token de crédito em `Authorization: Bearer cred_…` (ou header `X-Credito`). Não é conta: é portador de saldo. - `agente` — X-Agent-Pass da inscrição em api.editalmd.com/licitacoes/api/agente. Concessão individual temporária; sem conta humana ou pagamento. - `acesso` — Sessão da conta com aquisição vinculada, X-Editalmd-Acesso de compra anônima, ou X-Editalmd-Avaliacao junto de X-Agent-Pass para o documento patrocinado. Depois do vínculo da compra, exige conta. Cinco exemplos são livres. - `owner` — Convidado edm_… assinado pelo SDK (POST /api/guest, sem cadastro), enviado em X-Guest-Token ou Authorization: Bearer; nos bancos fica só seu SHA-256. Também aceita a sessão da conta, dona direta das listas dela — cookie HttpOnly; escrita com a mesma origem e o X-CSRF-Token de /api/auth/bootstrap. Vincular a conta transfere os dados temporários pelo claim do SDK. Agente sem conta: a credencial da carteira (Authorization: Bearer mmw_…, de POST /api/auth/wallet/agent/start) é dona como um convidado, x402:; o que ela fez passa para a conta a que a carteira for vinculada. Com o cookie da conta no pedido, quem pede é a conta. Recurso de outro dono responde 404. - `cobranca` — X-Cobranca: token de 64 hex minúsculos escolhido aleatoriamente pelo cliente; conserve para consultar e retomar sua cobrança. - `origem` — X-Editalmd-Secret: credencial privada de integração interna. Não é uma porta para clientes ou agentes públicos. ## Endpoints ## Acervo ### `GET /api/precos` O preço que ganha para um item parecido, em resumo: quantos preços, a mediana e a faixa. Grátis; o completo é pago. Consulte resultados homologados por descrição do item. O resumo grátis traz `n`, a mediana e a faixa (p25/p75) dos comparáveis — o mesmo produto do catálogo, na mesma unidade, sem os extremos (`comparacao`) —, os outros grupos que a busca achou (`grupos`: peça `produto` e `unidade` de um deles para trocar), o volume comprado, o preço para a sua `quantidade` (ou a do item da `compra` aberta) e quanto a compra pequena paga a mais, `amostra` (o critério: até 2.000 itens mais parecidos pelo texto) e `detalhe`: o endereço (do mesmo grupo), o preço e o tamanho do preço que ganha completo (`GET /api/precos/detalhe`, pago por consulta) — quem vence, quem compra, por UF, por mês, os outros números do resumo e os itens. Aceita também POST, PUT ou PATCH com os mesmos parâmetros em JSON ou formulário; `query`, `termo`, `busca` e `search` valem como `q`, `estado` como `uf`, `limit` como `limite`. Todo 400 traz `exemplo` e `doc`. `Accept: text/html` abre a aba Preços pagos com a consulta. - **URL:** `https://editalmd.com/api/precos` - **Auth:** `none` — Público. Agente não se cadastra: quando a rota cobra, cobra por requisição (x402) ou desconta de crédito pré-pago. **Query** - `q` (string, obrigatório) — Descrição do item; mínimo 3 letras, até 200. - `uf` (string) — Sigla da UF do órgão comprador. - `meses` (int) — Janela de homologação em meses, 1 a 36. Padrão: `12`. - `catmat` (string) — Código do item no catálogo do governo, até 64 caracteres. - `limite` (int) — 1 a 100 itens. Padrão: `50`. - `produto` (string) — Produto do catálogo, como em `grupos` (até 80 letras); sem ele, o maior grupo. - `unidade` (string) — Unidade, como em `grupos` (`500 FL`, `1 UN`). - `quantidade` (number) — Quanto você vai vender, na unidade do grupo: o preço da faixa dessa quantidade. - `compra` (int) — Id da compra no acervo: a quantidade sai do item dela, no grupo da conta. Item em embalagem sem a contagem (`Embalagem FL`) não conta: a unidade não diz quantas folhas. **Resposta `200`** Estrutura: `PrecosGratis`. - `consulta` (PrecosConsulta) — O pedido como a origem o entendeu. → ver `PrecosConsulta` em **Estruturas**. - `resumo` (PrecosResumoGratis, pode ser null) — Sobre todos os candidatos do período. Nulo quando nada casou. → ver `PrecosResumoGratis` em **Estruturas**. - `amostra` (PrecosAmostra, pode ser null) — Como os candidatos foram escolhidos. → ver `PrecosAmostra` em **Estruturas**. - `comparacao` (PrecosComparacao, pode ser null) — O grupo comparável que o resumo usou. Nulo quando nada casou. → ver `PrecosComparacao` em **Estruturas**. - `grupos` (PrecosGrupo[]) — Os maiores grupos com produto do catálogo, mais resultados primeiro. → ver `PrecosGrupo` em **Estruturas**. - `faixa_da_quantidade` (PrecosDaQuantidade, pode ser null) — O preço para a quantidade pedida ou a da compra aberta; nulo sem quantidade ou sem resultado na faixa. → ver `PrecosDaQuantidade` em **Estruturas**. - `variacao_por_quantidade` (number, pode ser null) — Quanto a menor compra paga a mais que a maior (mediana da menor faixa com 10 resultados ou mais sobre a da maior, menos 1): `0.23` é 23 % a mais. Nula com menos de duas faixas assim. - `detalhe` (PrecosDetalheOferta) — O preço que ganha completo desta consulta: onde, quanto e o quê. → ver `PrecosDetalheOferta` em **Estruturas**. - `base_legal` (string) — A base legal da pesquisa de preços que este dado atende. - `pago` (bool) — `false`: o resumo não custa. **Erros** - `400` — Termo curto, ou UF, meses, limite, catmat, produto, unidade, quantidade ou compra fora do contrato — com `exemplo` e `doc`. - `502` — Origem indisponível. - `503` — Busca demorada: `busca_demorada`, com `Retry-After` — refine o termo ou filtre por UF. **Exemplo** ```sh curl -s 'https://editalmd.com/api/precos?q=papel%20a4%20resma&uf=MG&meses=12' ``` ### `GET /api/precos/detalhe` Relatório completo: quem vence, quem compra, por estado, por mês e os itens. Avulso em reais ou franquia do plano. Os mesmos parâmetros do `/api/precos`. Sem pagamento, 402 com as duas portas (x402 e crédito); pago, o `resumo` inteiro (menor, maior, média, desconto mediano sobre o valor estimado pelo órgão, participação de ME/EPP, fornecedores e compradores distintos), `por_uf`, `por_mes`, `vencedores` (top 10 por itens e valor, com porte), `compradores` (top 10 órgãos), `por_quantidade` (a mediana e a faixa por tamanho da compra) e a amostra de `itens`, cada um com a compra dele — tudo do mesmo grupo comparável (`comparacao`: mesmo produto, mesma unidade, sem os extremos). Pessoa física vencedora sai sem CPF. No crédito, a mesma consulta com o mesmo token não cobra de novo. Resposta privada, sem cache. - **URL:** `https://editalmd.com/api/precos/detalhe` - **Auth:** `none` — Público. Agente não se cadastra: quando a rota cobra, cobra por requisição (x402) ou desconta de crédito pré-pago. **Query** - `q` (string, obrigatório) — Descrição do item; mínimo 3 letras, até 200. - `uf` (string) — Sigla da UF do órgão comprador. - `meses` (int) — Janela de homologação em meses, 1 a 36. Padrão: `12`. - `catmat` (string) — Código do item no catálogo do governo, até 64 caracteres. - `limite` (int) — 1 a 100 itens. Padrão: `50`. - `produto` (string) — Produto do catálogo, como em `grupos` (até 80 letras); sem ele, o maior grupo. - `unidade` (string) — Unidade, como em `grupos` (`500 FL`, `1 UN`). - `quantidade` (number) — Quanto você vai vender, na unidade do grupo: o preço da faixa dessa quantidade. - `compra` (int) — Id da compra no acervo: a quantidade sai do item dela, no grupo da conta. Item em embalagem sem a contagem (`Embalagem FL`) não conta: a unidade não diz quantas folhas. **Headers** - `X-PAYMENT` (string) — Autorização x402 do desafio 402. - `X-Credito` (string) — Token cred_… para descontar do saldo, como alternativa ao x402. **Resposta `200`** Estrutura: `Precos`. - `consulta` (PrecosConsulta) — O pedido como a origem o entendeu. → ver `PrecosConsulta` em **Estruturas**. - `estatisticas` (PrecosEstatisticas) — Sobre os valores unitários da amostra devolvida em `itens`. → ver `PrecosEstatisticas` em **Estruturas**. - `resumo` (PrecosResumo, pode ser null) — Sobre todos os candidatos do período (não só a amostra). Nulo quando nada casou. → ver `PrecosResumo` em **Estruturas**. - `por_uf` (PrecosPorUf[]) — Um por UF do órgão comprador, mais resultados primeiro. → ver `PrecosPorUf` em **Estruturas**. - `por_mes` (PrecosPorMes[]) — Um por mês do período, do mais antigo ao mais recente; mês sem homologação vem com `n: 0`. → ver `PrecosPorMes` em **Estruturas**. - `vencedores` (PrecoVencedor[]) — Até 10 fornecedores, por itens ganhos e depois por valor. → ver `PrecoVencedor` em **Estruturas**. - `compradores` (PrecoComprador[]) — Até 10 órgãos, por itens comprados e depois por valor. → ver `PrecoComprador` em **Estruturas**. - `amostra` (PrecosAmostra, pode ser null) — Como os candidatos foram escolhidos e se bateram no teto. → ver `PrecosAmostra` em **Estruturas**. - `comparacao` (PrecosComparacao, pode ser null) — O grupo comparável que o resumo usou. Nulo quando nada casou. → ver `PrecosComparacao` em **Estruturas**. - `grupos` (PrecosGrupo[]) — Os maiores grupos com produto do catálogo, mais resultados primeiro. → ver `PrecosGrupo` em **Estruturas**. - `faixa_da_quantidade` (PrecosDaQuantidade, pode ser null) — O preço para a quantidade pedida ou a da compra aberta; nulo sem quantidade ou sem resultado na faixa. → ver `PrecosDaQuantidade` em **Estruturas**. - `variacao_por_quantidade` (number, pode ser null) — Quanto a menor compra paga a mais que a maior (mediana da menor faixa com 10 resultados ou mais sobre a da maior, menos 1): `0.23` é 23 % a mais. Nula com menos de duas faixas assim. - `por_quantidade` (PrecosFaixaQuantidade[]) — Uma por faixa de tamanho com resultado, da menor à maior. → ver `PrecosFaixaQuantidade` em **Estruturas**. - `itens` (PrecoHomologado[]) — Resultados por relevância e homologação mais recente. → ver `PrecoHomologado` em **Estruturas**. - `base_legal` (string) — A base legal da pesquisa de preços que este dado atende. - `pago` (bool) — `true`: a consulta foi paga. - `pagamento` (object, opcional) — `modo` (plano, x402 ou crédito), `unidades` quando usa plano e `pagador` quando há. **Erros** - `400` — Termo curto, ou UF, meses, limite, catmat, produto, unidade, quantidade ou compra fora do contrato — com `exemplo` e `doc`. - `402` — Pagamento necessário ou recusado; anuncia x402 e crédito. - `502` — `pago_sem_entrega`: pagou e a origem não respondeu — repita a mesma consulta com o mesmo crédito. - `503` — Detalhe sem preço configurado, ou busca demorada. **Exemplo** ```sh curl -s 'https://editalmd.com/api/precos/detalhe?q=papel%20a4%20resma&uf=MG' -H 'X-Credito: cred_…' ``` ### `POST /api/precos/detalhe` Abrir relatório completo com a franquia do plano, crédito avulso ou pagamento. Conta autenticada usa 25 unidades do plano antes do crédito. Cookie exige CSRF. Repetir a mesma consulta vigente não desconta novamente. Sem franquia suficiente, segue a cobrança avulsa. Os mesmos parâmetros do `/api/precos`. Sem pagamento, 402 com as duas portas (x402 e crédito); pago, o `resumo` inteiro (menor, maior, média, desconto mediano sobre o valor estimado pelo órgão, participação de ME/EPP, fornecedores e compradores distintos), `por_uf`, `por_mes`, `vencedores` (top 10 por itens e valor, com porte), `compradores` (top 10 órgãos), `por_quantidade` (a mediana e a faixa por tamanho da compra) e a amostra de `itens`, cada um com a compra dele — tudo do mesmo grupo comparável (`comparacao`: mesmo produto, mesma unidade, sem os extremos). Pessoa física vencedora sai sem CPF. No crédito, a mesma consulta com o mesmo token não cobra de novo. Resposta privada, sem cache. - **URL:** `https://editalmd.com/api/precos/detalhe` - **Auth:** `none` — Público. Agente não se cadastra: quando a rota cobra, cobra por requisição (x402) ou desconta de crédito pré-pago. **Query** - `q` (string, obrigatório) — Descrição do item; mínimo 3 letras, até 200. - `uf` (string) — Sigla da UF do órgão comprador. - `meses` (int) — Janela de homologação em meses, 1 a 36. Padrão: `12`. - `catmat` (string) — Código do item no catálogo do governo, até 64 caracteres. - `limite` (int) — 1 a 100 itens. Padrão: `50`. - `produto` (string) — Produto do catálogo, como em `grupos` (até 80 letras); sem ele, o maior grupo. - `unidade` (string) — Unidade, como em `grupos` (`500 FL`, `1 UN`). - `quantidade` (number) — Quanto você vai vender, na unidade do grupo: o preço da faixa dessa quantidade. - `compra` (int) — Id da compra no acervo: a quantidade sai do item dela, no grupo da conta. Item em embalagem sem a contagem (`Embalagem FL`) não conta: a unidade não diz quantas folhas. **Headers** - `X-PAYMENT` (string) — Autorização x402 do desafio 402. - `X-Credito` (string) — Token cred_… para descontar do saldo, como alternativa ao x402. - `X-CSRF-Token` (string) — Token do transporte da conta para escrita por cookie. **Resposta `200`** Estrutura: `Precos`. - `consulta` (PrecosConsulta) — O pedido como a origem o entendeu. → ver `PrecosConsulta` em **Estruturas**. - `estatisticas` (PrecosEstatisticas) — Sobre os valores unitários da amostra devolvida em `itens`. → ver `PrecosEstatisticas` em **Estruturas**. - `resumo` (PrecosResumo, pode ser null) — Sobre todos os candidatos do período (não só a amostra). Nulo quando nada casou. → ver `PrecosResumo` em **Estruturas**. - `por_uf` (PrecosPorUf[]) — Um por UF do órgão comprador, mais resultados primeiro. → ver `PrecosPorUf` em **Estruturas**. - `por_mes` (PrecosPorMes[]) — Um por mês do período, do mais antigo ao mais recente; mês sem homologação vem com `n: 0`. → ver `PrecosPorMes` em **Estruturas**. - `vencedores` (PrecoVencedor[]) — Até 10 fornecedores, por itens ganhos e depois por valor. → ver `PrecoVencedor` em **Estruturas**. - `compradores` (PrecoComprador[]) — Até 10 órgãos, por itens comprados e depois por valor. → ver `PrecoComprador` em **Estruturas**. - `amostra` (PrecosAmostra, pode ser null) — Como os candidatos foram escolhidos e se bateram no teto. → ver `PrecosAmostra` em **Estruturas**. - `comparacao` (PrecosComparacao, pode ser null) — O grupo comparável que o resumo usou. Nulo quando nada casou. → ver `PrecosComparacao` em **Estruturas**. - `grupos` (PrecosGrupo[]) — Os maiores grupos com produto do catálogo, mais resultados primeiro. → ver `PrecosGrupo` em **Estruturas**. - `faixa_da_quantidade` (PrecosDaQuantidade, pode ser null) — O preço para a quantidade pedida ou a da compra aberta; nulo sem quantidade ou sem resultado na faixa. → ver `PrecosDaQuantidade` em **Estruturas**. - `variacao_por_quantidade` (number, pode ser null) — Quanto a menor compra paga a mais que a maior (mediana da menor faixa com 10 resultados ou mais sobre a da maior, menos 1): `0.23` é 23 % a mais. Nula com menos de duas faixas assim. - `por_quantidade` (PrecosFaixaQuantidade[]) — Uma por faixa de tamanho com resultado, da menor à maior. → ver `PrecosFaixaQuantidade` em **Estruturas**. - `itens` (PrecoHomologado[]) — Resultados por relevância e homologação mais recente. → ver `PrecoHomologado` em **Estruturas**. - `base_legal` (string) — A base legal da pesquisa de preços que este dado atende. - `pago` (bool) — `true`: a consulta foi paga. - `pagamento` (object, opcional) — `modo` (plano, x402 ou crédito), `unidades` quando usa plano e `pagador` quando há. **Erros** - `400` — Termo curto, ou UF, meses, limite, catmat, produto, unidade, quantidade ou compra fora do contrato — com `exemplo` e `doc`. - `402` — Pagamento necessário ou recusado; anuncia x402 e crédito. - `502` — `pago_sem_entrega`: pagou e a origem não respondeu — repita a mesma consulta com o mesmo crédito. - `503` — Detalhe sem preço configurado, ou busca demorada. **Exemplo** ```sh curl -X POST 'https://editalmd.com/api/precos/detalhe?q=papel%20a4%20resma&uf=MG' -H 'Authorization: Bearer mmk_…' ``` ## Estruturas ### `PrecosGratis` O resumo grátis do preço que ganha: quantos preços, a mediana e a faixa (p25–p75), o período e o critério — e o que o detalhe pago traz (`detalhe`), com o tamanho dele, sem os nomes. - `consulta` (PrecosConsulta) — O pedido como a origem o entendeu. → ver `PrecosConsulta` em **Estruturas**. - `resumo` (PrecosResumoGratis, pode ser null) — Sobre todos os candidatos do período. Nulo quando nada casou. → ver `PrecosResumoGratis` em **Estruturas**. - `amostra` (PrecosAmostra, pode ser null) — Como os candidatos foram escolhidos. → ver `PrecosAmostra` em **Estruturas**. - `comparacao` (PrecosComparacao, pode ser null) — O grupo comparável que o resumo usou. Nulo quando nada casou. → ver `PrecosComparacao` em **Estruturas**. - `grupos` (PrecosGrupo[]) — Os maiores grupos com produto do catálogo, mais resultados primeiro. → ver `PrecosGrupo` em **Estruturas**. - `faixa_da_quantidade` (PrecosDaQuantidade, pode ser null) — O preço para a quantidade pedida ou a da compra aberta; nulo sem quantidade ou sem resultado na faixa. → ver `PrecosDaQuantidade` em **Estruturas**. - `variacao_por_quantidade` (number, pode ser null) — Quanto a menor compra paga a mais que a maior (mediana da menor faixa com 10 resultados ou mais sobre a da maior, menos 1): `0.23` é 23 % a mais. Nula com menos de duas faixas assim. - `detalhe` (PrecosDetalheOferta) — O preço que ganha completo desta consulta: onde, quanto e o quê. → ver `PrecosDetalheOferta` em **Estruturas**. - `base_legal` (string) — A base legal da pesquisa de preços que este dado atende. - `pago` (bool) — `false`: o resumo não custa. ### `Precos` O preço que ganha completo (o detalhe pago): a amostra (`itens`) e, sobre todos os candidatos, o resumo, a distribuição por UF e por mês, quem vence e quem compra. - `consulta` (PrecosConsulta) — O pedido como a origem o entendeu. → ver `PrecosConsulta` em **Estruturas**. - `estatisticas` (PrecosEstatisticas) — Sobre os valores unitários da amostra devolvida em `itens`. → ver `PrecosEstatisticas` em **Estruturas**. - `resumo` (PrecosResumo, pode ser null) — Sobre todos os candidatos do período (não só a amostra). Nulo quando nada casou. → ver `PrecosResumo` em **Estruturas**. - `por_uf` (PrecosPorUf[]) — Um por UF do órgão comprador, mais resultados primeiro. → ver `PrecosPorUf` em **Estruturas**. - `por_mes` (PrecosPorMes[]) — Um por mês do período, do mais antigo ao mais recente; mês sem homologação vem com `n: 0`. → ver `PrecosPorMes` em **Estruturas**. - `vencedores` (PrecoVencedor[]) — Até 10 fornecedores, por itens ganhos e depois por valor. → ver `PrecoVencedor` em **Estruturas**. - `compradores` (PrecoComprador[]) — Até 10 órgãos, por itens comprados e depois por valor. → ver `PrecoComprador` em **Estruturas**. - `amostra` (PrecosAmostra, pode ser null) — Como os candidatos foram escolhidos e se bateram no teto. → ver `PrecosAmostra` em **Estruturas**. - `comparacao` (PrecosComparacao, pode ser null) — O grupo comparável que o resumo usou. Nulo quando nada casou. → ver `PrecosComparacao` em **Estruturas**. - `grupos` (PrecosGrupo[]) — Os maiores grupos com produto do catálogo, mais resultados primeiro. → ver `PrecosGrupo` em **Estruturas**. - `faixa_da_quantidade` (PrecosDaQuantidade, pode ser null) — O preço para a quantidade pedida ou a da compra aberta; nulo sem quantidade ou sem resultado na faixa. → ver `PrecosDaQuantidade` em **Estruturas**. - `variacao_por_quantidade` (number, pode ser null) — Quanto a menor compra paga a mais que a maior (mediana da menor faixa com 10 resultados ou mais sobre a da maior, menos 1): `0.23` é 23 % a mais. Nula com menos de duas faixas assim. - `por_quantidade` (PrecosFaixaQuantidade[]) — Uma por faixa de tamanho com resultado, da menor à maior. → ver `PrecosFaixaQuantidade` em **Estruturas**. - `itens` (PrecoHomologado[]) — Resultados por relevância e homologação mais recente. → ver `PrecoHomologado` em **Estruturas**. - `base_legal` (string) — A base legal da pesquisa de preços que este dado atende. - `pago` (bool) — `true`: a consulta foi paga. - `pagamento` (object, opcional) — `modo` (plano, x402 ou crédito), `unidades` quando usa plano e `pagador` quando há. ### `PrecosConsulta` - `q` (string) — Termo pesquisado. - `expressao` (string) — Expressão FULLTEXT executada, com os prefixos obrigatórios. - `uf` (string, pode ser null) — UF filtrada. - `catmat` (string, pode ser null) — Código de catálogo filtrado. - `produto` (string, pode ser null) — Produto pedido. - `unidade` (string, pode ser null) — Unidade pedida. - `quantidade` (number, pode ser null) — Quantidade pedida. - `compra` (int, pode ser null) — Compra aberta cujo item deu a quantidade. - `meses` (int) — Janela de homologação, em meses. - `desde` (string) — Primeira data de homologação considerada, `AAAA-MM-DD`. - `limite` (int) — Teto de itens pedido. ### `PrecosResumoGratis` - `n` (int) — Resultados homologados válidos no período. - `mediana` (number, pode ser null) — Mediana dos valores unitários, em reais. - `p25` (number, pode ser null) — Primeiro quartil (25 % dos resultados abaixo). - `p75` (number, pode ser null) — Terceiro quartil (75 % dos resultados abaixo). - `ultima_homologacao` (string, pode ser null) — Data do resultado mais recente, `AAAA-MM-DD`. - `volume` (number, pode ser null) — Soma das quantidades homologadas no grupo, na unidade dele: o tamanho do mercado no período. ### `PrecosAmostra` - `candidatos` (int) — Itens que o FULLTEXT achou para o termo (antes do período, UF e catálogo). - `limitada` (bool) — `true` quando os candidatos bateram no teto de 2.000: há mais itens parecidos do que o resumo viu. - `criterio` (string) — Como os candidatos foram escolhidos. - `desde` (string) — Primeira homologação considerada, `AAAA-MM-DD`. - `ate` (string, pode ser null) — Última homologação encontrada, `AAAA-MM-DD`. ### `PrecosComparacao` O grupo que entrou na conta: o mesmo produto do catálogo e a mesma unidade de fornecimento, sem os preços abaixo de 50 % ou acima de 150 % da mediana (inexequível, lote lançado com quantidade 1, unidade trocada). - `produto` (string, pode ser null) — Produto do catálogo (o PDM do CATMAT/CATSER, do começo da descrição); nulo quando é texto livre. - `unidade` (string, pode ser null) — Quantidade e base da unidade de fornecimento: `500 FL`, `1 UN`, `5000 ML` (litro vira ml). - `comparaveis` (int) — Resultados que entraram na conta (o `n` do resumo). - `no_grupo` (int) — Resultados do grupo antes de tirar os extremos. - `validos` (int) — Resultados homologados válidos no período, de todos os grupos. - `sem_produto` (int) — Resultados em texto livre, sem produto do catálogo. - `criterio` (string) — O critério, por extenso. ### `PrecosGrupo` Outro grupo que a busca achou: pedir `produto` e `unidade` dele troca a conta. - `produto` (string) — Produto do catálogo. - `unidade` (string) — Quantidade e base da unidade. - `n` (int) — Resultados do grupo. ### `PrecosDaQuantidade` O preço para uma quantidade: a pedida (`quantidade`) ou a do item da compra aberta (`compra`). - `quantidade` (number) — A quantidade, na unidade do grupo. - `origem` (string) — `pedido` ou `compra`. - `faixa` (int) — A faixa dela, de 0 a 4. - `de` (int) — Menor quantidade da faixa. - `ate` (int, pode ser null) — Maior quantidade da faixa; nula na última. - `n` (int) — Resultados na faixa. - `mediana` (number, pode ser null) — Mediana dos valores unitários na faixa. - `p25` (number, pode ser null) — Primeiro quartil na faixa. - `p75` (number, pode ser null) — Terceiro quartil na faixa. ### `PrecosDetalheOferta` - `url` (string) — `POST` do detalhe da mesma consulta; usa primeiro a franquia da conta (`/api/precos/detalhe`). - `preco_usd` (string, pode ser null) — Preço por consulta (`$0.50`), pelas duas portas (x402 ou crédito). - `preco_brl` (number, pode ser null) — Preço avulso em reais, pela cotação de pagamento do servidor. - `unidades_plano` (number, pode ser null) — Unidades do plano por relatório: 25. Reabrir a mesma consulta vigente não desconta de novo. - `inclui` (string[]) — O que o detalhe traz além do resumo. - `previa` (PrecosPrevia) — O tamanho do detalhe desta consulta. → ver `PrecosPrevia` em **Estruturas**. ### `PrecosEstatisticas` - `total` (int) — Quantos valores unitários entraram na conta. - `media` (number, pode ser null) — Média dos valores unitários, em reais. - `mediana` (number, pode ser null) — Mediana dos valores unitários. - `menor` (number, pode ser null) — Menor valor unitário. - `maior` (number, pode ser null) — Maior valor unitário. - `desvio_padrao` (number, pode ser null) — Desvio padrão populacional. ### `PrecosResumo` O preço que ganha: distribuição dos valores unitários homologados de todos os candidatos. - `n` (int) — Resultados homologados válidos no período. - `mediana` (number, pode ser null) — Mediana dos valores unitários, em reais. - `p25` (number, pode ser null) — Primeiro quartil (25 % dos resultados abaixo). - `p75` (number, pode ser null) — Terceiro quartil (75 % dos resultados abaixo). - `menor` (number, pode ser null) — Menor valor unitário. - `maior` (number, pode ser null) — Maior valor unitário. - `media` (number, pode ser null) — Média dos valores unitários. - `desconto_mediano` (number, pode ser null) — Mediana de `1 − homologado/estimado` nos itens com referência do órgão: `0.10` é 10 % abaixo do estimado. - `com_referencia` (int) — Quantos resultados tinham valor unitário estimado pelo órgão. - `me_epp` (number, pode ser null) — Fração dos resultados vencidos por ME ou EPP, de 0 a 1. - `valor_total` (number, pode ser null) — Soma dos valores totais homologados, em reais. - `fornecedores` (int) — Fornecedores distintos — n alto com 1 fornecedor é uma compra só. - `volume` (number, pode ser null) — Soma das quantidades homologadas no grupo, na unidade dele: o tamanho do mercado no período. - `compradores` (int) — Órgãos distintos. - `ultima_homologacao` (string, pode ser null) — Data do resultado mais recente, `AAAA-MM-DD`. ### `PrecosPorUf` - `uf` (string) — Sigla da UF do órgão comprador. - `n` (int) — Resultados na UF. - `mediana` (number, pode ser null) — Mediana dos valores unitários na UF. - `menor` (number, pode ser null) — Menor valor unitário na UF. - `maior` (number, pode ser null) — Maior valor unitário na UF. - `fornecedores` (int) — Fornecedores distintos na UF. - `compradores` (int) — Órgãos distintos na UF. - `ultima_homologacao` (string, pode ser null) — Resultado mais recente na UF, `AAAA-MM-DD`. ### `PrecosPorMes` - `mes` (string) — `AAAA-MM` da homologação. - `n` (int) — Resultados no mês; `0` quando não houve. - `mediana` (number, pode ser null) — Mediana dos valores unitários no mês. - `menor` (number, pode ser null) — Menor valor unitário no mês. - `maior` (number, pode ser null) — Maior valor unitário no mês. ### `PrecoVencedor` Quem ganha este item: um fornecedor, com o que venceu no período. - `fornecedor_cnpj` (string, pode ser null) — CNPJ, só dígitos; nulo para pessoa física (CPF não é publicado). - `pessoa_fisica` (bool) — `true` quando o vencedor é pessoa física. - `fornecedor` (string, pode ser null) — Razão social ou nome, como publicado. - `porte` (string, pode ser null) — Porte declarado (ME, EPP, Demais). - `itens` (int) — Itens homologados para este fornecedor. - `valor_total` (number, pode ser null) — Soma dos valores totais homologados, em reais. - `menor` (number, pode ser null) — Menor valor unitário que este fornecedor levou. - `maior` (number, pode ser null) — Maior valor unitário que este fornecedor levou. - `compradores` (int) — Órgãos distintos que compraram dele. - `ultima_homologacao` (string, pode ser null) — Última vitória, `AAAA-MM-DD`. ### `PrecoComprador` Quem compra este item: um órgão, com quantas vezes e quando comprou. - `orgao_cnpj` (string, pode ser null) — CNPJ do órgão, só dígitos. - `orgao` (string, pode ser null) — Órgão comprador. - `uf` (string, pode ser null) — UF do órgão. - `itens` (int) — Itens homologados por este órgão. - `compras` (int) — Compras distintas (processos) em que o item foi homologado. - `valor_total` (number, pode ser null) — Soma dos valores totais homologados, em reais. - `fornecedores` (int) — Fornecedores distintos que venderam a ele. - `ultima_homologacao` (string, pode ser null) — Última compra homologada, `AAAA-MM-DD`. ### `PrecosFaixaQuantidade` Uma faixa de tamanho da compra, de dez em dez vezes na unidade do grupo (1–9, 10–99, 100–999, 1.000–9.999, 10.000 ou mais): quantos resultados, a mediana, os quartis e o volume. - `faixa` (int) — De 0 a 4, da menor à maior. - `de` (int) — Menor quantidade da faixa. - `ate` (int, pode ser null) — Maior quantidade da faixa; nula na última. - `n` (int) — Resultados na faixa. - `mediana` (number, pode ser null) — Mediana dos valores unitários na faixa. - `p25` (number, pode ser null) — Primeiro quartil na faixa. - `p75` (number, pode ser null) — Terceiro quartil na faixa. - `menor` (number, pode ser null) — Menor valor unitário na faixa. - `maior` (number, pode ser null) — Maior valor unitário na faixa. - `volume` (number, pode ser null) — Soma das quantidades homologadas na faixa. - `fornecedores` (int) — Fornecedores distintos na faixa. - `compradores` (int) — Órgãos distintos na faixa. - `ultima_homologacao` (string, pode ser null) — Resultado mais recente na faixa, `AAAA-MM-DD`. ### `PrecoHomologado` Um item homologado de uma compra pública: valor, fornecedor e órgão comprador. - `compra_id` (int) — Compra no acervo — abre a ficha em `compra_url`. - `item` (int) — Número do item dentro da compra. - `resultado` (int) — Sequencial do resultado (mais de um vencedor em registro de preços). - `pncp` (string, pode ser null) — Número de controle PNCP da compra. - `referencia` (string) — `PNCP · item `, pronto para citar na memória de cálculo. - `descricao` (string, pode ser null) — Descrição do item, como publicada. - `unidade` (string, pode ser null) — Unidade de medida do item. - `catmat` (string, pode ser null) — Código do item no catálogo do governo (CATMAT/CATSER). - `material_ou_servico` (string, pode ser null) — `M` material ou `S` serviço. - `valor_unitario` (number) — Valor unitário homologado, em reais. - `valor_unitario_estimado` (number, pode ser null) — Valor unitário estimado pelo órgão antes da disputa. - `quantidade_homologada` (number, pode ser null) — Quantidade adjudicada ao fornecedor vencedor, na unidade do item. - `fornecedor` (string, pode ser null) — Razão social do fornecedor vencedor. - `fornecedor_cnpj` (string, pode ser null) — CNPJ do fornecedor, só dígitos; nulo para pessoa física (CPF não é publicado). - `pessoa_fisica` (bool) — `true` quando o vencedor é pessoa física. - `fornecedor_porte` (string, pode ser null) — Porte do fornecedor (ME, EPP, demais). - `orgao` (string, pode ser null) — Órgão comprador. - `orgao_cnpj` (string, pode ser null) — CNPJ do órgão, só dígitos. - `municipio` (string, pode ser null) — Município da unidade compradora. - `uf` (string, pode ser null) — UF do órgão. - `modalidade` (string, pode ser null) — Modalidade da compra. - `homologado_em` (string, pode ser null) — Data do resultado, `AAAA-MM-DD`. - `publicado_em` (string, pode ser null) — Data de publicação da compra no PNCP, `AAAA-MM-DD`. - `compra_url` (string) — Ficha pública da compra. ### `PrecosPrevia` - `fornecedores` (int) — Fornecedores distintos que venceram. - `compradores` (int) — Órgãos distintos que compraram. - `estados` (int) — Estados com resultado. - `itens` (int) — Resultados na amostra. ## Acervos públicos de dados Explore endereços e compras por lugar e abra os registros de que precisa. Até 20 itens por página, em formatos prontos para pessoas e agentes. Confira a cobertura e a data de referência antes de usar um resultado. Cada produto informa suas opções de acesso. - [CEPs e endereços](https://api.pontofato.com/enderecos/index.json): Encontre endereços por lugar, com coordenadas e referência de 2022. Não certifica CEP vigente. Cada página HTML abre o app do produto com os dados públicos já renderizados. UF → município → bairro/localidade → rua → endereços. [HTML](https://pontofato.com/enderecos/) · [llms.txt](https://api.pontofato.com/enderecos/llms.txt) · [OKF](https://api.pontofato.com/enderecos/okf/index.md) - [Editais e compras públicas](https://api.editalmd.com/licitacoes/index.json): Encontre compras públicas por lugar e período. Consulte documentos e opções de leitura no EditalMD. Cada página HTML abre o app do produto com os dados públicos já renderizados. Modalidade → UF → ano → mês → dia → município → compras. [HTML](https://editalmd.com/licitacoes/) · [llms.txt](https://api.editalmd.com/licitacoes/llms.txt) · [OKF](https://api.editalmd.com/licitacoes/okf/index.md)