Cómo buscar sentencias del OAJ en mLey
Guía para personas, asistentes de IA e integraciones: busca sentencias del OAJ, consulta sus PDF y verifica la fuente oficial.
Buscar con un navegador
mLey permite consultar las versiones públicas de sentencias disponibles en el buscador del OAJ. La consulta utiliza el contenido y el tema registrados por la fuente; mLey no garantiza que incluya todas las sentencias existentes.
Abre el buscador, escribe palabras o una frase y pulsa Buscar. El parámetro q conserva la consulta, mode admite exact (frase exacta) o near (palabras cercanas, hasta 5) y page indica la página, empezando en 1. El navegador necesita JavaScript: descargar únicamente el HTML de esa dirección no devuelve los resultados.
Usa Siguiente para avanzar. En un resultado, pulsa Ver documento y coincidencias para abrir el PDF disponible y revisar el texto. El enlace Oficial abre el expediente en la fuente de origen.
Consultar desde una integración con HTTP
Un agente con herramientas HTTP puede usar la misma interfaz JSON que el portal. No basta con leer esta guía: la herramienta debe admitir cookies, encabezados y solicitudes POST. Esta interfaz depende de la disponibilidad de la fuente y puede cambiar.
- Haz GET a /api/csrf/ en mley.mx. Conserva las cookies recibidas y el valor csrfToken del JSON.
- En esa misma sesión, haz POST a /api/cjf/sise/buscar/ con Content-Type: application/json, X-CSRFToken con el valor recibido, Origin: https://mley.mx y Referer: https://mley.mx/buscador-juridico/.
- Envía el JSON de ejemplo. valor_condicion es la búsqueda, page empieza en 1 y size admite 10, 25, 50 o 100. Solicita las páginas necesarias de forma secuencial; la fuente puede devolver varios documentos de un mismo expediente.
{"valor_condicion":"interés superior de la niñez","page":1,"size":25}
Comprueba el estado HTTP y que ok sea true. Los registros están en search.body.data.datosTabla y la paginación en search.body.data.paginate. Usa next_page cuando exista; detente si no hay página siguiente. meta.consulted_at indica cuándo se consultó y meta.cached si se reutilizó una respuesta reciente.
Un error de conexión, HTTP 400, 403, 429 o 503 no significa que no existan resultados. Corrige parámetros o sesión cuando corresponda; respeta Retry-After si se recibe y evita reintentos continuos. No solicites credenciales del proveedor ni tokens de otras personas.
Las consultas tienen cuotas por sesión e IP y un presupuesto global compartido hacia la fuente. Los límites por visitante comienzan en observación: referencia de 10 búsquedas y 30 solicitudes de catálogos por minuto por sesión. El servidor permite como máximo 2 peticiones externas simultáneas y 30 por minuto, incluida autenticación y documentos. HTTP 429 incluye Retry-After en segundos: espera ese intervalo y reintenta solo cuando sea necesario. meta.stale indica una copia conservada durante una interrupción; verifica meta.consulted_at. Puedes enviar X-Mley-Search-Id con un UUID por búsqueda y conservarlo al paginar o reintentar para evitar duplicar la bitácora. La ruta /api/cjf/sise/token/ es interna y no está disponible públicamente. Las rutas técnicas conservan cjf por compatibilidad. La fuente se identifica como OAJ en la interfaz.
Aplicar filtros acumulativos
La barra Filtros permite seleccionar estado, ciudad, circuito o región, materia, tipo de asunto, tipo de órgano, especialidad y órgano jurisdiccional. Varias opciones de una categoría son alternativas; las categorías distintas se combinan. Las selecciones quedan pendientes hasta pulsar Buscar al pie de Filtros. El campo se limpia, pero el texto sigue activo en una etiqueta y se combina con los filtros desde la página 1. Quita la etiqueta de búsqueda para consultar solo con filtros. Las opciones de los catálogos se actualizan mientras eliges; la lista de resultados y el PDF abierto se conservan hasta aplicar la búsqueda. El PDF abierto también se conserva al buscar. El botón superior permite reemplazar el texto y elegir Frase exacta o Palabras cercanas. El documento recibe ese mismo tipo de coincidencia al abrirlo.
La URL conserva las selecciones en estado, ciudad, circuito, materia, tipo_asunto, tipo_organo, especialidad y organo. Repite un parámetro para elegir varias opciones y conserva el nombre exacto de la fuente. Puedes quitar etiquetas individuales o usar Limpiar filtros y después pulsar Buscar. Solo los filtros aplicados se guardan en la URL y se usan al paginar o reintentar. Con filtros sin q, recargar restaura la búsqueda sin texto. Buscar sin texto ni filtros solicita la primera página del catálogo completo; la página inicial vacía no lo consulta automáticamente.
Con la misma sesión y encabezados CSRF, haz POST a /api/oaj/sise/catalogos/ con un objeto de filtros. Los campos admitidos son Estado, Ciudad, CircuitoRegion, Materia, TipoAsunto, OrganoTipo, EspecialidadOrgano y OrganoNombreOficial. Cada selección es una lista de nombres exactos; omite el campo o usa -1 cuando no esté seleccionado. Las listas disponibles se devuelven en options, con esos mismos nombres de campo. counts contiene los conteos de la fuente por campo y nombre de opción; null significa que no se dispone del conteo. count_scope es metadata_without_query: esos totales consideran los filtros enviados al catálogo, sin el texto buscado.
Para agregar alternativas, consulta el catálogo omitiendo temporalmente el filtro de esa categoría y conserva los demás. Los catálogos no consideran el texto buscado; una opción disponible no garantiza coincidencias para q. Para buscar con filtros, envía al endpoint de búsqueda un objeto FiltrosPrimarios con las listas seleccionadas y Paginate. Omite Contenido y Tema para consultar sin texto. Si incluyes texto, cada campo debe tener entre 2 y 500 caracteres, como en este ejemplo:
{"FiltrosPrimarios":{"Contenido":{"ValorCondicion":"secuestro","CondicionOperador":4,"IdTipoCampo":1,"RangoPalabras":5},"Tema":{"ValorCondicion":"secuestro","CondicionOperador":4,"IdTipoCampo":1,"RangoPalabras":5},"Estado":["Ciudad de México"],"Materia":["Penal"]},"Paginate":{"page":1,"size":25}}
El portal muestra el total de la búsqueda en search.body.data.paginate.total_hits y no calcula conteos por opción. Evita ejecutar una búsqueda separada por cada opción del catálogo para obtener conteos; así se limita la carga sobre la fuente.
Verificar el PDF y el alcance del resultado
Cada registro puede incluir NumeroAlias (expediente), AsuntoNeunId (NEUN), OrganoNombreOficial, FechaDeLaSentencia, Tema y Sintesis. Usa únicamente los campos que realmente estén presentes; no deduzcas fechas, órganos ni decisiones ausentes.
mley_document_url, cuando exista, abre el visor del documento. Resuélvelo respecto de https://mley.mx. Los enlaces temporales del resultado caducan; repite la consulta para obtener uno vigente. La lectura del PDF requiere que el archivo esté disponible y haya terminado de cargar.
Que una sentencia aparezca en la búsqueda no demuestra una coincidencia literal dentro de su PDF. Verifica el pasaje y la página antes de citarlo. La síntesis y los resaltados de búsqueda no sustituyen el texto de la sentencia. Si el PDF carece de texto extraíble, no afirmes que no contiene el término.
Un resultado es un documento judicial; no lo presentes automáticamente como jurisprudencia obligatoria ni como legislación vigente.
Citar una sentencia y su fuente oficial
Cita el expediente, órgano y fecha cuando consten en la fuente; añade NEUN, página o pasaje verificado y fecha de consulta. Distingue claramente la cita literal, la síntesis de la fuente y tu propia explicación.
Construye el enlace oficial usando el AsuntoNeunId real del registro: https://ejusticia.cjf.gob.mx/BuscadorSISE/#/Detalle/{AsuntoNeunId}. Prefiere ese enlace al citar, porque la dirección del visor de mLey puede ser temporal.
Descubrimiento y rastreo
Esta guía es pública y ofrece el mismo contenido en HTML y Markdown, sin consultar sentencias al cargarla. Puede servir a cualquier asistente capaz de leerla; no instala herramientas ni garantiza que un proveedor de IA la descubra o utilice automáticamente.
Respeta robots.txt durante el rastreo. /api/ no es un catálogo para indexar; el flujo HTTP descrito sirve para consultas puntuales solicitadas por una persona. No recorras combinaciones de búsquedas ni descargues el corpus de forma masiva. Si tu herramienta no puede ejecutar la búsqueda, proporciona el enlace al portal e indica esa limitación.