REST API

v1.0

Access vehicle inventory data programmatically. All endpoints return JSON.

Base URL: /api Format: JSON Auth: None

Endpoints

GET /api/vehicles

Retrieve a paginated list of vehicles with optional filtering and sorting.

Query Parameters

Parameter Type Default Description
pageinteger1Page number
limitinteger20Items per page (max 100)
sortstringpriceSort field: price, mileage, name
orderstringascSort order: asc, desc
minPriceintegerMinimum price filter
maxPriceintegerMaximum price filter
makestringFilter by vehicle make
locationstringFilter by location
searchstringFull-text search
GET /api/vehicles/:vin

Retrieve a single vehicle by its VIN (Vehicle Identification Number).

Path Parameters

Parameter Type Description
vinstring17-character Vehicle Identification Number
GET /api/vehicles/stats

Get aggregated statistics: total count, price ranges, average price, makes distribution, and location breakdown.

GET /api/search

Full-text search across vehicle name, VIN, color, and location fields.

Query Parameters

Parameter Type Description
qstringSearch query (required)
pageintegerPage number (default: 1)
limitintegerItems per page (default: 20)

Response Format

All endpoints return a consistent JSON structure:

{
  "success": true,
  "data": [...],           // Array or object
  "pagination": {          // Only for list endpoints
    "page": 1,
    "limit": 20,
    "total": 1000,
    "totalPages": 50,
    "hasNext": true,
    "hasPrev": false
  }
}

Error Response (404):

{
  "success": false,
  "error": "Vehicle not found"
}

Vehicle Object

Field Type Description
namestringFull vehicle name (year, make, model, trim)
vinstring17-character VIN
pricestringListing price (e.g. "$15,995")
retailAvgstringAverage retail price
savingsstringSavings vs retail average
mileagestringOdometer reading (e.g. "61,438")
exteriorstringExterior color
interiorstringInterior color
locationstringDealership location
linkstringURL to original listing
imgstringVehicle image URL