eBay Scraper - Listings, Sold Prices & Sellers (8 markets)
Pricing
Pay per event + usage
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
Maintained by CommunityActor stats
3
Bookmarked
298
Total users
71
Monthly active users
18 days
Issues response
4 hours ago
Last modified
Categories
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
searchQueryand a marketplace filter. - Sold-comps review for price context, using
mode: soldand date filters. - Item-level inspection, using direct
/itm/URLs instartUrls. - 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.
| Field | Type | Purpose |
|---|---|---|
searchQuery | string | Keyword query for eBay search, including quotes and minus signs for search syntax. |
startUrls | array | Direct eBay search-result URLs, category URLs, or individual item URLs. |
mode | string | active, sold, or both. |
marketplace | string | eBay regional site such as ebay.com or ebay.co.uk. |
maxResults | integer | Maximum number of items to return. |
condition | string | any, new, used, refurbished, or open_box. |
minPrice | integer | Lower price bound in the marketplace currency. |
maxPrice | integer | Upper price bound in the marketplace currency. |
sortBy | string | Sort order such as best_match, ending_soon, or price_asc. |
maxDaysBack | integer | Sold-mode window in days. |
soldFrom | string | Sold-mode lower bound in ISO date format. |
soldTo | string | Sold-mode upper bound in ISO date format. |
detailedItems | boolean | Visits each item page for richer item specifics and gallery images. |
proxyConfiguration | object | Proxy 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.
| Field | Type | Purpose |
|---|---|---|
itemId | string | eBay item identifier. |
title | string | Listing title. |
price | number or null | Current or final sold price. |
priceText | string | Raw price text from eBay. |
currency | string or null | Parsed currency code. |
originalPrice | number or null | Struck-through price, when present. |
discountPercent | number or null | Computed discount from originalPrice. |
condition | string or null | Item condition. |
listingType | string or null | For example buy_it_now, auction, or best_offer. |
bidsCount | integer or null | Bid count for auction items. |
buyItNowAvailable | boolean | Whether Buy It Now is available. |
isSold | boolean | Whether the item is sold or completed. |
soldDate | string or null | Sale date in ISO-8601 format. |
shippingCost | number or null | Shipping cost in marketplace currency. |
shippingType | string or null | Shipping type such as free or paid. |
itemLocation | string or null | Item location shown on eBay. |
sellerName | string or null | eBay seller username. |
sellerFeedbackPercent | number or null | Positive feedback percent. |
sellerFeedbackCount | integer or null | Total seller feedback count. |
watchersCount | integer or null | Watchers count, when surfaced. |
soldQuantity | integer or null | Quantity sold, when surfaced. |
imageUrl | string or null | Primary listing image URL. |
itemUrl | string | Direct URL to the item page. |
marketplace | string | Marketplace domain used for the scrape. |
mode | string | active or sold. |
categoryName | string or null | Category breadcrumb in detailed mode. |
itemSpecifics | object or null | Item attributes in detailed mode. |
description | string or null | Cleaned description text in detailed mode. |
imageUrls | array or null | Gallery images in detailed mode. |
scrapedAt | string | Timestamp 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
- Then use eBay Product Listing Scraper — Prices & Sellers to extend eBay Scraper - Sold Prices, Listings & Sellers (8 Markets) research with a complementary content contract.
- Then use eBay Sold Listings Scraper — Price Comps & Analytics to extend eBay Scraper - Sold Prices, Listings & Sellers (8 Markets) research with a complementary analysis contract.
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.