Peru API documentation

SUNAT invoice checks, DNI lookup, and RUC lookup.

These docs describe the current internal HTTP API observed on port :8888. Personal examples use placeholder data instead of real DNI records.

Conventions

JSON request and response bodies
Dates use DD/MM/YYYY
Amounts are decimal numbers
Peru document identifiers only
POST /pe/check

SUNAT invoice check

Submit the issuer RUC, document type, series, correlative, issue date, and amount to check a document against SUNAT.

FieldTypeDescription
issuerstringIssuer RUC.
document_typestringSUNAT document type code. Example: 03 for boleta.
seriesstringDocument series.
correlativenumberDocument correlative number.
issue_datestringIssue date in DD/MM/YYYY format.
amountnumberTotal document amount.
curl -X POST http://localhost:8888/pe/check \
  -H "Content-Type: application/json" \
  -d '{
    "issuer": "20601172232",
    "document_type": "03",
    "series": "B006",
    "correlative": 1471,
    "issue_date": "03/01/2026",
    "amount": 709.00
  }'
FieldTypeDescription
validbooleanWhether the submitted document was found and validated.
invoice_statusstringSUNAT invoice result. Example: NO EXISTE when the document is not found.
issuer_statusstringIssuer taxpayer status returned by the authority, or DESCONOCIDO when unavailable.
issuer_conditionstringIssuer taxpayer condition returned by the authority, or DESCONOCIDO when unavailable.
authoritystringValidation authority. Example: SUNAT.
observationsstring[]Provider observations returned during the check.
{
  "valid": false,
  "invoice_status": "NO EXISTE",
  "issuer_status": "DESCONOCIDO",
  "issuer_condition": "DESCONOCIDO",
  "authority": "SUNAT",
  "observations": [
    "Operation Success! "
  ]
}