Reverb Music Gear and Sold Price Guide Scraper avatar

Reverb Music Gear and Sold Price Guide Scraper

Pricing

from $1.20 / 1,000 results

Go to Apify Store
Reverb Music Gear and Sold Price Guide Scraper

Reverb Music Gear and Sold Price Guide Scraper

Scrape reverb.com music gear: guitars, amps, synths, pedals, drums and pro audio. Search live listings by brand, category, condition, price, year, region and shipping, or paste links. Uniquely returns the sold Price Guide per gear model: median, low, high and quartile realised prices.

Pricing

from $1.20 / 1,000 results

Rating

0.0

(0)

Developer

Abot API

Abot API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Pull music gear from Reverb (reverb.com), the marketplace for new, used and vintage guitars, amps, synthesizers, pedals, drums and pro audio. Search live listings with the marketplace's own brand, category, condition, price, year, region, shipping and seller filters, or paste links and let the actor route them. Alongside every listing you also get the Price Guide: what that exact gear model has actually sold for, as a median, a low and high, quartiles, a breakdown per condition, the gap between asking and realised price, the individual recent sales, and a period by period history.

Why this scraper

  • Realised sale prices, not just asking prices. An asking price tells you what a seller hopes for. This returns what buyers actually paid: median, low, high, 25th and 75th percentile, per condition, with the individual sales behind the numbers and their dates.
  • A deal rating on every live listing. Each listing is positioned against its own model's sold history and labelled below-market, at-market or above-market, with the exact percentage above or below the sold median. That is the number a buyer, a dealer or a reseller acts on.
  • Over 60 fields per listing including view and watcher counts, days on market, price drops, seller feedback and rating, seller location, per region shipping rates, return policy, barcode, videos, accepted payment methods and the canonical model id.
  • Three modes, one actor. Keyword search across live listings, Price Guide lookup by gear model, and paste anything: item links, price guide links, product links, shop links, brand links, marketplace search links, or bare listing ids.
  • Built for recurring monitoring. Incremental mode returns only what changed since the last run, so a daily watch on "1960s Stratocasters under $8,000" returns the new listings and the price drops instead of the same catalogue every day.
  • Priced to run at volume. A full catalogue sweep is affordable, and the two extra-read toggles are opt-in so a lean run stays lean.

Data you get

Sample shape, values are illustrative placeholders, not from a live listing.

Listing record

FieldExample
recordType"listing"
listingId"00000001"
title"Sample Brand Model 1965 Sunburst"
make / model / year / finish"Sample Brand" / "Model" / "1965" / "Sunburst"
condition / conditionSlug"Very Good" / "very-good"
price / currency / priceDisplay1200.00 / "USD" / "$1,200"
originalPrice / priceDropPercent1400.00 / 14
guideMedianPrice1350.00
priceVsGuidePercent-11.11
dealRating"below-market"
rootCategory / categories"electric-guitars" / ["Electric Guitars / Solid Body"]
state / inventory / offersEnabled / offerCount"live" / 1 / true / 0
shopName / shopSlug / preferredSeller"Sample Shop" / "sample-shop" / true
sellerFeedbackCount / sellerRatingPercentage0 / 100.0
sellerLocation / sellerCountryCode"Springfield, United States" / "US"
views / watchers / daysOnMarket0 / 0 / 30
freeShipping / freeExpeditedShipping / shippingRatestrue / false / [{"regionCode": "US", "price": 0.00}]
shippingPolicy / returnPolicy"Shipping policy text appears here." / "Return policy text appears here."
photos / photoCount["https://rvb-img.example/000000.jpg"] / 1
publishedAt / createdAt / scrapedAt"2026-01-01T00:00:00Z"
priceGuidethe whole Price Guide block below

Price Guide record

FieldExample
recordType"priceGuide"
productId / slug / title"000000" / "sample-brand-model" / "Sample Brand Model"
soldSalesTotal / soldSampleSize0 / 0
soldPriceLow / soldPriceP25 / soldPriceMedian / soldPriceP75 / soldPriceHigh900.00 / 1100.00 / 1350.00 / 1600.00 / 2200.00
soldPriceAverage / askPriceAverage1380.00 / 1490.00
askToSoldDiscountPercent7.4
firstSaleDate / lastSaleDate"2026-01-01" / "2026-01-01"
byCondition[{"condition": "Excellent", "salesCount": 0, "lowPrice": 1200.00, "medianPrice": 1450.00, "highPrice": 1700.00}]
recentSales[{"date": "2026-01-01", "condition": "Excellent", "askPrice": 1500.00, "soldPrice": 1425.00, "currency": "USD"}]
priceHistory[{"periodStart": "2026-01-01", "averageAskPrice": 1490.00, "averageSoldPrice": 1380.00}]
usedListings / newListings0 / 0
usedLowPrice / newLowPrice900.00 / 1899.00
productRating / productReviewCount0 / 0

