Inicio / APIs / API de descarga de CFDI
Descarga CFDI del SAT con una llamada.
La llave de prueba no pide tarjeta.
curl -G https://dev.lagoontech.com.mx/v1/cfdi \
-H "Authorization: Bearer $LLAVE" \
-d rfc=LAG170807KX3 \
-d desde=2026-09-01 \
-d hasta=2026-09-30 \
-d limite=2
import os
import requests
respuesta = requests.get(
"https://dev.lagoontech.com.mx/v1/cfdi",
headers={"Authorization": f"Bearer {os.environ['LLAVE']}"},
params={
"rfc": "LAG170807KX3",
"desde": "2026-09-01",
"hasta": "2026-09-30",
"limite": 2,
},
)
print(respuesta.json())
const respuesta = await fetch("https://dev.lagoontech.com.mx/v1/cfdi" + "?" + new URLSearchParams({
"rfc": "LAG170807KX3",
"desde": "2026-09-01",
"hasta": "2026-09-30",
"limite": 2,
}), {
headers: { Authorization: `Bearer ${process.env.LLAVE}` },
});
console.log(await respuesta.json());
<?php
$ch = curl_init("https://dev.lagoontech.com.mx/v1/cfdi" . "?" . http_build_query([
"rfc" => "LAG170807KX3",
"desde" => "2026-09-01",
"hasta" => "2026-09-30",
"limite" => 2,
]));
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("LLAVE")],
]);
echo curl_exec($ch);
Recibes
{
"data": [
{
"uuid": "f0d7917d-6525-56bf-997b-88e5e98489dc",
"rol": "emitido",
"tipo_comprobante": "I",
"serie_folio": "A4392",
"fecha": "2026-09-01T10:03:37",
"emisor": {
"rfc": "LAG170807KX3",
"nombre": "Contribuyente de ejemplo"
},
"receptor": {
"rfc": "FFF060606FF6",
"nombre": "Alimentos del Desierto"
},
"total": "12962.78",
"moneda": "MXN",
"estatus_sat": "vigente"
},
{
"uuid": "1176d2c0-28bf-5208-98e1-7038f7ec227d",
"rol": "recibido",
"tipo_comprobante": "I",
"serie_folio": "A6645",
"fecha": "2026-09-01T10:11:20",
"emisor": {
"rfc": "XAXX010101000",
"nombre": "Público en general"
},
"receptor": {
"rfc": "LAG170807KX3",
"nombre": "Contribuyente de ejemplo"
},
"total": "16363.22",
"moneda": "MXN",
"estatus_sat": "vigente"
}
],
"siguiente_cursor": "bzoy",
"hay_mas": true,
"completo": true,
"total": 106
}
Tu primera llamada, en tres pasos
- Pide tu llave de pruebaSolo con tu correo, sin tarjeta y por 30 días.
- Copia el ejemplo y cambia tu RFCYa trae la cabecera y la dirección base.
- Recibes tus CFDIEl campo completo indica si el periodo terminó de descargarse.
Cuánto pagas
Se cobra por RFC al mes, y mientras más RFC, menos pagas por cada uno.
Incluye emitidos y recibidos, resguardo de 5 años, reintentos y webhooks.
al mes
Ve los escalones
| RFC contratados | Por RFC al mes |
|---|---|
| 1 a 9 | $129 |
| 10 a 49 | $99 |
| 50 a 99 | $79 |
| 100 o más | $59 |
Cuando algo falla
Cada error trae su tipo, su mensaje, el parámetro que falló y un enlace a su explicación.
{
"error": {
"tipo": "periodo_invalido",
"mensaje": "El periodo no puede pasar de 12 meses.",
"parametro": "hasta",
"ayuda": "https://dev.lagoontech.com.mx/docs/#errores-periodo_invalido"
}
}
Tu e.firma se queda en tu equipo
La e.firma queda cifrada en tu equipo.
A Lagoon Tech solo llega la solicitud firmada.
No guardamos tu llave privada ni tu contraseña, como recomienda el SAT.
Prueba 30 días con un RFC
Descarga real y sin tarjeta, y después eliges cuántos RFC pagas.