eBay Scraper: Multi-Page Search avatar

eBay Scraper: Multi-Page Search

Pricing

from $5.99 / 1,000 results

Go to Apify Store
eBay Scraper: Multi-Page Search

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

Scrapier

Maintained by Community

Actor stats

1

Bookmarked

6

Total users

0

Monthly active users

7 days ago

Last modified

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.

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

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 TypeExtracted FieldsPrimary 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, scrapedAtCataloguing, 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, scrapedAtLarge-catalog sweeps and price/demand monitoring without per-item fetch cost
Diagnostic rowurl, error, errorReason, scrapedAtRun 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.

FeatureeBay Browse APIeBay Scraper: Multi-Page Search
Access requirementRegistered developer application + OAuth client-credentials tokenPaste a URL and run β€” no eBay developer account
Item watch countNot 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 resultsfeedbackPercentage/feedbackScore available on ItemSummary.seller (Browse API SellerDetail docs, checked 2026-07-26)Same fields returned per result, with no extra call
PaginationSingle call, offset/limit paging, up to 10,000 items per searchFollows eBay's own _pgn page parameter, up to 50 pages per source URL
Call limitsReported 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 timeDeveloper account, app creation, OAuth flow before the first callAdd 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.

  1. 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.
  2. Add one or more eBay search, category, or /itm/ listing URLs in searchUrls. No field is schema-required, but the run stops with an error if this is empty.
  3. Set pagesPerSearch for how many result pages to follow per URL, toggle fastPreviewMode for grid-only speed, and optionally narrow discovery with buyingFormatFilter / showOnlyFilters.
  4. Start the run.
  5. 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

ParameterRequiredTypeDescriptionExample Value
searchUrlsNoarrayeBay 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"]
resultCapNointegerCeiling on total products collected across all pages/URLs. 0 = no limit. Also accepts the base actor's maxItems field. Default is 20.100
pagesPerSearchNointegerPages to follow per search URL via eBay's _pgn parameter. Default 1 = page 1 only. Max 50.5
fastPreviewModeNobooleanWhen 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
buyingFormatFilterNoarrayRestrict discovery to specific buying formats: Auction, BIN (Buy It Now), BO (Best Offer). Empty = all formats.["BIN"]
showOnlyFiltersNoarrayeBay'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"]
proxyConfigurationNoobjectOptional 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"
}
]
  • Price and demand monitoring: Run the same searchUrls set on a schedule and diff price, wasPrice, sold, and (with Fast Preview) watchers between runs to catch price drops and demand spikes before they show up anywhere else.
  • Competitive and resale research: Compare price, sellerFeedbackPercent, sold, and itemLocation across 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 searchUrls query, receive structured JSON back, and pass the title, price, and brand/type fields to a model as grounding context for a shopping or price-comparison assistant.
  • Resale and arbitrage sourcing: Filter Fast Preview results by buyingFormat and sold to 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 requests
token = "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.

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.