Guía · API de RUC

Cómo integrar una API de RUC de Ecuador

Publicado el

Consultar un RUC desde una API ayuda a completar datos de facturación, revisar proveedores y reducir errores al registrar clientes o empresas ecuatorianas.

Este tutorial muestra una integración completa del endpoint de RUC: formato del identificador, autenticación Bearer, ejemplos en cuatro lenguajes, respuesta JSON y controles para usarla de forma segura en producción.

Qué devuelve el endpoint de RUC

Usa GET /api/v1/rucs/{ruc} con un RUC de 13 dígitos. La respuesta incluye razón social, estado, tipo de contribuyente, actividad económica y condiciones de agente de retención y contribuyente especial.

El listado de establecimientos se consulta por separado en GET /api/v1/rucs/{ruc}/establecimientos. Su respuesta incluye count, establishments y fetched_at; comprueba is_headquarters en cada establecimiento para identificar la matriz.

Los datos tributarios no son una garantía comercial. Diseña tu flujo para admitir campos null y actualizaciones posteriores.

Requisitos antes de integrar

  • Crea una API key y configúrala como ECUADORAPI_KEY en el entorno del servidor.
  • Valida que el RUC contenga 13 dígitos antes de enviarlo.
  • No expongas la clave en aplicaciones web, móviles ni repositorios públicos.
  • Define qué campos necesitas para facturación, proveedores o registro y evita conservar el resto sin propósito.

Ejemplos para consultar un RUC desde código

Copia el ejemplo de tu lenguaje y reemplaza el RUC ficticio. La API devuelve el mismo envelope JSON en todos los casos.

EndpointGET /api/v1/rucs/{ruc}

El ejemplo usa un identificador ficticio. Reemplázalo por el dato que necesitas consultar.

Solicitud cURLbash
curl "https://api.ecuadorapi.com/api/v1/rucs/1790012345001" \
  -H "Authorization: Bearer $ECUADORAPI_KEY"

Ejecuta desde tu terminal. Configura ECUADORAPI_KEY en el entorno. Nunca publiques tu clave en el navegador.

JSON ficticio con la misma estructura que devuelve la API. Verlo o copiarlo no consume saldo.

Respuesta de ejemplo · 200 OKjson
{
  "data": {
    "id": "1790012345001",
    "business_name": "EJEMPLO COMERCIAL S.A.",
    "status": "ACTIVO",
    "taxpayer_type": "SOCIEDAD",
    "is_withholding_agent": true,
    "is_special_taxpayer": false,
    "economic_activity": "VENTA AL POR MENOR DE OTROS PRODUCTOS",
    "start_date": "2015-03-01",
    "fetched_at": "2026-06-20T16:00:00Z"
  },
  "error": null,
  "message": null
}
Ver campos, precio vigente y referencia del endpoint

Cómo leer la respuesta JSON

  • data.id contiene el RUC consultado.
  • data.business_name identifica la razón social. El nombre comercial se consulta como establishments[].commercial_name en el endpoint de establecimientos.
  • data.status y data.taxpayer_type describen el estado y el tipo de contribuyente reportados.
  • data.economic_activity resume la actividad principal registrada.
  • La consulta principal no incluye trade_name ni address. Consulta establishments[].address en el endpoint de establecimientos y usa is_headquarters para identificar la matriz.

Errores y decisiones de negocio

  • 400: el RUC no cumple el formato esperado.
  • 401, 402 o 403: revisa autenticación, saldo y verificación de la cuenta según el mensaje.
  • 404: no se encontraron datos para el RUC enviado; permite corregirlo y volver a intentar.
  • 429: espera el tiempo indicado en Retry-After.
  • 502 o 503: muestra un estado temporal y reintenta con espera progresiva; no bloquees permanentemente al proveedor o cliente.

Checklist para facturación y proveedores

  • Compara el RUC devuelto con el valor enviado.
  • Presenta la razón social para que el usuario confirme antes de guardar.
  • No conviertas un estado aislado en una decisión automática sin las reglas de tu negocio.
  • Revisa el precio vigente del endpoint y registra métricas sin incluir el RUC ni la respuesta completa.
Continúa con la integración
Revisa todos los campos, el precio vigente y el ejemplo actualizado en la documentación.

Preguntas frecuentes

Respuestas rápidas sobre esta guía.

Más guías

Continúa explorando otros temas relacionados.

Ver todas las guías