{
  "id": 5416901,
  "title": "eBay's Browse API Doesn't Return Sold Listings. Here Is a Node.js Alternative",
  "url": "https://urgent.news/2026/09/03/ebays-browse-api-doesnt-return-sold-listings-here-is-a-node-js",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-03T21:21:04.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/itsmarcandrew/ebays-browse-api-doesnt-return-sold-listings-here-is-a-nodejs-alternative-4mg1"
  },
  "original_language": "en",
  "account": "Developers often struggle to find sold listings data through eBay's Browse API, which only returns active inventory. To overcome this limitation, the CompSniper service offers completed listings and a price summary through a single GET request. Written in Node.js, the code snippet provided demonstrates how to utilize CompSniper's API to retrieve sold listings information.\n\nThe example begins by setting up request parameters such as keyword, count, eBay site, item condition, and other filters. These parameters are then sent to CompSniper's API endpoint using the fetch API. The Authorization header is included with the API key, which should be stored securely outside of client-side JavaScript.\n\nUpon receiving the response, the code checks if the request was successful. If not, an error is thrown with the error message or HTTP status code. The response data is then parsed as JSON, and the code proceeds to display relevant information such as the total number of items, median price, and price range.\n\nThe code demonstrates how to extract the first five items from the response, displaying their title, sold price, and end date. This data can be used to build a pricing, resale, or inventory tool, or simply for market research purposes.\n\nIt is crucial to keep the API key secure and never expose it in client-side JavaScript. The same response format works across multiple marketplaces, including the US, UK, Germany, France, Italy, Spain, Canada, and Australia. Developers should handle rate limit errors (429 status code) differently, depending on whether the error code is \"quota_exceeded\" or \"rate_limited\". Temporary rate limit errors can be resolved by waiting for the Retry-After value, while quota exceeded errors require upgrading the account or making changes to the request.\n\nIn summary, the CompSniper Node.js example provides a simple and effective way to access sold listings data from eBay, bypassing the limitations of the Browse API. By carefully handling rate limits and securing API keys, developers can successfully integrate sold listings data into their applications.",
  "summary": "If you are building a pricing, resale, or inventory tool, active listings answer the wrong question. The price a seller asks for an item is not necessarily the price a buyer paid. eBay's public Browse API returns active inventory. Marketplace Insights covers sold history, but access is restricted. That leaves many developers maintaining search-page parsers or using a sold-data provider. This…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}