Used instrument pricing research
Mit Reverb-Endpunkten verwandelst du used instrument pricing research in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Research new, used, and vintage instruments across Reverb listings, seller shops, and the Price Guide. Keep current asking prices separate from historical sales, and preserve model, finish, year, condition, and currency when comparing gear.
Search Reverb music gear, inspect listings and shops, and compare model-level Price Guide history as structured JSON.
Endpunkt-Familien
6
Dokumentierte Parameter
30
Beispiele
8
Live-Katalog-Snapshot
Aktive Endpunkte
8
Methoden
GET
Pflichtparameter
13
Schema-Referenzen
8
{
"platform": "Reverb",
"endpoint": "reverb-search",
"method": "GET",
"path": "/reverb/search",
"auth": "apiKey"
}Use Cases
Search Reverb music gear, inspect listings and shops, and compare model-level Price Guide history as structured JSON.
Mit Reverb-Endpunkten verwandelst du used instrument pricing research in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Mit Reverb-Endpunkten verwandelst du music gear inventory monitoring in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Mit Reverb-Endpunkten verwandelst du seller reputation and model comparison in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Managed Execution
Jede Zahl unten stammt direkt aus dem Live-Reverb-Endpunktkatalog — 8 Endpunkte, 30 dokumentierte Request-Parameter und 8 veröffentlichte Response-Schemas — demselben Katalog, gegen den auch Docs und Playground laufen.
8 documented Reverb endpoints, grouped into 8 request families — Categories, Listing and Makes, plus 5 more.
30 request parameters are documented across those Reverb endpoints, 13 of them required — the full input contract is public before you write any integration code.
8 of the 8 Reverb endpoints ship a recorded example response, and 8 carry a documented response schema — you can code against the real JSON before the first request.
Reverb endpoints document their error responses (400, 404, 429 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
8 hosted MCP tools back the Reverb endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Abdeckungskarte
/reverb/categories
/reverb/listing
/reverb/makes
/reverb/price-guide
/reverb/price-guide-search
/reverb/search
Endpunktkatalog
/reverb/searchSearches or browses Reverb's (reverb.com) marketplace for new and used musical instruments and gear. query, category, product_type, make, min_price, and max_price are all optional and combine as an AND -- a free-text query can be combined with category/product_type/make/price filters in the same request, or every field can be omitted to browse the full active catalog. category accepts a leaf slug from reverb-categories' own categories[].slug field; product_type is a fixed, closed 14-value enum (listed below) that should be passed together with category from the SAME reverb-categories entry, since a category slug alone is not always globally unique (e.g. "cables" exists under both Accessories and Home Audio). An unrecognized category value is silently ignored by the upstream (returns the unfiltered catalog, not zero results or an error) -- a known upstream quirk. make accepts a manufacturer name from reverb-makes' own makes[] field and is a confirmed, real filter. A query with genuinely zero matches returns a well-formed empty result rather than an error.
Hinweise zur Response
- A query with genuinely zero matches returns a well-formed empty result (`count: 0`, `listings: []`) rather than an error. - Every listing is `currency: "USD"`. - Each listing's `id` is the value `reverb-listing`'s own `id` parameter expects for full listing detail. - `condition`/`condition_slug` are returned read-only on every listing but are NOT an input filter this endpoint accepts -- no public discovery source confirms Reverb's full condition value space (sampling live search results only ever turned up a subset: `brand-new`, `mint`, `mint-inventory`, `excellent`, `very-good`, `good`, `fair`, `b-stock`), so this is a documented gap rather than a guess. - `sort` is NOT a parameter this endpoint accepts -- live testing found Reverb's own `/api/listings` silently ignores a `sort` parameter (neither `price-asc` nor `price-desc` actually reordered results).
MCP-Tool reverb_search
/reverb/listingReturns full listing-detail data for one Reverb listing: description, every photo, shipping/payment/return policies, and the seller's shop reputation -- richer than the flattened summary reverb-search returns per listing. id is the listing's numeric id, from a search result's own listings[].id field.
Hinweise zur Response
- An unknown or deleted listing id returns a typed not-found error (real upstream `404`). - `currency` is always `USD`. - `photos` is the full photo set (`full_url`/`thumbnail_url` pairs); `reverb-search`'s own `cover_photo_url` is only the first photo. - `location` is the seller's display location (e.g. `"Eureka, CA, United States"`), not a structured region/country breakdown. - `shop_rating_percentage` is a fraction (e.g. `0.9975` means 99.75%), not a 0-100 percentage.
MCP-Tool reverb_listing
/reverb/categoriesReturns 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.
Hinweise zur Response
- `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). - **A leaf category's `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`.
MCP-Tool reverb_categories
/reverb/makesReturns Reverb's full manufacturer/make list -- the value space reverb-search's own make parameter accepts (2,795 values as of 2026-10-15). Does not include a model list -- Reverb's own /api/listings silently ignores a model filter value, so reverb-search has no Model parameter and a model list would have no corresponding filter to use it with.
Hinweise zur Response
- `makes` is the full, exhaustive manufacturer list as of the request (2,795 values as of 2026-10-15), sorted alphabetically. - Does not include a model list. The same upstream source also returns a `models` field (12,764 values as of 2026-10-15), but `reverb-search` has no `model` parameter -- live testing found Reverb's own `/api/listings` silently ignores an unrecognized model value, so a model discovery list would hand callers values with no corresponding filter to use them with.
MCP-Tool reverb_makes
/reverb/shopReturns 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.
Hinweise zur Response
- An unknown shop slug returns a typed not-found error (real upstream `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. - Each listing has the same shape as `reverb-search`'s own `listings[]` entries.
MCP-Tool reverb_shop
/reverb/shop-feedbackReturns a page of a Reverb shop's individual buyer feedback entries (rating, message, and the order each review was left for) -- reputation detail reverb-shop does not carry (reverb-shop only exposes the aggregate feedback_count/rating_percentage). slug is the shop's slug, from a listing's own shop link or reverb.com/shop/{slug}. An unknown slug returns a typed not-found error.
Hinweise zur Response
- An unknown shop slug returns a typed not-found error (real upstream `404`). - `message` can be empty -- not every buyer leaves written feedback alongside a rating. - `rating` is a 1-5 integer star rating.
MCP-Tool reverb_shop_feedback
/reverb/price-guide-searchSearches Reverb's Price Guide (reverb.com/price-guide) for gear models by free-text brand/model query (e.g. "fender stratocaster"). Each result's slug is the value reverb-price-guide's own slug parameter accepts. query is full-text relevance search, not an exact match -- unlike reverb-search's own query, a nonsensical query is not guaranteed to return an empty result; the upstream can fall back to loosely related or generically popular models instead, so a low result count should be treated cautiously rather than read as "no real matches."
Hinweise zur Response
- `query` is full-text relevance search, not an exact match -- unlike `reverb-search`'s own `query`, a nonsensical query is **not guaranteed to return an empty result**. The upstream can fall back to loosely related or generically popular models instead of a true empty set. Treat a low result count with caution rather than reading it as "no real matches." - `used_low_price`/`new_low_price` are `0` when that listing type (used/new) has no current inventory for the model -- check `used_listings`/`new_listings` to tell "no used copies for sale" apart from "genuinely free."
MCP-Tool reverb_price_guide_search
/reverb/price-guideReturns one gear model's Reverb Price Guide detail: its specific finish/year variants, monthly average sale-price history, and a page of individual recent sales. slug is the model's slug, from reverb-price-guide-search's own models[].slug field. canonical_product_id optionally scopes to one specific variant from this model's own canonical_products[].id field (from a prior call without it); omitting it aggregates price history and recent sales across every variant, a broader, more heavily-sampled view. condition optionally scopes by Reverb's own Price Guide condition scale (listed below) -- a separate, 6-value enum from reverb-search's own listing condition field. range selects how far back the price history/recent-sales window looks. An unknown slug returns a typed not-found error.
Hinweise zur Response
- An unknown `slug` returns a typed not-found error. - `monthly_prices` is sorted oldest to newest; a month with no sales in the window is simply absent, not a zero-value entry. - `sales_total` is the upstream's own total sale count for the current filters (independent of `limit`); `recent_sales` itself is only the current page, newest first. - A small fraction of individual sale records can resolve as entirely empty upstream (likely a dangling reference to a since-deleted listing) -- this package silently drops those rather than returning blank entries, so `sales_count` can be slightly less than `limit` even when more real sales exist. - `recent_sales[].price` is a pre-formatted display string (e.g. `"$999.50"`), not a parsed number -- match `monthly_prices[].average_price` (a float) when a numeric value is needed.
MCP-Tool reverb_price_guide
Verwandte APIs
Marketplaces & Retail
Collect marketplace product signals from Amazon without building brittle storefront scrapers.
Marketplaces & Retail
Build resale, pricing, and marketplace workflows from structured eBay data.
Marketplaces & Retail
Turn public Shop.app product and merchant pages into structured JSON for e-commerce product intelligence, price research, shop monitoring, and marketplace discovery workflows.
So scrapst du Reverb
Crawlora's eight Reverb endpoints connect marketplace discovery with model-level sales research. Reverb specializes in musical instruments and gear, from guitars and pedals to recording equipment. Its own Price Guide explanation distinguishes active asking prices from completed transactions and separates models by finish, year, and condition. The API contracts follow that distinction: search returns listing cards, while Price Guide detail returns model variants, monthly sale-price averages, and a page of recent sales. Use stable listing IDs for inventory tracking and model slugs for valuation; those identifiers represent different things and cannot be substituted for each other.
Read /reverb/categories before narrowing a search. Send a leaf category together with its own product_type: labels such as cables occur in more than one product family. The makes endpoint supplies manufacturer names, while model discovery belongs to Price Guide search.
Use /reverb/search with a keyword and documented price or category filters, then pass a returned listing ID to /reverb/listing. Shop profiles and shop-feedback use the seller shop slug. A shop response contains one listings page; its total does not mean every listing is present.
Find a model through /reverb/price-guide-search and pass its slug to /reverb/price-guide. Start without canonical_product_id to discover finish/year variants, then select a returned variant when comparing like-for-like instruments. Condition filters here are separate from the condition labels on marketplace listings.
Store retrieval time, currency, condition, and the selected history window beside each observation. A missing monthly_prices entry means no sales were returned for that month, not a zero-dollar sale. recent_sales is a limited page even when sales_total is much larger; do not treat it as a complete transaction archive.
FAQ
No. Listings describe what sellers currently ask, while Reverb's Price Guide is based on completed transactions. The documented Price Guide response separates monthly average prices from recent individual sales. recent_sales prices are formatted display strings; monthly average_price is numeric. Keep both the source and representation with your data rather than mixing them in one price series.
Use only the parameters documented for the endpoint. Listing condition is returned as data, but the search contract does not expose a condition filter or arbitrary sort order. Price Guide detail has its own condition enum. Sending an unsupported upstream parameter can produce apparently valid but unfiltered results, so verify the returned selection instead of assuming the filter was applied.
Resolve the model through Price Guide search, inspect canonical_products on its detail response, and select the relevant finish/year variant using canonical_product_id. Keep condition and range consistent across requests. When a model has sparse sales or missing months, retain those gaps and sample counts rather than presenting the estimate as a guaranteed resale value.