Reverb API endpoint
Returns Reverb's full category/product-type taxonomy -- the value space reverb-search's own category/product_type parameters accept. product_types is a fixed, exhaustive 14-value closed set; categories is the full, exhaustive leaf-category value space as of the request (306 values as of 2026-10-15). A leaf category's slug is NOT always globally unique across product types -- always pass a category's own product_type field alongside its slug to reverb-search, not category alone, when disambiguation matters.
/reverb/categoriesNo parameters.
Notable response behavior:
product_types[].slug is one of accessories, acoustic-guitars, amps, band-and-orchestra, bass-guitars, dj-and-lighting-gear, drums-and-percussion, effects-and-pedals, electric-guitars, folk-instruments, home-audio, keyboards-and-synths, parts, pro-audio (the full, exhaustive 14-value set, confirmed exhaustive live 2026-10-15).categories[].slug is the full, exhaustive leaf-category value space as of the request (306 values as of 2026-10-15).slug is NOT always globally unique across product types -- for example cables exists under both the Accessories and Home Audio product types, and stands under both Accessories and Drums and Percussion. Always pass a category's own product_type field alongside its slug to reverb-search, not slug alone, when disambiguation matters.categories is sorted by product_type then name.| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/reverb/categories" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"fetched_at": "2026-10-15T01:00:00Z",
"product_types": [
{
"name": "Accessories",
"slug": "accessories"
},
{
"name": "Acoustic Guitars",
"slug": "acoustic-guitars"
},
{
"name": "Amps",
"slug": "amps"
}
],
"categories": [
{
"name": "Amp Covers",
"full_name": "Accessories / Amp Covers",
"slug": "amp-covers",
"product_type": "accessories",
"uuid": "cdadd9b5-9d6d-4193-b0ee-b94d9ffd02ec",
"id": 251
},
{
"name": "Cables",
"full_name": "Accessories / Cables",
"slug": "cables",
"product_type": "accessories",
"id": 230
}
]
}
}Request schema
No body schema
Response schema
#/definitions/reverb.categoriesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | reverb.CategoriesResponse | No | ||||
| data.categories | array | No | ||||
| data.categories[].full_name | string | No | ||||
| data.categories[].id | integer | No | ||||
| data.categories[].name | string | No | ||||
| data.categories[].product_type | string | No | ||||
| data.categories[].slug | string | No | ||||
| data.categories[].uuid | string | No | ||||
| data.fetched_at | string | No | ||||
| data.product_types | array | No | ||||
| data.product_types[].name | string | No | ||||
| data.product_types[].slug | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/reverb/categories" \
-H "x-api-key: $CRAWLORA_API_KEY"