---
title: "Integración API SAT México: CIEC, endpoints y monitoreo — CRiskCo"
description: "Documentación canónica para integrar la API del SAT en México vía CIEC: endpoints clave, ejemplos JSON, monitoreo continuo y FAQ técnico."
lang: es
json-ld: |
  [
    {
      "@context": "https://schema.org",
      "@type": "TechArticle",
      "headline": "Integración API SAT México: CIEC, endpoints y monitoreo — CRiskCo",
      "description": "Documentación canónica para integrar la API del SAT en México vía CIEC: endpoints clave, ejemplos JSON, monitoreo continuo y FAQ técnico.",
      "inLanguage": "es-MX",
      "author": {
        "@type": "Organization",
        "name": "CRiskCo"
      },
      "publisher": {
        "@type": "Organization",
        "name": "CRiskCo",
        "url": "https://criskco.com",
        "logo": {
          "@type": "ImageObject",
          "url": "https://criskco.com/logo.png"
        }
      },
      "url": "https://criskco.com/integracion-sat-api",
      "datePublished": "2026-04-16",
      "dateModified": "2026-04-16",
      "about": [
        {
          "@type": "Thing",
          "name": "SAT API Mexico"
        },
        {
          "@type": "Thing",
          "name": "CIEC"
        },
        {
          "@type": "Thing",
          "name": "CFDI"
        },
        {
          "@type": "Thing",
          "name": "Opinión de Cumplimiento 32-D"
        },
        {
          "@type": "Thing",
          "name": "RFC validation"
        }
      ]
    },
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "inLanguage": "es-MX",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "¿Qué es la API del SAT?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "La API del SAT (Servicio de Administración Tributaria de México) expone, mediante servicios SOAP autenticados, datos fiscales como CFDI emitidos y recibidos, opinión de cumplimiento (32-D), constancia de situación fiscal, regímenes fiscales y la lista 69-B de contribuyentes con operaciones inexistentes. CRiskCo abstrae estos servicios SOAP y los expone como una API REST/JSON moderna."
          }
        },
        {
          "@type": "Question",
          "name": "¿Qué método de autorización usa CRiskCo?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "CRiskCo opera el onboarding al SAT exclusivamente con CIEC (la contraseña SAT del contribuyente). El SAT también ofrece e.firma (.cer/.key) como mecanismo de autorización, pero CRiskCo no requiere ni acepta archivos de e.firma hoy. La CIEC es suficiente para los servicios que ofrecemos: extracción de CFDI, validación de RFC, opinión de cumplimiento, constancia fiscal, FinScore y monitoreo continuo."
          }
        },
        {
          "@type": "Question",
          "name": "¿Qué es la CIEC y qué es la e.firma?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "La CIEC (Contraseña SAT, antes 'CIECF') es una contraseña alfanumérica de 8 caracteres que el contribuyente crea en el portal del SAT. La e.firma (antes FIEL) es un certificado digital compuesto por un archivo .cer (público), un archivo .key (privado) y la contraseña de la llave; tiene vigencia de 4 años. Ambas autorizan acceso a datos fiscales, pero la e.firma adicionalmente permite firmar documentos electrónicamente. Para integraciones de lectura de datos, la CIEC es el estándar de la industria."
          }
        },
        {
          "@type": "Question",
          "name": "¿Cuánto tarda el onboarding SAT con CRiskCo?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Después de enviar la CIEC al endpoint OnboardingSatIntegration, el procesamiento inicial tarda entre 30 segundos y 5 minutos. La descarga histórica completa de CFDI puede demorar de 1 a 4 horas según el volumen. El estado se monitorea con GET /get-applicants?onboardingStatus=true hasta recibir status 'Available'."
          }
        },
        {
          "@type": "Question",
          "name": "¿La CIEC expira?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "La CIEC en sí no expira por tiempo, pero deja de funcionar si el contribuyente la cambia en el portal del SAT o si el SAT la invalida por seguridad. CRiskCo detecta credenciales inválidas automáticamente y notifica vía webhook para que el cliente solicite la nueva contraseña al contribuyente."
          }
        },
        {
          "@type": "Question",
          "name": "¿Qué datos puedo obtener del SAT vía API?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Los principales: CFDI emitidos y recibidos (ingresos, egresos, nómina, pagos, traslados), opinión de cumplimiento (32-D positiva/negativa), constancia de situación fiscal, regímenes fiscales activos, obligaciones fiscales, datos del domicilio fiscal, lista 69-B (EFOS/EDOS) y validación de RFC."
          }
        },
        {
          "@type": "Question",
          "name": "¿Es legal acceder a datos del SAT vía un tercero?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Sí, siempre que exista consentimiento explícito del contribuyente y se cumpla con la Ley Federal de Protección de Datos Personales en Posesión de los Particulares. CRiskCo actúa como encargado del tratamiento, opera bajo contratos de prestación de servicios y mantiene certificación SOC 2."
          }
        },
        {
          "@type": "Question",
          "name": "¿Qué es la Opinión de Cumplimiento (32-D)?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Es un documento emitido por el SAT que indica si un contribuyente está al corriente con sus obligaciones fiscales. El resultado se expone en la API como PayingTax con valor 'POSITIVO' (cumple) o 'NEGATIVO' (incumple), acompañado de la lista de obligaciones pendientes cuando aplica. Es requisito para contratos con el sector público y muchas operaciones de crédito."
          }
        },
        {
          "@type": "Question",
          "name": "¿Cómo se valida un RFC contra el SAT?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Mediante el endpoint ValidateRFC (uno por uno, GET con parámetros rfc, name, postal) o ValidateRFCBulk (hasta 5,000 RFC en una sola llamada). El SAT confirma si el RFC existe, si está activo y si coincide con el nombre/razón social. Es la base de cualquier flujo KYS/KYB en México."
          }
        },
        {
          "@type": "Question",
          "name": "¿Hay sandbox o pruebas gratuitas?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Sí. Al registrarse en app.criskco.com se emiten credenciales de prueba (apiId/apiKey en modo test) que devuelven datos sandbox sin costo. No hay un endpoint separado: la misma URL base responde con datos reales o sandbox dependiendo de la llave que se utilice."
          }
        },
        {
          "@type": "Question",
          "name": "¿Qué pasa si el SAT está caído?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "El SAT tiene ventanas de mantenimiento e incidentes intermitentes. CRiskCo implementa reintentos exponenciales, cachea las últimas respuestas válidas y publica el estado del servicio en tiempo real en /sat-service-status-mexico."
          }
        },
        {
          "@type": "Question",
          "name": "¿Cuál es la diferencia entre integrar vía API y hacer scraping del portal SAT?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "El scraping del portal SAT viola los términos de servicio, es frágil ante cambios de UI y se bloquea fácilmente. CRiskCo utiliza los servicios SOAP oficiales del SAT con autorización válida del contribuyente (CIEC), lo cual es el método legalmente reconocido y operacionalmente estable."
          }
        },
        {
          "@type": "Question",
          "name": "¿Hay rate limits en la API?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Sí. Los rate limits dependen del plan contratado y se configuran a la medida del caso de uso. Cuando se exceden, la API responde con HTTP 429 e incluye el header Retry-After. Para volúmenes Enterprise, contacte al equipo comercial."
          }
        },
        {
          "@type": "Question",
          "name": "¿Cómo recibo notificaciones de cambios?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Registre su URL con POST /Subscriptions enviando { CallbackUrl }. CRiskCo emite primero un GET de validación a esa URL — su servidor debe responder HTTP 200 en menos de 2 segundos. Después recibirá eventos POST con dos modos: FileType='JSON' (payload completo inline en el campo APIResponse) o FileType='JSON_LINK' (descargas firmadas en DownloadUrlList). Cada evento incluye SubscriptionId, ReferrerId, WebhookUrl, ApiServiceName, applicantId y refApplicantId. Liste suscripciones con GET /Subscriptions y elimínelas con POST /Subscriptions?id={SubscriptionId}."
          }
        }
      ]
    },
    {
      "@context": "https://schema.org",
      "@type": "HowTo",
      "name": "Cómo conectar la CIEC del SAT a la API de CRiskCo",
      "inLanguage": "es-MX",
      "description": "Flujo paso a paso para autorizar el acceso a datos fiscales del SAT usando la contraseña CIEC del contribuyente.",
      "totalTime": "PT5M",
      "step": [
        {
          "@type": "HowToStep",
          "name": "1. Recolectar RFC + CIEC",
          "text": "Solicite al contribuyente su RFC, su contraseña CIEC, su email y la aceptación de los términos de servicio."
        },
        {
          "@type": "HowToStep",
          "name": "2. Llamar OnboardingSatIntegration",
          "text": "Envíe el payload {IsAgreeTerms, DateAgreeTerms, VersionAgreeTerms, Email, User (RFC), Password (CIEC), RefApplicantId} al endpoint POST /OnboardingSatIntegration con headers apiId y apiKey."
        },
        {
          "@type": "HowToStep",
          "name": "3. Polling con get-applicants",
          "text": "Consulte cada 5–10 segundos GET /get-applicants?taxId=RFC&onboardingStatus=true hasta recibir status='Available'."
        },
        {
          "@type": "HowToStep",
          "name": "4. Recuperar datos fiscales",
          "text": "Llame /applicantinfo, /GetCompanyTaxStatus, /GetCompanyFiscalDetails o /GetHistoricalFinscore para obtener los datos."
        }
      ]
    },
    {
      "@context": "https://schema.org",
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://criskco.com/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Desarrolladores",
          "item": "https://criskco.com/developers/api-guide"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Integración SAT API",
          "item": "https://criskco.com/integracion-sat-api"
        }
      ]
    }
  ]
