{
  "openapi": "3.0.1",
  "info": {
    "title": "Reverb Listings Scraper",
    "description": "Retrieve public Reverb listings with listing titles, condition, make, model, seller, shipping, and state. The scraper accepts searches, shop URLs, and individual item URLs, and can request the public detail endpoint for location, seller feedback, views, watchers, and other available fields.",
    "version": "0.1",
    "x-build-id": "6gXAR2XhbObjug09X"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/axiomworks~reverb-listings-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-axiomworks-reverb-listings-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/axiomworks~reverb-listings-scraper/runs": {
      "post": {
        "operationId": "runs-sync-axiomworks-reverb-listings-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/axiomworks~reverb-listings-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-axiomworks-reverb-listings-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "searchTerms": {
            "title": "Search terms",
            "type": "array",
            "description": "List of gear keywords, one search per entry, e.g. [\"boss ds-1\",\"fender stratocaster\"]. Each term runs separately; results share the maxItems budget and duplicates are removed. Leave empty when startUrls is given. A term with no matches adds no rows; the run still succeeds. With neither target supplied, searches fender stratocaster. Blocked targets return zero items and a status message.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Reverb pages to collect from, as URL strings or {\"url\":...} objects, e.g. [\"https://reverb.com/marketplace?query=ds-1\",\"https://reverb.com/shop/some-shop\",\"https://reverb.com/item/100291942-boss-ds-1\"]. Accepts marketplace, category, brand, product, shop, item and listings API URLs. Unsupported or dead URLs are skipped.",
            "default": []
          },
          "maxItems": {
            "title": "Maximum items",
            "type": "integer",
            "description": "Total unique listings to return across all searchTerms and startUrls combined, 1-10000, default 50. Example: 20. The run stops as soon as this many are pushed.",
            "default": 50
          },
          "condition": {
            "title": "Condition",
            "enum": [
              "any",
              "used",
              "new",
              "brand-new",
              "b-stock",
              "mint",
              "excellent",
              "very-good",
              "good",
              "fair",
              "poor",
              "non-functioning"
            ],
            "type": "string",
            "description": "Listing condition filter. One of any (default, no filter), used, new, brand-new, b-stock, mint, excellent, very-good, good, fair, poor, non-functioning. Example: used.",
            "default": "any"
          },
          "listingStatus": {
            "title": "Listing status",
            "enum": [
              "live",
              "sold"
            ],
            "type": "string",
            "description": "live (default) returns listings currently for sale; sold returns completed sales, whose price is the final listing price. Example: sold.",
            "default": "live"
          },
          "make": {
            "title": "Make",
            "type": "string",
            "description": "Brand name or slug to filter by, e.g. fender or boss. Combine with searchTerms to narrow results. Leave empty for all brands."
          },
          "productType": {
            "title": "Product type",
            "type": "string",
            "description": "Top-level Reverb category slug, e.g. electric-guitars, effects-and-pedals, amps. Leave empty for all types."
          },
          "category": {
            "title": "Category",
            "type": "string",
            "description": "Subcategory slug used together with productType, e.g. distortion-and-overdrive with productType effects-and-pedals. Ignored when empty."
          },
          "priceMin": {
            "title": "Minimum price",
            "type": "number",
            "description": "Lowest listing price in USD to include, e.g. 50. Leave empty for no lower bound."
          },
          "priceMax": {
            "title": "Maximum price",
            "type": "number",
            "description": "Highest listing price in USD to include, e.g. 500. Leave empty for no upper bound."
          },
          "yearMin": {
            "title": "Minimum year",
            "type": "integer",
            "description": "Earliest instrument year to include, e.g. 1990. Leave empty for no lower bound."
          },
          "yearMax": {
            "title": "Maximum year",
            "type": "integer",
            "description": "Latest instrument year to include, e.g. 2005. Leave empty for no upper bound."
          },
          "publishedWithinDays": {
            "title": "Published within days",
            "type": "integer",
            "description": "Only listings published in the last N days (1-3650). Results are sorted newest first and the search stops at the first older listing. Leave empty for no date filter."
          },
          "itemRegion": {
            "title": "Item region",
            "type": "string",
            "description": "Two-letter ISO country code where the item is located, e.g. US or DE. Leave empty for anywhere."
          },
          "shipsTo": {
            "title": "Ships to",
            "type": "string",
            "description": "Two-letter ISO country code of the shipping destination, e.g. US or GB. Only listings that ship there are returned."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "newest",
              "priceAsc",
              "priceDesc"
            ],
            "type": "string",
            "description": "relevance (default), newest (most recently published first), priceAsc (cheapest first) or priceDesc (most expensive first). Example: newest.",
            "default": "relevance"
          },
          "includeDetails": {
            "title": "Include details",
            "type": "boolean",
            "description": "true (default) fetches each listing detail page to add location, country code, seller feedback, views, watchers, offer count and sold-as-is status; false is faster and leaves those fields null.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Use Apify Proxy when requests are rate limited or blocked; disabled by default.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}