Consulta de RUC
Consulta en el catastro público del SRI la razón social, el estado, el régimen y los establecimientos de un RUC, para completar los datos de un cliente o de un proveedor antes de emitir.
Qué devuelve
| Campo | Contenido |
|---|---|
ruc, razonSocial, nombreComercial | Identificación y nombres registrados en el SRI. |
estado, activo | Estado del RUC según el SRI (por ejemplo ACTIVO o SUSPENDIDO) y si está activo. |
tipoPersona | NATURAL o JURIDICA. |
regimen | GENERAL, RIMPE_EMPRENDEDOR o RIMPE_NEGOCIO_POPULAR. |
obligadoContabilidad, agenteRetencion, contribuyenteEspecial | Calificaciones del contribuyente. |
direccionMatriz | Dirección de la matriz. |
establecimientos | Número, nombre comercial, dirección, si está abierto y si es la matriz. |
Algunos campos pueden venir en null si el SRI no los informa.
Usos
- Completar la razón social de un cliente nuevo o del sujeto retenido de una retención, tal como está registrada en el SRI.
- Comprobar que el RUC de un proveedor está activo antes de registrar su factura y emitir la retención.
La consulta es solo por RUC (13 dígitos terminados en 001). Un número con otro formato responde 400 PARAMETRO_INVALIDO, y un RUC que el SRI no registra, 404 RUC_NO_REGISTRADO. Los ejemplos consultan 1760013210001, el RUC del Servicio de Rentas Internas, que está en el catastro; un RUC inventado para pruebas, como 0990000000001, responde 404.
Disponibilidad del SRI
La consulta depende del servicio del SRI. Si no responde, la respuesta es 503 SRI_NO_DISPONIBLE con Retry-After; tu sistema debe permitir registrar los datos a mano en ese caso. Golem guarda cada respuesta hasta una hora, así que un cambio reciente en el catastro puede tardar ese tiempo en verse.
Cada token puede hacer 20 consultas de RUC por minuto.
Consultar un RUC en el catastro del SRI
GET /
- Requiere token
Consulta en el catastro público del SRI la razón social, el estado, el régimen y los establecimientos de un RUC. Sirve para completar los datos de un cliente o de un proveedor antes de emitir. Depende de la disponibilidad del SRI: si no responde, 503 con Retry-After. Las respuestas se guardan en caché hasta una hora.
Límites: 60 solicitudes por minuto por token; 20 consultas de RUC por minuto por token.
Parámetros
| Campo | Descripción |
|---|---|
ruc ruta string obligatorio | RUC de 13 dígitos terminado en 001.
|
X-Request-Id cabecera string | Identificador propio de la solicitud (hasta 64 caracteres: letras, números y
|
Ejemplo de solicitud
Los ejemplos leen el token de la variable de entorno GOLEM_TOKEN.
curl https://api.golem.ec/v1/ruc/1760013210001 \
--max-time 30 \
-H "Authorization: Bearer $GOLEM_TOKEN" const respuesta = await fetch('https://api.golem.ec/v1/ruc/1760013210001', {
headers: {
Authorization: `Bearer ${process.env.GOLEM_TOKEN}`,
},
signal: AbortSignal.timeout(30000),
});
const datos = await respuesta.json();
console.log(respuesta.status, datos); import os
import requests
respuesta = requests.get(
"https://api.golem.ec/v1/ruc/1760013210001",
headers={
"Authorization": f"Bearer {os.environ['GOLEM_TOKEN']}",
},
timeout=30,
)
print(respuesta.status_code, respuesta.json()) <?php
// composer require guzzlehttp/guzzle
require 'vendor/autoload.php';
use GuzzleHttp\Client;
$cliente = new Client(['base_uri' => 'https://api.golem.ec/v1/', 'timeout' => 30]);
$respuesta = $cliente->get('ruc/1760013210001', [
'headers' => [
'Authorization' => 'Bearer ' . getenv('GOLEM_TOKEN'),
],
'http_errors' => false,
]);
echo $respuesta->getStatusCode(), PHP_EOL, $respuesta->getBody(), PHP_EOL; Respuestas
200 application/json
Datos del RUC según el SRI.
Esquema Ruc.
{
"ruc": "1760013210001",
"razonSocial": "SERVICIO DE RENTAS INTERNAS",
"nombreComercial": null,
"estado": "ACTIVO",
"activo": true,
"tipoPersona": "JURIDICA",
"regimen": "GENERAL",
"obligadoContabilidad": true,
"agenteRetencion": true,
"contribuyenteEspecial": true,
"direccionMatriz": "PICHINCHA / QUITO / IÑAQUITO / AVENIDA AMAZONAS S/N Y UNIÓN NACIONAL DE PERIODISTAS",
"establecimientos": [
{
"numero": "001",
"nombreComercial": null,
"direccion": "PICHINCHA / QUITO / MARISCAL SUCRE / PÁEZ N22-53 Y RAMIREZ DÁVALOS",
"abierto": true,
"matriz": false
},
{
"numero": "002",
"nombreComercial": null,
"direccion": "GUAYAS / GUAYAQUIL / ROCAFUERTE / AV. 10 DE AGOSTO 212 Y PEDRO CARBO Y PICHINCHA",
"abierto": false,
"matriz": false
},
{
"numero": "059",
"nombreComercial": null,
"direccion": "PICHINCHA / QUITO / IÑAQUITO / AVENIDA AMAZONAS S/N Y UNIÓN NACIONAL DE PERIODISTAS",
"abierto": true,
"matriz": true
}
]
} Errores: HTTP 400, 401, 404, 429, 500, 503
| HTTP | Código | Causa y solución |
|---|---|---|
| 400 | JSON_INVALIDO | El cuerpo no es un JSON válido. Revisa la sintaxis cerca de la línea y la columna que indica el mensaje. |
| 400 | VALIDACION | Uno o más campos no cumplen el formato. Corrige los campos de |
| 400 | PARAMETRO_INVALIDO | Un parámetro de la ruta o de la consulta no es válido: por ejemplo, una clave de acceso sin 49 dígitos, un rango de fechas de más de 366 días o un Corrige el parámetro que indica |
| 400 | IDEMPOTENCY_KEY_INVALIDA | La cabecera Genera la clave con un UUID v4. |
| 400 | TOKEN_EN_URL | La URL incluye Envía el token solo en la cabecera |
| 401 | TOKEN_REQUERIDO | Falta la cabecera Envía |
| 401 | TOKEN_INVALIDO | El token no existe o no tiene el formato de un token de Golem. Copia el token completo, con su prefijo. Si no lo tienes, crea otro: Golem no puede mostrarlo de nuevo. |
| 401 | TOKEN_REVOCADO | El token fue revocado. Crea otro en Cuenta > API e integraciones. |
| 404 | RUC_NO_REGISTRADO | El catastro del SRI no registra ese RUC. Revisa el número con el proveedor o el cliente. |
| 429 | LIMITE_EXCEDIDO | Se superó un límite de solicitudes por minuto. Repite la solicitud después de los segundos de |
| 500 | ERROR_INTERNO | Error inesperado de Golem. Si ocurrió al emitir, repite la solicitud con la misma |
| 503 | SRI_NO_DISPONIBLE | El SRI no responde. Repite la solicitud después de los segundos de |
| 503 | SERVICIO_NO_DISPONIBLE | Un servicio interno de Golem no responde. Repite la solicitud después de los segundos de |
| 503 | MANTENIMIENTO | Golem está en mantenimiento. Los mantenimientos se avisan por correo con 24 horas de anticipación. Repite la solicitud después de los segundos de |
Formato y lista completa en Errores.