eBay Product Listing Scraper - Filters & 8 Markets
Pricing
$2.00 / 1,000 results
eBay Product Listing Scraper - Filters & 8 Markets
Scrape eBay search results, filtered listings and category pages across 8 marketplaces. Build a search from built-in filters - keywords, category, price, condition, seller, location - or paste URLs. Returns title, price, currency, condition, seller rating, shipping, sold count and more.
Pricing
$2.00 / 1,000 results
Rating
4.3
(27)
Developer
ВAH
Maintained by CommunityActor stats
61
Bookmarked
914
Total users
91
Monthly active users
2 days ago
Last modified
Categories
Share
What does eBay Product Listing Scraper do?
eBay Product Listing Scraper extracts product data from eBay search results, filtered results, and category pages across 8 eBay marketplaces — US, UK, Germany, France, Italy, Spain, Canada, and Australia.
It works as an unofficial eBay API alternative. You can either build a search from the built-in advanced filters — no URL needed — or paste eBay listing URLs. Either way you get clean, structured data: title, price, currency, condition, seller rating, shipping, sold count, item location, image, and the listing URL.
Why use eBay Product Listing Scraper?
🔍 Two ways to search. Build a search right in the input form (keywords + filters), or paste eBay search/category URLs. Fill in both and the Actor scrapes both.
🎛️ 14 filters that mirror eBay's own Advanced Search. Keyword match mode, excluded words, title+description search, category, price range, buying format, condition, free shipping, item location, ships-to country, and specific sellers (include or exclude). No URL building, no guessing parameter names.
🌍 8 eBay marketplaces. Switch the marketplace to get that country's listings, currency, and language — eBay Germany returns German listings in EUR, eBay UK returns GBP, and so on.
🏷️ Category and brand pages too. Not just /sch/ search URLs — ebay.com/b/... category and brand pages work as well.
🔤 Batch keywords. Enter a list of search terms and each one runs as its own search using the same filters.
⚡ 240 listings per page. The Actor requests eBay's maximum page size, so large searches finish in fewer round trips.
🧾 Seller data included. Seller username, positive feedback percentage, and feedback count come back with every listing.
What can you use eBay data for?
- Price monitoring — track how prices and shipping costs move across sellers and countries
- Competitor research — see what other sellers list, at what price, and how much they sell
- Product and market research — find demand signals like sold counts and watcher counts
- Dropshipping and sourcing — filter by condition, location, and price to find supply
- Cross-market comparison — run the same keyword on 8 marketplaces and compare
Capabilities at a glance
| eBay Product Listing Scraper | |
|---|---|
| Input methods | Built-in advanced search and pasted URLs |
| Search filters | 14, mirroring eBay's Advanced Search form |
| Marketplaces | 8 (US, UK, DE, FR, IT, ES, CA, AU) |
| Page types | Search results, filtered results, category/brand pages |
| Listings per page | 240 (eBay's maximum) |
| Batch keywords | Yes — each keyword runs as its own search |
| Output fields | 26 |
What data can you extract from eBay?
Every listing comes back with these 26 fields:
| Field | Type | Description |
|---|---|---|
product_title | string | Listing title as shown on eBay |
price | string | Current price, formatted the way eBay shows it ($123.49, EUR 45,00). Can be a range for multi-variant listings |
currency | string | Currency code detected from the price — USD, GBP, EUR, CAD, AUD, and others |
original_price | string | Pre-discount price, when the listing shows one |
condition | string | Item condition — Brand New, Pre-Owned, New (Other), Open Box. On non-English sites it also carries the seller type, exactly as eBay writes it (e.g. Gebraucht | Privat) |
item_attributes | string | Size, capacity, brand and any seller subtitle eBay shows under the title (e.g. US M 11 + more · Nike) |
seller_name | string | Seller's eBay user ID |
seller_feedback_percent | string | Seller's positive feedback percentage |
seller_feedback_count | string | Number of feedback ratings, abbreviated as eBay shows it (e.g. 2.6K) |
rating | string | Product star rating, when the listing has product reviews |
review_count | string | Number of product reviews |
sold_count | string | Sold count as eBay shows it (e.g. 17+ sold) |
watchers | string | Watcher count (e.g. 12+ watchers) |
buying_format | string | Buy It Now, or Best Offer, or auction details with bid count and time left |
shipping_cost | string | Shipping or delivery line as eBay shows it (e.g. +$14.95 delivery, Free delivery) |
free_returns | boolean | Whether the listing advertises free returns |
item_location | string | Where the item ships from, when eBay renders it |
authenticity_guarantee | boolean | Whether the listing carries eBay's Authenticity Guarantee badge |
card_attribute | array | Every label on the listing card, raw — coupons, tiered discounts, badges and anything without its own field |
image_url | string | Product image, at the largest size eBay exposes on listing pages |
product_url | string | Link to the listing |
item_id | string | eBay item number |
marketplace | string | Which eBay market the listing came from — US, GB, DE, FR, IT, ES, CA, AU |
page_number | integer | Which result page the listing came from |
scraped_at | string | UTC timestamp (ISO 8601) of when the page was fetched |
input_url | string | The search or category URL this listing came from |
How to scrape eBay listings
- Open the Actor on Apify Store and click Try for free.
- Choose how to search — either type one or more keywords under Advanced search and pick your filters, or paste eBay search/category URLs under Search by URL.
- Pick the marketplace — select the eBay country site you want (defaults to eBay US), and optionally set Proxy country to match.
- Click Start — the Actor collects up to 240 listings per page and writes results as it goes.
- Download your data — export as JSON, CSV, Excel, XML or HTML, or pull it through the Apify API.
How much does it cost to scrape eBay?
This Actor charges $2.00 per 1,000 results. Apify's platform costs are included in that price — there is no separate compute charge to work out.
Apify's free plan comes with $5 in monthly usage credits, which is about 2,500 eBay listings per month at no cost. Paid plans start at $19/month and add more credits plus higher limits.
Because the Actor talks to eBay over plain HTTP instead of driving a full browser, runs finish quickly — a 240-listing page typically takes 10–20 seconds — so you spend your credits on results rather than on waiting.
Use Max pages per URL if you want a hard ceiling on how much a single run collects.
Input
You can use either input method, or both at once. Full descriptions are on the Actor's Input tab.
Option 1 — Advanced search (no URL needed)
| Field | Type | Description |
|---|---|---|
keywords | array | Search terms, one per line. Each runs as its own search using the filters below |
ebaySite | select | Which eBay marketplace to search — changes currency, language and which listings appear |
keywordMatch | select | All words / any words / exact phrase / exact words in any order |
excludeKeywords | string | Skip listings containing these words |
searchTitleDescription | boolean | Also search inside item descriptions, not just titles |
category | select | Limit the search to one main eBay category |
minPrice / maxPrice | integer | Price range, in the marketplace's currency |
buyingFormat | select | Buy It Now, Auction, Accepts offers, or Classified ads |
condition | select | New, Used, or Not specified |
freeShipping | boolean | Only listings with free shipping |
locatedIn | select | Only items physically located in this country |
availableTo | select | Only items that ship to this country |
sellers | string | Specific seller usernames, comma-separated |
sellersMode | select | Include only those sellers, or exclude them |
Option 2 — Search by URL
| Field | Type | Description |
|---|---|---|
listingUrls | array | eBay search URLs (ebay.com/sch/...) or category/brand URLs (ebay.com/b/...) |
Options for both
| Field | Type | Default | Description |
|---|---|---|---|
maxPages | integer | 0 | Result pages to scrape per URL, 240 listings each. 0 scrapes every page |
sortBy | select | Best Match | Same options as eBay's own Sort dropdown. Overrides any sort order in your input URL |
proxyCountry | select | United States | Which country's version of eBay to load. eBay localizes prices, shipping and availability by country |
Output
Each listing is one dataset item. This is a real record from a run on eBay US:
{"page_number": 1,"item_id": "135575967654","product_title": "Mens Sizes 7.5-15 Nike Air Max 2017 Triple Black 849559-004 Brand New Fast Ship","condition": "Brand New","item_attributes": "US M 11 + more · Nike","price": "$123.49","currency": "USD","image_url": "https://i.ebayimg.com/images/g/zAYAAeSwAlxnu8Xl/s-l500.webp","original_price": "$129.99", // only when the listing shows a pre-discount price"rating": "3.0", // only when the listing has product reviews"review_count": "2","sold_count": "17+ sold", // only when eBay shows a sold count"watchers": "", // only when eBay shows a watcher count"shipping_cost": "+$14.95 delivery","item_location": "United States","buying_format": "Buy It Now","free_returns": false,"authenticity_guarantee": true, // eBay's Authenticity Guarantee badge"seller_name": "hdhy1678","seller_feedback_percent": "99.9","seller_feedback_count": "2.6K","card_attribute": [ // raw labels, including anything without its own field"Buy It Now","+$14.95 delivery","Located in United States","17+ sold","Authenticity Guarantee"],"product_url": "https://www.ebay.com/itm/135575967654","marketplace": "US","scraped_at": "2026-09-19T07:24:07Z","input_url": "https://www.ebay.com/sch/i.html?_nkw=nike+air+max"}
Tips
- Match the proxy country to the marketplace. eBay localizes its pages, so prices, shipping costs and even which listings appear depend on the proxy IP's country. If you search eBay Germany, set Proxy country to Germany for the most realistic view.
Located inandProxy countryare different things. Located in filters where the item physically is. Proxy country changes which regional version of eBay gets loaded. They work independently.- Category and brand pages return fewer fields. eBay renders
ebay.com/b/...pages from a different template that has no seller info, item location, or product ratings. Those fields come back empty for such URLs — the data simply isn't on the page. Search URLs and the advanced search return the full field set. - One image per listing. eBay's listing pages expose a single product image per item. The extra thumbnails you see when hovering a card are loaded by eBay's JavaScript and aren't part of the page data.
- Expect a small number of duplicates across pages. eBay reshuffles results between page requests, so a listing can appear on two pages. Deduplicate on
item_idif you need a strictly unique set. - eBay caps deep pagination at roughly 100–200 pages per search. For very broad keywords, narrow the search with filters instead of paging deeper.
- Run it on a schedule to track prices over time, and connect the results to Google Sheets, Slack, Zapier, Make or your own webhook through Apify integrations.
FAQ and support
Is it legal to scrape eBay?
Our Actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our Actors, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
Can I scrape sold or completed eBay listings?
Not with this Actor. eBay now puts sold and completed listings behind a sign-in wall, so those filters aren't offered here rather than silently returning nothing. For realized sale prices, use a dedicated sold-listings Actor.
Can I paste a single item URL?
No — this Actor reads listing pages, not individual items. Paste a search URL (ebay.com/sch/...) or a category URL (ebay.com/b/...), or use the advanced search. For a single product's full details, use eBay Product Details Scraper.
How do I scrape listings from one specific seller?
Put their eBay username in the Sellers field under advanced search and leave Sellers mode on Include only these sellers. To scrape an entire store instead, use eBay Store Scraper.
Which eBay marketplaces are supported?
Eight: eBay US, UK, Germany, France, Italy, Spain, Canada and Australia. Pasted URLs keep whatever domain you give them, so other eBay domains generally work too.
How many listings can I get in one run?
Each result page holds up to 240 listings, and eBay allows roughly 100–200 pages per search. Use Max pages per URL to set your own ceiling, and batch multiple keywords to cover more ground in a single run.
Related Actors
Looking for more eBay data? 😊
- eBay Product Details Scraper — full details for individual products: seller name, items sold, positive feedback, price, condition, images, shipping, delivery, return policy, item number, full description and item specifics.
- eBay Store Scraper — all products from any eBay store, with seller name, title, price, condition, shipping info, return policy and item specifics.
- eBay Product Reviews Scraper with Advanced Filters — product reviews with filters for sorting, rating type, and image-only reviews.
Support
Found a bug or want a field that isn't here yet? Open an issue on the Actor's Issues tab, or leave feedback on the Actor page. We read everything and ship fixes quickly.