eBay Sold Listings API avatar

eBay Sold Listings API

Pricing

from $2.00 / 1,000 results

Go to Apify Store
eBay Sold Listings API

eBay Sold Listings API

Extract recent sold eBay listings with prices, shipping costs, sale dates, conditions, sellers, and URLs. Search eight marketplaces with date, condition, and price filters, then export structured data or access it through the Apify API.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Epic Scrapers

Epic Scrapers

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

5 days ago

Last modified

Share

eBay Sold Products Scraper

Get structured data from completed and sold eBay listings. Use the data to research sold prices, validate product demand, compare marketplaces, and monitor second-hand products.

The Actor searches recent eBay sales by keyword. It returns the item title, sold price, shipping cost, total price, condition, sale date, seller, item location, image, and listing URL. You do not need an eBay API key or an eBay seller account.

Why use this eBay sold listings scraper?

A current listing shows an asking price. A sold listing shows a price that a buyer accepted. This data can help you make better pricing and sourcing decisions.

Use this Actor to:

  • Research the market value of used products.
  • Find recent eBay sold prices.
  • Compare product demand across eBay marketplaces.
  • Check prices before you buy products for resale.
  • Monitor collectibles, electronics, fashion, parts, and refurbished products.
  • Build price history, market research, and product analytics tools.
  • Export eBay sales data for a spreadsheet, database, dashboard, or AI workflow.

Main features

  • Search one or more product keywords in one run.
  • Get only completed and sold eBay items.
  • Select new items, used items, or all conditions.
  • Set a minimum price and a maximum price.
  • Set the number of days to search.
  • Set a result limit for each keyword.
  • Search eight eBay marketplaces.
  • Get structured JSON data in an Apify dataset.
  • Export results in JSON, CSV, Excel, XML, or RSS format.
  • Run the scraper manually, on a schedule, through the API, or in an Apify integration.

Supported eBay marketplaces

Input valueMarketplaceTypical currency
ebay.comUnited StatesUSD
ebay.co.ukUnited KingdomGBP
ebay.deGermanyEUR
ebay.frFranceEUR
ebay.itItalyEUR
ebay.esSpainEUR
ebay.caCanadaCAD
ebay.com.auAustraliaAUD

How to scrape sold items on eBay

  1. Open the Actor in Apify Console.
  2. Add one or more terms to Search keywords.
  3. Select the eBay site.
  4. Set the condition, date range, price range, and result limit.
  5. Select Start.
  6. Open the Dataset tab when the run is complete.
  7. Download the data or send it to another service.

For a first test, use this input:

{
"keywords": ["iphone 12", "sony wh-1000xm5"],
"site": "ebay.com",
"condition": "used",
"days": 30,
"minPrice": 50,
"maxPrice": 1000,
"maxItems": 100
}

Input

FieldTypeRequiredDefaultDescription
keywordsarray of stringsYesProduct names or search terms.
sitestringNoebay.comeBay marketplace to search. Use a value from the supported marketplace table.
conditionstringNoallCondition filter. Use all, new, or used.
daysintegerNo30Get listings sold in the last specified number of days. Minimum value: 1.
minPricenumberNoMinimum sold price in the currency of the selected marketplace.
maxPricenumberNoMaximum sold price in the currency of the selected marketplace.
maxItemsintegerNo100Maximum number of results for each keyword. Minimum value: 1.

If you use multiple keywords, the Actor applies maxItems to each keyword. For example, two keywords and maxItems: 100 can produce up to 200 records.

Output

The Actor stores one record for each sold listing in the default dataset. A record has this format:

