Scrapers.lat logo scrapers.lat
Business

SUNAT Peru RUC & Taxpayer Registry Scraper

Scrape Peru SUNAT taxpayer records by RUC or company name. Extract razonSocial, RUC, estado, condicion, taxpayer type, fiscal address, CIIU activity, legal representatives and branch locations. Export to JSON, CSV or Excel.

25 fields per record JSON · CSV · Excel · API Pay per use
sunat-scraper.json 200 OK
{
  "razonSocial": "SUPERMERCADOS PERUANOS SOCIEDAD ANONIMA 'O ' S…",
  "ruc": "20100070970",
  "estado": "ACTIVO",
  "condicion": "HABIDO",
  "tipoContribuyente": "SOCIEDAD ANONIMA",
  "nombreComercial": "SUPERMERCADOS PERUANOS",
  "direccion": "CAL.MORELLI NRO. 181 INT. P-2",
  "departamento": "LIMA",
  "provincia": "LIMA"
}
What you get

Every run returns clean, typed records, ready for your CRM, spreadsheet or database.

  • One clean record per result, deduped and normalized
  • Stable schema in JSON, CSV or Excel, or read it via the Apify API
  • Pay per use in the cloud, nothing to install or maintain
Fields it returns
Razon SocialRucEstadoCondicionTipo ContribuyenteNombre ComercialDireccionDepartamentoProvinciaDistritoCiiuActividad EconomicaActividades SecundariasSistema Emision Comprobante
Sample output

A real example record, exactly the shape you receive.

Razon SocialRucEstadoCondicion
SUPERMERCADOS PERUANOS SOCIEDAD A…20100070970ACTIVOHABIDO
GET /sunat-scraper
{
  "razonSocial": "SUPERMERCADOS PERUANOS SOCIEDAD ANONIMA 'O ' S…",
  "ruc": "20100070970",
  "estado": "ACTIVO",
  "condicion": "HABIDO",
  "tipoContribuyente": "SOCIEDAD ANONIMA",
  "nombreComercial": "SUPERMERCADOS PERUANOS",
  "direccion": "CAL.MORELLI NRO. 181 INT. P-2",
  "departamento": "LIMA",
  "provincia": "LIMA"
}

Frequently asked questions

Which companies does this scraper cover?

It covers every taxpayer registered in SUNAT Consulta RUC, which includes all formal businesses and individuals with a RUC across the 24 departments of Peru. Both active and deregistered taxpayers are returned.

Can I search by company name instead of RUC?

Yes. Any 11-digit numeric search term is treated as a direct RUC lookup, and any other text is treated as a company-name search that returns every matching taxpayer. You can mix both in a single run.

How many records can I collect in one run?

A direct RUC lookup returns one record per RUC. A name search can return dozens of matching taxpayers per term. Use Max Items to cap the total collected across all search terms.

Can I get the legal representatives of a company?

Yes. Enable Fetch Legal Representatives and each record will include the full list of representantes legales with document type, document number, name, role and start date.

Can I get every branch location of a company?

Yes. Enable Fetch Branch Locations and each record includes an establishments array with every registered establecimiento anexo: internal code, establishment type, full address and economic activity. Large retailers and public bodies can return hundreds or thousands of branches in a single record.

What happens if a RUC or name returns no data?

The scraper logs the term and continues with the rest of your input. A short error record is written to the dataset for that term so you can see exactly which lookups returned nothing.

Ready when you are.

Run the scraper live on Apify right now, or have us build one tailored to exactly what you need.