Ebay Search Scraper
Pricing
from $2.99 / 1,000 results
Ebay Search Scraper
Turn any eBay search into a clean, structured dataset in minutes. Filter by condition, price range, and shipping destination. Get prices, seller ratings, return policies, bid counts, and more — up to 500 listings per run, no API key needed.
Pricing
from $2.99 / 1,000 results
Rating
0.0
(0)
Developer
CRW
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
18 days ago
Last modified
Categories
Share
eBay Scraper
Turn any eBay search into a structured dataset. Paste a URL, get back prices, seller data, auction details, and sold history — exactly as eBay shows them, with no filter limitations.
What makes this different
This scraper takes a URL instead of a keyword. Set up your search directly on eBay's UI — sort, condition, price range, category, sold listings, carrier lock, storage capacity, any filter eBay offers — then paste the URL here. Every parameter carries through exactly as-is. No translation layer, no missing filter options.
Three output fields that go beyond standard search result data:
is_sponsored — Every result is flagged true or false. On most eBay searches, the top several results are paid placements. If you're building a price feed or doing market research, those placements distort your data. Now you can filter them out in one line.
sold_date — Switch to sold listings and every item comes back with the exact date it sold. Asking prices tell you what sellers hope to get. Sold prices tell you what buyers actually paid.
Full auction data — bid_count, auction_end, and best_offer are included for every listing that has them, giving you the full picture on time-sensitive listings.
How it works
1. Build your search on eBay
Go to ebay.com and search for anything. Use eBay's filters to get exactly the results you want:
- Sort — Price + Shipping: Lowest First, Newly Listed, Ending Soonest, Best Match
- Condition — New, Open Box, Certified Refurbished, Used, For Parts
- Price range — set a floor, a ceiling, or both
- Category — narrow to Electronics, Cameras, Sneakers, or any subcategory
- Listing type — Auction only, Buy It Now only, or both
- Sold / Completed listings — switch from asking prices to actual transaction prices
- Free shipping only
- Item location — filter by where the seller is located
- Aspect filters — carrier lock status, storage capacity, color, model, and hundreds of category-specific attributes
2. Copy the URL
Once the results look right, copy the full URL from your browser's address bar.
3. Paste and run
{"startUrl": "https://www.ebay.com/sch/i.html?_nkw=iphone+15&_sacat=9355&LH_ItemCondition=3000&_sop=15&_udhi=700","maxResults": 100}
Every filter in the URL is passed through to eBay exactly as-is. No translation, no lossy conversion.
Common use cases
Price research for resellers
Search sold listings, sorted by date. Filter to the condition and category you care about. Get back price_value (numeric, ready to aggregate), sold_date, and is_sponsored so you can strip out promoted results before calculating averages.
Auction monitoring
Search active auction listings sorted by ending soonest. Get bid_count, auction_end, best_offer, and current price for every item. Run again before the auctions close.
Competitive pricing
Search your product category, sorted by price low to high. The seller_feedback_percent and seller_feedback_count fields let you filter out low-reputation sellers from your benchmark.
Dropshipping sourcing
Filter to Buy It Now, free shipping, specific condition. The sold_count and watchers fields surface demand signals before you commit to a product.
Input
| Parameter | Required | Default | Description |
|---|---|---|---|
startUrl | Yes | — | Any eBay search URL copied from your browser |
maxResults | No | 10 | Maximum listings to collect (10–500) |
maxSearchPages | No | 5 | Maximum pages to scrape (1–20). Each page has ~60 listings. The first limit reached stops the run |
shipToCountry | No | — | ISO 3166-1 alpha-3 code (e.g. USA, GBR). Only needed when the URL uses aspect filters — see below |
shipToZipCode | No | — | ZIP or postal code for more precise filtering (e.g. 10001 for US, SW1A 1AA for UK) |
Scraping sold listings
On eBay, open your search → Filters → Show only → Sold Items. The URL gains LH_Complete=1&LH_Sold=1. Paste that URL here and every result includes a sold_date.
To limit to a recent window, add _saperiod=30 to the URL for the last 30 days (range: 1–90).
Aspect filters and shipping location
eBay's aspect filters — Network carrier, Storage Capacity, Lock Status, Color, and other category-specific attributes — require a shipping location to activate. Your browser provides this automatically from your saved address. The scraper doesn't have that context, so without it, eBay ignores the filters and returns 0 results.
Fix: add shipToCountry to your input.
{"startUrl": "https://www.ebay.com/sch/i.html?_nkw=iphone+15&Network=Unlocked&Storage%2520Capacity=128%2520GB&_dcat=9355","maxResults": 100,"shipToCountry": "USA","shipToZipCode": "10001"}
The scraper injects the correct _fcid parameter behind the scenes and aspect filters activate normally. shipToZipCode is optional but improves accuracy for US searches.
If your URL already contains
_fcid=and_oaa=1(e.g. copied from a browser where you were already filtered by location),shipToCountryis ignored — the URL values take precedence.
How to spot aspect filters in a URL: Look for parameters that aren't standard eBay params (
_nkw,_sacat,LH_*,_sop,_dcat,_udlo,_udhi). Parameters likeNetwork=,Storage+Capacity=,Lock+Status=are aspect filters and need a shipping location to work.
Output fields
| Field | Type | Description |
|---|---|---|
listing_id | string | eBay item ID |
title | string | Full listing title |
price | string|null | Price as shown ($628.95) |
price_value | number|null | Numeric price for calculations (628.95) |
original_price | string|null | Pre-discount price when shown |
condition | string|null | New, Pre-Owned, Refurbished, etc. |
listing_type | string|null | Buy It Now, Auction, etc. |
best_offer | boolean | Whether Best Offer is accepted |
bid_count | number|null | Current bid count (auctions only) |
auction_end | string|null | Auction end time (auctions only) |
shipping | string|null | Shipping cost or Free shipping |
return_policy | string|null | Return policy text |
free_returns | boolean | true when returns are free |
location | string|null | Seller's location |
seller_name | string|null | Seller username |
seller_feedback_percent | string|null | Positive feedback percentage (99.8) |
seller_feedback_count | string|null | Total feedback count (4.2K) |
rating | string|null | Product rating (4.5) |
rating_count | number|null | Number of product ratings |
sold_count | string|null | Units sold (93+ sold) |
watchers | string|null | Watchers count (10 watchers) |
authenticity_guarantee | boolean | eBay Authenticity Guarantee badge |
is_sponsored | boolean | true for promoted/sponsored listings |
sold_date | string|null | ISO date the item sold (2026-07-13). Sold listings only |
image_url | string|null | Primary product image URL |
url | string | Direct link to the eBay listing |
scraped_at | string | ISO 8601 timestamp of when this item was collected |
Sample output
{"listing_id": "358719187633","title": "Apple iPhone 15 Plus 128GB Blue (Unlocked)","price": "$628.95","price_value": 628.95,"original_price": null,"condition": "Pre-Owned","listing_type": "Buy It Now","best_offer": true,"bid_count": null,"auction_end": null,"shipping": "Free shipping","return_policy": "Free returns","free_returns": true,"location": "Located in United States","seller_name": "apple_reseller_99","seller_feedback_percent": "99.8","seller_feedback_count": "4.2K","rating": "4.5","rating_count": 312,"sold_count": "248+ sold","watchers": null,"authenticity_guarantee": false,"is_sponsored": false,"sold_date": null,"image_url": "https://i.ebayimg.com/images/g/abc123/s-l500.webp","url": "https://www.ebay.com/itm/358719187633","scraped_at": "2026-09-02T12:34:56.789Z"}
For developers
JavaScript / TypeScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('YOUR_ACTOR_ID').call({startUrl: 'https://www.ebay.com/sch/i.html?_nkw=iphone+15&LH_ItemCondition=3000&_sop=15&_udhi=700',maxResults: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_API_TOKEN')run = client.actor('YOUR_ACTOR_ID').call(run_input={'startUrl': 'https://www.ebay.com/sch/i.html?_nkw=iphone+15&LH_ItemCondition=3000&_sop=15&_udhi=700','maxResults': 100,})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item)
Apify CLI
$apify call YOUR_ACTOR_ID --input='{"startUrl":"https://www.ebay.com/sch/i.html?_nkw=iphone+15","maxResults":100}'
MCP (AI agents)
This actor is available as an MCP tool. Add it to your agent's MCP server configuration and call it directly from Claude, Cursor, or any MCP-compatible client — no separate integration code needed.
You might also need
If your workflow spans multiple marketplaces:
Walmart Products Scraper — New retail products at fixed prices. Prices, discounts, ratings, delivery dates, stock status. The complement to eBay for retail arbitrage and inventory benchmarking.
Temu Products Scraper — Direct-from-manufacturer pricing across millions of SKUs. Useful for finding the supply side before items appear on eBay resale markets.
Temu Category Trend Report — Daily top-100 rankings and price momentum across 30 categories.
Limitations
- Volume: Up to 500 listings per run (up to 20 pages × ~60 listings per page).
- Search results only: Data comes from search result pages. Individual listing pages (full descriptions, all images, complete specs) are not visited.
- Auction bid counts: eBay updates bid counts periodically, so live counts may be slightly behind.
- Sold listing history: eBay exposes a maximum of 90 days of sold history.
- Supported marketplaces: ebay.com, ebay.co.uk, ebay.de, ebay.fr, ebay.it, ebay.es, ebay.ca, ebay.com.au. Prices are returned in each marketplace's local currency.