ParseForge Scrapers

eBay Scraper

parseforge/ebay-scraper

E-commerce

Scrapes eBay product listings, prices, seller info, and sold data from search queries, categories, or direct URLs. Returns each listing as a flat row with title, price, condition, shipping, and seller details.

Run this scraper See the API call
Total users
256
Monthly active
6
Total runs
5.8K
Bookmarked
3
Rating
1.3 (3)
Last modified
12 days ago

Overview

ParseForge

eBay Scraper

Scrape eBay product listings, prices, seller details, and sold data from any search, category, or direct URL. Each result returns the title, price, condition, shipping cost, and seller info in a flat, structured row. Export to CSV, JSON, Excel, or XML.

eBay's official APIs require developer accounts, complex authentication, and strict rate limits that throttle large-scale data collection. This Actor reads the public web pages directly, letting you scrape active listings or confirmed sold prices by search query, category, or direct URL. It handles pagination, proxy rotation, and structured data extraction so you get clean, analysis-ready datasets without writing any code.

Who uses it What they scrape eBay for
E-commerce sellers Monitor competitor pricing and inventory levels for specific products.
Market researchers Analyze market supply, demand trends, and average selling prices by category.
Resellers and flippers Find underpriced items and research confirmed sold prices to set profitable resale values.
Data analysts Build price history databases and track product availability over time.

What it does

This Actor collects eBay product listings or sold items by search query, category, or direct URL and returns each result as a flat row with title, price, condition, shipping, and seller information.

  • ๐Ÿ” Search-based scraping: Enter a search query, category, and filters like condition, price range, or location to target specific listings.
  • ๐Ÿ”— Direct URL input: Paste one or more eBay listing, search, or category page URLs to scrape exactly the pages you need.
  • ๐Ÿ“Š Sold listings support: Use search filters to access confirmed sold prices for pricing research and market comps.
  • ๐ŸŒ Regional targeting: Use the proxy country selector to scrape local eBay sites like ebay.co.uk, ebay.de, or ebay.com.au.
  • โš™๏ธ Fine-grained filters: Narrow results by condition, price range, Buy It Now only, free shipping, and sort order before scraping.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with eBay data

๐Ÿ’ฐ Price competitor products.

An e-commerce seller runs the Actor daily on a search for their top 50 products to track competitor prices and adjust their own listings.

๐Ÿ“ˆ Research sold prices for resale.

A vintage clothing reseller searches for sold listings of a specific brand and condition to determine the market value before sourcing inventory.

๐Ÿ“Š Build a market trend dataset.

A data analyst scrapes a category weekly, collecting prices and seller counts to model supply and demand shifts over time.

๐Ÿ›’ Find arbitrage opportunities.

A flipper searches for underpriced Buy It Now listings in a niche category, filtering by condition and price to identify profitable flips.

Why choose this scraper

What you get
No API keys required Scrapes public eBay pages directly with no developer account or token management.
Residential proxies built in Uses Apify's residential proxies to avoid blocking and access geo-specific marketplaces.
Structured output Returns every listing as a clean, flat row with consistent fields for title, price, shipping, and seller.
Flexible input methods Start from a search term, a category ID, or a list of direct URLs.

How it compares

This Actor combines active listing and sold data scraping with flexible search filters and direct URL input, while the competitors below each focus on a narrower slice of eBay data.

Feature ParseForge eBay Product Listing Scraper eBay Sold Listings Search
Scrapes active listings Yes Yes Not listed
Scrapes sold listings Yes Not listed Yes
Search by keyword Yes Yes Yes
Direct URL input Yes Yes Not listed
Condition filter Yes Not listed Not listed
Price range filter Yes Not listed Not listed
Multi-marketplace proxy targeting Yes Not listed Yes

Configure the run

Drive the Actor from search queries, categories, and direct URLs, alone or together, and filters run as each listing is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "maxItems": 10,
  "searchQuery": "laptop",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}

A larger pull:

{
  "maxItems": 200,
  "searchQuery": "laptop",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}

Pricing

Pay-per-result: $0.065 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $6.50
1,000 results $65.00
10,000 results $650.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the eBay Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to eBay through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/ebay-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that your search query or URLs are valid and that your filters are not too restrictive. Try removing optional filters like price range or condition to see if results appear. Also confirm you are using residential proxies, as datacenter IPs are often blocked by eBay.

