eBay Product Scraper avatar

eBay Product Scraper

Pricing

from $0.97 / 1,000 product scrapeds

Go to Apify Store
eBay Product Scraper

eBay Product Scraper

Collects eBay product listings from search queries or start URLs. Returns titles, prices, sellers, shipping, and optional item-page details.

Pricing

from $0.97 / 1,000 product scrapeds

Rating

0.0

(0)

Developer

Scraptivo

Scraptivo

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

eBay Product Scraper collects product listings from eBay and turns them into structured data for price monitoring, catalog building, and seller research. Provide a search query or an eBay search, category, or item URL, run the Actor, and export titles, prices, sellers, shipping, and item IDs to JSON, CSV, Excel, or your preferred integration. Use it to compare asking prices, watch sold comps, and automate recurring catalog collection. Pricing starts at $1.00 per 1,000 products, with optional item-page details at $1.50 per 1,000.

What can you automate with eBay Product Scraper?

  • Build product catalogs — Turn a keyword or eBay URL into a dataset of item IDs, titles, prices, conditions, and sellers.
  • Monitor asking prices — Track price, shipping notes, watchers, and bid counts across US, UK, Germany, and other eBay sites.
  • Filter before you export — Narrow constructed searches by buying format, condition, price range, item location, and sold vs active listings.
  • Enrich selected items — Turn on product details to add description, image gallery, item specifics, brand, and shipping cost.
  • Collect sold comps — Enable sold listings on constructed searches to capture completed sales instead of active inventory.
  • Schedule recurring snapshots — Cap volume with maxItems and re-run the same query on a schedule.

Who is this scraper for?

TeamWorkflow
Ecommerce and pricing teamsComparing asking prices and shipping for the same product across marketplaces.
Sourcing and catalog operatorsBuilding item lists with IDs, URLs, conditions, and seller feedback.
Market researchersWatching which sellers appear for a query and where items ship from.
AgenciesCollecting structured eBay data for client reports without clicking through listings.

What data can you collect from eBay?

Data groupExample fieldsHow it helps
Listing identityitemId, title, URLDeduplicate and reopen the exact listing.
Priceprice, formattedPrice, currencyCompare asking prices across a search.
Offer and conditioncondition, buyingFormat, watchers, bid countSeparate auctions from Buy It Now and see demand.
Seller and shippingSeller name, feedback stats, shipping snippet, item locationQualify the seller and estimate delivery.
SourceMarketplace, sourceQuery, sourceUrlKnow which site and search produced the row.
Item-page detailsDescription, itemSpecifics, image gallery, brand, MPN, model, shipping cost, payment methodsAppear when Include Product Details is enabled.

Card-level fields such as title, price, seller, and itemId are returned on every product. Description, gallery, item specifics, and checkout fields appear only when product details are enabled.

How to use eBay Product Scraper

  1. Open the eBay Product Scraper on Apify.
  2. Paste eBay search, category, or item URLs in Start URLs, or leave URLs empty and set Search Queries plus a marketplace.
  3. Choose a limit and optional filters — buying format, condition, price range, sold listings, or product details.
  4. Run the Actor and wait for product records to appear in the dataset.
  5. Export JSON, CSV, or Excel, or connect the dataset to your workflow.
{
"searchQueries": ["bike"],
"marketplace": "EBAY_US",
"maxItems": 10,
"includeProductDetails": false,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Example workflow

Watch US bike prices every Monday

  1. Schedule a weekly run with searchQueries = ["bike"], marketplace = EBAY_US, and soldListings = false.
  2. Keep includeProductDetails off for a cheap card-level snapshot, then turn it on only for items you want to inspect.
  3. Send new records to Google Sheets through a webhook.
  4. Deduplicate user-side against the stable itemId field.

Automate and integrate your results

  • Schedules — eBay inventory turns over quickly. Run daily for sourcing and weekly for price research. Create a separate scheduled task per query and marketplace.
  • Webhooks — Push completed datasets into Sheets, Slack, or a catalog tool.
  • Exports and API — Download from the Apify Console or start a run from the API:
curl "https://api.apify.com/v2/acts/scraptivo~ebay-scraper/runs?token=YOUR-APIFY-TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchQueries": ["bike"],
"marketplace": "EBAY_US",
"maxItems": 10,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}'
  • Deduplication — The Actor appends results on every run. Use itemId as the stable key when merging datasets.

Input reference

