The GearAuto API gives you programmatic access to the world's largest automotive parts catalogue. Look up vehicles by manufacturer and model, browse parts categories, find compatible parts, and cross-reference OEM numbers — all over a simple REST interface.
Standard HTTP verbs. Every response is application/json.
One API key per integration. Rotate it any time from the dashboard.
Every response includes success, data, and (where applicable) meta.
Response envelope
{
"success": true,
"data": [ ... ],
"meta": {
"current_page": 1,
"per_page": 50,
"total": 1240,
"last_page": 25
}
}
Error responses always set success: false and include an error object (see Errors).
Every request must include your API key as a Bearer token in the Authorization header.
Authorization: Bearer td_live_xxxxxxxxxxxxxxxxxxxx
Example request:
curl -H "Authorization: Bearer td_live_xxxxxxxxxxxxxxxxxxxx" \ "https://api.gearautodata.com/api/v1/vehicles/manufacturers"
td_live_ for production or td_test_ for sandbox.
Limits are enforced at three levels: per-minute (burst), per-day, and per-month. Every response includes these headers:
X-RateLimit-Limit: 300 X-RateLimit-Remaining: 287 X-RateLimit-Reset: 1716900060
| Plan | Per minute | Per day | Per month |
|---|---|---|---|
| Free | 10 | 100 | 1,000 |
| Starter | 60 | 5,000 | 50,000 |
| Pro | 300 | 50,000 | 1,000,000 |
| Enterprise | Custom | Custom | Custom |
When a limit is exceeded the API responds with HTTP 429 and an appropriate error code (rate_limit_exceeded, daily_limit_exceeded, or monthly_limit_exceeded). Wait until the next window or upgrade your plan.
All errors follow a consistent envelope:
{
"success": false,
"error": {
"code": "rate_limit_exceeded",
"message": "You have exceeded the per-minute rate limit for your plan.",
"status": 429
}
}
| HTTP | Error code | Meaning |
|---|---|---|
| 400 | bad_request | Malformed request syntax |
| 401 | unauthorized | Missing or invalid API key |
| 403 | access_blocked | Key or account suspended |
| 403 | ip_not_allowed | Request IP not in allowlist |
| 403 | subscription_required | Active subscription needed |
| 404 | not_found | Resource does not exist |
| 422 | validation_failed | Invalid query parameter |
| 429 | rate_limit_exceeded | Too many requests per minute |
| 429 | daily_limit_exceeded | Daily quota reached |
| 429 | monthly_limit_exceeded | Monthly quota reached |
| 500 | server_error | Unexpected server-side error |
For 422 validation_failed the response also includes a field-level errors map:
{
"success": false,
"error": { "code": "validation_failed", "message": "...", "status": 422 },
"errors": { "type": ["The type field must be one of: PC, CV, MOTO."] }
}
Endpoints that return collections are paginated. Use page and per_page to navigate results.
| Parameter | Type | Default | Max |
|---|---|---|---|
page | integer | 1 | — |
per_page | integer | 50 | 200 |
{
"success": true,
"data": [ ... ],
"meta": { "current_page": 2, "per_page": 50, "total": 312, "last_page": 7, "from": 51, "to": 100 }
}
When current_page equals last_page you have reached the final page.
/vehicles/manufacturers
List vehicle manufacturers from the GearAuto catalogue.
| Parameter | Type | Default | Description |
|---|---|---|---|
type | string | PC | PC (passenger car), CV (commercial), MOTO |
per_page | integer | 50 | Results per page (max 200) |
page | integer | 1 | Page number |
curl -H "Authorization: Bearer td_live_xxxx" \
"https://api.gearautodata.com/api/v1/vehicles/manufacturers?type=PC&per_page=10"
{
"success": true,
"data": [
{ "id": 12, "name": "BMW", "type": "PC", "models_count": 148 },
{ "id": 7, "name": "Mercedes", "type": "PC", "models_count": 203 },
{ "id": 25, "name": "Volkswagen", "type": "PC", "models_count": 117 }
],
"meta": { "current_page": 1, "per_page": 10, "total": 150, "last_page": 15 }
}
/vehicles/manufacturers/{id}/models
List model series for a given manufacturer.
| Parameter | Type | Default | Description |
|---|---|---|---|
id (path) | integer | — | Manufacturer ID from /manufacturers |
type | string | PC | PC, CV or MOTO |
language_id | integer | 4 | Language ID |
curl -H "Authorization: Bearer td_live_xxxx" \
"https://api.gearautodata.com/api/v1/vehicles/manufacturers/12/models?language_id=4"
{
"success": true,
"data": [
{
"id": 512,
"manufacturer_id": 12,
"name": "3 Series",
"type": "PC",
"year_from": 1982,
"year_to": null
}
]
}
/vehicles/models/{id}/vehicles
List vehicle variants for a model series. Returns basic identification fields. If you need engine details, use the Modifications endpoint.
| Parameter | Type | Default | Description |
|---|---|---|---|
id (path) | integer | — | Model series ID |
year | integer | — | Filter by production year |
language_id | integer | 4 | Language ID |
curl -H "Authorization: Bearer td_live_xxxx" \
"https://api.gearautodata.com/api/v1/vehicles/models/512/vehicles?year=2005"
{
"success": true,
"data": [
{
"id": 12345,
"manufacturer_id": 12,
"model_id": 512,
"name": "316i",
"vehicle_type": "PC"
}
]
}
/models/{id}/vehicles
List vehicle modifications for a model series with engine details (engine code, power, displacement, production years). This is the endpoint to use for the make → model → modification flow.
| Parameter | Type | Default | Description |
|---|---|---|---|
id (path) | integer | — | Model series ID |
language_id | integer | 4 | Language ID |
per_page | integer | 50 | Results per page (max 200) |
page | integer | 1 | Page number |
curl -H "Authorization: Bearer td_live_xxxx" \
"https://api.gearautodata.com/api/v1/models/5953/vehicles?language_id=4"
{
"success": true,
"data": [
{
"vehicle_id": 21886,
"brand": "ACURA",
"model_series": "CL Coupe",
"vehicle_name": "2.2",
"year_from": null,
"year_to": 2003,
"engine_code": "F22B2",
"engine_sales_name": null,
"kw_from": 108,
"kw_to": null,
"hp_from": 147,
"hp_to": null,
"ccm_from": 2156,
"ccm_to": null,
"engine_from": null,
"engine_to": null
}
],
"meta": { "current_page": 1, "per_page": 50, "total": 3, "last_page": 1 }
}
/vehicles/{vehicleId}/summary
Get a minimal make/model/engine summary for a single vehicle.
| Parameter | Type | Default | Description |
|---|---|---|---|
vehicleId (path) | integer | — | Vehicle ID |
language_id | integer | 4 | Language ID |
curl -H "Authorization: Bearer td_live_xxxx" \
"https://api.gearautodata.com/api/v1/vehicles/25124/summary?language_id=4"
{
"success": true,
"data": {
"vehicle_id": 25124,
"brand": "HONDA",
"model_series": "ODYSSEY (RL1, RA6, RA_)",
"vehicle_name": "3.5",
"year_from": null,
"year_to": null,
"engines": [
{
"engine_code": "J35A5",
"engine_sales_name": "J-Series",
"kw_from": 188,
"kw_to": 191,
"hp_from": 256,
"hp_to": 260,
"ccm_from": 3471,
"ccm_to": null,
"engine_from": null,
"engine_to": null
}
]
}
}
/parts/categories
Browse GearAuto parts categories as a flat list. Each item includes its parent and level so you can build the tree yourself. For a ready-to-use nested tree, see the Category tree endpoint.
| Parameter | Type | Default | Description |
|---|---|---|---|
type | string | PC | Vehicle type: PC, CV, MOTO |
vehicle_id | integer | — | Only categories with parts for this vehicle |
limit | integer | 1000 | Max records (max 5000) |
language_id | integer | 4 | Language ID |
curl -H "Authorization: Bearer td_live_xxxx" \
"https://api.gearautodata.com/api/v1/parts/categories?type=PC&limit=10"
{
"success": true,
"data": [
{ "id": 100001, "name": "Body", "parent_id": null, "level": 1, "is_leaf": false },
{ "id": 100002, "name": "Engine", "parent_id": null, "level": 1, "is_leaf": false }
]
}
/categories/tree
Return the full category hierarchy as a nested tree of categories and subcategories.
| Parameter | Type | Default | Description |
|---|---|---|---|
type | string | PC | Vehicle type: PC, CV, MOTO |
max_depth | integer | — | Limit how many levels deep to return |
language_id | integer | 4 | Language ID |
curl -H "Authorization: Bearer td_live_xxxx" \
"https://api.gearautodata.com/api/v1/categories/tree?type=PC&max_depth=2"
{
"success": true,
"data": [
{
"id": 100002,
"name": "Engine",
"level": 1,
"is_leaf": false,
"children": [
{
"id": 100223,
"name": "Gaskets",
"level": 2,
"is_leaf": false,
"children": []
}
]
}
]
}
/parts/vehicle/{vehicleId}
Retrieve all parts that fit a specific vehicle. Optionally filter by category or brand.
| Parameter | Type | Description |
|---|---|---|
vehicleId (path) | integer | Vehicle ID |
category_id | integer | Filter by parts category ID |
brand | string | Filter by parts brand (e.g. Bosch) |
per_page | integer | Results per page (max 200, default 50) |
page | integer | Page number |
curl -H "Authorization: Bearer td_live_xxxx" \
"https://api.gearautodata.com/api/v1/parts/vehicle/12345?category_id=1&per_page=5"
{
"success": true,
"data": [
{
"article_id": 9000001, "article_number": "0 986 494 538",
"brand": "Bosch", "description": "Brake Disc",
"category": "Brakes", "oem_numbers": ["34116775001"], "ean": "4047024653580"
}
],
"meta": { "current_page": 1, "per_page": 5, "total": 87, "last_page": 18 }
}
/vin/{vin}/parts/grouped
Return a nested category tree (categories and subcategories) for the vehicle resolved from a VIN, where each leaf node carries part groups keyed by part name — e.g. "Oil filter" appears once. Ideal for a category-tree UI. No pagination — the entire catalogue for the vehicle is returned in a single response; use category_id to scope it down if needed.
An unscoped request returns group summaries: each group carries article_count, brand_count, sample_article_number and sample_brand — small and fast even for vehicles with tens of thousands of articles. Load the articles of one group on demand via /vin/{vin}/parts/group/{productTypeId}. When the request is scoped with category_id or details=1 is passed, every group instead contains its full articles[] list (OE numbers, cross references, technical attributes, EAN, media). The details field in the response shows which mode was used.
| Parameter | Type | Default | Description |
|---|---|---|---|
vin (path) | string | — | 17-character VIN |
vehicle_id | integer | — | Override the resolved vehicle ID (skips VIN decoding — faster) |
type | string | PC | Vehicle type: PC, CV, MOTO |
category_id | integer | — | Limit results to one category and its subcategories (implies full article details) |
details | boolean | false | Force full article lists (OE numbers, cross references, attributes, media) even without category_id — the response can be very large |
language_id | integer | 4 | Language ID |
Response structure
| Field | Type | Description |
|---|---|---|
categories[] | array | Nested tree. Node fields: id, name, level, is_leaf, groups[], children[] (recursive) |
groups[] | array | One entry per part name in this category. Always present: product_type_id, name, category_id, article_count, brand_count. In summary mode additionally sample_article_number and sample_brand; in details mode the full articles[] list instead |
articles[] | array | (details mode only) All interchangeable articles, sorted by brand + number. Fields: id, article_number, brand, supplier_id, description, complete_description, is_replacement, is_accessory, oe_numbers[], cross_references[], ean, attributes[], media[], thumbnail |
details | boolean | true when groups carry full article lists (request scoped with category_id or details=1), false in summary mode |
total_groups / total_articles | integer | Overall counts across the whole tree |
curl -H "Authorization: Bearer td_live_xxxx" \
"https://api.gearautodata.com/api/v1/vin/1HGFA16899L003948/parts/grouped?language_id=4"
{
"success": true,
"data": {
"vin": "1HGFA16899L003948",
"vehicle_id": 20348,
"details": false,
"total_groups": 132,
"total_articles": 691,
"categories": [
{
"id": 100002, "name": "Engine", "level": 1, "is_leaf": false,
"groups": [],
"children": [
{
"id": 100223, "name": "Filters", "level": 2, "is_leaf": true,
"children": [],
"groups": [
{
"product_type_id": 397,
"name": "Oil Filter",
"category_id": 100223,
"article_count": 14,
"brand_count": 6,
"sample_article_number": "0451103314",
"sample_brand": "BOSCH"
}
]
}
]
}
]
},
"meta": { "request_id": "...", "remaining_daily_requests": 98 }
}
articles[] inside a group are parts TecDoc confirms as fitting this exact vehicle. cross_references[] on an article are supplier-declared number equivalences for lookup by number only; they do not guarantee fitment for this vehicle. oe_numbers[] are the original manufacturer numbers the article replaces.
/vin/{vin}/parts/group/{productTypeId}
Return all interchangeable articles of one part group (every brand/manufacturer) that fit the vehicle resolved from a VIN, each with full details: OE numbers, cross references, technical attributes, EAN, and media. Companion of the summary-mode grouped tree: the tree tells you which groups exist, this endpoint loads the articles of a single group on demand — keeping every response small. Returns 404 group_not_found when no parts of that group fit the vehicle.
| Parameter | Type | Default | Description |
|---|---|---|---|
vin (path) | string | — | 17-character VIN |
productTypeId (path) | integer | — | Part group ID (product_type_id from the grouped tree) |
vehicle_id | integer | — | Override the resolved vehicle ID (skips VIN decoding — faster) |
type | string | PC | Vehicle type: PC, CV, MOTO |
language_id | integer | 4 | Language ID |
Response structure
| Field | Type | Description |
|---|---|---|
group | object | product_type_id, name, category_id, article_count, brand_count, articles[] |
group.articles[] | array | All interchangeable articles, sorted by brand + number. Fields: id, article_number, brand, supplier_id, description, complete_description, is_replacement, is_accessory, oe_numbers[], cross_references[], ean, attributes[], media[], thumbnail |
curl -H "Authorization: Bearer td_live_xxxx" \
"https://api.gearautodata.com/api/v1/vin/1HGFA16899L003948/parts/group/397?language_id=4"
{
"success": true,
"data": {
"vin": "1HGFA16899L003948",
"vehicle_id": 20348,
"group": {
"product_type_id": 397,
"name": "Oil Filter",
"category_id": 100223,
"article_count": 14,
"brand_count": 6,
"articles": [
{
"id": 5550001, "article_number": "HU 718/1 k", "brand": "MANN-FILTER",
"supplier_id": 35, "description": "", "complete_description": "Oil Filter",
"is_replacement": false, "is_accessory": false,
"oe_numbers": [ { "number": "11427512300", "brand": "BMW" } ],
"cross_references": [ { "number": "0451103314", "brand": "BOSCH", "type": "IAMNumber" } ],
"ean": "4011558295707",
"attributes": [ { "name": "Height", "value": "89", "unit": "mm" } ],
"media": [ { "url": "...", "type": "image" } ],
"thumbnail": "..."
},
{ "id": 5550002, "article_number": "0451103314", "brand": "BOSCH", "...": "..." }
]
}
},
"meta": { "request_id": "...", "remaining_daily_requests": 98 }
}
/vehicles/{vehicleId}/engine-parts
Best-effort "engine exploded view" for a selected vehicle/engine modification. Returns aftermarket parts from engine-related categories (pistons, crankshaft, camshaft, cylinder head, gaskets, belts, pumps, filters, etc.) that fit the vehicle, including OEM references, criteria, and media.
Note: TecDoc is an aftermarket catalogue, not an OEM parts catalogue. It does not contain a complete engine bill of materials, so internal components not catalogued as replacement parts will be missing.
| Parameter | Type | Description |
|---|---|---|
vehicleId (path) | integer | Vehicle ID (selected engine modification) |
brand | string | Filter by parts brand |
article_number | string | Filter by article number (partial match) |
limit | integer | Results per page (max 500, default 50) |
page | integer | Page number |
language_id | integer | Language ID (default 4) |
curl -H "Authorization: Bearer td_live_xxxx" \
"https://api.gearautodata.com/api/v1/vehicles/6882/engine-parts?limit=10"
{
"success": true,
"data": [
{
"article_id": 123,
"article_number": "0 986 494 059",
"brand": "BOSCH",
"product_type": "Piston",
"criteria": [
{ "name": "Diameter [mm]", "value": "82.5", "unit": "mm" }
],
"oem_references": [
{ "oem_number": "7701473142", "brand": "RENAULT" }
],
"thumbnail": "...",
"media": []
}
],
"meta": {
"vehicle_id": 6882,
"engine_part_categories": [443, 444, 566, 1263, ...],
"current_page": 1,
"per_page": 10,
"total": 1604,
"last_page": 161
}
}
/parts/search
Search for articles by part number. The lookup is cross-reference aware — it matches OEM numbers, trade numbers, EAN codes, and supplier part numbers simultaneously.
| Parameter | Required | Description |
|---|---|---|
number | Yes | Part number to search (OEM, EAN, trade, or supplier) |
per_page | No | Results per page (max 200, default 50) |
curl -H "Authorization: Bearer td_live_xxxx" \
"https://api.gearautodata.com/api/v1/parts/search?number=34116775001"
{
"success": true,
"data": [
{
"article_id": 9000001, "article_number": "0 986 494 538",
"brand": "Bosch", "description": "Brake Disc, front",
"oem_numbers": ["34116775001"], "ean": "4047024653580",
"match_type": "oem_number"
}
]
}
/parts/article/{id}
Get full article details including technical attributes, cross-references, and compatible vehicles.
curl -H "Authorization: Bearer td_live_xxxx" \
"https://api.gearautodata.com/api/v1/parts/article/9000001"
{
"success": true,
"data": {
"id": 9000001,
"article_number": "0 986 494 538",
"brand": "Bosch",
"supplier_id": 123,
"description": "Brake Disc, front",
"complete_description": "Brake Disc",
"category": { "id": 245, "name": "Brake System" },
"weight": null,
"is_replacement": false,
"is_accessory": false,
"cross_references": [
{ "number": "0 986 494 538", "brand": "Bosch", "type": "ArticleNumber" },
{ "number": "34116775001", "brand": "BMW", "type": "OENumber" }
],
"vehicles": [
{ "vehicle_id": 12345, "type": "PC", "brand": "BMW", "model_series": "3 (E46)", "vehicle_name": "316i" }
],
"media": [
{ "url": "https://cdn.example.com/9000001_1.jpg", "type": "image", "width": 600, "height": 400 }
]
}
}
/oem/detail
Get everything for an OEM number in one call: aftermarket parts, cross-references, OEM references, full TecDoc relations, technical criteria, and compatible vehicles.
| Parameter | Required | Description |
|---|---|---|
number | Yes | OEM part number (spaces are ignored) |
language_id | No | Language ID (default 4) |
curl -H "Authorization: Bearer td_live_xxxx" \
"https://api.gearautodata.com/api/v1/oem/detail?number=7701208683"
{
"success": true,
"data": {
"oem_number": "7701208683",
"part": { "oem_number": "7701208683", "brand": "RENAULT", "category": "Spoiler" },
"parts": [
{
"article_id": 4027103,
"article_number": "6033225A1",
"supplier_brand": "KLOKKERHOLM",
"display_number": "7701208683",
"complete_description": "Spoiler",
"category": { "id": 845, "name": "Spoiler" },
"media": [ { "url": "...", "type": "image" } ],
"thumbnail": "...",
"cross_references": [
{ "number": "6033225A1", "brand": "KLOKKERHOLM", "type": "ArticleNumber" }
],
"oem_references": [
{ "oem_number": "8200682315", "brand": "RENAULT" }
],
"criteria": [
{ "name": "Colour", "value": "Black", "unit": null }
],
"art_lookup": [],
"la_criteria": [],
"info": [],
"la_info": [],
"country_specifics": [],
"accessories": [],
"superseded": [],
"component_parts": [],
"link_art_pt": [],
"compatible_vehicles": []
}
],
"cross_references": [
{ "number": "6033225A1", "brand": "KLOKKERHOLM", "type": "ArticleNumber" },
{ "number": "8200682315", "brand": "RENAULT", "type": "OENumber" }
],
"oem_references": [
{ "oem_number": "8200682315", "brand": "RENAULT" }
],
"vehicles": [
{ "vehicle_id": 6882, "vehicle_type": "PC", "brand": "RENAULT",
"model_series": "CLIO III Hatchback Van (SB_, SR_)", "vehicle_name": "1.5 dCi",
"engine_code": "K9K 768", "kw_from": 48, "hp_from": 65, "ccm_from": 1461 }
]
}
}
/oem/search
Search by OEM number. Returns the matching part summary, aftermarket parts, cross-references, OEM references, and all compatible vehicles with engine data.
| Parameter | Required | Description |
|---|---|---|
number | Yes | OEM part number (spaces are ignored) |
language_id | No | Language ID (default 4) |
curl -H "Authorization: Bearer td_live_xxxx" \
"https://api.gearautodata.com/api/v1/oem/search?number=7701208683"
{
"success": true,
"data": {
"oem_number": "7701208683",
"part": { "oem_number": "7701208683", "brand": "RENAULT", "category": "Spoiler" },
"parts": [ /* same full part objects as /oem/detail */ ],
"cross_references": [ /* ... */ ],
"oem_references": [ /* ... */ ],
"vehicles": [
{ "vehicle_id": 6882, "vehicle_type": "PC", "brand": "RENAULT",
"model_series": "CLIO III Hatchback Van (SB_, SR_)", "vehicle_name": "1.5 dCi",
"engine_code": "K9K 768", "kw_from": 48, "kw_to": 50,
"hp_from": 65, "hp_to": 68, "ccm_from": 1461 }
]
}
}
/oem/{oemNumber}/vehicles
Paginated list of vehicles that use the OEM number. The response also includes the full part summary, parts, cross-references, and OEM references in meta.
| Parameter | Required | Description |
|---|---|---|
language_id | No | Language ID (default 4) |
brand | No | Filter by brand (partial match) |
limit | No | Page size (default 100, max 500) |
page | No | Page number (default 1) |
curl -H "Authorization: Bearer td_live_xxxx" \
"https://api.gearautodata.com/api/v1/oem/7701208683/vehicles?limit=50"
{
"success": true,
"data": [
{ "vehicle_id": 6882, "brand": "RENAULT",
"model_series": "CLIO III Hatchback Van (SB_, SR_)", "vehicle_name": "1.5 dCi",
"engine_code": "K9K 768", "kw_from": 48, "hp_from": 65, "ccm_from": 1461,
"thumbnail": "...", "media": [] }
],
"meta": {
"oem_number": "7701208683",
"current_page": 1,
"per_page": 50,
"total": 53,
"last_page": 2,
"part": { "oem_number": "7701208683", "brand": "RENAULT", "category": "Spoiler" },
"parts": [ /* full part objects */ ],
"cross_references": [ /* ... */ ],
"oem_references": [ /* ... */ ]
}
}
The examples below demonstrate a common workflow: find a BMW 3 Series vehicle, then fetch compatible brake discs.
API_KEY="td_live_xxxxxxxxxxxxxxxxxxxx"
BASE="https://api.gearautodata.com/api/v1"
# Step 1 — find BMW manufacturer ID
curl -s -H "Authorization: Bearer $API_KEY" \
"$BASE/vehicles/manufacturers?type=PC" | jq '.data[] | select(.name=="BMW")'
# Step 2 — list 3 Series model series (manufacturer ID 12)
curl -s -H "Authorization: Bearer $API_KEY" \
"$BASE/vehicles/manufacturers/12/models" | jq '.data[] | select(.name|test("3 Series"))'
# Step 3 — list modifications for the E46 model series (model ID 512)
curl -s -H "Authorization: Bearer $API_KEY" \
"$BASE/models/512/vehicles"
# Step 4 — get brake parts for vehicle 12345
curl -s -H "Authorization: Bearer $API_KEY" \
"$BASE/vehicles/12345/parts?category_id=1&per_page=20"
<?php
$apiKey = 'td_live_xxxxxxxxxxxxxxxxxxxx';
$base = 'https://api.gearautodata.com/api/v1';
function apiGet(string $base, string $apiKey, string $path, array $query = []): array
{
$url = $base . $path . ($query ? '?' . http_build_query($query) : '');
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer {$apiKey}"],
]);
$body = curl_exec($ch);
curl_close($ch);
return json_decode($body, true);
}
$modifications = apiGet($base, $apiKey, '/models/512/vehicles');
foreach ($modifications['data'] as $v) {
echo $v['vehicle_name'] . ' — ' . ($v['engine_code'] ?? 'N/A') . PHP_EOL;
}
$parts = apiGet($base, $apiKey, '/vehicles/12345/parts', ['category_id' => 1]);
foreach ($parts['data'] as $part) {
echo $part['brand'] . ' ' . $part['article_number'] . ': ' . $part['description'] . PHP_EOL;
}
const API_KEY = 'td_live_xxxxxxxxxxxxxxxxxxxx';
const BASE = 'https://api.gearautodata.com/api/v1';
async function apiGet(path, params = {}) {
const url = new URL(BASE + path);
Object.entries(params).forEach(([k, v]) => url.searchParams.set(k, v));
const res = await fetch(url, { headers: { Authorization: `Bearer ${API_KEY}` } });
if (!res.ok) { const err = await res.json(); throw new Error(err.error.message); }
return res.json();
}
const { data: modifications } = await apiGet('/models/512/vehicles');
modifications.forEach(v => console.log(`${v.vehicle_name} — ${v.engine_code ?? 'N/A'}`));
const { data: parts, meta } = await apiGet('/vehicles/12345/parts', { category_id: 1 });
console.log(`Found ${meta.total} parts across ${meta.last_page} pages`);
parts.forEach(p => console.log(`${p.brand} ${p.article_number} — ${p.description}`));
All plans include full access to the GearAuto catalogue. Upgrade or downgrade at any time.
| Plan | Monthly | req/min | req/day | API keys |
|---|---|---|---|---|
| Free | $0 | 10 | 100 | 1 |
| Starter | $29 | 60 | 5,000 | 3 |
| Pro | $99 | 300 | 50,000 | 10 |
| Enterprise | Custom — contact us | |||
By using the API you agree to the following. Violations may result in immediate key revocation.
When displaying parts data in a user-facing product, include the statement "Parts data provided by GearAuto" in a reasonably visible location. Questions? support@autoapi.dev