Skip to main content
Resolves a vehicle from RUNT (Registro Único Nacional de Tránsito), Colombia’s national traffic and vehicle registry. Given a plate and the registered owner’s document, it returns the vehicle’s registry record: make and model, technical specifications, identifiers, registering authority, dates, and lien/pledge flags. The owner’s document is required: RUNT only returns a vehicle when the plate and the document match an active owner.

Request

POST /co/runt/vehicle-by-plate/v1
document_type maps to these identity types: CC (cédula de ciudadanía), CE (cédula de extranjería), TI (tarjeta de identidad), RC (registro civil), PA (pasaporte), NIT, and PPT (Permiso por Protección Temporal).

Response

All sections beyond vehicle are best-effort: if a section is unavailable for a given vehicle it comes back empty ([] or null) rather than failing the call.

vehicle

SI/NO indicators are returned as booleans, numeric fields as numbers, and dates as yyyy-mm-dd. Missing values are null.

soat_policies[]

Each SOAT policy carries policy_number, insurer, is_current (the currently-valid policy), issue_date, start_date, expiry_date, origin, and tariff_type.

inspections[]

Each técnico-mecánica (RTM) record carries certificate_number, center_name (the CDA), inspection_type, status, is_current, issue_date, expiry_date, and plate.

specifications

load_capacity, gross_weight, axle_count, tire_count, height, width, length, total_passengers, seated_passengers.

pledges[] and ownership_limitations[]

pledges lists registered guarantees/liens (garantías): creditor, creditor_document_type, creditor_document_number, registered_date, trust_estate. A financed vehicle shows its creditor here (e.g. the bank that holds the prenda). ownership_limitations lists limitaciones a la propiedad (limitation_type, document_number, legal_entity, department, municipality, issue_date, filing_date). Both are empty for unencumbered vehicles.

armoring, civil_liability[], certificates, normalization[], scrapping

armoring reports blindaje status: is_armored, level (e.g. TRES), level_number, armored_date, dearmored_date, resolution_number, armoring_type, certificate_issue_date, authorization. civil_liability[] lists responsabilidad-civil policies (policy_number, insurer, start_date, expiry_date, is_current). dijin_certificate and scrapping_certificate carry a certificate_number, dates, issuing entity, and status. normalization[] reports normalización records, and scrapping reports desintegración status. Each is null/empty when not applicable to the vehicle.
This lookup can take longer than a typical request. It’s an async job. By default the request waits inline and returns { data }, or you can set Prefer: wait=N, poll GET /jobs/{id}, or supply a callback_url.

Vehicle history by plate

POST /co/runt/vehicle-history-by-plate/v1 Looks up a vehicle’s RUNT history by plate alone, without the owner’s document. It returns the registered owner(s) with their identification numbers, the vehicle characteristics, the traffic-license and import records, SOAT and técnico-mecánica history, any accident on record, recent and pending procedures (trámites), and guarantee/lien and ownership-limitation summaries.
The response carries found, plate, vehicle, owners[] (each with document_type, name, document_number, ownership dates, and owner_type), traffic_license, import_record, soat_policies[], inspections[], accident, pending_procedures[], guarantee, and limitation. Sections are best-effort: anything unavailable comes back empty ([] or null) rather than failing the call. Like the lookup above, this is an async job.

Full reference

Schemas, response fields, and an interactive playground.