# eBay & Target Scraper (`lentic_clockss/ecommerce-scraper`) Actor

Scrape eBay and Target product listings in one run. Get titles, prices, conditions, ratings, images, and shipping details. Compare marketplace (eBay) vs retail (Target) pricing. Fast HTTP-only extraction.

- **URL**: https://apify.com/lentic\_clockss/ecommerce-scraper.md
- **Developed by:** [kane liu](https://apify.com/lentic_clockss) (community)
- **Categories:** E-commerce, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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

## E-commerce Scraper

Scrape product listings from **eBay** (marketplace) and **Target** (retail) in one run. Compare prices across marketplace and retail, track products, and analyze competition.

### Sites

- **eBay** — New, used, refurbished, and auction listings from millions of sellers. Prices, conditions, ratings, shipping details.
- **Target** — New retail products with fixed pricing, brand info, ratings, and availability.

### Features

- **Multi-site search** — Compare the same product across marketplace and retail in one run
- **Price comparison** — eBay (used from $100) vs Target (new at $800) for the same product
- **Rich filters** — Condition, Buy It Now, price range, sort order (eBay)
- **Fast** — HTTP-only extraction with proxy rotation, no browser needed
- **Structured output** — Consistent schema across both sites with source field

### Output Fields

#### eBay Listings

| Field | Type | Description |
|-------|------|-------------|
| `itemId` | string | eBay item ID |
| `title` | string | Product title |
| `price` | number | Price in USD |
| `condition` | string | Brand New, Refurbished, Pre-Owned, etc. |
| `imageUrl` | string | Product image URL |
| `itemUrl` | string | eBay listing URL |
| `rating` | number | Star rating (out of 5) |
| `reviewCount` | number | Number of reviews |
| `shipping` | string | Shipping cost or "Free shipping" |
| `freeShipping` | boolean | Free shipping flag |
| `isSponsored` | boolean | Sponsored listing flag |
| `acceptsOffers` | boolean | Best Offer accepted |
| `listingType` | string | buy_it_now or auction |
| `source` | string | "ebay" |

#### Target Listings

| Field | Type | Description |
|-------|------|-------------|
| `itemId` | string | Target TCIN product ID |
| `title` | string | Product title |
| `price` | number | Current price in USD |
| `regularPrice` | number | Regular (non-sale) price |
| `brand` | string | Brand name |
| `imageUrl` | string | Product image URL |
| `itemUrl` | string | Target.com product URL |
| `rating` | number | Average rating |
| `reviewCount` | number | Number of reviews |
| `category` | string | Product category |
| `description` | string | Product description |
| `inStock` | boolean | Online availability |
| `source` | string | "target" |

### Input Parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `keyword` | string | *required* | Search term |
| `sites` | array | `["ebay","target"]` | Which sites to search |
| `maxResults` | integer | 60 | Max listings (split across sites) |
| `condition` | string | any | eBay: new, refurbished, used |
| `buyItNow` | boolean | false | eBay: exclude auctions |
| `minPrice` | number | — | Min price filter (all sites) |
| `maxPrice` | number | — | Max price filter (all sites) |
| `sortBy` | string | best_match | eBay sort order |

### Example

```json
{
  "keyword": "sony headphones",
  "sites": ["ebay", "target"],
  "maxResults": 40,
  "condition": "new"
}
````

### Use Cases

- **Price comparison** — Find the best deal across marketplace and retail
- **Product research** — Analyze pricing, conditions, and availability
- **Reselling** — Find underpriced items on eBay vs retail
- **Market analysis** — Track product pricing trends
- **Dropshipping research** — Compare supplier prices across platforms

### Performance

| Site | Method | Speed |
|------|--------|-------|
| eBay | HTML parsing + proxy rotation | ~3-5 seconds per page |
| Target | Redsky API (JSON) | ~1-2 seconds per page |

# Actor input Schema

## `keyword` (type: `string`):

What to search for (e.g. 'iphone 15', 'gaming laptop', 'air fryer')

## `sites` (type: `array`):

eBay (marketplace: new + used + auctions) and Target (retail: new items, fixed prices).

## `maxResults` (type: `integer`):

Maximum total listings to collect (split across sites).

## `categoryId` (type: `string`):

eBay category ID to narrow results (optional). Example: '9355' for Cell Phones.

## `condition` (type: `string`):

Filter eBay by item condition.

## `buyItNow` (type: `boolean`):

eBay: only show Buy It Now listings (exclude auctions).

## `minPrice` (type: `number`):

Minimum price in USD (applies to all sites).

## `maxPrice` (type: `number`):

Maximum price in USD (applies to all sites).

## `sortBy` (type: `string`):

How to sort eBay results.

## Actor input object example

```json
{
  "keyword": "iphone 15",
  "sites": [
    "ebay",
    "target"
  ],
  "maxResults": 60,
  "condition": "",
  "buyItNow": false,
  "sortBy": "best_match"
}
```

# Actor output Schema

## `listings` (type: `string`):

Dataset containing all scraped eBay listings

# 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 = {
    "keyword": "iphone 15"
};

// Run the Actor and wait for it to finish
const run = await client.actor("lentic_clockss/ecommerce-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 = { "keyword": "iphone 15" }

# Run the Actor and wait for it to finish
run = client.actor("lentic_clockss/ecommerce-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 '{
  "keyword": "iphone 15"
}' |
apify call lentic_clockss/ecommerce-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "eBay & Target Scraper",
        "description": "Scrape eBay and Target product listings in one run. Get titles, prices, conditions, ratings, images, and shipping details. Compare marketplace (eBay) vs retail (Target) pricing. Fast HTTP-only extraction.",
        "version": "0.1",
        "x-build-id": "7kUyXobUHSekJiURU"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/lentic_clockss~ecommerce-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-lentic_clockss-ecommerce-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/lentic_clockss~ecommerce-scraper/runs": {
            "post": {
                "operationId": "runs-sync-lentic_clockss-ecommerce-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/lentic_clockss~ecommerce-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-lentic_clockss-ecommerce-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": [
                    "keyword"
                ],
                "properties": {
                    "keyword": {
                        "title": "Search keyword",
                        "type": "string",
                        "description": "What to search for (e.g. 'iphone 15', 'gaming laptop', 'air fryer')"
                    },
                    "sites": {
                        "title": "Sites to search",
                        "type": "array",
                        "description": "eBay (marketplace: new + used + auctions) and Target (retail: new items, fixed prices).",
                        "items": {
                            "type": "string",
                            "enum": [
                                "ebay",
                                "target"
                            ]
                        },
                        "default": [
                            "ebay",
                            "target"
                        ]
                    },
                    "maxResults": {
                        "title": "Max results",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum total listings to collect (split across sites).",
                        "default": 60
                    },
                    "categoryId": {
                        "title": "eBay Category ID",
                        "type": "string",
                        "description": "eBay category ID to narrow results (optional). Example: '9355' for Cell Phones."
                    },
                    "condition": {
                        "title": "Condition filter (eBay)",
                        "enum": [
                            "",
                            "new",
                            "refurbished",
                            "used"
                        ],
                        "type": "string",
                        "description": "Filter eBay by item condition.",
                        "default": ""
                    },
                    "buyItNow": {
                        "title": "Buy It Now only (eBay)",
                        "type": "boolean",
                        "description": "eBay: only show Buy It Now listings (exclude auctions).",
                        "default": false
                    },
                    "minPrice": {
                        "title": "Min price ($)",
                        "type": "number",
                        "description": "Minimum price in USD (applies to all sites)."
                    },
                    "maxPrice": {
                        "title": "Max price ($)",
                        "type": "number",
                        "description": "Maximum price in USD (applies to all sites)."
                    },
                    "sortBy": {
                        "title": "Sort by (eBay)",
                        "enum": [
                            "best_match",
                            "price_asc",
                            "price_desc",
                            "newly_listed",
                            "ending_soonest"
                        ],
                        "type": "string",
                        "description": "How to sort eBay results.",
                        "default": "best_match"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