---

📘 2025 Report: [Mexico Economic Review 2025  — outlook, charts, and sector signals ](/mexico-economic-review-2025)[Read](/mexico-economic-review-2025)

[![CRiskCo](/assets/criskco-logo-KYPBr-8b.png)](/)

Soluciones

Desarrolladores

[Precios](/pricing)

Recursos

[Iniciar Sesión](https://app.criskco.com)EN[Agendar Demo](https://meetings.hubspot.com/israel-madrid/lead-discovery)

[Home](/)[Desarrolladores](/developers/api-guide) Integración SAT API 

# Integración con la API del SAT en México

Conecte datos fiscales del SAT a su producto vía CIEC: endpoints clave, respuestas JSON, monitoreo continuo y FAQ técnico — todo en un solo hub.

## Recursos para desarrolladores

Seis recursos, seis propósitos. Elija el que coincida con dónde está en su integración.

[

Estás aquí 

### SAT Integration Hub

Empieza aquí: qué expone la API del SAT, cómo CRiskCo abstrae SOAP/CIEC, y FAQ técnico.

](/integracion-sat-api)[

### Guía de Integración API

Walkthrough end-to-end: autenticación, modelos de integración (Approve / White-label / Webhook) y catálogo completo de endpoints.

Ir a la página ](/developers/api-guide)[

### Ejemplos de Código

Snippets copy-paste en Python, Node.js y cURL para cada flujo común.

Ir a la página ](/developers/code-samples)[

### Tutoriales

Guías paso a paso para principiantes: primer request, autenticación y monitoreo.

Ir a la página ](/tutorials)[

### Explorador de API

Cada endpoint y cada campo en una sola vista buscable. Pensado para equipos evaluando o migrando su integración.

Ir a la página ](/developers/api-explorer)[

### API Docs

Referencia técnica completa: todos los endpoints, parámetros, esquemas de respuesta y códigos de error.

Abrir docs ](https://api-docs.criskco.com/)

## Acceso listo para IA (MCP) — acceso anticipado

Más allá de REST, los datos de CRiskCo podrán consultarse desde asistentes y agentes de IA mediante el Model Context Protocol.

[Conocer la Integración MCP →](/solutions/mcp)

## Qué expone la API del SAT

El SAT (Servicio de Administración Tributaria de México) ofrece servicios SOAP autenticados para acceder a datos fiscales del contribuyente. Estos incluyen CFDI emitidos y recibidos, opinión de cumplimiento 32-D, constancia de situación fiscal, regímenes y obligaciones fiscales, lista 69-B (EFOS/EDOS) y validación de RFC. La integración directa requiere manejo de credenciales, parsing de XML/SOAP, gestión de tokens de sesión y manejo de las ventanas de mantenimiento del SAT.

CRiskCo abstrae toda esta complejidad detrás de una API REST/JSON moderna con autenticación apiId/apiKey, webhooks, retries automáticos y monitoreo continuo. Es la forma estándar utilizada por bancos, SOFOMs, fintechs y firmas contables en México para conectar datos del SAT a sus sistemas.

## Métodos de autorización del SAT: CIEC y e.firma

El SAT permite dos formas de autorizar el acceso a datos fiscales. Aquí explicamos ambas y cuál utiliza CRiskCo hoy.

### CRiskCo opera el onboarding al SAT con CIEC

Hoy aceptamos únicamente la contraseña CIEC del contribuyente. No requerimos ni almacenamos archivos .cer/.key de e.firma. La CIEC es suficiente para todos los servicios que ofrecemos: extracción de CFDI, validación de RFC, opinión de cumplimiento 32-D, constancia fiscal, FinScore y monitoreo continuo.

Atributo

CIEC 

e.firma 

Qué es

Contraseña SAT alfanumérica (8 caracteres)

Certificado digital (.cer + .key + contraseña)

Vigencia

Indefinida (hasta que el contribuyente la cambie)

4 años, renovable

Permite firmar documentos

No

Sí (firma electrónica avanzada)

Lectura de datos fiscales

Sí (CFDI, RFC, regímenes, opinión 32-D, constancia)

Sí (mismos datos)

Soportado por CRiskCo hoy

Sí 

No 

### Flujo de onboarding (CIEC)

1.  1 Recolectar RFC, contraseña CIEC, email y aceptación de términos del contribuyente. 
2.  2 Llamar POST /OnboardingSatIntegration con el payload {IsAgreeTerms, DateAgreeTerms, VersionAgreeTerms, Email, User, Password, RefApplicantId}. 
3.  3 Hacer polling cada 5–10 segundos a GET /get-applicants?taxId=RFC&onboardingStatus=true hasta status='Available'. 
4.  4 Llamar los endpoints de datos: /applicantinfo, /GetCompanyTaxStatus, /GetCompanyFiscalDetails, /GetHistoricalFinscore. 
5.  5 Registrar webhook con POST /Subscriptions para recibir actualizaciones automáticas. 

Snippets ejecutables en [Ejemplos de Código](/developers/code-samples).

## Endpoints clave con respuestas JSON

Base URL: `https://service.criskco.com/apiservice.svc`. Headers obligatorios en cada llamada: apiId, apiKey, Content-Type: application/json.

### OnboardingSatIntegration

Onboarding del aplicante con su contraseña CIEC.

Solicitud

```
POST /apiservice.svc/OnboardingSatIntegration
Headers: apiId, apiKey, Content-Type: application/json

{
  "IsAgreeTerms": true,
  "DateAgreeTerms": "2026-04-16",
  "VersionAgreeTerms": "1",
  "Email": "contact@empresa.com",
  "User": "GAPXXXXXXXXX",
  "Password": "CIEC_PASSWORD",
  "RefApplicantId": "loan-app-00482"
}
```

Respuesta

```
{
  "Success": true,
  "ErrorCode": 0,
  "Message": "Onboarding initiated"
}
// applicantId is NOT returned here — retrieve it by polling
// GET /get-applicants?refApplicantId=loan-app-00482 afterwards.
```

### GET /get-applicants

Lista aplicantes y su estado de onboarding (polling después de OnboardingSatIntegration).

Solicitud

```
GET /apiservice.svc/get-applicants?taxId=GAPXXXXXXXXX&onboardingStatus=true

Query params: refApplicantId · taxId · onboardingStatus · fullResponse
```

Respuesta

```
{
  "responseDetails": "Data retrieved successfully",
  "success": true,
  "ApiApplicantData": {
    "applicantId": "1000143693",
    "taxId": "GAPXXXXXXXXX",
    "onboardingStatus": "Available"
  }
}
// Use fullResponse=true for the complete dataset (financials, blackLists).
// See full schema at api-docs.criskco.com.
```

### GET /ValidateRFC

Valida un RFC contra el SAT (existencia, estatus y coincidencia de nombre).

Solicitud

```
GET /apiservice.svc/ValidateRFC?rfc=GAPXXXXXXXXX&name=GAP&postal=06600
```

Respuesta

```
{
  "Success": true,
  "ValidParameters": [
    { "Property": "rfc", "Valid": true },
    { "Property": "name", "Valid": true },
    { "Property": "postal", "Valid": true }
  ],
  "message": "RFC valid and active"
}
```

### POST /ValidateRFCBulk

Validación masiva: hasta 5,000 RFCs en una sola llamada (texto plano, un RFC por línea).

Solicitud

```
POST /apiservice.svc/ValidateRFCBulk
Headers: apiId, apiKey
Content-Type: multipart/form-data

file=@rfcs.txt   // one RFC per line, or RFC|Name|Postal pipe-separated
```

Respuesta

```
// Returns plain-text results, one line per RFC.
// See API Docs for the exact format and runnable snippets in Code Samples.
```

### GET /GetCompanyTaxStatus

Opinión de Cumplimiento (32-D). Devuelve PayingTax (POSITIVO/NEGATIVO) y obligaciones pendientes.

Solicitud

```
GET /apiservice.svc/GetCompanyTaxStatus?taxId=GAPXXXXXXXXX
```

Respuesta

```
{
  "CompanyTaxStatus": [
    {
      "taxId": "GAPXXXXXXXXX",
      "PayingTax": "NEGATIVO",
      "RetrievedAt": "2026-04-15T08:30:00Z",
      "CompanyObligationsList": [
        { "Obligation": "ISR Mensual", "Month": 2, "Year": 2026 },
        { "Obligation": "IVA Mensual", "Month": 2, "Year": 2026 }
      ]
    }
  ]
}
```

### GET /GetCompanyFiscalDetails

Constancia de Situación Fiscal: razón social, regímenes, obligaciones y domicilio fiscal.

Solicitud

```
GET /apiservice.svc/GetCompanyFiscalDetails?taxId=GAPXXXXXXXXX
```

Respuesta

```
// Shape varies. See full reference at api-docs.criskco.com.
// Includes: legalName, regimes[], obligations[], fiscalAddress, registrationDate.
```

### GET /GetHistoricalFinscore

Histórico mensual del FinScore (modelo de crédito propietario de CRiskCo).

Solicitud

```
GET /apiservice.svc/GetHistoricalFinscore?taxId=GAPXXXXXXXXX
```

Respuesta

```
// Returns a HistoricalFinscores array with monthly entries
// (Year, Month, FinScore). See full schema at api-docs.criskco.com.
```

### GET /financialStatement

Estado financiero consolidado desde las declaraciones anuales presentadas ante el SAT.

Solicitud

```
GET /apiservice.svc/financialStatement?taxId=GAPXXXXXXXXX
```

Respuesta

```
// Annual income, expenses, assets and liabilities as filed with SAT.
// Use as a third-party cross-check against ERP-sourced financial reports.
```

### POST /Subscriptions

Registra un webhook para recibir actualizaciones del aplicante (FileType: JSON o JSON\_LINK).

Solicitud

```
POST /apiservice.svc/Subscriptions
Headers: apiId, apiKey, Content-Type: application/json
{ "CallbackUrl": "https://yourdomain.com/webhooks/criskco" }

// CRiskCo issues a GET to CallbackUrl for validation —
// your server must reply HTTP 200 within 2 seconds.
```

Respuesta

```
{
  "success": true,
  "responseDetails": "Subscription 1 created successfully",
  "ApiSubscriptionData": [
    {
      "Active": true,
      "CallbackUrl": "https://yourdomain.com/webhooks/criskco",
      "ReferrerId": "your_referrer_id",
      "SubscriptionId": 1
    }
  ]
}
```

Catálogo completo de endpoints en la [Guía de Integración API](/developers/api-guide) y referencia detallada en [api-docs.criskco.com](https://api-docs.criskco.com).

## Preguntas frecuentes

Respuestas técnicas a las preguntas más comunes sobre la integración con la API del SAT.

### ¿Qué es la API del SAT?

### ¿Qué método de autorización usa CRiskCo?

### ¿Qué es la CIEC y qué es la e.firma?

### ¿Cuánto tarda el onboarding SAT con CRiskCo?

### ¿La CIEC expira?

### ¿Qué datos puedo obtener del SAT vía API?

### ¿Es legal acceder a datos del SAT vía un tercero?

### ¿Qué es la Opinión de Cumplimiento (32-D)?

### ¿Cómo se valida un RFC contra el SAT?

### ¿Hay sandbox o pruebas gratuitas?

### ¿Qué pasa si el SAT está caído?

### ¿Cuál es la diferencia entre integrar vía API y hacer scraping del portal SAT?

### ¿Hay rate limits en la API?

### ¿Cómo recibo notificaciones de cambios?

## Listo para integrar la API del SAT

Obtenga credenciales sandbox gratuitas y empiece a probar en minutos. Sin tarjeta de crédito.

[Registrarse al sandbox](https://app.criskco.com/register-referrer)[Guía completa de API](/developers/api-guide)[Ver ejemplos de código](/developers/code-samples)

## Explorar Más

[navAPIGuide](/developers/api-guide)[navCodeSamples](/developers/code-samples)[Tutoriales API](/tutorials)[Estado SAT](/sat-service-status-mexico)[Cumplimiento para Despachos Contables](/solutions/compliance)

[![CRiskCo](/assets/criskco-logo-KYPBr-8b.png)](/)

Inteligencia de riesgo y cumplimiento para México. Conectamos datos regulatorios de múltiples fuentes para decisiones empresariales confiables.

[+52 55 6428 4571](tel:+525564284571)[WhatsApp](https://wa.me/525564284571)[contacto@criskco.com](mailto:contacto@criskco.com)

Plataforma

-   [Plataforma](/#platform)
-   [Cómo Funciona](/#how-it-works)
-   [Soluciones](/#solutions)
-   [Precios](/pricing)
-   [Estado SAT](/sat-service-status-mexico)
-   [Clientes Satisfechos](/success-stories)
-   [Seguridad](https://trust.delve.co/criskco)

Developers

-   [Integración SAT API](/integracion-sat-api)
-   [CFSS Standard](/cfss)
-   [API Guide](/developers/api-guide)
-   [Code Samples](/developers/code-samples)
-   [Tutoriales API](/tutorials)
-   [CRiskCo Labs](/solutions/labs)
-   [MCP Integration](/solutions/mcp)
-   [Documentación API](https://api-docs.criskco.com/)

Empresa

-   [Acerca de](/about)
-   [Casos de Éxito](/success-stories)
-   [Carreras](/careers)
-   [Prensa](/blog)
-   [Contacto](/about)

© 2026 CRiskCo. Todos los derechos reservados.

[Política de Privacidad](/privacy)[Términos de Servicio](/terms)

[](https://wa.me/525564284571?text=Hola%2C%20me%20gustar%C3%ADa%20conocer%20m%C3%A1s%20sobre%20CRiskCo)