How to use

Search live listings with filters:

{
"mode": "search",
"queries": ["Fender Stratocaster"],
"category": "electric-guitars",
"conditions": ["excellent", "very-good"],
"minPrice": 800,
"maxPrice": 3000,
"minYear": 1960,
"maxYear": 1979,
"includeSoldPriceGuide": true,
"maxItems": 50
}

Look up what gear models actually sell for:

{
"mode": "price-guide",
"queries": ["Moog Subsequent 37", "Shure SM57"],
"includeSoldPriceGuide": true,
"maxItems": 20
}

Paste links of any supported kind:

{
"mode": "url",
"urls": [
"https://reverb.com/item/00000001-sample-listing",
"https://reverb.com/price-guide/sample-brand-model",
"https://reverb.com/shop/sample-shop",
"https://reverb.com/marketplace?query=Gibson%20Les%20Paul&condition=used"
],
"includeSoldPriceGuide": true,
"maxItems": 100
}

Watch a search daily and get only the changes:

{
"mode": "search",
"queries": ["1960s Stratocaster"],
"maxPrice": 8000,
"incrementalMode": true,
"stateKey": "vintage-strat-watch",
"maxItems": 0
}

Input parameters

ParameterTypeDefaultDescription
modestringsearchsearch, price-guide or url.
queriesarray["Fender Stratocaster"]Keywords, read in search and Price Guide modes. Each is searched separately.
urlsarrayLinks or listing ids, read in URL mode. Filters below are ignored in this mode.
makestringBrand. Applies to search and Price Guide modes.
categorystringanyOne of the 14 top-level categories. Applies to search and Price Guide modes.
minYear / maxYearintegerYear window. Applies to search and Price Guide modes.
conditionsarray[]One or more of new, b-stock, used, mint, excellent, very-good, good, fair, poor, non-functioning. Search mode only.
minPrice / maxPriceintegerPrice window in US dollars. Search mode only.
itemRegionstringanySeller country. Search mode only.
shipsTostringanywhereDestination the seller ships to. Search mode only.
shopSlugstringOne seller, given as the handle in the shop address. Search mode only.
handmadeOnlybooleanfalseHandmade or custom built only. Search mode only.
freeShippingOnlybooleanfalseOnly listings that ship free. Search mode only.
preferredSellersOnlybooleanfalsePreferred sellers only. Search mode only.
sortBystringrelevancerelevance, price-asc, price-desc or newest. Search mode only.
includeSoldPriceGuidebooleantrueAttach the realised sale statistics, and score each listing against them. Adds a per result surcharge.
fetchDetailsbooleanfalseRead each listing's own item page for views, watchers, seller location, policies, barcode and videos. Adds a per result surcharge.
maxItemsinteger20The run's cap. 0 for unlimited.
maxPagesinteger0Pages per keyword or link, 50 results a page. 0 for no page limit.
resumeFromRunIdstringContinue one interrupted run without returning or charging for what it already collected.
incrementalModebooleanfalseReturn only what changed since the last run of the same search.
stateKeystringName a monitoring campaign. Derived automatically when empty.
emitUnchangedbooleanfalseAlso return unchanged results. Returns and bills extra rows.
emitExpiredbooleanfalseAlso return results that disappeared. Returns and bills extra rows.
proxyobjectApify ProxyConnection settings. Leave the default selected.
mcpConnectorsarrayOptional MCP connectors to pipe results into.
notionParentPageUrlstringNotion page under which item pages are created.
maxNotifyListingsinteger50Cap on items written to each connector.

Output example

Sample shape, values are illustrative placeholders, not from a live listing.

