RUC en lote
Consulta múltiples RUCs en una sola llamada. Útil para enriquecer listas (proveedores, cartera de clientes, padrones internos).
Endpoint
Sección titulada «Endpoint»POST /v1/ruc/batchHost: api.chequea.peAuthorization: Bearer ak_live_...Content-Type: application/json| Método | POST |
| Scope requerido | ruc:read |
| Frecuencia (RPM) | 1 request, sin importar el tamaño del lote |
| Cuota | N unidades por lote de N RUCs |
| Cache HTTP | No cacheado (respuestas variables por lote) |
Tamaño máximo del lote
Sección titulada «Tamaño máximo del lote»El máximo absoluto del schema es 100 RUCs. Tu plan puede tener un cap menor:
| Plan | Tamaño máximo de lote |
|---|---|
| Free | 10 |
| Starter | 50 |
| Pro | 200 (limitado a 100 por el schema) |
| Business / Enterprise | 500 (limitado a 100 por el schema) |
Si tu lote supera el cap del plan, recibes 403 forbidden_plan.
{ "rucs": [ "20100070970", "20131312955", "20512906510" ]}| Campo | Tipo | Validación |
|---|---|---|
rucs | string[] | 1 a 100 elementos, cada uno 11 dígitos |
Ejemplo de request
Sección titulada «Ejemplo de request»curl --request POST \ --url https://api.chequea.pe/api/v1/ruc/batch \ --header 'Authorization: Bearer ak_live_TU_CLAVE' \ --header 'Content-Type: application/json' \ --data '{"rucs":["20100070970","20131312955","99999999999"]}'Respuesta 200 OK
Sección titulada «Respuesta 200 OK»{ "total": 3, "ok": 2, "errors": 1, "results": [ { "ruc": "20100070970", "status": "ok", "data": { "ruc": "20100070970", "razonSocial": "BANCO DE CREDITO DEL PERU", "estado": "ACTIVO", "condicion": "HABIDO", "tipo": "SOCIEDAD ANONIMA", "ubigeo": "150101", "direccion": "CAL. CENTENARIO NRO. 156", "ciiu": "64190", "actualizado": "2026-05-19T03:14:22.881Z" } }, { "ruc": "20131312955", "status": "ok", "data": { "ruc": "20131312955", "razonSocial": "SUPERINTENDENCIA NACIONAL DE ADUANAS Y DE ADMINISTRACION TRIBUTARIA - SUNAT", "estado": "ACTIVO", "condicion": "HABIDO", "tipo": "INSTITUCIONES PUBLICAS", "ubigeo": "150115", "direccion": "AV. GARCILASO DE LA VEGA NRO. 1472", "ciiu": "84112", "actualizado": "2026-05-19T03:14:22.881Z" } }, { "ruc": "99999999999", "status": "error", "error": { "type": "not_found", "status": 404, "detail": "RUC no encontrado en el padrón" } } ]}| Campo | Tipo | Notas |
|---|---|---|
total | number | Cantidad de RUCs enviados |
ok | number | Cuántos resolvieron con éxito |
errors | number | Cuántos terminaron con error individual |
results[] | array | Una entrada por cada RUC, en el mismo orden del request |
results[].status | "ok" | "error" | Discriminador del resultado |
results[].data | objeto RUC | Sólo si status: "ok"; mismo shape que GET /v1/ruc/{ruc} |
results[].error | objeto | Sólo si status: "error"; subset de Problem Details |
Errores a nivel de request
Sección titulada «Errores a nivel de request»| Código | type | Cuándo ocurre |
|---|---|---|
400 | validation_error | Body no es JSON válido, rucs está vacío o trae elementos mal formados |
401 | unauthorized | Falta clave o es inválida |
403 | forbidden_scope | La clave no tiene ruc:read |
403 | forbidden_plan | El tamaño del lote supera el cap de tu plan |
429 | rate_limited / quota_exceeded | Plan excedido |
Probar en el playground Ejecuta el lote desde el navegador y revisa el shape de la respuesta.