Research active and sold Reverb listings to establish a used-market price range for purchasing intake.
PREREQUISITE: Load the following skills to execute this recipe:
reverb-listings
Research active listings and recent sold prices on Reverb.com to establish a used-market price range for gear submitted for possible purchase. Returns raw data with source links — the buyer makes the final offer judgment.
revcli listings list --query "MAKE MODEL" --page-all --per-page 50 --page-limit 4 --format json --output active.json
revcli listings list --query "MAKE MODEL" --params '{"show_only_sold":true}' --page-all --per-page 50 --page-limit 4 --format json --output sold.json
--page-allraw_decodeimport json
from json import JSONDecoder
def load_pages(path):
with open(path) as f:
text = f.read().strip()
decoder, pos, listings = JSONDecoder(), 0, []
while pos < len(text):
while pos < len(text) and text[pos] in ' \n\r\t':
pos += 1
if pos >= len(text):
break
obj, pos = decoder.raw_decode(text, pos)
listings.extend(obj.get('listings', []))
return listings
active = load_pages('active.json')
sold = load_pages('sold.json')
title — listing titlecondition.display_name — condition label (e.g. "Excellent", "Brand New")price.display — human-readable sold/asking price (e.g. "$7,899")original_price.display — original listing price before any discounts (present on sold listings; compare against
price.display to gauge discount depth)state.description — "Live" for active, "Sold" for soldcreated_at — listing creation date (useful for context on how long it's been on the market - or how long ago the
sale occurred (market trends positively over time))description — HTML; strip tags and scan for condition caveats (replaced parts, repairs, modifications, damage)_links.web.href — direct link to listing (cite this as source)state.slug: "live") — current asking pricesstate.slug: "sold") — what buyers actually paid (primary baseline)condition.display_name is Brand New these do not reflect
second-hand valueoriginal_price.display, note the gap between original and sold price — a
large spread signals that active listings at ask price are likely negotiable or overpriced_links.web.href for every listing used to establish the range<p>, <ul>, <li>, <br> etc. before reading condition notes