Reverb API endpoint
Returns a Reverb shop's public profile plus a page of its current active listings (Reverb's own "shop" view of a seller). slug is the shop's slug, from a listing's own shop link or reverb.com/shop/{slug}. query is an optional free-text filter scoping the listings sub-page to a keyword within that shop. An unknown slug returns a typed not-found error.
/reverb/shoppage is optional, a one-based page number for the shop's listings, defaults to 1.
limit is optional, listings per page, defaults to 24, maximum 50.
Notable response behavior:
404).rating_percentage is a fraction (e.g. 0.9975 means 99.75%), not a 0-100 percentage.listings_total is the shop's full active-listing count, independent of query/page/limit; listings itself is only the current page.reverb-search's own listings[] entries.| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| slug | string | Yes | Shop slug | mtsmusic | |
| query | string | No | Free-text filter scoping the shop's own listings sub-page | pickup | |
| page | integer | No | 1 | One-based page number for the shop's listings, defaults to 1 | 1 |
| limit | integer | No | 24 | Listings per page, defaults to 24, maximum 50 | 24 |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/reverb/shop?slug=mtsmusic&query=coffee&page=1&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"name": "Mantova's Two Street Music",
"slug": "mtsmusic",
"url": "https://reverb.com/shop/mtsmusic",
"description": "We've been open up here in Northern CA for quite awhile now...",
"shop_type": "business",
"website": "https://www.mtsmusic.com",
"preferred_seller": true,
"quick_shipper": true,
"quick_responder": false,
"on_vacation": false,
"feedback_count": 11240,
"rating_percentage": 0.9975051975051976,
"location": "Eureka, CA, United States",
"shipping_policy": "We ship all orders over $100.00 with signature required. Unless otherwise discussed.",
"payment_policy": "To negotiate price, shipping, or payment options, please send a message or make an offer.",
"return_policy": "New Items: Returnable within 1 days of delivery...",
"listings_page": 1,
"listings_limit": 5,
"listings_count": 5,
"listings_total": 3296,
"listings": [
{
"id": 99742587,
"title": "Loaded HH Strat Pickguard",
"url": "https://reverb.com/item/99742587-loaded-hh-strat-pickguard",
"shop_name": "Mantova's Two Street Music",
"price": 45,
"currency": "USD"
}
],
"source_url": "https://reverb.com/api/shops/mtsmusic",
"fetched_at": "2026-10-15T02:00:00Z"
}
}Request schema
No body schema
Response schema
#/definitions/reverb.shopResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | reverb.ShopResponse | No | ||||
| data.avatar_url | string | No | ||||
| data.banner_url | string | No | ||||
| data.description | string | No | ||||
| data.feedback_count | integer | No | ||||
| data.fetched_at | string | No | ||||
| data.listings | array | No | ||||
| data.listings[].auction | boolean | No | ||||
| data.listings[].category_uuids | array | No | ||||
| data.listings[].condition | string | No | ||||
| data.listings[].condition_slug | string | No | ||||
| data.listings[].cover_photo_url | string | No | ||||
| data.listings[].created_at | string | No | ||||
| data.listings[].currency | string | No | ||||
| data.listings[].finish | string | No | ||||
| data.listings[].has_inventory | boolean | No | ||||
| data.listings[].id | integer | No | ||||
| data.listings[].inventory | integer | No | ||||
| data.listings[].make | string | No | ||||
| data.listings[].model | string | No | ||||
| data.listings[].offers_enabled | boolean | No | ||||
| data.listings[].photo_count | integer | No | ||||
| data.listings[].price | number | No | ||||
| data.listings[].published_at | string | No | ||||
| data.listings[].shop_name | string | No | ||||
| data.listings[].title | string | No | ||||
| data.listings[].url | string | No | ||||
| data.listings[].year | string | No | ||||
| data.listings_count | integer | No | ||||
| data.listings_limit | integer | No | ||||
| data.listings_page | integer | No | ||||
| data.listings_total | integer | No | ||||
| data.location | string | No | ||||
| data.name | string | No | ||||
| data.on_vacation | boolean | No | ||||
| data.payment_policy | string | No | ||||
| data.preferred_seller | boolean | No | ||||
| data.quick_responder | boolean | No | ||||
| data.quick_shipper | boolean | No | ||||
| data.rating_percentage | number | No | ||||
| data.return_policy | string | No | ||||
| data.shipping_policy | string | No | ||||
| data.shop_type | string | No | ||||
| data.slug | string | No | ||||
| data.source_url | string | No | ||||
| data.url | string | No | ||||
| data.website | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 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/shop?slug=mtsmusic&query=coffee&page=1&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"