Skip to main content
Todos os endpoints de busca aceitam os mesmos parâmetros base e diferem apenas nos filtros específicos do domínio. Aprender esta página uma vez basta para usar os onze. A separação é simples: parâmetros de consulta ficam na query string, palavras-chave e filtros ficam no corpo JSON.

Palavras-chave

O objeto keywords combina três operadores booleanos. Todos são opcionais e podem ser usados juntos.

Texto livre e modos

O parâmetro de query q faz busca por texto livre e pode ser combinado com keywords. O parâmetro modes altera como os termos são comparados. Aceita valores separados por vírgula:

Paginação

limit é limitado a 20 resultados por página. Valores acima disso são rejeitados. Para percorrer conjuntos maiores, itere sobre page.
A resposta traz pagination com o total, o que permite calcular quantas páginas percorrer.

Ordenação

O padrão varia por domínio: /search/propositions usa recently_updated, porque o que importa numa proposição costuma ser a última movimentação. Os demais domínios usam newest.

Intervalos de data

Filtros de data são objetos com from e to, em YYYY-MM-DD.
Informe sempre os dois campos. Se só from for enviado, to assume a data atual. Enviar apenas to retorna erro 400.
Para uma data específica, repita o mesmo valor nos dois campos. O nome do campo muda conforme o domínio: date na maioria, created_at e updated_at em proposições, speech_at em discursos.

Filtros por ID

Alguns filtros — authors, rapporteurs, organs, themes, situations, stakeholders — esperam IDs internos, não nomes.
IDs inventados não geram erro: a busca retorna zero resultados silenciosamente. Use apenas IDs extraídos de uma resposta anterior, por exemplo authors.stakeholderId ou lastProceeding.openDataSituationId.
Para descobrir IDs de parlamentares, use GET /stakeholders.

Valores de filtro em aberto

Filtros como regimes, type, section e openDataResource trazem exemplos na referência, mas não são listas fechadas. Os conjuntos de valores crescem com o tempo — novas agências, novos tipos de documento — e a API aceita e encaminha qualquer valor. Um valor desconhecido não gera erro: ele simplesmente não corresponde a nada. Deixe o filtro vazio para buscar em tudo, inclusive nas fontes adicionadas depois desta documentação.

Formato da resposta

Toda busca devolve o mesmo envelope:
O conteúdo de cada item em results é específico do domínio e evolui ao longo do tempo. Trate os documentos como estruturas abertas: leia os campos que você precisa e ignore o resto, em vez de validar contra um esquema fixo. link_to_nomos_api está presente em todo documento e aponta para o registro no App da Nomos.