Skip to main content
Piloterr
Back to library

Reverb Product API

Reverb Product API: fetch full listing data from a Reverb URL or listing id. Returns pricing, specs, images, description and shop info via browser rendering.

Active2 credits = 1 requestGET/v2/reverb/product

Endpoint Overview

Detailed documentation, pricing, and usage examples.

OverviewLink to Overview

The Reverb Product API returns full listing page data from Reverb. Pass a listing URL or numeric id and receive structured JSON with pricing, specs, images, description, shop info, and availability flags.

Piloterr uses browser rendering and parses the Apollo Client cache embedded in rendered HTML (<meta content="Listing:id:…">).

Use Reverb Search to discover listings, then Reverb Product for the full record.

QuickstartLink to Quickstart

GET https://api.piloterr.com/v2/reverb/product?query=96933467
GET https://api.piloterr.com/v2/reverb/product?query=https://reverb.com/fr/item/96933467-aria-pro-ii-xx-deluxe-1983-matsumoku-noir

ParametersLink to Parameters

Parameter Type Required Description
query string yes Listing URL or numeric id
return_page_source boolean no Raw HTML as {"result": "..."} (default: false)

Input formatsLink to Input formats

Format Example
Listing id 96933467
Full URL https://reverb.com/fr/item/96933467-aria-pro-ii-xx-deluxe-1983-matsumoku-noir

The bk tracking parameter is stripped automatically.

Response fieldsLink to Response fields

Field Type Description
listing_id string Reverb listing id
title string Listing title
url string Canonical listing URL (no bk)
make string | null Brand
model string | null Model
year integer | null Year (from specs or title regex)
finish string | null Finish / color
price number Buyer price (pricing.buyerPrice)
price_display string | null Formatted price
old_price number | null Strikethrough price if on sale
currency string | null ISO currency
condition string | null Item condition
state string | null Listing state
image_url string | null Main image
images string[] | null Full gallery
category string | null Primary category
description string | null Seller HTML description
inventory integer | null Remaining stock
listing_type string | null MAKE_AN_OFFER, BUY_IT_NOW, …
offers_enabled boolean | null Negotiation enabled
shop.shop_id string Shop id
shop.name string Shop name
shop.slug string Shop slug
shop.location string Seller location
shop.feedback_percentage integer Feedback score (0–100)

Year extractionLink to Year extraction

Reverb rarely exposes year at the top level. Piloterr resolves it from:

  1. Apollo listing.year
  2. Product spec with type YEAR
  3. Title regex (19xx|20xx)

Reverb workflowLink to Reverb workflow

  1. Reverb Search: discover listings
  2. Reverb Product: full listing JSON (this endpoint)

Error codesLink to Error codes

Code Meaning
400 Missing or invalid query
404 Listing not found or unparsable page
500 Rendering or parsing error

NotesLink to Notes

  • Buyer price comes from pricing.buyerPrice, not the legacy top-level price field in Apollo.
  • Costs 2 credits per call (browser rendering).

Main use casesLink to Main use cases

  • Listing enrichment: description, gallery, shop metadata
  • Vintage gear intel: year, make, model, condition
  • Offer monitoring: listing_type, offers_enabled, price deltas

Related APIs

Expand your data capabilities with these complementary tools.

Ready to get started?

Your web scraping API is one click away. Start with +500 credits, no infrastructure to set up, no proxies to manage, and no credit card required.

  • +500 credits
  • No credit card required
  • All endpoints included