{
"recordType": "listing",
"listingId": "00000001",
"sku": "REF-0001",
"slug": "sample-brand-model-1965-sunburst",
"url": "https://reverb.com/item/00000001-sample-brand-model-1965-sunburst",
"comparisonShoppingPageId": "000000",
"title": "Sample Brand Model 1965 Sunburst",
"make": "Sample Brand",
"brandSlug": "sample-brand",
"model": "Model",
"year": "1965",
"finish": "Sunburst",
"rootCategory": "electric-guitars",
"categories": ["Electric Guitars / Solid Body"],
"condition": "Very Good",
"conditionSlug": "very-good",
"price": 1200.0,
"currency": "USD",
"priceDisplay": "$1,200",
"originalPrice": 1400.0,
"priceDropPercent": 14,
"state": "live",
"inventory": 1,
"offersEnabled": true,
"offerCount": 0,
"isAuction": false,
"freeShipping": true,
"freeExpeditedShipping": false,
"shippingRates": [{ "regionCode": "US", "price": 0.0, "currency": "USD" }],
"shopName": "Sample Shop",
"shopSlug": "sample-shop",
"preferredSeller": true,
"sellerFeedbackCount": 0,
"sellerRatingPercentage": 100.0,
"sellerLocation": "Springfield, United States",
"sellerCountryCode": "US",
"views": 0,
"watchers": 0,
"daysOnMarket": 30,
"publishedAt": "2026-01-01T00:00:00Z",
"scrapedAt": "2026-01-01T00:00:00Z",
"guideMedianPrice": 1350.0,
"priceVsGuidePercent": -11.11,
"dealRating": "below-market",
"priceGuide": {
"soldSalesTotal": 0,
"soldSampleSize": 0,
"currency": "USD",
"soldPriceLow": 900.0,
"soldPriceP25": 1100.0,
"soldPriceMedian": 1350.0,
"soldPriceP75": 1600.0,
"soldPriceHigh": 2200.0,
"soldPriceAverage": 1380.0,
"askPriceAverage": 1490.0,
"askToSoldDiscountPercent": 7.4,
"firstSaleDate": "2026-01-01",
"lastSaleDate": "2026-01-01",
"byCondition": [
{ "condition": "Excellent", "salesCount": 0, "lowPrice": 1200.0, "medianPrice": 1450.0, "highPrice": 1700.0 }
],
"recentSales": [
{ "date": "2026-01-01", "condition": "Excellent", "askPrice": 1500.0, "soldPrice": 1425.0, "currency": "USD" }
],
"priceHistory": [
{ "periodStart": "2026-01-01", "averageAskPrice": 1490.0, "averageSoldPrice": 1380.0 }
],
"liveMarket": { "usedListings": 0, "newListings": 0, "usedLowPrice": 900.0, "newLowPrice": 1899.0 }
}
}

Reading the Price Guide

  • soldPriceMedian is the middle realised price across the sample, and is the number to compare an asking price against. soldPriceP25 and soldPriceP75 bracket the normal trading range.
  • askToSoldDiscountPercent is how far below the asking price these items actually changed hands, averaged per sale. A high number means sellers of this model routinely accept offers.
  • byCondition matters more than the headline median on vintage gear, where condition can move the price several times over.
  • priceHistory shows the average asking and average realised price period by period, so a model that is appreciating or softening is visible without any extra work.
  • soldSampleSize is how many sales the statistics were computed over, and soldSalesTotal is how many the source holds. A small sample is reported honestly rather than hidden: when it is under five sales, dealRating is left empty instead of guessed.

Send results into your apps (MCP connectors)

Optionally pipe results into Notion, Linear, Airtable or Apify via MCP connectors, using the Export to your apps (MCP connectors, optional) section of the input. Authorize a connector under Apify, Settings, API and Integrations, then select it here.

  • mcpConnectors selects the connectors this run exports into.
  • notionParentPageUrl is the Notion page under which one page per item is created. It is required for the Notion export and ignored by every other connector.
  • maxNotifyListings caps how many items are written to each connector.

Each connector receives a condensed, human readable summary per item: a title plus the key fields flattened to plain text, with nested objects collapsed to their main value and long lists trimmed. The complete record, including the whole priceGuide block, always stays in the Apify dataset. The export is a side channel: it never changes the dataset output, and a connector error is logged as a warning while the run still succeeds.

Notes on coverage

  • A single keyword search is walked forward until the source runs out of results, the page limit is reached, or maxItems is reached. To go deeper than one search can reach, split the work with the brand, category, condition, price or year filters.
  • The category and price filters are applied twice: once upstream, so the walk itself is narrow, and once against each returned listing's own category and its own US dollar price. The source relevance-matches nearby categories into its results and applies a price window to the seller's own currency, so the second pass is what makes the filter mean what the input says it means. It can return fewer than maxItems rows, which is the filter doing its job.
  • A listing counts as free shipping when it quotes a zero shipping rate to any destination it ships to, which is what the marketplace's own free shipping filter selects.
  • Price Guide statistics are computed from the sales the source publishes for that model. Models with no recorded sales return the live market snapshot (how many are listed used and new, and the lowest asking price) with the sold statistics left empty rather than filled with zeros.
  • Prices are returned in US dollars, which is the currency the source reports for comparison. A sale recorded in another currency is excluded from the statistics rather than mixed in, and the count of excluded sales is reported on the record as mixedCurrencySalesSkipped.

Plan requirement

An Apify account is required to run the actor. Apify Proxy is recommended; leave the default connection selected.