{
"searchQuery": "iphone 12",
"site": "ebay.com",
"listingId": "128010523042",
"title": "Apple iPhone 12 Pro Max - 128 GB",
"url": "https://www.ebay.com/itm/128010523042",
"imageUrl": "https://i.ebayimg.com/images/g/example/s-l225.jpg",
"soldPrice": 159.99,
"currency": "USD",
"shippingPrice": 8.49,
"shippingText": "+$8.49 delivery",
"totalPrice": 168.48,
"condition": "Parts Only",
"conditionDetails": null,
"soldAt": "2026-08-04T00:00:00.000Z",
"soldDateText": "Sold Aug 4, 2026",
"seller": {
"username": "example_seller",
"feedbackScore": null,
"feedbackPercent": null,
"isStore": false
},
"itemLocation": "Located in United States",
"quantitySold": 0,
"isPromoted": false,
"hasBestOffer": false,
"returnsAccepted": false
}

Output field reference

FieldDescription
searchQueryKeyword that found the listing.
siteeBay marketplace that the Actor searched.
listingIdUnique eBay listing ID.
titleListing title.
urlURL of the eBay item.
imageUrlURL of the primary item image.
soldPriceItem sale price, without the shipping price.
currencyISO currency code, such as USD, GBP, EUR, CAD, or AUD.
shippingPriceNumeric shipping price. Free shipping has the value 0.
shippingTextShipping text from the listing.
totalPriceSum of soldPrice and shippingPrice, when both values are available.
conditionItem condition shown by eBay.
conditionDetailsAdditional condition data, when available.
soldAtSale date in ISO 8601 format.
soldDateTextOriginal sale-date text.
sellerSeller name and available seller data.
itemLocationItem location text.
quantitySoldSold quantity, when available.
isPromotedIndicates if the result is a promoted listing.
hasBestOfferIndicates if best-offer text is present.
returnsAcceptedIndicates if return text is present.

Some fields can be null. eBay does not supply all fields for all listings and marketplaces.

Run with the Apify API

Use your Apify API token and send a POST request:

curl "https://api.apify.com/v2/acts/epicscrapers~ebay-sold-products/runs?token=YOUR_APIFY_TOKEN" \
-X POST \
-H "Content-Type: application/json" \
-d '{
"keywords": ["vintage watch"],
"site": "ebay.com",
"condition": "used",
"days": 14,
"maxItems": 50
}'

The request starts a run. Use the run response to get the default dataset ID and download the results.

Run with the Apify JavaScript client

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('epicscrapers/ebay-sold-products').call({
keywords: ['vintage watch'],
site: 'ebay.com',
condition: 'used',
days: 14,
maxItems: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Run with the Apify Python client

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("epicscrapers/ebay-sold-products").call(run_input={
"keywords": ["vintage watch"],
"site": "ebay.com",
"condition": "used",
"days": 14,
"maxItems": 50,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

Automate eBay sold-price research

You can schedule the Actor in Apify Console. For example, run the same searches each day and send new data to Google Sheets, Make, Zapier, Slack, a webhook, or your database. You can also connect the dataset to an AI agent for product classification or price analysis.

Use a stable set of keywords and filters when you compare results over time. Store the sale date, listing ID, sold price, shipping price, and currency with each record.

Limits and data quality

  • eBay can change its service or result format. Such a change can affect the available data.
  • A listing can omit seller, shipping, quantity, location, or condition data.
  • hasBestOffer shows that best-offer text is present. It does not show the private offer amount.
  • totalPrice is the item price plus the displayed shipping price. It does not include tax, import fees, or other charges.
  • Currency and price filters apply to the selected marketplace.
  • Search results can change between runs.
  • The Actor uses an Apify Residential Proxy. The run must have access to this proxy service.

Responsible use

Use this Actor only for lawful purposes. Follow the eBay terms, applicable laws, and data protection rules. Do not use the data to send spam or to make prohibited profiles of persons.

Support

If you find a problem, open an issue on the Actor page. Include the input, marketplace, run ID, and a short description of the expected result. Do not include your Apify API token.

This Actor is an independent data extraction tool. It is not an official eBay product and is not endorsed by eBay. eBay is a trademark of eBay Inc.