# eBay Product Listings Scraper (`scrapers_lat/ebay-scraper`) Actor

Scrape eBay product listings by keyword or item URL. Extract title, price, was-price, discount, condition, seller, feedback, shipping, location, item specifics and images to JSON, CSV or Excel.

- **URL**: https://apify.com/scrapers\_lat/ebay-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

<!-- actor-banner -->
[![eBay Product Listings Scraper](https://scrapers.lat/banners/ebay-scraper.png)](https://console.apify.com/actors/Te4xHMatJQRYJDabc/input)
<!-- /actor-banner -->

## eBay Product Listings Scraper

> Extract eBay product listings by keyword or item URL with price, was-price, discount, condition, seller, feedback, shipping, location, sold count, full item specifics and the complete image gallery.

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify&logoColor=white)
![Coverage](https://img.shields.io/badge/Coverage-eBay.com-blue)
![Maintained](https://img.shields.io/badge/Maintained-Yes-brightgreen)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)

<table><tr>
<td align="center"><strong>25+ fields</strong><br>per product</td>
<td align="center"><strong>Search + URL</strong><br>two input modes</td>
<td align="center"><strong>JSON / CSV / Excel</strong><br>output formats</td>
<td align="center"><strong>Updated<br>2026-06-28</td>
</tr></table>

<br>

### What you get

Each record is one eBay listing with its full pricing, seller, shipping and condition, ready for price monitoring, product research, reselling and competitor tracking.

- **title**, **url**, **itemId**
- **price**: the current asking price
- **currency**, **priceText**: the raw price label, which keeps ranges like "$10.00 to $20.00"
- **wasPrice**: the crossed-out original price when the item is marked down
- **discountPercent**: percentage below the original price, calculated for you
- **condition**: New, Pre-Owned, Open Box, Refurbished, For parts and so on
- **sellerName**, **sellerFeedbackPercent**, **sellerFeedbackScore**: the seller and their feedback rating and rating count
- **shipping**: Free, a delivery cost, or the shipping note shown on the card
- **itemLocation**: where the item ships from
- **soldCount**, **watchers**: demand signals when eBay shows them
- **imageUrl**: the hero image
- **availability\***: in-stock state from the item page
- **brand\***, **mpn\***, **category\***, **breadcrumbs\***: identification pulled from the item page
- **itemSpecifics\***: every attribute eBay lists (type, model, color, storage, UPC, region code, features and more) as a clean object
- **images\***: the full image gallery in high resolution
- **observedAt**: when this listing was last seen by the scraper

*\*These fields only appear when Scrape item details is set to true.*

### Two ways to scrape

| Mode | Input | Use it for |
|---|---|---|
| Keyword search | `searchQueries` | Find listings by any keyword, like "nintendo switch" or "vintage rolex", across every result page |
| Item URLs | `itemUrls` | Track specific listings over time with their full detail |

You can combine both in a single run. `maxItems` caps the total.

### Who is it for

| Use case | Who benefits |
|---|---|
| Price and discount monitoring | E-commerce and pricing teams |
| Resale and arbitrage sourcing | Resellers and flippers |
| Product and assortment research | Retail and market analysts |
| Brand and seller monitoring | Brand protection and category managers |
| Demand and trend tracking | Merchandising and data teams |

### Frequently Asked Questions

**What can this eBay scraper extract?**
It returns the listing title, price, original price and discount, condition, seller name with feedback rating, shipping, item location, sold count and watchers. Turn on Scrape item details to also pull brand, model, MPN, UPC, every item specific and the full image gallery from each item page.

**How many eBay listings can I scrape?**
Set Max items to any number. The scraper paginates through every search result page until it reaches your limit, so you can pull a handful for a quick check or thousands for a full category sweep.

**Can I scrape a specific eBay listing by URL?**
Yes. Paste one or more item URLs (https://www.ebay.com/itm/itemId) into Item URLs and each one is scraped with its full detail, ideal for monitoring the same listings week over week.

**Do I need a proxy to scrape eBay?**
Yes. eBay limits requests from datacenter IPs, so the actor uses a residential proxy, which is selected by default. You do not need to configure anything.

**What happens when a field is missing on a listing?**
Fields like wasPrice, MPN or sold count only appear when eBay shows them, so they come back empty when the listing does not have them. Every record always carries the title, price, condition and URL.

<!-- example-tasks -->
### Example use cases

Ready-to-run example tasks, each preconfigured for a common scenario. Open one and press run, or use it as a template:

- [eBay iPhone Listings](https://apify.com/scrapers_lat/ebay-scraper/examples/ebay-iphone-listings): Scrape eBay iPhone listings with price, condition, seller, shipping and item specifics for price monitoring.
- [eBay LEGO Sets](https://apify.com/scrapers_lat/ebay-scraper/examples/ebay-lego-sets): Track eBay LEGO set listings with price, condition, seller rating and shipping for resale and price research.
- [eBay Sneakers Listings](https://apify.com/scrapers_lat/ebay-scraper/examples/ebay-sneakers-listings): Collect eBay sneaker listings with price, condition, brand, seller and item specifics for resale research.

<!-- /example-tasks -->

<!-- related-actors -->
### Related scrapers

Need data from the same space? Here are other scrapers we build and maintain:

- [MercadoLibre Product Listings Scraper](https://apify.com/scrapers_lat/mercadolibre-scraper): Extract products, prices and seller data from MercadoLibre across 18 LATAM countries.
- [Quince Product Scraper](https://apify.com/scrapers_lat/quince-scraper): Extract Quince products with selling price, traditional retail price, discounts, variants and reviews.
- [Americanas Brazil Product Price Scraper](https://apify.com/scrapers_lat/americanas-scraper): Scrape product prices, installments, stock and marketplace sellers from Americanas Brazil.
- [Chedraui Mexico Grocery Price Scraper](https://apify.com/scrapers_lat/chedraui-scraper): Scrape Chedraui Mexico product prices, EAN codes, stock, brands and installments by keyword.
- [Cruz Verde Colombia Pharmacy Price Scraper](https://apify.com/scrapers_lat/cruz-verde-scraper): Extract drug prices, stock and laboratory data from Cruz Verde Colombia pharmacy.
- [Dia Argentina Grocery Price Scraper](https://apify.com/scrapers_lat/dia-ar-scraper): Scrape Dia Argentina product prices, list prices, stock, EAN, brand and sellers by keyword.

<!-- /related-actors -->

<!-- scrapers-lat-cta -->
### More scrapers at scrapers.lat

This actor is built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for Latin American and US public platforms: real estate, jobs, e-commerce, company registries and government data. Browse the full catalog, see live sample output for each one, or ask us for a custom scraper at [scrapers.lat](https://scrapers.lat).

---

> This actor is an independent tool and has no affiliation with eBay. It only accesses data that is publicly available on eBay's website. Use it in accordance with eBay's terms of service.

# Actor input Schema

## `maxItems` (type: `integer`):

Maximum number of products to collect across all inputs.
## `withDetails` (type: `boolean`):

Open each item page to add full item specifics (brand, model, MPN, UPC and every other attribute), the complete image gallery, sold count and availability. Turn off for a faster, lighter run.
## `searchQueries` (type: `array`):

Keywords to search on eBay, like "nintendo switch" or "vintage rolex". Every result page is read and paginated until Max items is reached.
## `itemUrls` (type: `array`):

Direct eBay item URLs (https://www.ebay.com/itm/<itemId>) to scrape, ideal for tracking specific listings over time.
## `proxyConfiguration` (type: `object`):

eBay throttles datacenter IPs. A residential proxy is required and selected by default.

## Actor input object example

```json
{
  "maxItems": 10,
  "withDetails": true,
  "searchQueries": [
    "nintendo switch"
  ],
  "itemUrls": [],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
````

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxItems": 10,
    "searchQueries": [
        "nintendo switch"
    ],
    "itemUrls": [],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/ebay-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "maxItems": 10,
    "searchQueries": ["nintendo switch"],
    "itemUrls": [],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/ebay-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxItems": 10,
  "searchQueries": [
    "nintendo switch"
  ],
  "itemUrls": [],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call scrapers_lat/ebay-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapers_lat/ebay-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "eBay Product Listings Scraper",
        "description": "Scrape eBay product listings by keyword or item URL. Extract title, price, was-price, discount, condition, seller, feedback, shipping, location, item specifics and images to JSON, CSV or Excel.",
        "version": "0.1",
        "x-build-id": "7Rjkh6baajfS7wnCe"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapers_lat~ebay-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapers_lat-ebay-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scrapers_lat~ebay-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapers_lat-ebay-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scrapers_lat~ebay-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapers_lat-ebay-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "proxyConfiguration"
                ],
                "properties": {
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Maximum number of products to collect across all inputs."
                    },
                    "withDetails": {
                        "title": "Scrape item details",
                        "type": "boolean",
                        "description": "Open each item page to add full item specifics (brand, model, MPN, UPC and every other attribute), the complete image gallery, sold count and availability. Turn off for a faster, lighter run.",
                        "default": true
                    },
                    "searchQueries": {
                        "title": "Search queries",
                        "type": "array",
                        "description": "Keywords to search on eBay, like \"nintendo switch\" or \"vintage rolex\". Every result page is read and paginated until Max items is reached.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "itemUrls": {
                        "title": "Item URLs",
                        "type": "array",
                        "description": "Direct eBay item URLs (https://www.ebay.com/itm/<itemId>) to scrape, ideal for tracking specific listings over time.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "eBay throttles datacenter IPs. A residential proxy is required and selected by default.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