FieldTypeRequiredDefaultWhat it controls
startUrlsArray of URLsNoeBay search, category/browse, or item URLs. When set, these URLs are used instead of constructed searches.
searchQueriesArray of stringsNoProduct search terms. Used only when Start URLs are empty.
marketplaceStringNoEBAY_USeBay site for constructed searches (EBAY_US, EBAY_UK, EBAY_DE, EBAY_AU, EBAY_CA, and other listed sites). Start URLs keep the host from the URL.
categoryStringNo0eBay category ID for constructed searches. Ignored when Start URLs are set.
buyingFormatStringNoallall, buy_it_now, auction, or best_offer.
conditionStringNoanyany, new, open_box, certified_refurbished, seller_refurbished, used, or for_parts.
sortByStringNobest_matchbest_match, ending_soonest, newly_listed, price_shipping_lowest, price_shipping_highest, or nearest.
itemLocationStringNodefaultdefault, domestic, worldwide, or local (nearby, uses ZIP).
zipCodeStringNoPostal code for nearby searches.
distanceIntegerNoSearch radius in miles around the ZIP. Used with Item Location = Nearby.
minPrice / maxPriceNumberNoPrice range on constructed searches.
soldListingsBooleanNofalseCollect completed/sold listings instead of active ones (constructed searches only).
maxItemsIntegerNo0Maximum products across all URLs and queries (0 = unlimited).
includeProductDetailsBooleanNofalseOpen each item page for description, images, specifics, and shipping. Charges product-details.
detailConcurrencyIntegerNo8Parallel detail fetches (1–15).
proxyConfigurationProxy objectNoApify proxy, RESIDENTIALResidential proxies are recommended.

Provide startUrls and/or searchQueries (or a category other than All Categories). When Start URLs are set, query filters are not used to build the search.

Do Start URLs override search queries?

Yes. When startUrls is provided, the Actor uses those URLs and does not build a search from searchQueries and the filter fields.

Output example

Each dataset item is one product:

{
"itemId": "125459703651",
"title": "Chopper Lowrider beach Stretch cruiser bike Coaster Brakes Big Fat Bicycle",
"url": "https://www.ebay.com/itm/125459703651",
"price": 664.99,
"currency": "USD",
"formattedPrice": "$664.99",
"condition": "Brand New",
"buyingFormat": "Buy It Now",
"shipping": "Shipping not specified",
"itemLocation": "United States",
"seller": "reignbike",
"sellerFeedbackPercent": 99.8,
"sellerFeedbackCount": 2100,
"watchers": 98,
"marketplace": "EBAY_US",
"sourceType": "search",
"sourceQuery": "bike"
}

How much does it cost to scrape eBay?

The Actor uses pay-per-event pricing plus a small Actor-start event ($0.00005 per start, scaled by memory):

  • $1.00 / 1,000 products — a dataset-item event for every product written to the dataset.
  • $1.50 / 1,000 product details — a product-details event only when Include Product Details is enabled.

A search-only run of 1,000 products costs $1.00. Enriching the same 1,000 products with details costs $2.50. Volume discounts on Apify paid plans reduce the per-1,000 rate (for example $0.97 per 1,000 products and $1.20 per 1,000 details at the Gold plan). Compute units consumed are deducted from your Apify plan.

Reliability and responsible use

  • Proxy requirement — Residential proxies are recommended. The default input uses the Apify RESIDENTIAL group.
  • Conditional fields — Description, gallery, item specifics, brand, and shipping cost appear only when product details are enabled. eBay also leaves some card fields empty.
  • Sold listingssoldListings applies to constructed searches only, not to pasted Start URLs.
  • Public listings — The Actor collects publicly visible eBay listing data.
  • Responsible use — Only use the data in ways that comply with eBay's terms and applicable law.

Frequently asked questions

Can I scrape eBay by keyword and marketplace?

Yes. Leave Start URLs empty, set searchQueries such as ["iphone 13"], and choose a marketplace such as EBAY_US or EBAY_UK. You can also restrict the run with category, condition, buying format, and price range.

Can I schedule eBay Product Scraper to run automatically?

Yes. Open the Scheduler tab in Apify Console. Daily suits sourcing; weekly suits price research. Create a separate schedule per query and marketplace.

What counts as one result?

Each product saved to the dataset is one dataset-item event ($1.00 per 1,000). If product details are enabled, each enriched product also counts as a product-details event ($1.50 per 1,000).

Why are some fields empty?

Brand, description, item specifics, gallery URLs, and shipping cost are collected only when Include Product Details is enabled. eBay also omits watchers, bids, or shipping text on some cards.

How do I avoid duplicate records?

The Actor does not deduplicate across runs. Use itemId as the stable key. maxItems caps the size of a single run.

Do I need a proxy?

Residential proxies are recommended and are the default. If a run returns unusually few products, confirm the proxy group is RESIDENTIAL.

Support and custom workflows

Need a different field, source, or delivery workflow? Contact Scraptivo at scraptivo@gmail.com. Include the Actor name, sample URL, required fields, and expected volume so we can assess the request.