---
title: "SUNARP Registry Search"
method: POST
path: "/pe/sunarp/registry-search/v1"
tags: ["Peru", "SUNARP"]
---

# SUNARP Registry Search

`POST /pe/sunarp/registry-search/v1`

## Request

- Base URL: `https://api.croma.run`
- URL: `https://api.croma.run/pe/sunarp/registry-search/v1`
- Auth: HTTP bearer

Search one SUNARP registry office (e.g. `LIMA`) and registry (`vehicles`, `real_estate`, `legal_entities`, ...) by partida, plate or ficha number. Returns the matching partidas with their zone, office and status; for vehicles also the plate and vehicle status. Pass a `partida_number` to `sunarp-registry-entry` for its inscriptions and pages. `found: false` when nothing matches.

Supports async delivery: set `Prefer: wait=N` for an inline result, pass `callback_url` to receive a POST when ready, or poll `GET /jobs/{id}`.

## Headers

- `Idempotency-Key` string
- `Prefer` string

## Request body

- object
  - `office` string, required: The registry office (oficina registral) by name, e.g. `LIMA`, `AREQUIPA`, `CUSCO`. Case and accents are ignored.
  - `registry_area` 'real_estate' | 'non_land_property' | 'legal_entities' | 'natural_persons' | 'vehicles' | 'mining' | 'vessels' | 'aircraft' | 'movable_contracts', required: The registry: `real_estate` (propiedad inmueble predial), `non_land_property` (propiedad inmueble no predial), `legal_entities` (personas jurídicas), `natural_persons` (personas naturales), `vehicles` (propiedad vehicular), `mining` (propiedad minera), `vessels` (naves y embarcaciones), `aircraft` (aeronaves) or `movable_contracts` (registro mobiliario de contratos).
  - `search_by` 'partida' | 'plate' | 'ficha': What `number` is: `partida` (the registry entry number, the default), `plate` (vehicles only) or `ficha` (the older card number, every registry except vehicles). A partida starting with P is written as `P12345678`.
  - `number` string, required: The partida, plate or ficha number, e.g. `53237569` or `AKI774`. Spaces and hyphens are ignored.
  - `connection_id` string: Optional. Run as this connection (`conn_…`). Empty lets Croma pick among your organization's connections, moving to the next one when one reaches its daily allowance.
  - `callback_url` string, uri: POST the job result here when it finishes.

## Response `200`

Successful response

- SunarpRegistrySearchResponse
  - `data` SunarpRegistrySearchData, required
    - `found` boolean, required: Whether the source returned at least one entry.
    - `office` string, required: The office searched, as the source names it.
    - `registry_area` string, required: Echoes the registry searched.
    - `search_by` string, required: Echoes what `number` was searched as.
    - `number` string, required: Echoes the number searched (uppercased, without spaces or hyphens).
    - `count` number, required: Number of entries returned.
    - `theft_alert` string, nullable, required: A stolen-vehicle notice the source attaches to the result, else null.
    - `entries` object[], required
      - `registry_zone` string, nullable, required: Zona registral, e.g. "ZONA REGISTRAL IX - SEDE LIMA".
      - `office` string, nullable, required: Oficina registral that keeps the entry.
      - `partida_number` string, nullable, required: The entry's partida number; pass it to the registry entry endpoint.
      - `status` 'open' | 'closed' | 'extinguished', nullable, required: `open`, `closed` (cerrada) or `extinguished` (extinguida); null for a state the source does not show, e.g. vehicle partidas.
      - `moved_to_partida` string, nullable, required: When the source has renumbered the partida, the number to search instead, e.g. `P12345678`.
      - `plate` string, nullable, required: Vehicle plate (vehicles only).
      - `vehicle_status` string, nullable, required: Vehicle status as the source prints it, e.g. "EN CIRCULACIÓN" (vehicles only).
      - `ficha_number` string, nullable, required: Older card (ficha) number, when the entry has one.
      - `volume` string, nullable, required: Tomo, for entries kept in books.
      - `folio` string, nullable, required: Folio (foja), for entries kept in books.
      - `book` string, nullable, required: Book (libro) the entry belongs to.
      - `registry` string, nullable, required: The registry as the source names it.

## Other responses

- `202`: Accepted — the result is being computed asynchronously. Poll `job.status_url` (GET /jobs/{id}) or supply `callback_url` to have the result POSTed to you. Returned when `Prefer: wait` elapses before completion, or immediately when `callback_url` is set.
- `400`: Invalid request body
- `401`: Missing or invalid API key
- `429`: Rate limit exceeded
- `500`: Internal error
- `502`: Upstream source returned an error

---

[API](https://skmtc.dev/usecroma/apis/croma-marketplace-api.md) · [All operations](https://skmtc.dev/usecroma/apis/croma-marketplace-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usecroma/apis/croma-marketplace-api/revisions/df016cdb29d7?raw)