Why is the Actor returning fewer items than my maxItems setting?

The Actor stops when it reaches the end of available listings for your query. eBay may cap search results at a certain number of pages. Try narrowing your search with more specific keywords or filters to ensure you capture all relevant items.

I'm getting blocked or seeing CAPTCHAs.

Make sure you are using residential proxies in the proxy configuration. If you are already using them, try increasing the run's delay or reducing concurrency to mimic human browsing behavior.

The data fields are empty or missing for some listings.

eBay's page structure can vary slightly by listing type or region. If specific fields are missing, the listing may not have that data available. Check the raw HTML output option to debug, or try targeting a different regional site.

Can I use both Start URLs and search filters at the same time?

No. These are mutually exclusive input methods. Use either direct URLs or the search query with filters, not both in the same run.

FAQ

Question Answer
Can I scrape sold listings with this Actor? Yes. Use the search filters to target sold listings and get confirmed sale prices. The Actor returns the same structured data for sold items as it does for active listings.
Do I need an eBay API key or developer account? No. This Actor scrapes the public eBay website directly. You do not need to register an app, get an API key, or manage OAuth tokens.
How many listings can I scrape in one run? Free users can scrape up to 10 items as a preview. Paid Apify users can set a maximum up to 1,000,000 items per run.
Can I scrape eBay sites in other countries? Yes. Set the proxy configuration to a specific country to target regional eBay marketplaces like ebay.co.uk, ebay.de, or ebay.com.au.
What data fields does the Actor return? Each row includes the product title, price, shipping cost, item condition, seller name, feedback score, listing URL, and more. The exact fields are shown in the sample output on the Actor's page.
Can I filter by item condition? Yes. You can set the condition filter to New, Used, Refurbished, or For parts or not working to narrow your results.
How do I scrape only Buy It Now listings? Check the 'Buy It Now Only' box in the input settings to exclude auction-style listings and return only fixed-price items.
Can I provide a list of specific eBay URLs to scrape? Yes. Use the Start URLs input to paste one or more direct eBay listing, search, or category page URLs. This is mutually exclusive with the search query input.
Does this Actor handle pagination automatically? Yes. The Actor follows pagination links through search results and category pages until it reaches your max items limit or the end of the listings.
What export formats are supported? You can export your scraped data to CSV, JSON, Excel, or XML directly from the Apify dataset.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by eBay Inc. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
maxItems integer Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000 10
startUrls array Direct URLs to eBay listing pages, search results, or category pages. Use this OR search filters below, not both. not set
searchQuery string Search term for items (e.g., 'laptop', 'iphone 15'). Use this OR startUrls above, not both. laptop
category string eBay category ID or name (e.g., '58058' for Computers/Tablets & Networking) not set
condition string (4 options) Item condition: New, Used, Refurbished, For parts or not working not set
minPrice number Minimum price filter in USD not set
maxPrice number Maximum price filter in USD not set
location string Filter by location (e.g., 'US', 'Worldwide') not set
sortOrder string (5 options) How to sort results bestMatch
buyItNowOnly boolean Show only Buy It Now listings (no auctions) false
freeShippingOnly boolean Show only items with free shipping false
proxyConfiguration object Select proxy configuration for scraping. Residential proxies are recommended for eBay. Use the Country option to target eBay regional sites (e.g. GB for ebay.co.uk). {"useApifyProxy":true,"apifyProxyGroups"

Pricing

from $5.50 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.0055 to $0.006
Actor Start Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). $0.06 to $0.065

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~ebay-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "maxItems": 10,
    "startUrl": "https://www.ebay.com/sch/i.html?_nkw=iphone+14&LH_Sold=1&LH_Complete=1",
    "soldItemsOnly": true,
    "sortBy": "12",
    "country": "ebay.com",
    "maxConcurrency": 3,
    "fallbackToActiveListings": true
  }'

Examples

Input that runs as-is.

input.json
{
  "maxItems": 10,
  "startUrl": "https://www.ebay.com/sch/i.html?_nkw=iphone+14&LH_Sold=1&LH_Complete=1",
  "soldItemsOnly": true,
  "sortBy": "12",
  "country": "ebay.com",
  "maxConcurrency": 3,
  "fallbackToActiveListings": true
}

Reviews

Rated 1.3 out of 5 across 3 reviews. Read them on Apify.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run eBay Scraper on Apify All scrapers