Peru · pe_sunat_locales_ruc
OpenAPI

Lookup sunat · locales by RUC

GET https://api.latinfo.dev/pe/sunat/locales/ruc/{ruc}

One annex establishment address; a company can have several records. Coverage: Annex establishments published for legal-entity RUCs. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. departamento is an address/unit component, not the geographic department; resolve UBIGEO for geography. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages.

Kontrata ng source

Publisher
SUNAT, Peru
Saklaw
Annex establishments published for legal-entity RUCs.
Kahulugan ng tala
One annex establishment address; a company can have several records.
Identifier
Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below.
Tinatanggap na pattern
^\d{11}$
Bilang ng mga tala
many
Lisensya
Hindi pa nabeberipika ang pahintulot sa muling paggamit. Hindi lisensya sa muling paggamit ang pampublikong access.

Mga kilalang limitasyon

  • departamento is an address/unit component, not the geographic department; resolve UBIGEO for geography.

Kontrata ng source para sa mga agent · Dokumentasyon ng source

Kailangan ng authentication. Gumagamit ang REST request ng Latinfo api key. Idinaragdag ng console ang authorization header at hindi iniimbak ang key.

Mga parameter

rucstringpathkailangan

RUC in the source's normalized format. Keep identifiers as strings; preserve leading zeros.

Example: 20100047218
limitintegerquery

Optional page size. Supplying limit or offset enables explicit pagination; default page size is 100.

offsetintegerquery

Row offset, default 0. Keep the same source generation while collecting pages.

generationstringquery

Opaque source-generation guard, automatically included in the next-page Link. A changed generation returns 409; restart retrieval.

Halimbawa ng request

curl https://api.latinfo.dev/pe/sunat/locales/ruc/20100047218 \
  -H "Authorization: Bearer $LATINFO_API_KEY"

Mga tugon

200Published source records. Missing data is not a clearance or a negative finding.

Mga header ng tugon

X-Latinfo-Imported-At

Import time, not the date of the government observation.

X-Source-Updated-At

Publisher update time, when known.

X-Latest-Observation-At

Latest date in returned records, when known.

X-Freshness-Status

string

CURRENT · DELAYED · STALE · UNKNOWN
X-Credits-Cost

Actual credits charged for this request.

X-Source-Generation

Opaque immutable source generation. Follow the guarded next-page Link when collecting a history.

X-Total-Count

Exact row count for this identifier when pagination is requested.

X-Page-Offset

integer

X-Page-Limit

integer

Link

Next page URL, rel=next. Absent at the end.

Content-Type: application/json

Mga field ng tugon

[].ruc string kailangan

Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below.

[].ubigeo string kailangan

Six-digit INEI district code; retain leading zeros.

[].tipo_via string kailangan

Published street-type abbreviation.

[].nombre_via string kailangan

Published street name.

[].codigo_zona string kailangan

Published zone-type abbreviation.

[].tipo_zona string kailangan

Published zone name.

[].numero string kailangan

External street number; not a count.

[].kilometro string kailangan

Address kilometer marker; not a measured company distance.

[].interior string kailangan

Interior/unit address component.

[].lote string kailangan

Address lot component.

[].departamento string kailangan

Apartment/unit address component; not the geographic department.

[].manzana string kailangan

Address block component.

Response schema
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "ruc": {
        "type": "string",
        "description": "Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below."
      },
      "ubigeo": {
        "type": "string",
        "description": "Six-digit INEI district code; retain leading zeros.",
        "x-latinfo-meaning": "code"
      },
      "tipo_via": {
        "type": "string",
        "description": "Published street-type abbreviation.",
        "x-latinfo-meaning": "text"
      },
      "nombre_via": {
        "type": "string",
        "description": "Published street name.",
        "x-latinfo-meaning": "text"
      },
      "codigo_zona": {
        "type": "string",
        "description": "Published zone-type abbreviation.",
        "x-latinfo-meaning": "text"
      },
      "tipo_zona": {
        "type": "string",
        "description": "Published zone name.",
        "x-latinfo-meaning": "text"
      },
      "numero": {
        "type": "string",
        "description": "External street number; not a count.",
        "x-latinfo-meaning": "text"
      },
      "kilometro": {
        "type": "string",
        "description": "Address kilometer marker; not a measured company distance.",
        "x-latinfo-meaning": "text"
      },
      "interior": {
        "type": "string",
        "description": "Interior/unit address component.",
        "x-latinfo-meaning": "text"
      },
      "lote": {
        "type": "string",
        "description": "Address lot component.",
        "x-latinfo-meaning": "text"
      },
      "departamento": {
        "type": "string",
        "description": "Apartment/unit address component; not the geographic department.",
        "x-latinfo-meaning": "text"
      },
      "manzana": {
        "type": "string",
        "description": "Address block component.",
        "x-latinfo-meaning": "text"
      }
    },
    "required": [
      "ruc",
      "ubigeo",
      "tipo_via",
      "nombre_via",
      "codigo_zona",
      "tipo_zona",
      "numero",
      "kilometro",
      "interior",
      "lote",
      "departamento",
      "manzana"
    ],
    "additionalProperties": false
  }
}
400Invalid identifier or query. Correct the input before retrying.
Walang nakadokumentong response body.
401Missing or invalid API key. Authenticate before retrying.
Walang nakadokumentong response body.
404No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist.
Walang nakadokumentong response body.
409Source generation changed during paginated retrieval. Restart from offset 0.
Walang nakadokumentong response body.
429Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying.
Walang nakadokumentong response body.
503Source unavailable. Report unavailable, not an empty result.
Walang nakadokumentong response body.
Halimbawang JSON

Halimbawa ng schema lamang. Hindi ito live na tugon.

[
  {
    "ruc": "string",
    "ubigeo": "string",
    "tipo_via": "string",
    "nombre_via": "string",
    "codigo_zona": "string",
    "tipo_zona": "string",
    "numero": "string",
    "kilometro": "string",
    "interior": "string",
    "lote": "string",
    "departamento": "string",
    "manzana": "string"
  }
]

Pinagmulan at mga limitasyon

Nag-iiba ang saklaw ayon sa bansa at pampublikong source. Ang nawawalang field ay hindi patunay na wala ang katotohanan. Maaaring maantala o magkamali ang mga rehistro; suriin ang ebidensya at petsa bago gamitin ang resulta.