eBay Product Listing Scraper — Prices & Sellers (8 Markets) avatar

eBay Product Listing Scraper — Prices & Sellers (8 Markets)

Pricing

from $3.00 / 1,000 ebay listing scrapeds

Go to Apify Store
eBay Product Listing Scraper — Prices & Sellers (8 Markets)

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

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

17 days ago

Last modified

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

FieldTypePurpose
searchQuerystringKeyword search for active listings. Supports eBay search syntax such as quotes for exact match and minus for exclusion.
startUrlsarrayeBay search result URLs, category URLs, or individual item URLs. When provided, they are used as the entry point.
marketplacestringChooses the eBay marketplace domain and affects currency, language, and inventory.
maxResultsintegerMaximum number of items to return. eBay pagination is handled automatically.
conditionstringFilters by item condition: any, new, used, refurbished, or open_box.
minPriceintegerLower price bound in the selected marketplace currency.
maxPriceintegerUpper price bound in the selected marketplace currency.
sortBystringSort order before scraping, such as best_match, ending_soon, newest, price_asc, or price_desc.
detailedItemsbooleanVisits each item page to collect item specifics, full description, and gallery images.
proxyConfigurationobjectProxy 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.

FieldTypePurpose
itemIdstringeBay's unique item identifier.
titlestringListing title as displayed on eBay.
pricenumber or nullCurrent price, or final sold price in sold mode.
priceTextstringRaw price text including currency symbol or range.
currencystring or nullParsed currency code such as USD, GBP, EUR, CAD, or AUD.
originalPricenumber or nullOriginal struck-through price when present.
discountPercentnumber or nullComputed discount percent when originalPrice is present.
conditionstring or nullItem condition text.
listingTypestring or nullListing type such as buy_it_now, auction, or best_offer.
bidsCountinteger or nullBid count for auction listings.
buyItNowAvailablebooleanIndicates whether Buy It Now is available.
isSoldbooleanIndicates whether the record represents a sold listing.
soldDatestring or nullISO-8601 sale date for sold listings.
shippingCostnumber or nullShipping cost in marketplace currency.
shippingTypestring or nullShipping type such as free, paid, or calculated.
itemLocationstring or nullWhere the item ships from.
sellerNamestring or nulleBay seller username.
sellerFeedbackPercentnumber or nullSeller positive feedback percent.
sellerFeedbackCountinteger or nullTotal seller feedback count.
watchersCountinteger or nullWatcher count when surfaced.
soldQuantityinteger or nullQuantity sold when surfaced.
imageUrlstring or nullPrimary listing image URL.
itemUrlstringDirect URL to the eBay item page.
marketplacestringeBay marketplace domain used for the run.
modestringactive or sold.
categoryNamestring or nullCategory breadcrumb in detailed mode.
itemSpecificsobject or nullItem attributes such as Brand, Model, MPN, or Color in detailed mode.
descriptionstring or nullCleaned item description text in detailed mode.
imageUrlsarray or nullGallery image URLs in detailed mode.
scrapedAtstringISO-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 itemUrl for navigation or follow-up actions.
  • Use price, currency, and shippingCost for comparison.
  • Use sellerName and sellerFeedbackPercent for seller context.
  • Use mode and isSold to identify the record type.
  • Use itemSpecifics, description, and imageUrls when detailedItems is 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.
  • maxResults sets 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

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.