Buscar y comprobar jurisprudencia
La API pública ofrece una búsqueda textual indexada y determinista. No activa el agente de inteligencia artificial de la búsqueda web: una misma consulta, con los mismos filtros y el mismo corpus, sigue las reglas de ordenación de la API. El MCP utiliza este mismo lector judicial. BOE, CENDOJ y HJ se consultan conjuntamente por defecto, sin exigir un filtro de órgano.
Envía una cuestión jurídica, hechos relevantes o términos concretos en q. Para una referencia conocida, utiliza /decisions/lookup. meta.has_next_page indica si puedes solicitar otra página; no acredita que la cobertura de toda la jurisprudencia española sea completa. Puedes limitar las fuentes con source_groups=boe_tc,cendoj,tc_hj.
Comprobar fundamentos y fallo
GET/decisions/{id}/passages
La operación readDecision acepta version_id, section, offset, limit y start_char. Usa legal_grounds para los fundamentos y ruling para el fallo. Devuelve secciones disponibles, párrafos literales y datos de continuidad; conserva la versión al avanzar con next_offset. Para completar un párrafo recortado, usa paragraph_offset como offset y next_char como start_char, con limit=1. Admite hasta cinco párrafos y 4000 caracteres por párrafo. Los resúmenes nunca se convierten en texto íntegro ni la coincidencia textual establece una conclusión jurídica.
Autenticación
Incluye una clave de API en la cabecera Authorization de cada solicitud. La documentación es pública; las consultas requieren un token válido y los permisos correspondientes.
Authorization: Bearer TU_CLAVE_API
Después de iniciar sesión, volverás a esta documentación para crearla y copiarla.
No publiques la clave en el navegador, repositorios o documentos compartidos.
URL base
https://jurisprudencia.io/api/v1Las respuestas utilizan JSON. Los recursos identifican resoluciones españolas y conservan el enlace a la fuente oficial.
Listar órganos judiciales
GET/courts
Devuelve los órganos con resoluciones visibles para el entorno de consulta. Cada entrada incluye id, name, body_kind y decisions_count.
meta.total_decisions es el total de resoluciones distintas de esa selección y meta.counted_at indica cuándo se consultó. Un órgano o una serie de la fuente no implica cobertura completa de todos sus tribunales, salas o periodos.
curl -H "Authorization: Bearer $JURISPRUDENCIA_API_TOKEN" \
"https://jurisprudencia.io/api/v1/courts"Buscar resoluciones
GET/decisions
Busca en todos los órganos disponibles. Puedes añadir court_id como filtro opcional.
GET/courts/{court_id}/decisions
Utiliza el identificador de órgano devuelto por el catálogo. La búsqueda textual devuelve una entrada por resolución y ordena por relevancia textual, fecha judicial e identificador estable.
| Parámetro | Descripción |
|---|---|
q | Consulta obligatoria, hasta 2000 caracteres. |
court_id | Órgano opcional en la búsqueda general; usa un identificador del catálogo. |
source_groups | Fuentes opcionales separadas por comas: boe_tc, cendoj y tc_hj. |
page | Página desde 0; máximo 100. |
per_page | Entre 1 y 20 resultados; por defecto 10. |
date_from | Fecha mínima de la resolución, YYYY-MM-DD. |
date_to | Fecha máxima de la resolución, YYYY-MM-DD. |
curl -G -H "Authorization: Bearer $JURISPRUDENCIA_API_TOKEN" \
--data-urlencode 'q=tutela judicial efectiva' \
--data-urlencode 'date_from=2020-01-01' \
"https://jurisprudencia.io/api/v1/courts/TC/decisions"El ejemplo utiliza TC; comprueba su disponibilidad en el catálogo de tu entorno. meta.has_next_page indica si hay otra página. Los filtros de fecha se refieren a la decisión judicial, no a su publicación.
Sintaxis textual
tutela judicial: combina términos."tutela judicial": busca la secuencia de términos.tutela OR libertad: busca alternativas.tutela -penal: excluye un término.
La búsqueda usa análisis lingüístico español y normalización de acentos, conservando la distinción entre «n» y «ñ». La búsqueda semántica y la híbrida se solicitan por el endpoint de evidencias cuando están habilitadas.
Consultar una resolución
GET/decisions/{decision_id}
Utiliza el id de una resolución obtenido en una búsqueda. Este identificador pertenece a Jurisprudencia.io y es independiente del número de proceso.
GET/decisions/lookup
Para consultar una referencia conocida, envía identifier con el ECLI, ROJ o número de resolución/proceso. Puedes añadir court_id para acotar el órgano. Si la referencia corresponde a varias resoluciones, la API devuelve 409 ambiguous_identifier; no elige una arbitrariamente.
curl -G -H "Authorization: Bearer $JURISPRUDENCIA_API_TOKEN" \
--data-urlencode 'identifier=ECLI_DE_LA_RESOLUCION' \
"https://jurisprudencia.io/api/v1/decisions/lookup"Qué devuelve cada resolución
La respuesta incluye los campos disponibles de la fuente: órgano, tipo, número de resolución, número de proceso, ECLI, ROJ, ponente, sala, municipio, fechas y referencia oficial. Los campos no disponibles se devuelven como null, sin completar identidades por inferencia.
excerpt: fragmento literal, hasta 900 caracteres;excerpt_truncatedindica truncamiento.content_scope: distinguefull_textdesource_summary.full_text_available: indica la disponibilidad del texto en la versión seleccionada; esta respuesta no entrega el documento íntegro.official_url,sourcey atribución: procedencia y acceso a la fuente.version_idyextraction_id: identifican la versión y extracción del fragmento.
Las resoluciones que todavía solo tienen metadatos se conservan para su enriquecimiento, pero no aparecen en la búsqueda, el catálogo, la consulta por referencia ni la lectura pública. Un resumen CENDOJ sigue siendo un resumen de la fuente.
Evidencias para asistentes de IA
POST/evidence/search
Recupera fragmentos judiciales y referencias para que un asistente construya su respuesta. Admite selección explícita de fuentes y modos de recuperación habilitados.
{
"query": "tutela judicial efectiva",
"countries": ["ES"],
"source_groups": ["boe_tc", "cendoj"],
"allowed_modes": ["judicial_text"]
}POST /answers conserva el flujo de pregunta con evidencias organizadas; POST /documents/lookup consulta un fragmento mediante documento y localizador. Ambos utilizan el corpus judicial. Los campos exactos de cada operación están en OpenAPI.
Límites y errores
Gratis incluye 5 búsquedas diarias compartidas entre web, API y MCP y 100 consultas de resoluciones diarias mediante API y MCP. Mensual y Anual incluyen 500 búsquedas diarias compartidas entre API y MCP y 10.000 consultas de resoluciones diarias por esos canales. Las búsquedas manuales en la web de los planes de pago no tienen límite comercial, sujetas a uso razonable. No hay un límite mensual adicional.
Una búsqueda admitida consume una unidad. La consulta de detalle, localización o lectura de una resolución por API/MCP consume una unidad de consulta por identificador y día; volver a consultar o paginar el mismo identificador ese día no consume otra unidad. Identificadores distintos se contabilizan por separado. Los catálogos y la consulta de uso no descuentan búsquedas. Abrir detalles manualmente en la web o seguir un enlace a la fuente oficial no consume consultas de resoluciones de API/MCP. Los límites se renuevan a las 00:00, hora peninsular española. Existen además controles técnicos de velocidad. Consulta Uso y GET /usage.
Las respuestas incluyen X-RateLimit-Limit y X-RateLimit-Remaining del grupo correspondiente. Los errores tienen un objeto error con code, message e identificador de solicitud; el estado HTTP identifica el tipo de fallo.
- 400: parámetros inválidos.
- 401 / 403: token inválido o permisos insuficientes.
- 404: recurso no encontrado o no visible.
- 409: referencia ambigua.
- 429: límite alcanzado.
- 500 / 503: fallo del servicio; no equivale a ausencia de jurisprudencia.
Referencia y conexiones
Importa el contrato en clientes compatibles con OpenAPI. Para asistentes, consulta las guías de Claude, ChatGPT y MCP.
Ver OpenAPI ↗Consultas técnicas: developer@jurisprudencia.io.