# Newegg Scraper 🛒 prices, stock, ratings, item numbers (`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 proxy to set up. $3.50 per 1,000 products, listing data only (not full product pages), platform usage included.

- **URL**: https://apify.com/tagadanar/newegg-scraper.md
- **Developed by:** [Tagada Data](https://apify.com/tagadanar) (community)
- **Categories:** E-commerce, Automation, AI
- **Stats:** 1 total users, 0 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. 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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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: Price Monitoring, Stock Tracking & Item Numbers

Pull structured product data from Newegg for price monitoring, stock tracking and repricing. Point it at a Newegg category listing (or a keyword) 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 pages through them, so it is fast and returns complete records without driving a browser.

### Cheaper than the alternative, at every plan tier

Per 1,000 products, compared with the most-used Newegg actor on the Store (prices read from the Apify Store API on 2026-08-09):

| Your Apify plan | This actor | Most-used Newegg rival | You save |
| --- | --- | --- | --- |
| Free | **$3.50** | $4.90 | 29% |
| Bronze | **$3.15** | $4.23 | 26% |
| Silver | **$2.80** | $3.57 | 22% |
| Gold and above | **$2.45** | $2.90 | 16% |

**Apify platform usage is included** — you pay only the per-product price above, plus $0.001 per run, and there is no separate usage line on your bill. The actor routes through Apify's free datacenter proxy pool internally, falling back to a US residential exit only if Newegg refuses the free one — there is no proxy input to configure and no proxy line on your bill.

### 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 (the count, not the review text) |
| `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.
- **PC-parts and electronics buyers** watching GPU, SSD, CPU and laptop categories for price moves.
- **Market research** mapping a category by price, brand and rating.
- **Agents and data pipelines** that need product data as clean JSON.

### Input examples

Track two categories (the most reliable way to run this actor):

```json
{
  "search": [
    "https://www.newegg.com/Desktop-Graphics-Cards/SubCategory/ID-48",
    "https://www.newegg.com/Internal-SSDs/SubCategory/ID-636"
  ],
  "maxResults": 300,
  "maxPagesPerSource": 5
}
```

Or pass keywords and let Newegg's own search resolve them:

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

### Which URL to paste

Newegg has three listing shapes and they do not behave the same. Measured on 2026-08-09:

| URL shape | Products per page | Pages beyond the first |
| --- | --- | --- |
| `/<name>/SubCategory/ID-<n>` | 36 (up to 96 with `?PageSize=96`) | Yes — `?Page=2`, `?Page=3` ... each return different products |
| `/<name>/Category/ID-<n>` (top level) | ~12 | No — `?Page=2` returns the same page, so the actor stops after page 1 |
| `/p/pl?d=<keyword>` (search) | Varies | Varies — Newegg guards this endpoint more aggressively than its category pages |

**For predictable, high-volume runs, paste a `SubCategory` URL.** Keywords still work, and the actor follows Newegg's search-to-category redirect for you, but a category URL is the precise-control option and is not subject to the search endpoint's extra guarding. If a source returns nothing, the run finishes cleanly and says so in the log — switch that source to a `SubCategory` URL.

### How paging works

The actor walks listing pages with Newegg's `Page` query parameter, deduping products by item number, and stops a source as soon as a page returns no new products (or when it hits your `maxPagesPerSource` or `maxResults`). This means you never pay for duplicate rows and the actor never loops on pagination.

### Output sample

```json
{
  "title": "ASRock Challenger Radeon RX 9070 16GB Graphics Card",
  "url": "https://www.newegg.com/p/N82E16814930138",
  "itemNumber": "N82E16814930138",
  "price": 599.99,
  "priceLabel": "$599.99",
  "shipping": "Free Shipping",
  "inStock": true,
  "rating": 4.5,
  "reviewCount": 70,
  "brand": "ASRock",
  "imageUrl": "https://c1.neweggimages.com/productimage/nb640/14-930-138-01.png",
  "isSponsored": false,
  "searchKeyword": "radeon rx 9070",
  "sourceUrl": "https://www.newegg.com/Desktop-Graphics-Cards/SubCategory/ID-48",
  "scrapedAt": "2026-08-09T09:14:22.317Z"
}
```

### Pricing

You pay per product returned. **Apify platform usage is included** in that price — no separate usage charge, no subscription and no monthly minimum.

| Event | Price |
| --- | --- |
| Actor start | $0.001 per run |
| Product scraped | $3.50 per 1,000 (less on Bronze / Silver / Gold — see the table above) |

A source that returns no products costs you nothing beyond the start fee, because the per-product event is only charged when a product is written.

### FAQ

**Do I need a proxy?** No, and there is nothing to configure. Measured 2026-08-09, Newegg's category and subcategory listing pages return 200 from a bare Apify datacenter IP identically to a US residential one, so the actor starts on Apify's free datacenter pool. If Newegg refuses that IP (HTTP 403/429) the actor retries the same page from a US residential exit before giving up, and the run log names the rung every page was fetched on. The Cloudflare-walled keyword path (`/p/pl`) was 403 from both a datacenter and a European residential IP in our probes, so residential is a fallback and not a guarantee — see the pagination note above for the reliable `SubCategory` URL alternative.

**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 `SubCategory` page when you want precise control and reliable paging.

**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.

**Does it return review text?** No — it returns the star rating and the review *count* from the tile. If you need review bodies, that is a different job.

**How many products can I pull?** Set `maxResults`. The actor walks pages per source up to `maxPagesPerSource`, deduping by item number, so pass several 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, Newegg stock tracker, PC parts price scraper, GPU price scraper, electronics price monitoring, repricing data, competitor price monitoring, Newegg item numbers, product ratings scraper.*

# Actor input Schema

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

One search per entry. Paste a Newegg category or subcategory URL (e.g. <code>https://www.newegg.com/Internal-SSDs/SubCategory/ID-636</code>) for reliable, high-volume paging. Keyword search (e.g. <code>rtx 4070</code>) is also accepted, but Newegg's search endpoint guards more aggressively and can return zero results for some keywords/regions — a URL is the dependable option.

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

## Actor input object example

```json
{
  "search": [
    "https://www.newegg.com/Internal-SSDs/SubCategory/ID-636"
  ],
  "maxResults": 20,
  "maxPagesPerSource": 10
}
```

# 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": [
        "https://www.newegg.com/Internal-SSDs/SubCategory/ID-636"
    ],
    "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": ["https://www.newegg.com/Internal-SSDs/SubCategory/ID-636"],
    "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(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).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": [
    "https://www.newegg.com/Internal-SSDs/SubCategory/ID-636"
  ],
  "maxResults": 20
}' |
apify call tagadanar/newegg-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,tagadanar/newegg-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/iiYtOYSCt7p1N4VBW/builds/ScC5v8DvOtDfL9JA0/openapi.json
