SUNARP (Superintendencia Nacional de los Registros Públicos) keeps Peru's vehicle registry. As of today, POST /pe/sunarp-vehicular/vehicle-by-plate/v1 answers with a vehicle's record from its plate.
curl https://api.croma.run/pe/sunarp-vehicular/vehicle-by-plate/v1 \
-H "Authorization: Bearer $CROMA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"plate": "ABC123"
}'| Group | Fields |
|---|---|
| Characteristics | make, model, model_year, color, engine_number, serial_number, vin |
| Plates and status | current_plate, previous_plate, vehicle_status |
| Notices | annotations (SUNARP's annotations summary) and theft_alert |
| Owners | owners[], the current owners as SUNARP prints them, SURNAMES, GIVEN NAMES |
| Registry | registry_offices[]: the office, its code and the partida number |
| Original | document_url, our copy of the record exactly as SUNARP returns it |
When no vehicle has the plate, the answer carries found: false. That is a complete answer, not an error.
From the plate to the partida#
registry_offices[] carries the vehicle's partida_number, the same one the SUNARP registry entry endpoint takes. A plate leads straight to its partida in Peru's public registries.
How to call it#
It needs no connection: unlike the partida search, which runs as your organization's DNI, this lookup only asks for the plate. It is an async job: by default the request waits inline and returns { data }, or you can poll or pass a callback_url. It is also on the MCP server as sunarp_vehicular_vehicle_by_plate, so an agent can look a vehicle up in conversation.
Owners come with their names and no document number, because SUNARP does not show one in this record.
The full guide is at SUNARP Vehicle Lookup. Every other Peruvian source is under Peru.