# Newegg Scraper 🛒 (prices, stock, ratings, reviews) (`tagadanar/newegg-scraper`) Actor

Scrape Newegg product listings by keyword or URL: title, price, shipping, stock, rating, review count, brand, item number and image. Fast HTTP, no browser, no start fee. $3.50 per 1,000 products, listing data only (not full product pages). US residential proxy, you pay usage.

- **URL**: https://apify.com/tagadanar/newegg-scraper.md
- **Developed by:** [Tagada Data](https://apify.com/tagadanar) (community)
- **Categories:** E-commerce, Automation, AI
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.45 / 1,000 product scrapeds

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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

## Newegg Scraper: Product Prices, Stock, Ratings & Item Numbers

Pull structured product data from Newegg for price monitoring and repricing. Give it a keyword or a Newegg URL and you get back a clean list of products: title, product URL, item number, price, shipping, stock, rating, review count, brand and image.

It reads Newegg's own listing tiles over plain HTTP and follows the search-to-category redirect, so it is fast and returns complete records without driving a browser. Newegg is a US storefront, so the actor runs through Apify Residential pinned to the US by default; that proxy usage is billed to your run at Apify cost, with nothing hidden.

### What you get per product

| Field | Description |
| --- | --- |
| `title` | Product title as shown on the tile |
| `url` | Product page URL |
| `itemNumber` | Newegg item number (e.g. `N82E16814930138`, or a `9SIA...` marketplace id) |
| `price`, `priceLabel` | Numeric USD price and the label as shown (`$599.99`) |
| `shipping` | Shipping line (`Free Shipping`, `$5.99 Shipping`, ...) |
| `inStock` | True when the tile offers add-to-cart, false when out of stock, null if undetermined |
| `rating`, `reviewCount` | Star rating and number of reviews |
| `brand` | Brand from the tile's branding logo |
| `imageUrl` | Product thumbnail |
| `isSponsored` | True for promoted tiles when detectable |
| `searchKeyword`, `sourceUrl`, `scrapedAt` | The search that found it, the page it came from, and the run timestamp |

### Who uses it

- **Price-intelligence and repricing teams** tracking competitor prices and stock across SKUs.
- **Retailers and resellers** monitoring their own and rivals' Newegg listings.
- **Market research** mapping a category by price, brand and rating.
- **Agents and data pipelines** that need product data as clean JSON.

### Input examples

Track a few keywords:

```json
{
  "search": ["rtx 4070", "1tb nvme ssd"],
  "maxResults": 300
}
````

Scrape a specific Newegg category or search URL:

```json
{
  "search": ["https://www.newegg.com/p/pl?d=gpu"],
  "maxResults": 200,
  "maxPagesPerSource": 5
}
```

### How paging works

A keyword goes to Newegg's search endpoint, which redirects to the matching category listing. The actor then walks listing pages with Newegg's `Page` query parameter, deduping products by item number, and stops a search as soon as a page returns no new products (or when it hits your `maxPagesPerSource` or `maxResults`). If Newegg narrows a keyword to a single page of results, you get that one page. This means you never pay for duplicate rows and the actor never loops on pagination.

### Pricing

You pay per product returned. Platform usage (compute and US residential proxy) is billed to your run at Apify cost, so there is no subscription and no minimum.

| Event | Price |
| --- | --- |
| Product scraped | $3.50 per 1,000 |

No per-run minimum and no actor-start fee: a run that returns nothing costs nothing in event fees.

### FAQ

**Do I need a proxy?** Newegg is a US storefront and applies bot checks. The actor defaults to Apify Residential pinned to the US, which renders the storefront normally over plain HTTP. Datacenter proxies may also work; you can override the proxy in the input. Platform usage is billed to your run.

**Keyword or URL, what is the difference?** A keyword uses Newegg's search, which resolves to the closest category listing. A URL is fetched as-is, so paste an exact category or search page when you want precise control.

**Does it scrape product detail pages?** No. It reads the listing tiles, which already carry price, shipping, stock, rating and brand. Keeping to listings makes runs fast and cheap.

**How many products can I pull?** Set `maxResults`. The actor walks pages per search up to `maxPagesPerSource`, deduping by item number, so pass several keywords or category URLs for broad coverage.

***

### Something missing?

If you need an extra field, another source, or a different output, open an issue on this Actor and describe it. I read every request and small additions usually ship within days. More data and lead generation Actors are on [my profile](https://apify.com/tagadanar).

*Newegg scraper, Newegg product data, Newegg price monitoring, scrape Newegg prices, repricing data, Newegg stock tracker, ecommerce price intelligence, competitor price monitoring, Newegg item numbers, product ratings scraper.*

# Actor input Schema

## `search` (type: `array`):

One search per entry. Use a product keyword (e.g. <code>rtx 4070</code>, <code>1tb nvme ssd</code>) or paste a Newegg search or category URL (e.g. <code>https://www.newegg.com/p/pl?d=gpu</code> or a <code>/Category/ID-38</code> page). Keywords hit Newegg's search, which resolves to the matching category listing.

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

Total products to return across all searches. Each listing page holds roughly a dozen to a few dozen tiles.

## `maxPagesPerSource` (type: `integer`):

How many listing pages to walk per keyword/URL before moving on. The actor stops early when a page returns no new products.

## `proxyConfiguration` (type: `object`):

Newegg is a US storefront, so this defaults to Apify Residential pinned to the US. Datacenter proxies may also work; residential US is the safe default. Platform usage is billed to your run.

## Actor input object example

```json
{
  "search": [
    "rtx 4070"
  ],
  "maxResults": 20,
  "maxPagesPerSource": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# Actor output Schema

## `products` (type: `string`):

One item per product in the default dataset.

# 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 = {
    "search": [
        "rtx 4070"
    ],
    "maxResults": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("tagadanar/newegg-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 = {
    "search": ["rtx 4070"],
    "maxResults": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("tagadanar/newegg-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 '{
  "search": [
    "rtx 4070"
  ],
  "maxResults": 20
}' |
apify call tagadanar/newegg-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Newegg Scraper 🛒 (prices, stock, ratings, reviews)",
        "description": "Scrape Newegg product listings by keyword or URL: title, price, shipping, stock, rating, review count, brand, item number and image. Fast HTTP, no browser, no start fee. $3.50 per 1,000 products, listing data only (not full product pages). US residential proxy, you pay usage.",
        "version": "0.1",
        "x-build-id": "5aSeUDRTt7ORf2l2R"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/tagadanar~newegg-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-tagadanar-newegg-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/tagadanar~newegg-scraper/runs": {
            "post": {
                "operationId": "runs-sync-tagadanar-newegg-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/tagadanar~newegg-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-tagadanar-newegg-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": [
                    "search"
                ],
                "properties": {
                    "search": {
                        "title": "Keywords or Newegg URLs",
                        "type": "array",
                        "description": "One search per entry. Use a product keyword (e.g. <code>rtx 4070</code>, <code>1tb nvme ssd</code>) or paste a Newegg search or category URL (e.g. <code>https://www.newegg.com/p/pl?d=gpu</code> or a <code>/Category/ID-38</code> page). Keywords hit Newegg's search, which resolves to the matching category listing.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResults": {
                        "title": "Max products",
                        "minimum": 1,
                        "maximum": 20000,
                        "type": "integer",
                        "description": "Total products to return across all searches. Each listing page holds roughly a dozen to a few dozen tiles.",
                        "default": 100
                    },
                    "maxPagesPerSource": {
                        "title": "Max pages per search",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "How many listing pages to walk per keyword/URL before moving on. The actor stops early when a page returns no new products.",
                        "default": 10
                    },
                    "proxyConfiguration": {
                        "title": "Proxy",
                        "type": "object",
                        "description": "Newegg is a US storefront, so this defaults to Apify Residential pinned to the US. Datacenter proxies may also work; residential US is the safe default. Platform usage is billed to your run.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "US"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
