TruckRadar Dealer API
TruckRadar exposes a JSON REST API for dealers and DMS partners to sync inventory, update dealer records, and receive listing state by VIN. Feeds are also accepted as annotated XML or CSV on a scheduled cadence. This reference is the single source of truth for field names, types, constraints, and error codes. A working DMS integrator can authenticate, POST a valid inventory record, and verify it downstream — using only the pages in this site.
Base URL
All endpoints are versioned under /api/v1/:
https://truckradar.ai/api/v1The trailer-domain counterpart trailerradar.ai shares the same API surface and auth — a single API key works across both domains.
Authentication
All requests require a Bearer token in the Authorization header. Generate a key at Dashboard → Settings → API Key. Keys are shown exactly once; store them in a secret manager.
curl https://truckradar.ai/api/v1/inventory/3ALHCYFE3LDLM8435 \
-H "Authorization: Bearer tr_live_XXXXXXXXXXXXXXXX"See Authentication for rotation and revocation details.
Versioning
This is v1. Breaking changes ship behind a new path prefix (/api/v2/) with at least 180 days notice posted on the Changelog. Additive changes (new optional fields, new endpoints) ship without a version bump.
Endpoints at a glance
POST /api/v1/inventory— ingest one unit or a batch of up to 500PATCH /api/v1/inventory— mark a VIN assoldorexpiredGET /api/v1/inventory/{vin}— look up listing state by VINPOST /api/v1/dealers— create or upsert a dealer and its locationsPATCH /api/v1/dealers— partial update of scalar dealer fields by slugGET /api/v1/openapi.json— OpenAPI 3.1 JSON descriptor of the surface above
Request & response conventions
- All bodies are
application/jsonunless a feed endpoint specifies XML or CSV. - Successful responses return
{ "data": ... }. - Errors return
{ "error": { "code", "message", "details" } }with an HTTP 4xx or 5xx status. - All IDs are UUIDs. All timestamps are ISO 8601 UTC. All prices are integer cents (never floats).
- VIN is the universal dedup key. VINs must be exactly 17 characters; pre-1981 serials are rejected.
Rate limits
Default fair-use budget: up to 500 records per batch on POST /api/v1/inventory, and a recommended ceiling of 60 requests per minute per API key for all other endpoints. See Rate Limits for the full breakdown.
Support
Technical questions: api@truckradar.ai. Include your dealer slug and, if available, the x-request-id response header from any failing request.
Prefer a machine-readable spec?