eBay Product Listing Scraper — Prices & Sellers (8 Markets)
Pricing
from $3.00 / 1,000 ebay listing scrapeds
eBay Product Listing Scraper — Prices & Sellers (8 Markets)
Scrape active eBay product listings by keyword or URL across 8 marketplaces, with price, condition, shipping, seller, image and item URL, plus optional item-page enrichment. For sold-price comps, use eBay Scraper.
Pricing
from $3.00 / 1,000 ebay listing scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
17 days ago
Last modified
Categories
Share
What is eBay Product Listing Scraper — Prices & Sellers?
eBay Product Listing Scraper is an Apify Actor for active eBay listings. It accepts a keyword search or eBay search, category, or item URL, and returns one dataset record per listing with fields such as price, condition, shipping cost, seller name, seller feedback, image URL, and item URL. With detailedItems enabled, it also adds item specifics, category breadcrumbs, cleaned description text, and gallery images.
This Actor is usable through Apify MCP and is designed for workflows that need current listing data from ebay.com, ebay.co.uk, ebay.de, ebay.fr, ebay.it, ebay.es, ebay.ca, and ebay.com.au. For sold-price comps and broader seller coverage, use the connected sibling actor ebay-all-in-one-scraper.
Best fit and connected workflows
This Actor fits workflows that need active eBay inventory in a structured dataset:
- keyword monitoring for products, brands, and models
- collection from eBay search result pages and category pages
- direct scraping from individual
/itm/item URLs - marketplace-aware price tracking across the supported regional sites
- agent workflows that need record-based eBay listing data through Apify MCP
A practical workflow is to start with a keyword or URL here, read the returned item URLs and seller fields, and pass selected listings into analysis, enrichment, or tracking steps. When the next step is sold-price comparison or wider seller coverage, the related actor eBay Scraper - Listings, Sold Prices & Sellers (8 markets) is a natural follow-up: the referenced Actor page
Practical scenario
A reseller named Maya starts with the keyword vintage rolex submariner on ebay.co.uk. The dataset returns listing title, price, currency, condition, shipping cost, seller name, seller feedback percent, and item URL for each record. She uses those fields to compare active offers and seller context, then opens the item URLs for the listings that match her target price range. Her next action is to save the suitable matches and run the same search again on a schedule to watch for new inventory.
Input fields
| Field | Type | Purpose |
|---|---|---|
searchQuery | string | Keyword search for active listings. Supports eBay search syntax such as quotes for exact match and minus for exclusion. |
startUrls | array | eBay search result URLs, category URLs, or individual item URLs. When provided, they are used as the entry point. |
marketplace | string | Chooses the eBay marketplace domain and affects currency, language, and inventory. |
maxResults | integer | Maximum number of items to return. eBay pagination is handled automatically. |
condition | string | Filters by item condition: any, new, used, refurbished, or open_box. |
minPrice | integer | Lower price bound in the selected marketplace currency. |
maxPrice | integer | Upper price bound in the selected marketplace currency. |
sortBy | string | Sort order before scraping, such as best_match, ending_soon, newest, price_asc, or price_desc. |
detailedItems | boolean | Visits each item page to collect item specifics, full description, and gallery images. |
proxyConfiguration | object | Proxy settings. The default uses Apify residential proxies. |
Focused input example
{"searchQuery": "airpods pro 2","marketplace": "ebay.com","maxResults": 10,"condition": "any","sortBy": "best_match","detailedItems": false}
Output fields
Each dataset record corresponds to one scraped listing.
| Field | Type | Purpose |
|---|---|---|
itemId | string | eBay's unique item identifier. |
title | string | Listing title as displayed on eBay. |
price | number or null | Current price, or final sold price in sold mode. |
priceText | string | Raw price text including currency symbol or range. |
currency | string or null | Parsed currency code such as USD, GBP, EUR, CAD, or AUD. |
originalPrice | number or null | Original struck-through price when present. |
discountPercent | number or null | Computed discount percent when originalPrice is present. |
condition | string or null | Item condition text. |
listingType | string or null | Listing type such as buy_it_now, auction, or best_offer. |
bidsCount | integer or null | Bid count for auction listings. |
buyItNowAvailable | boolean | Indicates whether Buy It Now is available. |
isSold | boolean | Indicates whether the record represents a sold listing. |
soldDate | string or null | ISO-8601 sale date for sold listings. |
shippingCost | number or null | Shipping cost in marketplace currency. |
shippingType | string or null | Shipping type such as free, paid, or calculated. |
itemLocation | string or null | Where the item ships from. |
sellerName | string or null | eBay seller username. |
sellerFeedbackPercent | number or null | Seller positive feedback percent. |
sellerFeedbackCount | integer or null | Total seller feedback count. |
watchersCount | integer or null | Watcher 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 eBay item page. |
marketplace | string | eBay marketplace domain used for the run. |
mode | string | active or sold. |
categoryName | string or null | Category breadcrumb in detailed mode. |
itemSpecifics | object or null | Item attributes such as Brand, Model, MPN, or Color in detailed mode. |
description | string or null | Cleaned item description text in detailed mode. |
imageUrls | array or null | Gallery image URLs in detailed mode. |
scrapedAt | string | ISO-8601 timestamp for the scrape. |
Illustrative output record
{"itemId": "204512345678","title": "Apple AirPods Pro 2nd Generation USB-C - Sealed","price": 189.99,"priceText": "US $189.99","currency": "USD","originalPrice": 249,"discountPercent": 24,"condition": "Brand New","listingType": "buy_it_now","bidsCount": null,"buyItNowAvailable": true,"isSold": false,"soldDate": null,"shippingCost": 0,"shippingType": "free","itemLocation": "United States","sellerName": "techdeals_usa","sellerFeedbackPercent": 99.2,"sellerFeedbackCount": 19700,"watchersCount": 42,"soldQuantity": null,"imageUrl": "https://i.ebayimg.com/images/g/abcAAOSw.../s-l1600.jpg","itemUrl": "https://www.ebay.com/itm/204512345678","marketplace": "ebay.com","mode": "active","categoryName": null,"itemSpecifics": null,"description": null,"imageUrls": null,"scrapedAt": "2026-06-18T03:00:00.000Z"}
How it works
The Actor accepts either a keyword search or a list of eBay URLs. It then scrapes active listings in the selected marketplace and stores each listing as one dataset item. The default path returns fast search-card data: title, price, condition, shipping, seller, image, and item URL. When detailedItems is enabled, the Actor also visits each item page and extracts item specifics, description text, category breadcrumbs, and gallery images.
Supported marketplaces are ebay.com, ebay.co.uk, ebay.de, ebay.fr, ebay.it, ebay.es, ebay.ca, and ebay.com.au. Residential proxies are part of the default configuration.
Evergreen pricing
This Actor uses Pay per event plus Apify platform usage charges. The live Pricing tab is the current source of truth for the rates that apply to your account and execution configuration.
Events are charged per scraped record, with a separate actor-start event. For example, a run that returns one thousand fast-path listings produces one actor-start event and one thousand listing events. If you enable detailed enrichment, those item-page records are charged at the detailed-result event rate instead.
Review the live Pricing tab before scaling a run so you can see the current per-event values and how Apify platform usage is applied.
Use with AI agents (MCP)
This Actor is available through Apify MCP as a tool for retrieving structured active eBay listing data.
Exact Actor identity: khadinakbar/ebay-product-listing-scraper
Tool description: provide a keyword or eBay URL list, choose a marketplace, and receive dataset records for active listings with price, seller, shipping, image, and item URL fields. When detailed mode is enabled, the output also includes item specifics and enriched page content.
Find active listings for this keyword and return the fields needed for a pricing summary:
searchQuery: "sony wh-1000xm5",marketplace: "ebay.com",maxResults: 20,sortBy: "best_match"
Output interpretation:
- Use
itemUrlfor navigation or follow-up actions. - Use
price,currency, andshippingCostfor comparison. - Use
sellerNameandsellerFeedbackPercentfor seller context. - Use
modeandisSoldto identify the record type. - Use
itemSpecifics,description, andimageUrlswhendetailedItemsis enabled.
Provenance and scope:
- Each dataset record corresponds to one scraped eBay listing.
- The Actor focuses on active listings in the selected marketplace.
- For sold-price comps, completed listings, and seller storefront workflows, use
ebay-all-in-one-scraper.
Pagination and cost guidance:
- eBay pagination is handled automatically.
maxResultssets the upper bound on returned records.- Each returned listing produces a billed event, and detailed enrichment uses the detailed event rate.
Apify API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({token: process.env.APIFY_TOKEN,});const run = await client.actor('khadinakbar/ebay-product-listing-scraper').call({searchQuery: 'airpods pro 2',marketplace: 'ebay.com',maxResults: 10,detailedItems: false,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Best results and outcome guidance
Use a keyword that matches how listings are titled on eBay, then narrow the result set with marketplace, condition, price bounds, and sort order. If you already have a search result page, category page, or item URL, place it in startUrls so the Actor works from that listing context. Enable detailedItems when you need item specifics or gallery images from the item page, and keep it off when the core listing fields are enough.
Continue the workflow
- Then use eBay Sold Listings Scraper — Price Comps & Analytics to extend eBay Product Listing Scraper — Prices & Sellers research with a complementary analysis contract.
- Then use Ecommerce Scraper — Shopify, WooCommerce, Generic (MCP) to extend eBay Product Listing Scraper — Prices & Sellers with a neighboring commerce research source when the brief calls for Ecommerce data.
Design note
I found that the live dataset contract includes both priceText and the parsed numeric price, which makes it practical to preserve eBay's original display text while also supporting numeric analysis.
FAQ
Can I start from a keyword and also pass URLs?
Yes. The Actor accepts either searchQuery or startUrls as the entry point for active listing workflows.
Which eBay sites are supported?
The Actor supports eight marketplaces: US, UK, Germany, France, Italy, Spain, Canada, and Australia.
Can I use item URLs directly?
Yes. Individual https://www.ebay.com/itm/... URLs are accepted through startUrls.
What should I use for sold-price comps?
Use ebay-all-in-one-scraper for sold listings, completed listings, and seller storefront workflows.
When should I enable detailed mode?
Use detailedItems when you need item specifics, the cleaned description, or gallery images from each item page.
Responsible use
This Actor scrapes publicly visible eBay listing pages and item pages. Use the data in ways that respect eBay's terms, applicable law, and the rights of others. Keep runs aligned with your operational needs, and review the live Pricing tab before scaling usage.