API Reference v1
Documentation
Everything you need to integrate studio-quality vehicle imagery into your application.
Home / Documentation
/ authentication /
API Key Authentication
All API requests require an API key sent via the x-api-key header. You can obtain your key through our dashboard or by contacting sales.
curl -H "x-api-key: YOUR_API_KEY" \
api.vehicleimagery.com/api/brands Keep your API key secret. Never expose it in client-side code. Use server-side requests or a proxy to keep your key secure.
/ base url /
Base URL
All API endpoints are accessed relative to the following base URL:
api.vehicleimagery.com
All responses are returned as JSON with Content-Type: application/json. CORS is enabled for all origins.
/ parameters /
Global Query Parameters
These parameters can be appended to most endpoints to filter results.
| Parameter | Default | Description |
|---|---|---|
format | png | Image format. Available options depend on your plan. |
resolution | default | Image resolution. Higher resolutions may require a higher-tier plan. |
color | default | Vehicle color. Only used on the image endpoint. |
shadow | false | Add ground shadow to the image. Requires plan permission. |
transparency | false | Return image with transparent background. Requires plan permission. |
/ data model /
API Hierarchy
The Vehicle Imagery API follows a hierarchical structure. Navigate step-by-step from brand to image:
/api/brands List Brands
Returns all available vehicle brands in the database.
Query Parameters
format = png Image format filter (png, webp, etc.) resolution = default Resolution filter (default, high, etc.) Example Response
{
"brands": [
"Audi",
"BMW",
"Mercedes-Benz",
"Volkswagen",
...
]
} /api/{brand} List Models
Returns all available models for a given brand.
Path Parameters
brand string Brand name (e.g. BMW, Audi) Query Parameters
format = png Image format filter resolution = default Resolution filter Example Response
{
"brand": "BMW",
"resolution": "default",
"format": "png",
"models": [
"1 Series",
"3 Series",
"X5",
...
]
} /api/{brand}/{model} List Years
Returns all available model years for a specific brand and model combination.
Path Parameters
brand string Brand name model string Model name (e.g. X5, A4) Query Parameters
format = png Image format filter resolution = default Resolution filter Example Response
[{
"brand": "BMW",
"model": "X5",
"resolution": "default",
"format": "png",
"years": [2020, 2021, 2022, 2023, 2024]
}] /api/{brand}/{model}/{year} List Variants
Returns all body variants (e.g. Sedan, SUV, Wagon) available for a specific model year.
Path Parameters
brand string Brand name model string Model name year number Model year (e.g. 2024) Query Parameters
format = png Image format filter resolution = default Resolution filter Example Response
[{
"brand": "BMW",
"model": "X5",
"year": 2024,
"resolution": "default",
"format": "png",
"variants": ["SUV"]
}] /api/{brand}/{model}/{year}/{variant} List Trims
Returns all available trims for a specific variant.
Path Parameters
brand string Brand name model string Model name year number Model year variant string Body variant (e.g. SUV, Sedan) Query Parameters
format = png Image format filter resolution = default Resolution filter Example Response
[{
"brand": "BMW",
"model": "X5",
"year": 2024,
"variant": "SUV",
"resolution": "default",
"format": "png",
"trims": ["xDrive40i", "M60i"]
}] /api/{brand}/{model}/{year}/{variant}/{trim} List Views
Returns all available camera angles/views for a specific vehicle configuration. Views marked as "not_allowed" are not included in your current plan.
Path Parameters
brand string Brand name model string Model name year number Model year variant string Body variant trim string Trim level Query Parameters
format = png Image format filter resolution = default Resolution filter Example Response
[{
"id": "a1b2c3d4e5f6",
"brand": "BMW",
"model": "X5",
"year": 2024,
"variant": "SUV",
"trim": "xDrive40i",
"resolution": "default",
"format": "png",
"views": {
"front": true,
"front-left": true,
"side-left": true,
"rear": true,
"cockpit": "not_allowed"
}
}] /api/{brand}/{model}/{year}/{variant}/{trim}/colors List Colors
Returns all available colors for a specific vehicle configuration. Only colors allowed by your plan are included.
Path Parameters
brand string Brand name model string Model name year number Model year variant string Body variant trim string Trim level Query Parameters
format = png Image format filter resolution = default Resolution filter Example Response
[{
"id": "a1b2c3d4e5f6",
"brand": "BMW",
"model": "X5",
"year": 2024,
"variant": "SUV",
"trim": "xDrive40i",
"resolution": "default",
"format": "png",
"colors": ["default", "Blue", "Black", "White", "Silver"]
}] /api/{brand}/{model}/{year}/{variant}/{trim}/features List Features
Returns available image features (shadow, transparency) for a configuration. Features marked "not_allowed" are not included in your plan.
Path Parameters
brand string Brand name model string Model name year number Model year variant string Body variant trim string Trim level Query Parameters
format = png Image format filter resolution = default Resolution filter Example Response
[{
"id": "a1b2c3d4e5f6",
"brand": "BMW",
"model": "X5",
"year": 2024,
"variant": "SUV",
"trim": "xDrive40i",
"resolution": "default",
"format": "png",
"features": {
"shadow": true,
"transparent": true,
"shadow_and_transparent": true
}
}] /api/{brand}/{model}/{year}/{variant}/{trim}/{view} Get Image
Returns a signed CDN URL for a specific vehicle image. This is the main endpoint for retrieving vehicle imagery. The returned URL is valid for 7 days by default.
Path Parameters
brand string Brand name model string Model name year number Model year variant string Body variant trim string Trim level view string Camera angle (e.g. front, front-left, side-left, rear, cockpit) Query Parameters
format = png Image format (png, webp) resolution = default Image resolution color = default Vehicle color (e.g. Blue, Black, White) shadow = false Include ground shadow (plan-dependent) transparency = false Transparent background (plan-dependent) Example Response
[{
"id": "a1b2c3d4e5f6",
"brand": "BMW",
"model": "X5",
"year": 2024,
"variant": "SUV",
"trim": "xDrive40i",
"view": "front-left",
"resolution": "default",
"format": "png",
"settings": {
"color": "Blue",
"shadow": true,
"transparency": false,
"watermark": false
},
"image_url": "https://cdn.vehicle.pics/v1/png/default/BMW/X5/...",
"errornotes": []
}] /api/resolutions List Resolutions
Returns all available image resolutions. Filtered by your plan permissions.
Example Response
{
"resolutions": ["default", "high", "ultra"]
} /api/formats List Formats
Returns all available image formats. Filtered by your plan permissions.
Example Response
{
"formats": ["png", "webp"]
} /api/getall Get All Configurations
Returns every vehicle configuration in the database, expanded by year. Requires special "getall" permission on your API key. Useful for building local caches or catalogs.
Example Response
[
{
"brand": "BMW",
"model": "X5",
"variant": "SUV",
"trim": "xDrive40i",
"year": 2024,
"resolution": "default",
"format": "png",
"color": "default"
},
...
] / reference /
HTTP Status Codes
The API uses standard HTTP status codes. Every error response includes a JSON body with an error field describing the issue.
| Code | Description |
|---|---|
401 | Missing x-api-key header. Include your API key in the request. |
403 | Invalid API key, expired key, or the requested resource is not allowed by your plan. |
404 | The requested brand, model, year, variant, trim, view, or color was not found. |
400 | Invalid request parameter (e.g. non-numeric year). |
500 | Internal server error. Contact support if this persists. |
Error Notes (Fallback Codes)
When the API can't fulfill your exact request but finds a suitable fallback, it returns the image along with an errornotes array explaining what was changed. This only applies when fallbacks are enabled in your plan.
| Code | Description |
|---|---|
P11 | Requested format or resolution not allowed by plan — automatically fell back to your plan default. |
F04 | Requested color not found — fell back to default color. |
C09 | Requested color blocked by plan — fell back to default color. |
R08 | Requested resolution not available for this car — fell back to nearest allowed resolution. |
S05 | Shadow requested but not available or not allowed — returned without shadow. |
S12 | Non-shadow version not available — shadow version returned instead. |
T06 | Transparency requested but not available or not allowed — returned without transparency. |
T13 | Non-transparent version not available — transparent version returned instead. |
Rate Limits & Caching
Rate limits depend on your plan. All image URLs are served through a global CDN and signed with a time-limited token (default 7 days). Cache these URLs on your end for optimal performance.
50ms
Avg. Latency
99.99
Uptime SLA
7 Days
URL Expiry
Ready to get started?
Get your API key and start integrating studio-quality vehicle imagery today.