ScavioScavio
Pricing
Tools
Sign InsGet Startedg
Blog
eBay6 min readOct 27, 2026

How to Get eBay Price Data Through an API: Live Prices, Units Sold, Bids and Sellers

Use Scavio's eBay API: one POST returns up to 240 live listings with price, condition, units sold, watchers and bids. Listing detail and sellers are 1 credit.

Scavio Team

Oct 27, 2026

Try the eBay API free
scavio
Ecommerce / Price research
eBay

To get eBay price data programmatically, use Scavio's eBay API. POST /api/v1/ebay/search returns up to 240 live listings in one call (242 for "iphone 14 pro 128gb unlocked"), each with price, original price, condition, shipping, buying format, auction bids, time left, units sold, watchers and the seller's feedback. /product returns one listing in full with item specifics and returns policy, and /seller returns a seller's profile. Every call costs 1 credit, about $0.002 on the Growth plan billed yearly.

eBay's own Browse API returns active listings after you register an application and request OAuth tokens. Sold and completed results are a different matter: since late August 2026 eBay shows them only to signed-in users, which we documented here. This guide covers what you can pull without that view and how to turn it into a price.

Step 1: Search live listings

Bash
curl -s https://api.scavio.dev/api/v1/ebay/search \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "iphone 14 pro 128gb unlocked", "per_page": 240}'

On October 27, 2026 this returned 242 listings in one call. One row, as captured (image URL and subtitle trimmed):

JSON
{
  "pos": 48,
  "item_id": "375758080538",
  "condition": "Good - Refurbished",
  "title": "Apple iPhone 14 Pro 128GB Unlocked 6.1\" - (Black) A2650 w/1 Year Warranty",
  "url": "https://www.ebay.com/itm/375758080538",
  "price": 396.03,
  "price_max": null,
  "original_price": 999,
  "currency": "USD",
  "buy_it_now": true,
  "best_offer": false,
  "bids": null,
  "time_left": null,
  "shipping_cost": 0,
  "free_shipping": true,
  "shipping_text": "Free delivery in 2-3 days",
  "location": "United States",
  "sold_count": 428,
  "watchers": null,
  "free_returns": true,
  "seller_name": "tekdeals",
  "seller_feedback_percent": 99.9,
  "seller_feedback_count": 90200,
  "top_rated_seller": true,
  "programs": ["certifiedRefurbished"],
  "sponsored": false
}

sold_count is eBay's own units-sold figure on a multi-quantity listing; eBay caps the figure it displays above a threshold, so read a large count as "at least". watchers appears when eBay shows a watcher count; on this page 70 of 242 rows had a units-sold count and 44 had watchers. page pages through the rest, and per_page takes 60, 120 or 240 only.

Step 2: Narrow by condition, format and price

The same endpoint takes eBay's filters, so you do not have to download everything and filter locally:

Bash
curl -s https://api.scavio.dev/api/v1/ebay/search \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "iphone 14 pro 128gb unlocked", "buying_format": "auction", "sort_by": "ending_soonest", "per_page": 240}'

Auction rows carry the current bid as price, plus bids and time_left:

JSON
{
  "item_id": "307243124907",
  "condition": "Pre-Owned",
  "title": "Apple iPhone 14 Pro Deep Purple 128GB Unlocked",
  "price": 215.5,
  "buy_it_now": false,
  "bids": 41,
  "time_left": "1d 16h left",
  "shipping_text": "Shipping not specified",
  "seller_name": "joby_36",
  "seller_feedback_percent": 100,
  "seller_feedback_count": 451
}

Other filters are condition (new, open_box, refurbished, used, for_parts), min_price, max_price, free_shipping, a numeric category_id and sort_by (best_match, ending_soonest, newly_listed, price_low, price_high). One caution: eBay pads a thin result set with looser matches. This auction search returned 266 rows while eBay counted 40 matching listings, and the extra rows included the iPhone 14 Pro Max, iPhone 13 and a Pixel. Check titles before you average.

Step 3: Turn listings into a price

A median of every ask overstates the market, because overpriced listings sit unsold. Group by the signal each listing carries instead. Across three searches (3 credits), 177 live iPhone 14 Pro 128GB listings broke down like this:

GroupListingsPrice rangeMedian
Fixed price, shows units sold (1,781 units in total)18$351.99 to $549.95$403.51
Fixed price, shows watchers but no sales24$299.99 to $529.00$390.00
Fixed price, no sales or watchers shown112$270.00 to $890.70$420.00
Auctions with bids (current bid, still running)13$96.00 to $325.00$207.50

The listings that sell cluster around $400; 29 of the listings with no signal ask more than $600. A daily run of the same searches, stored, gives you a price history with demand attached. The chart and the vendor comparison are in the best eBay price data APIs.

Step 4: Get the full listing

Bash
curl -s https://api.scavio.dev/api/v1/ebay/product \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"item_id": "375758080538"}'

item_id also accepts a full ebay.com/itm/ URL. The captured response, trimmed:

