eBay Scraper: Multi-Page Search
Pricing
from $5.99 / 1,000 results
eBay Scraper: Multi-Page Search
π eBay Scraper extracts product listings, prices, sellers, ratings, images & specs from eBay at scale. β‘ Export CSV/JSON, API-ready, schedule crawls, monitor price & stock, track keywords & categories. π Ideal for market research, competitor analysis & eβcommerce insights.
Pricing
from $5.99 / 1,000 results
Rating
0.0
(0)
Developer
Scrapier
Maintained by CommunityActor stats
1
Bookmarked
6
Total users
0
Monthly active users
7 days ago
Last modified
Categories
Share
eBay Search Scraper β Multi-Page Results and Seller Trust Signals
eBay Scraper: Multi-Page Search takes an eBay search or category URL and follows it across as many result pages as you choose, returning every matching listing as JSON β title, price, condition, seller, and sold count. Switch on Fast Preview mode and it also reads seller feedback percentage and live watch count straight off the results grid, with zero extra fetch per item. Every response is ready to pass to an LLM or feed a monitoring pipeline. No eBay account is required β just paste a search URL and run.
What is eBay Scraper: Multi-Page Search?
eBay Scraper: Multi-Page Search queries any eBay search, category, or single listing URL and returns each matching product as a JSON record. It follows eBay's own _pgn pagination parameter across up to 50 result pages per source URL, instead of stopping at page 1 like a bare single-page search scrape. In Fast Preview mode it also pulls seller feedback percentage, feedback count, watch count, buying format, and free-shipping/returns flags directly from the search-results grid β data that normally only shows up after opening the item page. No eBay account or login is required to run it.
- Follows multi-page pagination (
pagesPerSearch, up to 50 pages) across search and category URLs - Fetches full item-detail pages (brand, type, UPC/MPN/EAN, "why to buy" bullets, breadcrumb categories)
- Optional Fast Preview mode: grid-level seller feedback %, feedback count, watchers, sold count, buying format, free returns/shipping β no per-item request
- Filters discovery by buying format (Auction, Buy It Now, Best Offer) and by eBay's own "Show only" filters (sold items, free returns, deals, authorized seller, etc.)
- Accepts direct
/itm/listing links alongside search URLs, always fetched full-detail - Optional Apify Proxy configuration for connection reliability
What data can you get with eBay Scraper: Multi-Page Search?
eBay Scraper: Multi-Page Search returns two record shapes β full-detail product records and Fast Preview product records β plus an uncharged diagnostic row when a page can't be parsed.
| Result Type | Extracted Fields | Primary Use Case |
|---|---|---|
Full-detail product record (fetchMode: "full") | url, itemNumber, title, subTitle, price, priceWithCurrency, wasPrice, wasPriceWithCurrency, available, availableText, sold, image, seller, itemLocation, brand, type, ean, mpn, upc, categories, whyToBuy, pageNumber, scrapedAt | Cataloguing, brand/UPC matching, full listing detail |
Fast Preview product record (fetchMode: "preview") | url, itemNumber, title, subTitle, price, priceWithCurrency, wasPrice, wasPriceWithCurrency, sold, image, seller, itemLocation, buyingFormat, freeReturns, freeShippingText, watchers, sellerFeedbackPercent, sellerFeedbackCount, pageNumber, scrapedAt | Large-catalog sweeps and price/demand monitoring without per-item fetch cost |
| Diagnostic row | url, error, errorReason, scrapedAt | Run troubleshooting β never billed as a row_result |
Seller trust and demand signals
Fast Preview mode's real differentiator is what it pulls off the results grid without ever opening the item page: watchers (live watch count), sellerFeedbackPercent and sellerFeedbackCount (the seller's trust score), sold (units sold), buyingFormat (Auction/BIN/BO), and freeReturns/freeShippingText. These are demand and trust signals, not just catalog data β a rising watchers count on a listing tells you interest is building before a sale happens, and sellerFeedbackPercent lets you filter low-trust sellers out of a result set at scan time. A sample Fast Preview row:
{"url": "https://www.ebay.com/itm/235792114488","itemNumber": "235792114488","title": "Full Body Massage Recliner Chair Zero Gravity Electric Shiatsu Heat","price": 349.99,"priceWithCurrency": "US $349.99","sold": 87,"watchers": 14,"buyingFormat": "BIN","freeReturns": true,"sellerFeedbackPercent": 99.2,"sellerFeedbackCount": 15342,"fetchMode": "preview"}
Full item-detail records
The default (Fast Preview off) mode opens each /itm/ page and parses its JSON-LD plus DOM for fields the grid never shows: brand, type, upc, mpn, ean, the full whyToBuy bullet list, and breadcrumb categories. Use this mode when you need item specifics for catalog matching or compliance checks, not just price and demand tracking.
How does eBay Scraper: Multi-Page Search differ from the official eBay API?
eBay's own Browse API returns item search results too, but it is built for approved developer applications, not ad-hoc scraping jobs β and it withholds some of the exact signals this Actor exposes to any URL you paste.
| Feature | eBay Browse API | eBay Scraper: Multi-Page Search |
|---|---|---|
| Access requirement | Registered developer application + OAuth client-credentials token | Paste a URL and run β no eBay developer account |
| Item watch count | Not returned by Browse API; the Trading API's GetItem call returns WatchCount only to the item's own seller (eBay Developer KB 2084, checked 2026-07-26) | watchers returned for any public listing in Fast Preview mode |
| Seller feedback on search results | feedbackPercentage/feedbackScore available on ItemSummary.seller (Browse API SellerDetail docs, checked 2026-07-26) | Same fields returned per result, with no extra call |
| Pagination | Single call, offset/limit paging, up to 10,000 items per search | Follows eBay's own _pgn page parameter, up to 50 pages per source URL |
| Call limits | Reported default of 5,000 Browse API calls/day per application (eBay API Call Limits, checked 2026-07-26) | No published call cap β usage is billed per result row |
| Setup time | Developer account, app creation, OAuth flow before the first call | Add a URL in the Actor's input and start the run |
Use the Browse API when you're building an approved eBay-integrated application and can absorb the OAuth setup. Use eBay Scraper: Multi-Page Search when you need results from arbitrary search or category URLs today, without an app-approval process.
How to scrape eBay with eBay Scraper: Multi-Page Search?
- Open the Actor's page on the Apify Store (
Scrapier/ebay-scraper-multi-page-search) and click Start, or call it through the Apify API. - Add one or more eBay search, category, or
/itm/listing URLs insearchUrls. No field is schema-required, but the run stops with an error if this is empty. - Set
pagesPerSearchfor how many result pages to follow per URL, togglefastPreviewModefor grid-only speed, and optionally narrow discovery withbuyingFormatFilter/showOnlyFilters. - Start the run.
- Download the results as JSON, CSV, or Excel from the run's dataset, or stream them through the API.
{"searchUrls": ["https://www.ebay.com/sch/i.html?_nkw=massage+recliner+chair"],"resultCap": 100,"pagesPerSearch": 5,"fastPreviewMode": true}
How to run multiple queries in one job
Add every search, category, or listing URL you want to searchUrls β each entry gets its own pagesPerSearch pass and its own discovered items, and all of them count toward the shared resultCap ceiling. Listings are fetched concurrently with a built-in stagger so a large searchUrls list doesn't need to be split into separate runs.
β¬οΈ Input
| Parameter | Required | Type | Description | Example Value |
|---|---|---|---|---|
searchUrls | No | array | eBay search/category result pages (discovered across multiple pages) or single /itm/ listing links (always fetched full-detail). Also accepts the base actor's urls field for backward compatibility. | ["https://www.ebay.com/sch/i.html?_nkw=massage+recliner+chair"] |
resultCap | No | integer | Ceiling on total products collected across all pages/URLs. 0 = no limit. Also accepts the base actor's maxItems field. Default is 20. | 100 |
pagesPerSearch | No | integer | Pages to follow per search URL via eBay's _pgn parameter. Default 1 = page 1 only. Max 50. | 5 |
fastPreviewMode | No | boolean | When true, reads results straight from the search-results grid with zero per-item detail fetch. Item specifics (brand/type/UPC/MPN/EAN), the full "why to buy" list, and exact availability text are null in this mode. Default false. | true |
buyingFormatFilter | No | array | Restrict discovery to specific buying formats: Auction, BIN (Buy It Now), BO (Best Offer). Empty = all formats. | ["BIN"] |
showOnlyFilters | No | array | eBay's own "Show only" search filters: completed_items, sold_items, free_returns, returns_accepted, authorized_seller, deals_and_savings, sale_items, listed_as_lots, benefits_charity, authenticity_guarantee, free_shipping, local_pickup. Empty = no filter. | ["sold_items", "free_returns"] |
proxyConfiguration | No | object | Optional Apify Proxy settings. | {"useApifyProxy": true} |
Example input:
{"searchUrls": ["https://www.ebay.com/sch/i.html?_nkw=massage+recliner+chair&_sacat=6024"],"resultCap": 200,"pagesPerSearch": 3,"fastPreviewMode": false,"buyingFormatFilter": [],"showOnlyFilters": ["free_returns"],"proxyConfiguration": { "useApifyProxy": true }}
Pitfall: fastPreviewMode and direct /itm/ links don't currently combine β if searchUrls contains only single listing URLs (no search/category pages) and fastPreviewMode is on, those listing URLs are discovered but not pushed to the output, because Fast Preview only pushes rows built from search-results cards. Leave fastPreviewMode off when your input is direct listing links.
β¬οΈ Output
Results are typed, normalized JSON with a consistent schema across runs, exportable from the dataset as JSON, CSV, or Excel.
Scraped results
[{"url": "https://www.ebay.com/itm/235792114488","categories": ["Home & Garden", "Massage Chairs & Bath"],"itemNumber": "235792114488","title": "Full Body Massage Recliner Chair Zero Gravity Electric Shiatsu Heat","subTitle": "Brand New in factory-sealed box","whyToBuy": ["Free shipping", "30 day returns accepted", "Ships same business day"],"price": 399.99,"priceWithCurrency": "US $399.99","wasPrice": 599.99,"wasPriceWithCurrency": "US $599.99","available": 5,"availableText": "5 available","sold": 42,"image": "https://i.ebayimg.com/images/g/abcAAOSwexample/s-l500.jpg","seller": "electronics_deals_2024","itemLocation": "Ontario, CA, United States","ean": null,"mpn": "BCP-MC-2024","upc": "Does not apply","brand": "Best Choice Products","type": "Massage Chair","scrapedAt": "2026-07-25T14:02:11.483921+00:00","pageNumber": 1,"fetchMode": "full"},{"url": "https://www.ebay.com/itm/315678234910","categories": ["Home & Garden", "Massage Chairs & Bath"],"itemNumber": "315678234910","title": "Zero Gravity Shiatsu Massage Chair with Heat and Bluetooth Speakers","subTitle": "","whyToBuy": ["Free shipping", "Authorized seller"],"price": 899.0,"priceWithCurrency": "US $899.00","wasPrice": null,"wasPriceWithCurrency": null,"available": null,"availableText": "More than 10 available","sold": 12,"image": "https://i.ebayimg.com/images/g/xyzAAOSwexample2/s-l500.jpg","seller": "home_relax_outlet","itemLocation": "Chino, CA, United States","ean": null,"mpn": null,"upc": "Does not apply","brand": "Unbranded","type": "Massage Chair","scrapedAt": "2026-07-25T14:02:14.910442+00:00","pageNumber": 1,"fetchMode": "full"},{"url": "https://www.ebay.com/itm/276543120044","categories": ["Health & Beauty", "Massage Chairs & Bath"],"itemNumber": "276543120044","title": "Compact Massage Recliner Chair with Remote Control, Grey","subTitle": "Used - Excellent condition","whyToBuy": ["Local pickup available"],"price": 210.5,"priceWithCurrency": "US $210.50","wasPrice": 280.0,"wasPriceWithCurrency": "US $280.00","available": 1,"availableText": "Only 1 left","sold": 3,"image": "https://i.ebayimg.com/images/g/def456example/s-l500.jpg","seller": "secondhand_furniture_ca","itemLocation": "Fresno, CA, United States","ean": null,"mpn": null,"upc": "Does not apply","brand": "Unbranded","type": "","scrapedAt": "2026-07-25T14:02:18.221873+00:00","pageNumber": 2,"fetchMode": "full"}]
How can I use the data extracted with eBay Scraper: Multi-Page Search?
- Price and demand monitoring: Run the same
searchUrlsset on a schedule and diffprice,wasPrice,sold, and (with Fast Preview)watchersbetween runs to catch price drops and demand spikes before they show up anywhere else. - Competitive and resale research: Compare
price,sellerFeedbackPercent,sold, anditemLocationacross sellers listing the same product to find underpriced or under-trusted competitors worth sourcing from or avoiding. - AI engineers and LLM developers: Have an agent issue a
searchUrlsquery, receive structured JSON back, and pass thetitle,price, andbrand/typefields to a model as grounding context for a shopping or price-comparison assistant. - Resale and arbitrage sourcing: Filter Fast Preview results by
buyingFormatandsoldto spot auction listings with high demand and low current bids before they close.
How do you monitor eBay price and demand signals over time?
Monitoring is running the same search or category URLs on a repeating schedule and comparing each run's results to the last one to catch what changed. Because every run returns the same fields β price, wasPrice, sold, and in Fast Preview mode watchers, sellerFeedbackPercent, and sellerFeedbackCount β you can key each item by itemNumber and diff those fields run over run. A price drop shows up as a lower price against a stored wasPrice; a demand spike shows up as watchers or sold climbing faster than the rest of the result set; a reputation change shows up as sellerFeedbackPercent moving on a seller you track repeatedly.
A practical loop: schedule a run across your tracked search URLs with fastPreviewMode on (cheaper for frequent runs since it skips per-item fetches), store each run's output keyed by itemNumber, and alert when price drops below a threshold or watchers/sold jumps between two consecutive runs. This Actor has no built-in scheduler of its own β set up the repeating run using Apify's Schedules feature on the Actor, or trigger it from your own cron job through the API.
Integrate eBay Scraper: Multi-Page Search and automate your workflow
eBay Scraper: Multi-Page Search works with any language or tool that can send an HTTP request.
REST API with Python
import requeststoken = "YOUR_APIFY_TOKEN"actor_id = "scrapier~ebay-scraper-multi-page-search"url = f"https://api.apify.com/v2/acts/{actor_id}/run-sync-get-dataset-items?token={token}"payload = {"searchUrls": ["https://www.ebay.com/sch/i.html?_nkw=massage+recliner+chair"],"resultCap": 100,"fastPreviewMode": True,}items = requests.post(url, json=payload, timeout=120).json()for item in items:print(item["title"], item.get("price"), item.get("watchers"))
MCP for query-grounded AI agents
The Actor is reachable through Apify's official MCP server, which exposes any Apify Actor as a callable tool. Register it with:
APIFY_TOKEN=your_token npx -y @apify/actors-mcp-server --actors scrapier/ebay-scraper-multi-page-search
An agent (Claude, or any MCP-compatible client) can then call the tool with a search URL, receive the JSON result set, and generate a grounded answer about current eBay prices, sellers, or demand β without the model ever guessing at data it hasn't seen.
Scheduled monitoring and delivery
Use Apify's Schedules to run this Actor on a cron interval against a fixed set of searchUrls, and Apify's Webhooks to fire an HTTP callback (or trigger a downstream Actor) whenever a scheduled run finishes, so new results land in your pipeline without polling.
Is it legal to scrape eBay product listings?
Yes β scraping publicly visible eBay listing pages for business or research purposes is generally lawful; eBay Scraper: Multi-Page Search only reads what any visitor sees on a search or listing page, without logging in. The leading case specific to eBay, eBay, Inc. v. Bidder's Edge, Inc., 100 F. Supp. 2d 1058 (N.D. Cal. 2000), turned on server-load trespass from an aggressive crawler ignoring a cease-and-desist, not on the legality of reading public listing data itself. Product and pricing data is business data, not personal data, so it sits under eBay's Terms of Service and database-rights considerations rather than GDPR/CCPA. Scraping for one-off research carries a different risk profile than large-scale, continuous scraping for AI training or resale of eBay's own dataset. Consult your legal team for commercial use cases involving bulk data storage.
Frequently asked questions
Does this Actor support other eBay marketplaces like ebay.co.uk or ebay.de?
No β item-link detection and the session warm-up are scoped to www.ebay.com. Pasting a search URL from a different eBay country domain may not be discovered or fetched correctly; this Actor is built for the US eBay marketplace.
What result-variant controls does it support?
buyingFormatFilter restricts discovery to Auction, Buy It Now, or Best Offer listings, and showOnlyFilters applies eBay's own "Show only" filters (sold items, free returns, deals, authorized seller, and more) at discovery time, before any page is fetched β both map directly to eBay's own LH_* search URL parameters.
How does eBay Scraper: Multi-Page Search handle eBay's anti-bot measures?
It impersonates a Chrome TLS/HTTP2 fingerprint for every request, warms up a session with a homepage visit to collect cookies before the first search or item fetch, falls back from proxy to a direct connection if the proxy is unreachable, and retries automatically when it detects eBay's Akamai "Pardon Our Interruption" bot-challenge page.
Does eBay Scraper: Multi-Page Search extract seller trust and demand signals?
Yes, when fastPreviewMode is true β each result includes sellerFeedbackPercent, sellerFeedbackCount, and watchers pulled from the search-results grid. These fields are not populated in full-detail mode (fastPreviewMode: false), since that grid data isn't re-parsed on the item detail page.
How many results does eBay Scraper: Multi-Page Search return per query?
Up to resultCap (default 20, maximum 100000, or unlimited when set to 0) across all searchUrls and pages combined, and up to pagesPerSearch result pages (maximum 50) per individual search or category URL.
How do I use this Actor to monitor eBay listings over time?
Schedule a run across the same searchUrls on a recurring interval using Apify Schedules, key each returned row by itemNumber, and compare price, sold, and (in Fast Preview mode) watchers and sellerFeedbackPercent against the previous run to alert on the change that matters to you.
Does eBay Scraper: Multi-Page Search work with Claude, ChatGPT, and AI agent frameworks?
Yes. It's reachable through Apify's official MCP server (npx -y @apify/actors-mcp-server --actors scrapier/ebay-scraper-multi-page-search) for MCP-compatible clients like Claude, and it's callable as a plain HTTP endpoint by any agent framework that can send a request and read JSON back.
Can I use this Actor without managing proxies or eBay credentials?
Yes β no eBay account or login is needed, and the Actor handles TLS impersonation, cookie warm-up, and retry logic internally. proxyConfiguration is optional; leave it at its default and the Actor connects directly.
What happens if a listing page fails to load?
The Actor pushes a diagnostic row containing url, error, and errorReason instead of failing the whole run, and does not bill that row as a row_result charged event β only rows with real extracted data are charged.
Your feedback
Found a bug or a field that doesn't match what's on the eBay page? Open an issue from this Actor's page in the Apify Store (the Issues tab) or reach out through Apify Console β reports like these directly shape what gets fixed and added next.
