eBay Listings Scraper
Pricing
from $4.00 / 1,000 product listings
eBay Listings Scraper
Extract active eBay listings by keyword or URL across eBay country sites: titles, prices, conditions, sold counts, seller feedback, item specifics and images, with price, condition and format filters.
Pricing
from $4.00 / 1,000 product listings
Rating
0.0
(0)
Developer
FalconScrape
Maintained by CommunityActor stats
3
Bookmarked
156
Total users
11
Monthly active users
6.7 hours
Issues response
2 days ago
Last modified
Categories
Security
Limited permissionsShare
🛒 eBay Scraper: Listings, Prices and Sellers
eBay Listings Scraper is an eBay scraper and a practical alternative to an eBay API for active listings. Search by keyword or paste any eBay URL and get clean JSON with prices, conditions, shipping, sold counts, seller feedback and locations, with optional full item details. Built for price trackers, resellers and market research teams, on every eBay country site, with no API key and no login.
Sold and completed listings are not supported. eBay shows sold results only to signed-in users, so URLs with the Sold items filter (
LH_Sold=1orLH_Complete=1) are skipped with a clear message. ThesoldCountfield shows how many of an active listing have sold.
🎯 Use cases
- eBay price tracker: record asking prices for a product every day and watch how they move, by condition and by seller.
- eBay market research: compare price bands, sold counts and watchers across a category before you buy stock.
- Resale and arbitrage: find underpriced listings, including auctions ending soon, with price and condition filters.
- Competitor and seller monitoring: track everything a seller or store lists, at what price, and how fast it sells.
- eBay item specifics at scale: collect brand, model, MPN and the other item specifics to build product catalogues.
- Cross-border price checks: run the same keyword on ebay.com, ebay.co.uk, ebay.de and other sites, each in its own currency.
✨ Features
- Keyword search or URLs. Type keywords and pick an eBay site, or paste search, category, seller, store and item URLs from your browser, in any mix.
- Filters. Price range, condition, buying format (auction, Buy It Now, accepts offers), sort order, category, seller, free shipping and item location.
- Seller and location on list rows. Seller name, feedback score, positive rate and item location come with the listing where eBay shows them on the results page, with no detail page to pay for.
- Full item details when you need them. Turn on Scrape listing details for all item specifics, brand, MPN, seller notes and the complete image gallery.
- Past the 10,000-result limit. eBay shows at most ~10,000 results per search. Bigger searches are split into price bands automatically, and each listing is returned and charged once.
- Every country site. Prices are read in each site's format (
EUR 1.299,00becomes1299) with the right currency code, and item links stay on that site. - Fair billing. No fee for failed pages or blank rows, duplicates are dropped across searches, and the run stops at your maximum charge with every stored row charged and every charged row stored.
⚙️ How it works
- Add what to scrape: keywords in Search keywords, or URLs in Start URLs. Add filters if you need them.
- Set the limit with Max items, and turn on Scrape listing details if you need the full item records.
- Run it and export the results as JSON, CSV or Excel, or read them through the Apify API.
📥 Input
| Field | Type | Description |
|---|---|---|
searchQueries | array | Keywords to search, one search each. |
marketplace | string | The eBay site keyword searches run on: ebay.com (default), ebay.co.uk, ebay.de, ebay.fr, ebay.it, ebay.es, ebay.ca, ebay.com.au, ebay.at, ebay.ch, ebay.nl, ebay.ie, ebay.pl. |
startUrls | array | eBay search, category (/b/…), seller (/usr/…), store (/str/…) or item (/itm/…) URLs. |
maxItems | integer | Maximum listings across all keywords and URLs, default 50, 0 for no limit. |
scrapeDetails | boolean | Visit each listing's page for full details. Default false. |
minPrice, maxPrice | number | Price range, in the site's currency. |
condition | string | new, open_box, refurbished, used or for_parts. |
buyingFormat | string | auction, buy_it_now or best_offer. |
sort | string | best_match, ending_soonest, newly_listed, price_lowest or price_highest. |
category | string | eBay category number, e.g. 9355 for Cell Phones & Smartphones. |
seller | string | Only this seller's listings: their eBay username. |
freeShipping | boolean | Only listings with free shipping. |
itemLocation | string | domestic or worldwide, relative to the eBay site. |
Filters apply to keyword searches and to results URLs. Item URLs always return that item.
Example: used iPhone 15 auctions between $100 and $300, ending soonest first:
{"searchQueries": ["iphone 15"],"marketplace": "ebay.com","maxItems": 100,"minPrice": 100,"maxPrice": 300,"condition": "used","buyingFormat": "auction","sort": "ending_soonest"}
Or paste URLs, including individual items. Each item URL returns the full detail record:
{"startUrls": [{ "url": "https://www.ebay.co.uk/sch/i.html?_nkw=nike+air+max+90" },{ "url": "https://www.ebay.com/b/Cell-Phones-Smartphones/9355/bn_320094" },{ "url": "https://www.ebay.com/itm/145829369846" }]}
💰 How much does it cost to scrape eBay?
You pay for the data you receive, with no fixed fee per run:
| Event | Price | When it's charged |
|---|---|---|
| Product listing | $4 / 1,000 listings | Each listing from a search or category page |
| Product detail | $7 / 1,000 listings | Each full item record (details on, or an item URL) |
- 1,000 listings cost about $4.
- 1,000 listings with full details cost about $7.
- 200 listings a day for a month of price tracking (6,000 listings) cost about $24.
New Apify accounts include free monthly usage credits, so you can test at no cost.
📤 Sample output
A listing from a search page (real row):
{"itemId": "127948194333","url": "https://www.ebay.com/itm/127948194333","title": "Apple iPhone 15 Pro 256GB A2848 Unlocked Very Good Condition All Colors","price": 560.86,"priceText": "$560.86","currency": "USD","imageUrl": "https://i.ebayimg.com/images/g/FUIAAeSwuOVqQq5I/s-l1600.webp","condition": "Very Good - Refurbished","buyingFormat": "Buy It Now","shipping": "Free delivery in 2-3 days","soldCount": "118+ sold","watchers": null,"soldDate": null,"bidCount": null,"itemLocation": "United States","sellerName": "verizon","sellerFeedbackScore": 39000,"sellerPositiveFeedback": "99.4% positive"}
With Scrape listing details, or for an item URL, a row also has:
{"sellerNotes": "This Device is in GOOD cosmetic condition and will show scratches and/or scuffs on the body and screen.","brand": "Apple","mpn": null,"itemSpecifics": {"Brand": "Apple","Style": "Bar","Model": "iPhone 15","Storage Capacity": "128 GB"},"images": ["https://i.ebayimg.com/images/g/C70AAeSwEzlqx8QB/s-l1600.webp","https://i.ebayimg.com/images/g/ef0AAeSw2jBqx8QB/s-l1600.webp"]}
price is the lower bound when a listing shows a price range; priceText keeps eBay's own text. bidCount is set on auctions. sellerFeedbackScore is rounded when eBay rounds it on the results page (39K); detail rows carry the exact number. soldDate is always null, because sold listings are not supported.
📅 Schedule and integrate
For an eBay price tracker, run once a day on the same keywords and compare by itemId. For fast-moving auctions, run hourly with sort set to ending_soonest. Regular runs are easy to set up with Apify Schedules, and results can go to Google Sheets, Zapier, Make, n8n or your own webhook.
🤖 Use with AI agents (MCP)
This Actor works as a tool in Claude, ChatGPT, Cursor and other MCP clients through the Apify MCP server (https://mcp.apify.com). Minimal input for an agent:
{ "searchQueries": ["nintendo switch"], "maxItems": 20 }
❓ FAQ
Does eBay have an official API? Yes. eBay offers developer APIs such as the Browse API, which need a developer account and OAuth credentials and have call limits. This scraper needs no key or approval, takes a keyword or a pasted URL, and returns the fields shown on the site in one flat row.
How do I scrape eBay without coding? Type a keyword in Search keywords, press Start and download the table as CSV or Excel. Developers can call the same run through the Apify API as an eBay search API.
Can I scrape eBay sold listings?
No. eBay shows sold and completed results only to signed-in users, and this Actor does not log in. Those URLs are skipped and you are not charged. soldCount on active listings shows how many have sold so far.
Do I need an eBay account or a login? No. It reads public listings only.
Why are some fields empty?
Listings differ. watchers, soldCount and bidCount appear only when eBay shows them. On results pages sellerName appears on some listings only, depending on the site and the search, and category pages don't show seller or location; turn on Scrape listing details to get the seller on every row.
Can I get more than 10,000 results? Yes. eBay shows at most ~10,000 listings per search, so bigger searches are split into price bands automatically. If many listings share one price, a band can't be split further and the run log says so.
Why did my run fail? A run fails only when it saved nothing: every URL was a sold search, or not a page with listings (a product page, say), or all pages failed after retries. The status message says which. A search with no results succeeds with 0 listings.
🔗 Related scrapers
- eBay Seller Feedback Scraper: comments and ratings for the sellers you find here.
- Amazon Search Scraper: the same products and prices on Amazon.
- Walmart Listings Scraper: compare against Walmart's listings.
- Poshmark Listings Scraper: resale prices for fashion.
- Mercari Japan Scraper: resale listings and sold items in Japan.