JSON
{
  "item_id": "375758080538",
  "condition": "Good - Refurbished",
  "price": 396.03,
  "original_price": 999,
  "availability": "InStock",
  "brand": "Apple",
  "mpn": "A2650",
  "model": "Apple iPhone 14 Pro",
  "color": "Black",
  "seller_name": "tekdeals",
  "seller_feedback_percent": 99.9,
  "seller_feedback_count": 90210,
  "shipping_cost": 0,
  "item_location": "San Marcos, California, United States",
  "returns_accepted": true,
  "quantity_sold": 428
}

The full response adds every image at full size (five here), payment_methods, the returns text and item_specifics, which for this listing held 16 key-value pairs including lock status, storage capacity, RAM and screen size. Search rows do not carry item specifics, so this is the call that confirms the exact variant.

Step 5: Check the seller

Bash
curl -s https://api.scavio.dev/api/v1/ebay/seller \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"seller": "tekdeals"}'
JSON
{
  "seller": "tekdeals",
  "name": "Tek Deals Store",
  "is_store": true,
  "store_slug": "tekdealsstore",
  "feedback_percent": 99.9,
  "items_sold": 278000,
  "items_sold_text": "278K",
  "followers": 25000,
  "categories": ["iPhones & Watches", "Apple iPads", "MacBooks, iMacs, Mac Minis", "eBay Daily Deals", "Previous Deals", "Chromebook & Window Laptops", "Other"]
}

The profile is a card, not an inventory. To list what a seller has for sale, call search with seller set: {"seller": "tekdeals", "query": "iphone 14 pro"} returned 60 of the seller's 63 matching listings on the first page, every one from tekdeals, and 23 of them showed a units-sold count.

All three endpoints

EndpointWhat it returnsCredits
/api/v1/ebay/searchUp to 240 live listings with price, condition, shipping, bids, time left, units sold, watchers and seller feedback; filter by seller, condition, format, price and category1
/api/v1/ebay/productOne listing in full: images, brand, MPN, item specifics, returns, payment methods, units sold1
/api/v1/ebay/sellerA seller's profile: store name, feedback percentage, items sold, followers, categories1

Passing "sold": true to search returns an HTTP 400 explaining that eBay now requires sign-in for sold and completed listings; it is not billed. If eBay reopens that view, the flag works again with no change on your side.

Getting started

  1. Sign up at dashboard.scavio.dev/sign-up: 50 free credits, no card required.
  2. Copy your API key from the dashboard.
  3. Send a POST to /api/v1/ebay/search with your key in the Authorization header.

Try the eBay API free in the playground first, or call it from Claude and other agents through the MCP server.

Reference: eBay API overview · search · listing detail · seller · best eBay price data APIs

Frequently asked questions

How do I get eBay prices through an API?

Send a POST to Scavio's /api/v1/ebay/search with a keyword and your API key. Each listing comes back with price, original price, condition, shipping, buying format, bids, time left, units sold, watchers and seller feedback. Add per_page 240 to get up to 240 listings in one 1-credit call.

Can I get sold prices from eBay through an API?

Not from eBay's public pages without signing in: since late August 2026 eBay redirects logged-out sold and completed searches to its sign-in page, and its Marketplace Insights API is a limited release. Scavio's sold flag returns an explicit HTTP 400 saying so. Live listings still carry units sold on multi-quantity listings and bids on auctions.

How do I filter eBay listings by condition or auction?

Pass condition (new, open_box, refurbished, used or for_parts), buying_format (auction, buy_it_now or best_offer), min_price, max_price, free_shipping and sort_by to /api/v1/ebay/search. sort_by ending_soonest puts the auctions closest to their end first.

How do I see every listing from one eBay seller?

Call /api/v1/ebay/search with seller set to the username, with or without a query, and page through the results. /api/v1/ebay/seller returns the seller's profile: store name, feedback percentage, items sold, followers and store categories.

How much does eBay data cost with Scavio?

Every eBay call costs 1 credit: about $0.002 on the Growth plan billed yearly and $0.0043 on the $30 monthly Project plan. A 240-listing search is one call. New accounts get 50 free credits with no card.

eBay price data as JSON

  • Search, listing detail and sellers
  • Units sold, watchers and bids per listing
  • 1 credit a call, no developer account
Try the eBay API free

50 free credits, no credit card

On this page

  1. Step 1: Search live listings
  2. Step 2: Narrow by condition, format and price
  3. Step 3: Turn listings into a price
  4. Step 4: Get the full listing

Related articles

View all
  • scavio
    Comparison / Price research
    eBay
    6 Best eBay Price Data APIs in 2026: Scavio Shows Which Live Listings Actually Sell
  • scavio
    Trading cards / Price research
    eBay
    Is eBay Scraping Hard for 8,000 Card Prices a Day? Not With One API Call per Card
ScavioScavio

One scraper API for every social, search, e-commerce and real estate platform. Built for AI agents.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative
  • Serper Alternative
  • Tavily vs Scavio
  • SerpAPI vs Scavio
  • All alternatives
  • Compare Scavio vs alternatives

Search APIs

  • Google Search API
  • Amazon Product API
  • YouTube API
  • Reddit API
  • Walmart Product API
  • TikTok API
  • Instagram API

Tools

  • All Tools

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy