eBay Scraper - Listings, Sold Prices & Sellers (8 markets) avatar

eBay Scraper - Listings, Sold Prices & Sellers (8 markets)

Pricing

Pay per event + usage

Go to Apify Store
eBay Scraper - Listings, Sold Prices & Sellers (8 markets)

eBay Scraper - Listings, Sold Prices & Sellers (8 markets)

Scrape eBay active and sold listings, products, and seller info across 8 marketplaces (US/UK/DE/FR/IT/ES/CA/AU). Search by keyword or paste eBay URLs. Returns flat JSON with 28 fields per item — built for resellers, dropshippers, and AI agents. MCP/API-ready.

Pricing

Pay per event + usage

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

3

Bookmarked

298

Total users

71

Monthly active users

18 days

Issues response

4 hours ago

Last modified

Share

eBay Scraper - Sold Prices, Listings & Sellers (8 Markets)

This Apify Actor helps resellers, dropshippers, and AI agents scrape eBay active listings, sold listings, product details, and seller info across 8 marketplaces: US, UK, DE, FR, IT, ES, CA, and AU. It accepts either a keyword search query or direct eBay URLs. Each returned dataset record represents one eBay item and includes fields such as title, price, currency, condition, listing type, sold date, shipping cost, seller name, seller feedback, item URL, marketplace, and scrape timestamp. Use the output to compare live offers, review recent sold prices, and route follow-up workflows such as repricing, sourcing, or catalog enrichment.

Best fit and connected workflows

This Actor fits workflows where eBay data needs to be collected in a flat, analysis-ready shape.

Common routing patterns include:

  • Keyword research for resale and sourcing, using searchQuery and a marketplace filter.
  • Sold-comps review for price context, using mode: sold and date filters.
  • Item-level inspection, using direct /itm/ URLs in startUrls.
  • Cross-market comparison, by repeating the same query across multiple eBay regional sites.
  • AI-agent extraction, where an Apify-compatible dataset is easier to consume than a page-by-page browser flow.

For a focused downstream step, pair it with eBay Product Listing Scraper - Prices & Sellers (8 Markets) when you want a narrower listing-detail workflow, or with eBay Sold Listings Scraper - Price Comps & Analytics when the next step centers on sold-price analysis.

Practical scenario

Maya manages a small resale store. She starts with a search for vintage rolex submariner on ebay.com, sets mode to sold, and limits results to the last 30 days. The dataset returns fields like price, currency, soldDate, sellerName, sellerFeedbackPercent, and itemUrl. Maya compares the sold prices with current active listings, then opens the item URLs that match her target margin and stores the dataset in her own pricing sheet.

Input fields

All inputs are optional except that you provide either searchQuery or startUrls.

FieldTypePurpose
searchQuerystringKeyword query for eBay search, including quotes and minus signs for search syntax.
startUrlsarrayDirect eBay search-result URLs, category URLs, or individual item URLs.
modestringactive, sold, or both.
marketplacestringeBay regional site such as ebay.com or ebay.co.uk.
maxResultsintegerMaximum number of items to return.
conditionstringany, new, used, refurbished, or open_box.
minPriceintegerLower price bound in the marketplace currency.
maxPriceintegerUpper price bound in the marketplace currency.
sortBystringSort order such as best_match, ending_soon, or price_asc.
maxDaysBackintegerSold-mode window in days.
soldFromstringSold-mode lower bound in ISO date format.
soldTostringSold-mode upper bound in ISO date format.
detailedItemsbooleanVisits each item page for richer item specifics and gallery images.
proxyConfigurationobjectProxy settings, with residential proxies configured by default.

Focused input example

{
"searchQuery": "iphone 15 pro 256gb",
"mode": "sold",
"marketplace": "ebay.com",
"maxResults": 10,
"condition": "used",
"maxDaysBack": 30,
"sortBy": "price_desc",
"detailedItems": false
}

Output fields

Each dataset record contains a flat JSON item with the fields below.

FieldTypePurpose
itemIdstringeBay item identifier.
titlestringListing title.
pricenumber or nullCurrent or final sold price.
priceTextstringRaw price text from eBay.
currencystring or nullParsed currency code.
originalPricenumber or nullStruck-through price, when present.
discountPercentnumber or nullComputed discount from originalPrice.
conditionstring or nullItem condition.
listingTypestring or nullFor example buy_it_now, auction, or best_offer.
bidsCountinteger or nullBid count for auction items.
buyItNowAvailablebooleanWhether Buy It Now is available.
isSoldbooleanWhether the item is sold or completed.
soldDatestring or nullSale date in ISO-8601 format.
shippingCostnumber or nullShipping cost in marketplace currency.
shippingTypestring or nullShipping type such as free or paid.
itemLocationstring or nullItem location shown on eBay.
sellerNamestring or nulleBay seller username.
sellerFeedbackPercentnumber or nullPositive feedback percent.
sellerFeedbackCountinteger or nullTotal seller feedback count.
watchersCountinteger or nullWatchers count, when surfaced.
soldQuantityinteger or nullQuantity sold, when surfaced.
imageUrlstring or nullPrimary listing image URL.
itemUrlstringDirect URL to the item page.
marketplacestringMarketplace domain used for the scrape.
modestringactive or sold.
categoryNamestring or nullCategory breadcrumb in detailed mode.
itemSpecificsobject or nullItem attributes in detailed mode.
descriptionstring or nullCleaned description text in detailed mode.
imageUrlsarray or nullGallery images in detailed mode.
scrapedAtstringTimestamp for when the item was scraped.

Illustrative output record

{
"itemId": "375612345678",
"title": "Apple iPhone 15 Pro 256GB Natural Titanium Unlocked",
"price": 749.99,
"priceText": "US $749.99",
"currency": "USD",
"originalPrice": 899,
"discountPercent": 17,
"condition": "Pre-Owned",
"listingType": "buy_it_now",
"bidsCount": null,
"buyItNowAvailable": true,
"isSold": false,
"soldDate": null,
"shippingCost": 0,
"shippingType": "free",
"itemLocation": "Brooklyn, NY",
"sellerName": "techresellpro",
"sellerFeedbackPercent": 99.4,
"sellerFeedbackCount": 18452,
"watchersCount": null,
"soldQuantity": null,
"imageUrl": "https://i.ebayimg.com/images/g/abc/s-l1600.jpg",
"itemUrl": "https://www.ebay.com/itm/375612345678",
"marketplace": "ebay.com",
"mode": "active",
"categoryName": null,
"itemSpecifics": null,
"description": null,
"imageUrls": null,
"scrapedAt": "2026-05-03T19:42:11.000Z"
}

How it works

The Actor accepts either search keywords or direct eBay URLs. It can scrape:

  • active listings,
  • sold listings for price comparisons,
  • both active and sold in one run,
  • and, when enabled, detailed item pages with item specifics, description text, seller feedback details, and gallery images.

It supports 8 eBay marketplaces and uses pagination automatically, with eBay's page size handled by the Actor. Residential proxies are configured by default for reliability on eBay pages. The result is written to an Apify dataset and is available through the platform, API, exports, and Apify MCP.

Pricing

This Actor uses Pay per event pricing plus Apify platform usage. The live cost depends on the number and type of items returned, plus the standard Apify platform charges for compute and storage. Open the live Pricing tab on the Actor page for the current pricing details.

A simple example: if you scrape one hundred items in fast search-card mode, the item-based event count is one hundred. If you scrape the same number in detailed mode, those detailed item-page records are charged as detailed results.

Use with AI agents (MCP)

This Actor is available through Apify MCP and is discoverable as the exact Actor identity khadinakbar/ebay-all-in-one-scraper.

Tool description: scrape eBay listings, sold items, product details, and seller info from a keyword query or direct eBay URLs, then return a structured dataset that AI agents can read and summarize.

Scrape sold eBay results for "sony a7 iii" on ebay.com, limit to 20 items, and return the dataset with title, soldDate, price, shippingCost, sellerName, sellerFeedbackPercent, and itemUrl. Use sold mode and keep the output in a flat table for pricing analysis.

Output interpretation: use isSold and soldDate to separate sold comps from active listings, currency and price for direct price comparison, and sellerFeedbackPercent plus sellerFeedbackCount to gauge seller history. itemUrl preserves provenance and lets a downstream agent open the original listing. marketplace and mode clarify the collection context.

Scope and pagination: the Actor follows eBay pagination automatically up to maxResults. If you need a larger sample, increase maxResults and let the Actor continue across pages. Since pricing is event-based, larger runs increase event count proportionally.

Apify API example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: process.env.APIFY_TOKEN,
});
const run = await client.actor('khadinakbar/ebay-all-in-one-scraper').call({
searchQuery: 'vintage rolex submariner',
mode: 'sold',
marketplace: 'ebay.com',
maxResults: 5,
maxDaysBack: 30,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Best results and outcome guidance

Use searchQuery when the discovery step starts from a keyword. Use startUrls when you already have a search-result page, category page, or item page. Use mode: sold for comps, mode: active for live inventory, and mode: both when you want a single dataset that covers both current offers and recent sales. For marketplace-specific pricing, keep the marketplace aligned with the buyer region you are analyzing. If you need item specifics, full descriptions, or gallery images, enable detailedItems.

Continue the workflow

Design note

I found that the output contract keeps priceText separate from parsed price and currency, which makes it straightforward to preserve the original eBay display while still supporting clean analysis.

FAQ

When should I use a search query versus direct URLs?
Use searchQuery for keyword discovery and startUrls when you already have a specific eBay page or item link to collect.

Which mode fits pricing research?
mode: sold fits sold-comps work, while mode: active fits live offer tracking. mode: both combines the two in one dataset.

How do I route data to a more detailed eBay workflow?
Use this Actor for a broad market pass, then route item-level follow-up to eBay Product Listing Scraper - Prices & Sellers (8 Markets) or sold-comps analysis to eBay Sold Listings Scraper - Price Comps & Analytics.

Which marketplaces are included?
The Actor supports ebay.com, ebay.co.uk, ebay.de, ebay.fr, ebay.it, ebay.es, ebay.ca, and ebay.com.au.

What does detailed mode add?
When detailedItems is enabled, the dataset can include categoryName, itemSpecifics, description, and imageUrls.

Responsible use

Use the Actor in ways that respect eBay's terms, site policies, and applicable privacy and data-protection laws. Review the live Pricing tab before running large jobs so you understand the current event-based cost profile. Keep your queries focused, choose the marketplace that matches your use case, and store only the data you need for the task at hand.