Peru · pe_osce_entidades_ruc
OpenAPI

Lookup osce · entidades by RUC

GET https://api.latinfo.dev/pe/osce/entidades/ruc/{ruc}

A public buyer registration with administrative geography and internal codes. Coverage: Public contracting entities in the published OSCE directory. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Directory inclusion is not evidence of a specific procurement award. Returns one record. Import time is not observation time; inspect freshness headers.

Source contract

Publisher
OSCE / OECE, Peru
Coverage
Public contracting entities in the published OSCE directory.
Record meaning
A public buyer registration with administrative geography and internal codes.
Identifier
Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below.
Accepted pattern
^\d{11}$
Cardinality
one
License
Reuse permission has not been verified. Public access is not a reuse license.

Known limitations

  • Directory inclusion is not evidence of a specific procurement award.

Machine-readable source contract · Source documentation

Authentication required. REST requests use a Latinfo API key. The interactive console builds the authorization header and does not store the key.

Parameters

rucstringpathrequired

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

Example: 20290898685

Request example

curl https://api.latinfo.dev/pe/osce/entidades/ruc/20290898685 \
  -H "Authorization: Bearer $LATINFO_API_KEY"

Responses

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

Response headers

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.

Content-Type: application/json

Response fields

ruc string required

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

nombre string required

Published entity name.

departamento string required

Published department name.

provincia string required

Published province name.

distrito string required

Published district name.

codigo_siaf string required

SIAF entity code; retain leading zeros.

codigo_consucode string required

OSCE internal entity code.

estado string required

Publisher status; interpret in the context of this dataset.

ultima_actualizacion string required

Published ultima actualizacion date. Format: DD/MM/YY.

Response schema
{
  "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."
    },
    "nombre": {
      "type": "string",
      "description": "Published entity name.",
      "x-latinfo-meaning": "text"
    },
    "departamento": {
      "type": "string",
      "description": "Published department name.",
      "x-latinfo-meaning": "text"
    },
    "provincia": {
      "type": "string",
      "description": "Published province name.",
      "x-latinfo-meaning": "text"
    },
    "distrito": {
      "type": "string",
      "description": "Published district name.",
      "x-latinfo-meaning": "text"
    },
    "codigo_siaf": {
      "type": "string",
      "description": "SIAF entity code; retain leading zeros.",
      "x-latinfo-meaning": "code"
    },
    "codigo_consucode": {
      "type": "string",
      "description": "OSCE internal entity code.",
      "x-latinfo-meaning": "identifier"
    },
    "estado": {
      "type": "string",
      "description": "Publisher status; interpret in the context of this dataset.",
      "x-latinfo-meaning": "text"
    },
    "ultima_actualizacion": {
      "type": "string",
      "description": "Published ultima actualizacion date. Format: DD/MM/YY.",
      "x-latinfo-meaning": "date"
    }
  },
  "required": [
    "ruc",
    "nombre",
    "departamento",
    "provincia",
    "distrito",
    "codigo_siaf",
    "codigo_consucode",
    "estado",
    "ultima_actualizacion"
  ],
  "additionalProperties": false
}
400Invalid identifier or query. Correct the input before retrying.
No response body documented.
401Missing or invalid API key. Authenticate before retrying.
No response body documented.
404No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist.
No response body documented.
429Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying.
No response body documented.
503Source unavailable. Report unavailable, not an empty result.
No response body documented.
Example JSON

Illustrative schema example. This is not a live response.

{
  "ruc": "string",
  "nombre": "string",
  "departamento": "string",
  "provincia": "string",
  "distrito": "string",
  "codigo_siaf": "string",
  "codigo_consucode": "string",
  "estado": "string",
  "ultima_actualizacion": "string"
}

Provenance and limitations

Coverage varies by country and public source. A missing field is not evidence that the underlying fact does not exist. Public registries may be delayed or contain source errors; inspect the returned evidence and source date before relying on a result.