Pesquisar bem no Lexbase

A pesquisa do Lexbase aceita dois tipos de consulta — perguntas em linguagem corrente e citações exactas — e trata-as de maneira diferente. Este guia mostra como tirar partido de cada uma: o que escrever, o que cada resultado devolve, como pedir lei histórica e o que significa quando não devolvemos nada.

Pesquisar por significado

A pesquisa combina correspondência por significado com correspondência pelos termos exactos. Não precisa de conhecer o vocabulário do legislador: pergunte «quanto tempo tenho para devolver um produto comprado online?» e o primeiro resultado é o regime da livre resolução do contrato, no Decreto-Lei n.º 24/2014 — a pergunta diz «devolver um produto», o diploma diz «livre resolução do contrato», e a correspondência faz-se na mesma.

Exemplos que funcionam tal como estão:

  • prazo de pagamento
  • inovações em propriedade horizontal
  • o patrão pode ler as minhas mensagens? — devolve o artigo 22.º do Código do Trabalho em primeiro lugar

Por REST (todas as rotas excepto /health exigem uma chave de API no cabeçalho Authorization):

curl -G -H "Authorization: Bearer $LEXBASE_API_KEY" \
  --data-urlencode "q=prazo de pagamento" \
  "https://api.lexbase.pt/search"

k controla o número máximo de resultados (8 por omissão).

Citar directamente um artigo

Quando a consulta nomeia um diploma e/ou um artigo, não há avaliação de relevância: a citação é resolvida estruturalmente e o artigo exacto vem fixado no topo dos resultados, marcado com "pinned": true em score_components.

Formatos aceites:

  • `Artigo 1425.º do Código Civil` — nome do código por extenso. Os acentos são opcionais: codigo civil resolve na mesma.
  • `CC art 1425` — abreviatura mais artigo. Servem artigo, art. e art, com ou sem , e com sufixo de letra (art. 10.º-A).
  • `Decreto-Lei n.º 12/2023` — referência por tipo e número. Reconhecemos decreto-lei, lei (incluindo lei orgânica), portaria, decreto e resolução, seguidos de n.º.

Se nomear o diploma sem indicar artigo, devolvemos a raiz do diploma — o ponto de partida para navegar.

Abreviaturas suportadas:

AbreviaturaResolve para
CCCódigo Civil
CPCódigo Penal
CPCCódigo de Processo Civil
CPPCódigo de Processo Penal
CTCódigo do Trabalho
CRPConstituição da República Portuguesa
CSCCódigo das Sociedades Comerciais
CIRECódigo da Insolvência e da Recuperação de Empresas
CVMCódigo dos Valores Mobiliários
CPACódigo do Procedimento Administrativo
CIRSCódigo do IRS
CIRCCódigo do Imposto sobre o Rendimento das Pessoas Coletivas
CCPCódigo dos Contratos Públicos

As abreviaturas são reconhecidas como palavras inteiras, sem distinção entre maiúsculas e minúsculas.

curl -G -H "Authorization: Bearer $LEXBASE_API_KEY" \
  --data-urlencode "q=CC art 1425" \
  "https://api.lexbase.pt/search"

O que cada resultado traz

A resposta tem a forma {"query", "total", "hits"}. Cada resultado traz o artigo exacto e tudo o que é preciso para o citar e verificar:

{
  "citation": "Código Civil - CC, Artigo 1425.º (Inovações)",
  "breadcrumb": ["Código Civil - CC", "Anexo", "Livro III", "Título II",
                  "Capítulo VI", "Secção III", "Artigo 1425.º"],
  "texto": "— texto integral do artigo —",
  "highlight_span": { "start": 0, "end": 118 },
  "in_force": { "data_entrada_vigor": "…", "vigente": true },
  "amendments": [],
  "diploma": { "designacao": "Código Civil - CC", "eli": "…",
               "fonte_url": "https://diariodarepublica.pt/…" },
  "temas": []
}
  • `citation` — citação pronta a usar: designação do diploma, artigo e epígrafe.
  • `breadcrumb` — a posição exacta na hierarquia do diploma (livro › título › capítulo › secção).
  • `texto`, `highlight_span`, `term_spans` — o texto integral do artigo e onde está a passagem que correspondeu à consulta.
  • `in_force` — a data de entrada em vigor e se o artigo está vigente; quando revogado, revogado_por identifica o diploma revogador e data_revogacao a data.
  • `amendments` — o histórico de alterações do artigo: cada entrada identifica o diploma alterador e a data de entrada em vigor.
  • `diploma.fonte_url` — ligação directa para a página oficial no Diário da República; diploma.eli é o identificador europeu de legislação (ELI).

Lei em vigor vs. lei histórica

Por omissão, a pesquisa devolve apenas lei em vigor: o filtro in_force_only vem ligado, tanto na API REST como na ferramenta MCP search_legislation. E «vigente» tem em conta a revogação — do diploma inteiro e de artigos individuais: um artigo pode estar revogado enquanto o código a que pertence continua em vigor.

A lei revogada não é apagada do corpus, de propósito: o trabalho jurídico precisa da lei tal como estava — para litigar factos de 2015 é precisa a lei de 2015. Peça-a com in_force_only=false; os resultados revogados vêm sempre marcados, com "vigente": false, revogado_por e data_revogacao. Lei revogada nunca aparece sem etiqueta.

curl -G -H "Authorization: Bearer $LEXBASE_API_KEY" \
  --data-urlencode "q=período experimental" \
  --data-urlencode "in_force_only=false" \
  "https://api.lexbase.pt/search"

Há mais dois filtros: tipo (o tipo de diploma, p. ex. Decreto-Lei) e tema_tag_id — o vocabulário de temas está em GET /themes.

Quando não devolvemos nada

Cada candidato passa por um crivo de relevância calibrado. Abaixo do limiar, preferimos devolver zero resultados a preencher a lista com resultados que não avaliámos — total: 0 é uma resposta, não uma falha:

{ "query": "…", "total": 0, "hits": [], "note": "no matching legislation found" }

Dois pormenores:

  • Lei estrangeira é recusada antes da pesquisa. O corpus cobre apenas legislação portuguesa; a uma pergunta sobre lei brasileira, o resultado topicamente mais próximo seria lei portuguesa apresentada como se fosse de outra jurisdição — pior do que nenhum resultado. O campo note explica a recusa. O direito da UE não é recusado: as transposições de directivas fazem parte do corpus.
  • As citações exactas não passam pelo crivo. Resolver CC art 1425 é uma consulta determinística, não uma aposta de relevância — devolve o artigo sempre que ele exista.

Se está a construir sobre a API, trate total: 0 como resposta final: não encontrámos base legal para a consulta neste corpus.

Limites do corpus

O Lexbase pesquisa legislação portuguesa consolidada — não inclui jurisprudência nem doutrina; o que está e não está coberto, e como tratamos a incerteza, está em /confianca.