Documentación para desarrolladores
316 leyes federales vigentes, 36,000+ artículos indexados y el mismo motor RAG+LLM del chat, disponible vía REST API. Intégralo en tu despacho, app o automatización.
Referencia completa
Un solo endpoint para consultas jurídicas en lenguaje natural. Reutiliza el mismo motor del chat — misma calidad, mismas fuentes.
Envía una pregunta en lenguaje natural y recibe una respuesta legal fundamentada en artículos reales de la ley mexicana. Cada llamada es independiente — sin memoria entre requests.
Headers requeridos
Body (JSON)
Respuesta exitosa (200)
curl -X POST https://lex-mex.xyz/api/v1/consulta \ -H "X-API-Key: lmx_live_TU_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "pregunta": "¿Cuántos días de vacaciones me corresponden según la LFT?" }' # Respuesta { "respuesta": "El artículo 76 de la Ley Federal del Trabajo establece que los trabajadores que tengan más de un año de servicios disfrutarán de un período anual de vacaciones pagadas...", "fuentes": [ { "ley": "Ley Federal del Trabajo", "articulo": "76" } ], "confianza": "alta", "version": "15.0" }
import requests API_KEY = "lmx_live_TU_API_KEY" BASE_URL = "https://lex-mex.xyz/api/v1" def consultar_ley(pregunta: str) -> dict: """Consulta el motor jurídico de LexMex.""" resp = requests.post( f"{BASE_URL}/consulta", headers={ "X-API-Key": API_KEY, "Content-Type": "application/json", }, json={"pregunta": pregunta}, timeout=30, ) resp.raise_for_status() return resp.json() # Uso básico resultado = consultar_ley( "¿Qué dice el artículo 123 constitucional?" ) print(resultado["respuesta"]) print(f"Confianza: {resultado['confianza']}") print(f"Fuentes: {len(resultado['fuentes'])} artículos") # Manejo de errores de producción try: r = consultar_ley("¿Cuánto es el salario mínimo?") except requests.HTTPError as e: if e.response.status_code == 429: print("Límite diario alcanzado") elif e.response.status_code == 401: print("API key inválida") else: raise
// ESM / Node.js 18+ / Browser const API_KEY = "lmx_live_TU_API_KEY"; const BASE_URL = "https://lex-mex.xyz/api/v1"; async function consultarLey(pregunta) { const res = await fetch(`${BASE_URL}/consulta`, { method: "POST", headers: { "X-API-Key": API_KEY, "Content-Type": "application/json", }, body: JSON.stringify({ pregunta }), }); if (!res.ok) { const err = await res.json(); throw new Error(err.detail || `HTTP ${res.status}`); } return res.json(); } // Ejemplo: integración en sistema de expedientes const caso = { tipo: "despido injustificado", sector: "privado", antiguedad: 3, // años }; const resultado = await consultarLey( `¿Qué indemnización corresponde por ${caso.tipo} con ${caso.antiguedad} años de antigüedad?` ); console.log(resultado.respuesta); // → "El artículo 48 de la LFT establece..." console.log(`Fuentes: ${resultado.fuentes.length} artículos`); console.log(`Confianza: ${resultado.confianza}`);
// Zapier: Code by Zapier (JavaScript) // Usa inputData para recibir datos de pasos anteriores const pregunta = inputData.pregunta || "¿Cuántos días de liquidación corresponden?"; const resp = await fetch("https://lex-mex.xyz/api/v1/consulta", { method: "POST", headers: { "X-API-Key": "lmx_live_TU_API_KEY", "Content-Type": "application/json", }, body: JSON.stringify({ pregunta }), }); const data = await resp.json(); // Retorna al siguiente paso del Zap output = { respuesta: data.respuesta, num_fuentes: data.fuentes?.length || 0, primera_ley: data.fuentes?.[0]?.ley || "", primer_art: data.fuentes?.[0]?.articulo || "", confianza: data.confianza, }; /* ─ Make (Integromat): HTTP Module ───────────── URL: POST https://lex-mex.xyz/api/v1/consulta Headers: X-API-Key → tu key Content-Type → application/json Body: { "pregunta": "{{1.pregunta}}" } Parse: respuesta, fuentes[], confianza ───────────────────────────────────────────── */
{ "respuesta": "De acuerdo con el artículo 76 de la Ley Federal del Trabajo, los trabajadores con más de un año de servicios tienen derecho a un período de vacaciones que no podrá ser inferior a doce días laborables, aumentando en dos días por cada año subsecuente de servicios...", "fuentes": [ { "ley": "Ley Federal del Trabajo", "articulo": "76", "texto": "Los trabajadores que tengan..." }, { "ley": "Ley Federal del Trabajo", "articulo": "78", "texto": "De cada seis días de vacaciones..." } ], "confianza": "alta", "version": "15.0" }
Aplicaciones reales
Desde automatizaciones sin código hasta apps móviles completas. La API es el mismo motor que usa el chat — la diferencia es quién controla la interfaz.
Cada expediente que se abre en tu sistema muestra automáticamente los artículos relevantes. El abogado recibe el fundamento legal antes de abrir la boca en la audiencia.
DespachosConecta LexMex con Twilio o la API de WhatsApp Business. Tus clientes hacen preguntas legales básicas por WhatsApp y el bot responde con artículos reales — 24/7, sin que intervenga un abogado.
Fintechs · RRHHEl área de RRHH llena una columna con situaciones laborales. Un script de Apps Script llama a LexMex y llena la columna de al lado con el fundamento legal. Sin abrir ninguna app adicional.
Zapier · Make · n8nUn bufete puede ofrecer en su sitio un chatbot que responde preguntas básicas de potenciales clientes — generando leads y demostrando expertise. Todo encima del motor de LexMex.
Agencias · BufetesCuando se genera un contrato en tu sistema, una llamada automática verifica si las cláusulas son compatibles con la ley mexicana vigente. Alerta si hay conflictos antes de firmar.
Legal Ops · EnterpriseConstruye tu propia app en React Native, Flutter o Swift sin preocuparte por la base de conocimiento legal. LexMex es el backend jurídico — tú controlas el frontend y la experiencia de usuario.
Startups · DevelopersRate limits y cuotas
Los límites aplican por API key, de forma independiente al uso del chat web. El contador se reinicia cada día a medianoche (hora Ciudad de México).
¿Necesitas más de 500 solicitudes/día? Contáctanos para un plan Enterprise →
Manejo de errores
Todos los errores devuelven JSON con el campo detail que describe el problema. Diseña tu integración para manejar estos casos.
| Status | Código | Causa | Solución |
|---|---|---|---|
| 200 | OK | Consulta exitosa | — |
| 401 | Unauthorized | Header X-API-Key ausente o key inválida/revocada | Verifica tu key en el dashboard. Si la revocaste, genera una nueva. |
| 403 | Forbidden | El plan de tu cuenta no incluye acceso API | Activa el plan VIP desde tu dashboard. |
| 422 | Validation Error | El campo pregunta está vacío o supera 2,000 chars | Valida el body antes de enviar. Recorta preguntas largas. |
| 429 | Too Many Requests | Alcanzaste el límite de 500 solicitudes/día | Espera a la medianoche del día siguiente. Implementa retry con backoff exponencial. |
| 500 | Internal Server Error | Error interno del motor LLM o de la base de datos | Reintenta la solicitud con backoff. Si persiste, repórtalo. |
Patrón recomendado: retry con backoff exponencial (Python)
import time, requests def consultar_con_retry(pregunta, max_intentos=3): for intento in range(max_intentos): try: return consultar_ley(pregunta) except requests.HTTPError as e: if e.response.status_code in (429, 500) and intento < max_intentos - 1: espera = 2 ** intento # 1s, 2s, 4s time.sleep(espera) continue raise
Activa tu plan VIP → genera tu API key en el dashboard → haz tu primera
llamada.
Sin formularios. Sin aprobación manual.