Find an API

Search public APIs with auth details & Postman guides

← All APIs

reverb

reverb · Commerce

Commerce No Auth Free & Open ecommerce

reverb

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

GET Default search of listings includes only used & handmade. Add a filter to view all listings or use the /listings/all endpoint.

Default search of listings includes only used & handmade. Add a filter to view all listings or use the /listings/all endpoint.

https://api.apis.guru/v2/specs/reverb.com/3.0/listings?make=example&page=1&shop=example&model=example&query=test&decade=example&finish=example&offset=0&not_ids=example&shop_id=example&category=example&currency=USD&handmade=true&must_not=example&per_page=24&ships_to=example&year_max=1&year_min=1&item_city=example&price_max=1&price_min=1&conditions=example&item_state=example&item_region=example&item_country=example&listing_type=example&local_pickup=true&product_type=example&exclude_auctions=true&preferred_seller=true&auction_price_max=1&accepts_gift_cards=true&watchers_count_min=1&accepts_payment_plans=true

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/reverb.com/3.0/listings?make=example&page=1&shop=example&model=example&query=test&decade=example&finish=example&offset=0&not_ids=example&shop_id=example&category=example&currency=USD&handmade=true&must_not=example&per_page=24&ships_to=example&year_max=1&year_min=1&item_city=example&price_max=1&price_min=1&conditions=example&item_state=example&item_region=example&item_country=example&listing_type=example&local_pickup=true&product_type=example&exclude_auctions=true&preferred_seller=true&auction_price_max=1&accepts_gift_cards=true&watchers_count_min=1&accepts_payment_plans=true"
import requests
params = {
    "make": "example",
    "page": "1",
    "shop": "example",
    "model": "example",
    "query": "test",
    "decade": "example",
    "finish": "example",
    "offset": "0",
    "not_ids": "example",
    "shop_id": "example",
    "category": "example",
    "currency": "USD",
    "handmade": "true",
    "must_not": "example",
    "per_page": "24",
    "ships_to": "example",
    "year_max": "1",
    "year_min": "1",
    "item_city": "example",
    "price_max": "1",
    "price_min": "1",
    "conditions": "example",
    "item_state": "example",
    "item_region": "example",
    "item_country": "example",
    "listing_type": "example",
    "local_pickup": "true",
    "product_type": "example",
    "exclude_auctions": "true",
    "preferred_seller": "true",
    "auction_price_max": "1",
    "accepts_gift_cards": "true",
    "watchers_count_min": "1",
    "accepts_payment_plans": "true"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/reverb.com/3.0/listings",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/reverb.com/3.0/listings');
url.searchParams.set('make', 'example');
url.searchParams.set('page', '1');
url.searchParams.set('shop', 'example');
url.searchParams.set('model', 'example');
url.searchParams.set('query', 'test');
url.searchParams.set('decade', 'example');
url.searchParams.set('finish', 'example');
url.searchParams.set('offset', '0');
url.searchParams.set('not_ids', 'example');
url.searchParams.set('shop_id', 'example');
url.searchParams.set('category', 'example');
url.searchParams.set('currency', 'USD');
url.searchParams.set('handmade', 'true');
url.searchParams.set('must_not', 'example');
url.searchParams.set('per_page', '24');
url.searchParams.set('ships_to', 'example');
url.searchParams.set('year_max', '1');
url.searchParams.set('year_min', '1');
url.searchParams.set('item_city', 'example');
url.searchParams.set('price_max', '1');
url.searchParams.set('price_min', '1');
url.searchParams.set('conditions', 'example');
url.searchParams.set('item_state', 'example');
url.searchParams.set('item_region', 'example');
url.searchParams.set('item_country', 'example');
url.searchParams.set('listing_type', 'example');
url.searchParams.set('local_pickup', 'true');
url.searchParams.set('product_type', 'example');
url.searchParams.set('exclude_auctions', 'true');
url.searchParams.set('preferred_seller', 'true');
url.searchParams.set('auction_price_max', '1');
url.searchParams.set('accepts_gift_cards', 'true');
url.searchParams.set('watchers_count_min', '1');
url.searchParams.set('accepts_payment_plans', 'true');

const response = await fetch(url); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/reverb.com/3.0/listings")
	q := baseURL.Query()
	q.Set("make", "example")
	q.Set("page", "1")
	q.Set("shop", "example")
	q.Set("model", "example")
	q.Set("query", "test")
	q.Set("decade", "example")
	q.Set("finish", "example")
	q.Set("offset", "0")
	q.Set("not_ids", "example")
	q.Set("shop_id", "example")
	q.Set("category", "example")
	q.Set("currency", "USD")
	q.Set("handmade", "true")
	q.Set("must_not", "example")
	q.Set("per_page", "24")
	q.Set("ships_to", "example")
	q.Set("year_max", "1")
	q.Set("year_min", "1")
	q.Set("item_city", "example")
	q.Set("price_max", "1")
	q.Set("price_min", "1")
	q.Set("conditions", "example")
	q.Set("item_state", "example")
	q.Set("item_region", "example")
	q.Set("item_country", "example")
	q.Set("listing_type", "example")
	q.Set("local_pickup", "true")
	q.Set("product_type", "example")
	q.Set("exclude_auctions", "true")
	q.Set("preferred_seller", "true")
	q.Set("auction_price_max", "1")
	q.Set("accepts_gift_cards", "true")
	q.Set("watchers_count_min", "1")
	q.Set("accepts_payment_plans", "true")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/reverb.com/3.0/listings")
uri.query = URI.encode_www_form({
  "make" => "example",
  "page" => "1",
  "shop" => "example",
  "model" => "example",
  "query" => "test",
  "decade" => "example",
  "finish" => "example",
  "offset" => "0",
  "not_ids" => "example",
  "shop_id" => "example",
  "category" => "example",
  "currency" => "USD",
  "handmade" => "true",
  "must_not" => "example",
  "per_page" => "24",
  "ships_to" => "example",
  "year_max" => "1",
  "year_min" => "1",
  "item_city" => "example",
  "price_max" => "1",
  "price_min" => "1",
  "conditions" => "example",
  "item_state" => "example",
  "item_region" => "example",
  "item_country" => "example",
  "listing_type" => "example",
  "local_pickup" => "true",
  "product_type" => "example",
  "exclude_auctions" => "true",
  "preferred_seller" => "true",
  "auction_price_max" => "1",
  "accepts_gift_cards" => "true",
  "watchers_count_min" => "1",
  "accepts_payment_plans" => "true"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/reverb.com/3.0/listings?" . http_build_query([
    "make" => "example",
    "page" => "1",
    "shop" => "example",
    "model" => "example",
    "query" => "test",
    "decade" => "example",
    "finish" => "example",
    "offset" => "0",
    "not_ids" => "example",
    "shop_id" => "example",
    "category" => "example",
    "currency" => "USD",
    "handmade" => "true",
    "must_not" => "example",
    "per_page" => "24",
    "ships_to" => "example",
    "year_max" => "1",
    "year_min" => "1",
    "item_city" => "example",
    "price_max" => "1",
    "price_min" => "1",
    "conditions" => "example",
    "item_state" => "example",
    "item_region" => "example",
    "item_country" => "example",
    "listing_type" => "example",
    "local_pickup" => "true",
    "product_type" => "example",
    "exclude_auctions" => "true",
    "preferred_seller" => "true",
    "auction_price_max" => "1",
    "accepts_gift_cards" => "true",
    "watchers_count_min" => "1",
    "accepts_payment_plans" => "true"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET Show comparison shopping page

Show comparison shopping page

https://api.apis.guru/v2/specs/reverb.com/3.0/comparison_shopping_pages/find?id=1&slug=example

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/reverb.com/3.0/comparison_shopping_pages/find?id=1&slug=example"
import requests
params = {
    "id": "1",
    "slug": "example"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/reverb.com/3.0/comparison_shopping_pages/find",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/reverb.com/3.0/comparison_shopping_pages/find');
url.searchParams.set('id', '1');
url.searchParams.set('slug', 'example');

const response = await fetch(url); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/reverb.com/3.0/comparison_shopping_pages/find")
	q := baseURL.Query()
	q.Set("id", "1")
	q.Set("slug", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/reverb.com/3.0/comparison_shopping_pages/find")
uri.query = URI.encode_www_form({
  "id" => "1",
  "slug" => "example"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/reverb.com/3.0/comparison_shopping_pages/find?" . http_build_query([
    "id" => "1",
    "slug" => "example"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET Show comparison shopping page

Show comparison shopping page

https://api.apis.guru/v2/specs/reverb.com/3.0/csps/find?id=1&slug=example

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/reverb.com/3.0/csps/find?id=1&slug=example"
import requests
params = {
    "id": "1",
    "slug": "example"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/reverb.com/3.0/csps/find",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/reverb.com/3.0/csps/find');
url.searchParams.set('id', '1');
url.searchParams.set('slug', 'example');

const response = await fetch(url); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/reverb.com/3.0/csps/find")
	q := baseURL.Query()
	q.Set("id", "1")
	q.Set("slug", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/reverb.com/3.0/csps/find")
uri.query = URI.encode_www_form({
  "id" => "1",
  "slug" => "example"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/reverb.com/3.0/csps/find?" . http_build_query([
    "id" => "1",
    "slug" => "example"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));

Postman Setup Guide

Get Postman ↗
  1. See official documentation for authentication and setup.

What can you build with reverb?

reverb is a Commerce API. Developers commonly use commerce APIs for:

  • syncing product catalogues and inventory levels
  • building price comparison and deal-finder tools
  • processing orders and tracking shipments
  • managing customer wishlists and reviews
  • automating abandoned-cart and promotional emails

No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. reverb is free to use, making it a low-risk choice to experiment with.

New to APIs? Read our beginner's guide

Open documentation ↗