Docs · Endpoints
API reference
Endpoints
All requests are GET over HTTPS and return JSON. Base URL https://api.carvector.io/v1. Every endpoint except /v1/status requires a bearer key.
GET
/v1/vehiclesSearch vehicles
Find vehicles by year, make, and/or model. Results are paginated.
| Query param | Type | Description |
|---|---|---|
year | number | Filter by model year. |
make | string | Filter by make (case-insensitive). |
model | string | Filter by model (case-insensitive). |
limit | number | Results per page. Default 25, max 100. |
offset | number | Pagination offset. Default 0. |
Request
$ curl "https://api.carvector.io/v1/vehicles?make=Toyota&model=Tacoma&limit=2" \ -H "Authorization: Bearer cv_your_key"
200 OK
{ "count": 2, "limit": 2, "offset": 0, "results": [ { "id": "1laqdklflb3hfav", "year": 2018, "make": "Toyota", "model": "Tacoma Access Cab", "...": "..." } ] }
GET
/v1/vehicles/{id}Vehicle detail
Full specs for a single vehicle by its id.
| Path param | Type | Description |
|---|---|---|
id required | string | Opaque vehicle id returned by the search endpoint, e.g. 1laqdklflb3hfav. |
Request
$ curl https://api.carvector.io/v1/vehicles/1laqdklflb3hfav \ -H "Authorization: Bearer cv_your_key"
200 OK
{ "id": "1laqdklflb3hfav", "year": 2018, "make": "Toyota", "model": "Tacoma Access Cab", "trim": null, "submodel": "Pickup", "horsepower": 278, "cylinders": 6, "displacement_l": 3.5, "transmission": "Automatic 6-spd", "drive_type": "4x2", "fuel_type": "Gasoline", "body_class": "Small Pickup Trucks 4WD", "doors": 4, "image_url": "https://vehicle.s3.us-east-005.backblazeb2.com/vehicles/2018/Toyota/Tacoma%20Access%20Cab/2018_Toyota_Tacoma_Access_Cab_7f4cea94_00001_.png", "image_type": "illustration", "recall_count": 0 }
Images are illustrations
image_url points to a representative illustration of the year/make/model — image_type is always "illustration" (or null when none exists), never a photo of a specific unit.GET
/v1/vehicles/{id}/recallsRecalls for a vehicle
Federal recall campaigns mapped to a vehicle's year/make/model, newest first.
| Path param | Type | Description |
|---|---|---|
id required | string | Vehicle id (same format as vehicle detail). |
Request
$ curl https://api.carvector.io/v1/vehicles/1laqdklflb3hfav/recalls \ -H "Authorization: Bearer cv_your_key"
200 OK
{ "vehicle_id": "1laqdklflb3hfav", "count": 1, "recalls": [ { "campaign_id": "19V123000", "component": "STRUCTURE:FRAME AND MEMBERS", "summary": "Description of the defect…", "consequence": "Effect of the defect on safety…", "remedy": "How dealers will fix it…", "report_received": "2019-03-14", "potentially_affected": 12000 } ] }
GET
/v1/dtc/{code}DTC reference
Look up a diagnostic trouble code's reference data by its identifier.
| Path param | Type | Description |
|---|---|---|
code required | string | OBD-II code, e.g. P0420 (case-insensitive). |
Request
$ curl https://api.carvector.io/v1/dtc/P0420 \ -H "Authorization: Bearer cv_your_key"
200 OK
{ "code": "P0420", "title": "P0420 Catalyst System Efficiency Below Threshold (Bank 1)", "category": "Powertrain", "system": "P", "severity": "Medium", "safety_risk": false, "emissions_related": true, "related_codes": [], "symptoms": [] }
Reference, not repair economics
v1 returns the code's identity and flags — title, category, severity, and safety/emissions flags. It does not return parts cost or labor estimates.GET
/v1/statusStatus no auth
Service health and data freshness. Useful for an uptime check; requires no key.
Request
$ curl https://api.carvector.io/v1/status
200 OK
{ "status": "ok", "data_updated": "2026-05-27T04:00:00Z", "schema_version": 3 }