---
title: "Búsqueda de texto legislativo BOE consolidado"
method: GET
path: "/legislacion"
tags: ["Fiscal"]
---

# Búsqueda de texto legislativo BOE consolidado

`GET /legislacion`

Búsqueda de texto completo (FTS en español) sobre el corpus de artículos vigentes del BOE consolidado que alimenta las páginas públicas `/legislacion`. El parámetro `q` es obligatorio (consulta en lenguaje natural, p. ej. `alta autónomo actividad económica`). Con clave gratuita solo se honra `q`: la respuesta se limita a los 3 resultados más relevantes con campos de descubrimiento (`boe_id`, `articulo_norm`, `bloque_titulo`, `snippet` — el `snippet` es un fragmento HTML con los términos coincidentes resaltados en `<b>`); no se expone `rank` (puntuación interna de relevancia) ni se admite filtro por norma o paginación. Con plan Profesional o superior se honran además `boe_id` (limita la búsqueda a una norma concreta), `limit` (máx. 100, por defecto 50) y `offset` (paginación real a nivel de base de datos, no una ventana recortada), y cada resultado incluye `rank`. `_meta` siempre incluye `plan` y `remaining`; en plan Free añade `note` explicando el techo de 3 resultados; en Profesional+ añade `offset` y, si se aplicó, `boe_id`.

## Query parameters

- `q` string, required
- `boe_id` string
- `limit` integer
- `offset` integer

## Response `200`

Resultados de la búsqueda de texto legislativo

- object
  - `q` string
  - `resultados` object[]
    - `boe_id` string
    - `articulo_norm` string
    - `bloque_titulo` string
    - `snippet` string — Fragmento HTML con los términos coincidentes envueltos en <b>.
    - `rank` number — Puntuación interna de relevancia (ts_rank). Solo plan Profesional o superior — ausente en la respuesta Free.
  - `total` integer
  - `_meta` object
    - `plan` string
    - `count` integer
    - `remaining` integer
    - `note` string — Solo en plan Free — explica el techo de 3 resultados.
    - `offset` integer — Solo Profesional+ — el offset realmente aplicado.
    - `boe_id` string — Solo Profesional+ — el filtro por norma aplicado, si lo hubo.
    - `upgrade_hint` string

## Other responses

- `400` — Petición inválida (parámetro o cuerpo mal formado).
- `401` — Falta la cabecera `X-API-Key` o la clave es inválida/desactivada.
- `429` — Límite de cuota diaria o de ráfaga superado. La cabecera `Retry-After` indica los segundos hasta poder reintentar.
- `500` — Error interno del servidor.

---

[API](https://skmtc.dev/conversoriaecnae/apis/conversor-iae-cnae-api.md) · [All operations](https://skmtc.dev/conversoriaecnae/apis/conversor-iae-cnae-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/conversoriaecnae/conversor-iae-cnae-api/revisions/2f9842f5e11b/schema)
