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
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
The only eBay scraper on Apify that tells you whether each result is a sponsored listing or organic — and covers both active listings and sold prices in a single actor.
Point it at any keyword. Get back prices, seller feedback, shipping, condition, auction data, and a sold_date if you're researching what things actually sold for.
Why this one
Most eBay scrapers return a list of products. This one returns the same list with three things they don't:
is_sponsored — Every result is flagged true or false. If you're doing price research and half the top results are paid placements, that skews your data. Now you can filter them out.
Sold listings — Set soldOnly: true and you get completed sales, not asking prices. The sold_date field tells you exactly when each item moved. This is the number serious resellers actually care about.
Full auction data — bid_count, auction_end, and best_offer come standard. Most scrapers silently drop auction listings or return them without this context.
What you get
| Field | Example |
|---|---|
listing_id | 358719187633 |
title | Apple iPhone 15 Plus 128GB Blue (Unlocked) |
price | $628.95 |
sold_date | Jul 13, 2026 (sold listings only) |
shipping | Free shipping |
condition | Pre-Owned |
listing_type | Buy It Now |
best_offer | true |
bid_count | 5 (auctions only) |
auction_end | Jun-24 20:03 (auctions only) |
return_policy | Free returns |
seller_name | apple_reseller_99 |
seller_feedback | 99.8% positive (4.2K) |
rating | 4.5 out of 5 stars. |
rating_count | 312 product ratings |
is_sponsored | false |
image_url | Image URL |
url | Direct link to the eBay listing |
Sample output
{"listing_id": "358719187633","title": "Apple iPhone 15 Plus 128GB Blue (Unlocked)","price": "$628.95","sold_date": null,"shipping": "Free shipping","condition": "Pre-Owned","listing_type": "Buy It Now","best_offer": true,"bid_count": null,"auction_end": null,"return_policy": "Free returns","location": "Located in United States","seller_name": "apple_reseller_99","seller_feedback": "99.8% positive (4.2K)","rating": "4.5 out of 5 stars.","rating_count": "312 product ratings","is_sponsored": false,"image_url": "https://i.ebayimg.com/images/g/abc123/s-l500.webp","url": "https://www.ebay.com/itm/358719187633"}
With soldOnly: true, sold_date is filled in and auction_end / bid_count are null (completed sales don't show live auction state).
Getting started
Option A — Search by keyword
Set query and use the filter options to narrow results.
| Parameter | Required | Default | Description |
|---|---|---|---|
query | Yes* | — | Search keyword (e.g. "iphone 15", "digital camera") |
soldOnly | No | false | true for sold/completed listings, false for active listings |
maxResults | No | 50 | Maximum number of listings to collect (20–500) |
maxSearchPages | No | 5 | Maximum pages to scrape. Each page has up to 60 listings (1–20) |
sort | No | best_match | Sort order — see Sort options below |
conditions | No | — | Condition filter — see Condition filter below |
minPrice | No | — | Minimum price in USD |
maxPrice | No | — | Maximum price in USD |
shipToCountry | No | — | Filter by shipping destination country (ISO 3166-1 alpha-3, e.g. USA, GBR) |
shipToZipCode | No | — | US ZIP code for more precise location filtering (USA only, e.g. 10001) |
{"query": "iphone 15","maxResults": 100,"sort": "price_asc","conditions": "1000","maxPrice": 700,"shipToCountry": "USA"}
Option B — Start from an eBay URL
Set up your search on eBay — apply any filters, categories, or special options you want — then paste the URL directly.
| Parameter | Required | Default | Description |
|---|---|---|---|
startUrl | Yes* | — | Any eBay search URL (e.g. from your browser after filtering) |
maxResults | No | 50 | Maximum number of listings to collect (20–500) |
maxSearchPages | No | 5 | Maximum pages to scrape (1–20) |
shipToCountry | No | — | Required when URL contains aspect filters — see note below |
shipToZipCode | No | — | US ZIP code for more precise filtering (USA only) |
Note: When
startUrlis set, thequery,sort,conditions,minPrice,maxPrice, andsoldOnlyfields are all ignored. All filters come from the URL itself.
{"startUrl": "https://www.ebay.com/sch/i.html?_nkw=iphone+17+pro+max&LH_Complete=1&LH_Sold=1&_sop=13&LH_FAST=1&Network=T%252DMobile&_dcat=9355","maxResults": 100}
This is useful when you need filters that aren't available as input fields — specific categories, seller filters, fast shipping, or any combination that eBay's Advanced Search supports.
Aspect filters and shipping location
eBay's aspect filters — things like Network carrier, Storage Capacity, Lock Status, Color — are activated in your browser via your saved shipping location (stored in a session cookie). When scraping, that cookie isn't present, so eBay ignores the filters and returns 0 results.
If your URL contains aspect filter parameters, add shipToCountry to your input to restore location context:
{"startUrl": "https://www.ebay.com/sch/i.html?_nkw=iphone+17+pro+max&Network=AT%2526T%7CUnlocked&Storage%2520Capacity=256%2520GB&_dcat=9355","maxResults": 100,"shipToCountry": "USA","shipToZipCode": "10001"}
shipToZipCode is optional but improves filter accuracy for US searches. If you omit it, country-level filtering is applied.
How to tell if your URL has aspect filters: Look for parameters after the URL's
?that aren't standard eBay params like_nkw,_sacat,LH_*,_sop,_dcat. Parameters likeNetwork=,Storage+Capacity=,Lock+Status=are aspect filters.The scraper will log a warning at startup if it detects aspect filters without
shipToCountry, and another if page 1 returns 0 results.
*Either query or startUrl is required.
3. Get your data
Results are saved to an Apify dataset as each page completes. Export as JSON, CSV, or Excel — or stream directly into your app via the Apify API.
Sort options
| Value | Description |
|---|---|
best_match (default) | eBay's default relevance ranking |
newly_listed | Most recently listed first |
ending_soonest | Auction end time, soonest first |
price_asc | Price + shipping, lowest first |
price_desc | Price + shipping, highest first |
distance | Nearest first (requires shipToCountry) |
Condition filter
eBay condition codes vary by category. To find the right value for your search:
- Run a search on eBay and apply the condition filter you want
- Copy the
LH_ItemConditionvalue from the URL (e.g.1000%7C1500) - Paste it into the
conditionsinput field — URL-encoded values are handled automatically
Common condition codes:
| Code | Condition |
|---|---|
1000 | New |
1500 | Open box |
2000 | Certified Refurbished |
3000 | Used |
7000 | For parts or not working |
Combine multiple conditions with | — for example 1000|3000 for New and Used.
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({query: 'iphone 15',maxResults: 100,sort: 'price_asc',shipToCountry: 'USA',});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={'query': 'iphone 15','maxResults': 100,'sort': 'price_asc','shipToCountry': 'USA',})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item)
You might also need
Selling on eBay and Walmart at the same time? Most serious resellers do. Here's how the two actors complement each other:
| eBay Search Scraper | Walmart Products Scraper | |
|---|---|---|
| Best for | Used, refurbished, auction, and niche items | New retail products at fixed prices |
| Pricing model | Auction + Buy It Now, Best Offer | Fixed retail price, rollback deals |
| Seller intel | Feedback %, seller name | Brand, stock status, delivery dates |
| Typical use | Resale pricing, collectibles, parts market | Retail arbitrage, inventory benchmarking |
Walmart Products Scraper — Scrape Walmart US and Canada product listings by keyword or category. Get prices, discounts, ratings, delivery dates, and stock status. If you're benchmarking retail prices or sourcing products to flip on eBay, this is the other half of your workflow.
Looking for the supply side?
If your workflow includes finding where products are sourced cheapest:
- Temu Products Scraper — Search Temu's full catalog by keyword. Direct-from-manufacturer pricing across millions of SKUs.
- Temu Category Trend Report — Daily top-100 rankings and price momentum across 30 categories. Useful for spotting sourcing opportunities before they show up on Western resale markets.
Limitations
- Volume: Up to 500 listings per run (up to 20 pages × 60 listings per page).
- Search results only: Data is extracted from search result pages. Listing detail pages (full description, all images) are not visited.
- Auction bid counts: Live bid counts may be slightly delayed as eBay updates them periodically.
- Sold listings:
soldOnly: truereturns completed sales from the past 90 days (eBay's maximum). Older sold history is not available. - US marketplace only: This scraper targets
ebay.com. Other regional eBay sites (ebay.co.uk, ebay.de, etc.) are not supported.
