Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
version: 2d690e87
title: Editalmd Busca API
servers:
- url: https://editalmd.com
tags:
- name: Busca
paths:
/api/busca:
get:
operationId: get_api_busca
summary: Busca compras do PNCP por termo. Sempre grátis — é a descoberta
description: 'Devolve: { itens[{id,pncp,objeto,uf,modalidade,situacao,orgao,unidade,valor_estimado,publicado_em,informacao_complementar,processo,abertura_proposta,encerramento_proposta,amparo_legal,amparo_legal_codigo,modalidade_id,situacao_id,municipio,municipio_ibge,orgao_cnpj,ano_compra,sequencial_compra,atualizado_em,prazos,pncp_url,markdown_url,compra_url}], preco_markdown_usd, gratis_acima_de_dias, pago }'
parameters:
- name: q
in: query
required: true
schema:
type: string
description: Termo de busca; mínimo 3 letras.
- name: uf
in: query
required: false
schema:
type: string
description: Filtra por sigla de UF.
- name: abertas
in: query
required: false
schema:
type: string
enum:
- '1'
description: '`1` devolve só compras com prazo de proposta ainda por vencer.'
- name: limite
in: query
required: false
schema:
type: integer
description: 1 a 50 (padrão 20).
responses:
'200':
description: '{ itens[{id,pncp,objeto,uf,modalidade,situacao,orgao,unidade,valor_estimado,publicado_em,informacao_complementar,processo,abertura_proposta,encerramento_proposta,amparo_legal,amparo_legal_codigo,modalidade_id,situacao_id,municipio,municipio_ibge,orgao_cnpj,ano_compra,sequencial_compra,atualizado_em,prazos,pncp_url,markdown_url,compra_url}], preco_markdown_usd, gratis_acima_de_dias, pago }'
content:
application/json:
schema:
$ref: '#/components/schemas/Busca'
'400':
description: Termo com menos de 3 letras.
'502':
description: Origem indisponível.
tags:
- Busca
components:
schemas:
Busca:
type: object
properties:
itens:
type: array
items:
$ref: '#/components/schemas/Compra'
description: Compras que casaram com o termo.
preco_markdown_usd:
type: string
description: Preço do documento recente.
gratis_acima_de_dias:
type: integer
description: Janela de amostra grátis, em dias.
pago:
type: boolean
description: 'Sempre `false`: buscar não custa.'
required:
- itens
- preco_markdown_usd
- gratis_acima_de_dias
- pago
description: Resultado da busca — sempre grátis.
Prazos:
type: object
properties:
proposta_inicio:
type: string
description: Início do recebimento de propostas.
nullable: true
proposta_ate:
type: string
description: Fim do recebimento de propostas (abertura da sessão).
nullable: true
proposta_aberta:
type: boolean
description: Se ainda dá para enviar proposta agora.
impugnacao_ate:
type: string
description: 'Último dia (AAAA-MM-DD) para impugnar: 3 dias úteis antes da sessão, Lei 14.133 art. 164.'
nullable: true
impugnacao_aberta:
type: boolean
description: Se hoje, em Brasília, ainda cabe impugnação.
estimado:
type: boolean
description: 'Sempre `true`: feriado municipal não está em base nenhuma.'
base_legal:
type: string
description: Regra usada na impugnação.
nullable: true
feriados:
type: string
description: 'Calendário considerado: `nacionais`.'
motivo:
type: string
description: 'Por que não há impugnação: `sem_data_de_encerramento` ou `amparo_sem_regra`.'
nullable: true
required:
- proposta_inicio
- proposta_ate
- proposta_aberta
- impugnacao_ate
- impugnacao_aberta
- estimado
- base_legal
- feriados
- motivo
description: 'Os relógios da compra: proposta vem do PNCP; impugnação é estimada pela lei, com feriados nacionais.'
Compra:
type: object
properties:
id:
type: integer
description: Identificador interno da compra — é ele que abre a ficha.
pncp:
type: string
description: Número de controle PNCP da compra.
nullable: true
objeto:
type: string
description: Objeto da compra, como publicado.
nullable: true
uf:
type: string
description: Sigla da unidade da federação do órgão.
nullable: true
modalidade:
type: string
description: Modalidade (pregão eletrônico, dispensa…).
nullable: true
situacao:
type: string
description: Situação da compra no PNCP.
nullable: true
orgao:
type: string
description: Razão social do órgão comprador.
nullable: true
unidade:
type: string
description: Unidade administrativa responsável.
nullable: true
valor_estimado:
type: number
description: Valor total estimado em reais.
nullable: true
publicado_em:
type: string
description: Data de publicação no PNCP — é ela que define o regime de cobrança.
nullable: true
informacao_complementar:
type: string
description: Informação complementar publicada.
nullable: true
processo:
type: string
description: Número do processo administrativo.
nullable: true
abertura_proposta:
type: string
description: Início do recebimento de propostas, hora de Brasília.
nullable: true
encerramento_proposta:
type: string
description: Fim do recebimento de propostas, que é a abertura da sessão — a base da impugnação.
nullable: true
amparo_legal:
type: string
description: 'Amparo legal declarado, ex.: `Lei 14.133/2021, Art. 28, I`.'
nullable: true
amparo_legal_codigo:
type: integer
description: Código do amparo legal no PNCP.
nullable: true
modalidade_id:
type: integer
description: Código da modalidade no PNCP (6 = pregão eletrônico, 8 = dispensa…).
nullable: true
situacao_id:
type: integer
description: 'Código da situação: 1 divulgada, 2 revogada, 3 anulada, 4 suspensa.'
nullable: true
municipio:
type: string
description: Município da unidade compradora.
nullable: true
municipio_ibge:
type: string
description: Código IBGE do município.
nullable: true
orgao_cnpj:
type: string
description: CNPJ do órgão, só dígitos.
nullable: true
ano_compra:
type: integer
description: Ano da compra na numeração do PNCP.
nullable: true
sequencial_compra:
type: integer
description: Sequencial da compra no órgão e ano.
nullable: true
atualizado_em:
type: string
description: Última atualização da compra vista pelo acervo.
nullable: true
prazos:
allOf:
- $ref: '#/components/schemas/Prazos'
description: Proposta e impugnação, calculados pelo Worker.
pncp_url:
type: string
description: Página humana da compra no PNCP.
nullable: true
markdown_url:
type: string
description: Atalho para o markdown do documento.
compra_url:
type: string
description: Ficha completa da compra.
required:
- id
- pncp
- objeto
- uf
- modalidade
- situacao
- orgao
- unidade
- valor_estimado
- publicado_em
- informacao_complementar
- processo
- abertura_proposta
- encerramento_proposta
- amparo_legal
- amparo_legal_codigo
- modalidade_id
- situacao_id
- municipio
- municipio_ibge
- orgao_cnpj
- ano_compra
- sequencial_compra
- atualizado_em
- prazos
- pncp_url
- markdown_url
- compra_url
description: Uma compra pública do PNCP, como o acervo a conhece.