Categories & Brands API
Access vehicle taxonomy data including categories, subcategories, brands, and models.
Endpoints Overview
Category Endpoints
| Method | Endpoint | Description | Auth |
|---|---|---|---|
| GET | /api/categories | List all categories | No |
| GET | /api/categories/:slug | Get category by slug | No |
| GET | /api/categories/:slug/filters | Get available filters | No |
| GET | /api/categories/:slug/spec-keys | Get specification keys | No |
Brand Endpoints
| Method | Endpoint | Description | Auth |
|---|---|---|---|
| GET | /api/brands | List all brands | No |
| GET | /api/brands/:slug | Get brand with models | No |
Categories
List All Categories
http
GET /api/categoriesQuery parameters:
| Parameter | Type | Description |
|---|---|---|
tree | boolean | Return hierarchical tree (default: false) |
includeCount | boolean | Include listing counts |
Response
json
{
"success": true,
"data": {
"categories": [
{
"id": "cat_trucks",
"name": "Trucks",
"slug": "trucks",
"description": "Commercial trucks of all types",
"icon": "truck-icon",
"image": "https://cdn.menonmobility.com/cat/trucks.jpg",
"parent_id": null,
"listing_count": 2500,
"subcategories": [
{
"id": "sub_semi",
"name": "Semi Trucks",
"slug": "semi-trucks",
"listing_count": 850
},
{
"id": "sub_box",
"name": "Box Trucks",
"slug": "box-trucks",
"listing_count": 420
}
]
},
{
"id": "cat_buses",
"name": "Buses",
"slug": "buses",
"description": "Passenger transport vehicles",
"listing_count": 800
}
]
}
}Get Single Category
bash
GET /v1/categories/trucks
Authorization: Bearer YOUR_API_KEYResponse
json
{
"success": true,
"data": {
"id": "cat_trucks",
"name": "Trucks",
"slug": "trucks",
"description": "Commercial trucks of all types",
"icon": "truck-icon",
"image": "https://cdn.menonmobility.com/cat/trucks.jpg",
"parent_id": null,
"listing_count": 2500,
"subcategories": [...],
"specifications": [
{
"key": "euro_standard",
"name": "Euro Standard",
"type": "select",
"options": ["euro3", "euro4", "euro5", "euro6"],
"required": false,
"filterable": true
},
{
"key": "drive_type",
"name": "Drive Type",
"type": "select",
"options": ["4x2", "6x2", "6x4", "8x4"],
"required": false,
"filterable": true
}
],
"features": [
{ "key": "sleeper_cab", "name": "Sleeper Cab" },
{ "key": "refrigeration", "name": "Refrigeration Unit" }
]
}
}Category Tree
Get full category hierarchy:
bash
GET /v1/categories/tree
Authorization: Bearer YOUR_API_KEYBrands
List All Brands
bash
GET /v1/brands
Authorization: Bearer YOUR_API_KEYQuery Parameters
| Parameter | Type | Description |
|---|---|---|
category | string | Filter by category slug |
popular | boolean | Only popular brands |
limit | integer | Items per page |
Response
json
{
"success": true,
"data": {
"brands": [
{
"id": "brd_volvo",
"name": "Volvo",
"slug": "volvo",
"logo": "https://cdn.menonmobility.com/brands/volvo.png",
"country": "Sweden",
"description": "Volvo Trucks",
"website": "https://www.volvotrucks.com",
"categories": ["trucks", "buses"],
"listing_count": 450,
"popular": true
},
{
"id": "brd_scania",
"name": "Scania",
"slug": "scania",
"logo": "https://cdn.menonmobility.com/brands/scania.png",
"country": "Sweden",
"categories": ["trucks", "buses"],
"listing_count": 380,
"popular": true
}
]
}
}Get Single Brand
bash
GET /v1/brands/volvo
Authorization: Bearer YOUR_API_KEYResponse
json
{
"success": true,
"data": {
"id": "brd_volvo",
"name": "Volvo",
"slug": "volvo",
"logo": "https://cdn.menonmobility.com/brands/volvo.png",
"country": "Sweden",
"description": "Volvo Trucks is a global truck manufacturer...",
"website": "https://www.volvotrucks.com",
"categories": ["trucks", "buses"],
"listing_count": 450,
"popular": true,
"models": [
{
"id": "mdl_fh",
"name": "FH",
"variants": ["FH 420", "FH 460", "FH 500", "FH 540"],
"years": { "from": 1993, "to": null },
"listing_count": 180
},
{
"id": "mdl_fm",
"name": "FM",
"variants": ["FM 330", "FM 380", "FM 420"],
"years": { "from": 1998, "to": null },
"listing_count": 120
}
]
}
}Brand Models
Get models for a specific brand:
bash
GET /v1/brands/volvo/models
Authorization: Bearer YOUR_API_KEYResponse
json
{
"success": true,
"data": {
"models": [
{
"id": "mdl_fh",
"name": "FH",
"variants": ["FH 420", "FH 460", "FH 500", "FH 540"],
"years": { "from": 1993, "to": null },
"category": "trucks",
"listing_count": 180
}
]
}
}Specifications
List Category Specifications
bash
GET /v1/categories/trucks/specifications
Authorization: Bearer YOUR_API_KEYResponse
json
{
"success": true,
"data": {
"specifications": [
{
"key": "fuel_type",
"name": "Fuel Type",
"type": "select",
"options": [
{ "value": "diesel", "label": "Diesel" },
{ "value": "petrol", "label": "Petrol" },
{ "value": "electric", "label": "Electric" },
{ "value": "hybrid", "label": "Hybrid" },
{ "value": "lng", "label": "LNG" }
],
"required": true,
"filterable": true,
"searchable": true
},
{
"key": "engine_power",
"name": "Engine Power",
"type": "number",
"unit": "hp",
"min": 0,
"max": 1000,
"required": false,
"filterable": true
},
{
"key": "transmission",
"name": "Transmission",
"type": "select",
"options": [
{ "value": "manual", "label": "Manual" },
{ "value": "automatic", "label": "Automatic" },
{ "value": "semi_automatic", "label": "Semi-Automatic" }
],
"required": true,
"filterable": true
}
]
}
}Features
List Category Features
bash
GET /v1/categories/trucks/features
Authorization: Bearer YOUR_API_KEYResponse
json
{
"success": true,
"data": {
"features": [
{
"key": "air_conditioning",
"name": "Air Conditioning",
"category": "comfort"
},
{
"key": "cruise_control",
"name": "Cruise Control",
"category": "comfort"
},
{
"key": "sleeper_cab",
"name": "Sleeper Cab",
"category": "cabin"
},
{
"key": "abs",
"name": "ABS",
"category": "safety"
},
{
"key": "esp",
"name": "ESP",
"category": "safety"
},
{
"key": "gps_navigation",
"name": "GPS Navigation",
"category": "technology"
}
]
}
}Locations
List Countries
bash
GET /v1/locations/countries
Authorization: Bearer YOUR_API_KEYList Regions
bash
GET /v1/locations/countries/DE/regions
Authorization: Bearer YOUR_API_KEYList Cities
bash
GET /v1/locations/countries/DE/regions/BY/cities
Authorization: Bearer YOUR_API_KEYCaching
Category and brand data changes infrequently. We recommend:
- Cache responses for 24 hours
- Use ETags for cache validation
- Check
Last-Modifiedheaders
bash
GET /v1/categories
If-None-Match: "abc123"Returns 304 Not Modified if unchanged.

