# Newegg Scraper - Products, Prices, Specs & Reviews (`scrapesage/newegg-scraper`) Actor

Scrape Newegg by keyword, category or URL: live price, discount %, stock, full specifications, ratings, reviews, marketplace seller leads & price/stock monitoring across the US & Canada.

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

## Pricing

from $4.00 / 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.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#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 — Products, Prices, Specs, Reviews & Seller Leads

Extract **complete Newegg product data** — including the fields other scrapers leave empty: **live price & stock, the 30-day lowest price, the full specifications table, all images, MPN/GTIN/model, best-seller rank, ratings, reviews and the marketplace seller**. Search by keyword, browse a category or paste product URLs across **Newegg.com (US)** and **Newegg.ca (Canada)**, and turn on **monitor mode** to capture only price drops, restocks and new listings.

No login, no cookies, no browser — fast JSON + HTML extraction with the **richest dataset in the category**.

### Why this Newegg scraper?

Most Newegg scrapers return a title and a price and stop there. This actor combines Newegg's product pages with its internal realtime price/stock endpoint to ship every field that matters for repricing, dropshipping, PC-parts tracking and market research:

| Data | Typical scrapers | This actor |
|---|---|---|
| Live price + was-price + exact discount % | partial | ✅ |
| **30-day lowest price** & "is lowest price" flag | ❌ | ✅ |
| Live in-stock + stock quantity | ❌ | ✅ |
| Full specifications table (every attribute) | ❌ | ✅ 30–50 fields |
| MPN / GTIN / model number | ❌ | ✅ |
| All hi-res images | partial | ✅ |
| Best-seller rank, warranty, ship-from | ❌ | ✅ |
| Ratings + buyer reviews | partial | ✅ opt-in |
| Marketplace seller + seller leads (rating, lifetime orders, lead score) | ❌ | ✅ opt-in |
| Price-drop / restock / new-listing monitor | ❌ | ✅ |
| US **and** Canada storefronts | ❌ | ✅ |

### Use cases

- **Price tracking & repricing** — follow GPU, CPU, SSD, laptop and component prices, the 30-day low and discount depth; schedule recurring runs with monitor mode for price-drop & restock alerts.
- **Dropshipping & arbitrage** — pull live price, stock, specs and images for product research and catalog building across electronics and PC hardware.
- **Market & competitive intelligence** — track ratings, review counts, best-seller rank and assortment by keyword or category.
- **Lead generation** — build a list of third-party Newegg Marketplace sellers with rating, review count, lifetime orders and a 0–100 lead score.
- **Product enrichment** — resolve item numbers to MPN/GTIN/model + full specifications for your own catalog or PIM.

### How to use

1. [Sign up for Apify](https://console.apify.com/sign-up) — the free plan is enough to try this actor.
2. Open the **Newegg Scraper**, enter search keywords (or paste Newegg URLs / item numbers), pick the **site** (US or Canada) and click **Start**.
3. Watch results stream into the dataset table.
4. **Export** as JSON, CSV, Excel, XML or RSS — or pull results programmatically via the [Apify API](https://docs.apify.com/api/v2).

### Input

```json
{
    "searchTerms": ["rtx 4070", "nvme ssd 2tb"],
    "site": "us",
    "sort": "default",
    "maxProducts": 200,
    "includeProductDetails": true,
    "includeReviews": true,
    "includeSellerLeads": true,
    "monitorMode": false
}
```

- **searchTerms** — keywords to search Newegg for. Each keyword is scraped as its own product feed (up to 96 products per page).
- **startUrls** — Newegg URLs to scrape directly: product pages (`/<slug>/p/<ItemNumber>`), search / category / store / deals listing pages, or brand/seller storefronts.
- **itemNumbers** — Newegg item numbers (e.g. `N82E16814126761`) to fetch directly.
- **site** — `us` = Newegg.com (USD) or `ca` = Newegg.ca (CAD). Start URLs override this by their domain.
- **sort** — `default`, `priceAsc`, `priceDesc` or `bestRating`.
- **minPrice / maxPrice / fourStarPlus / inStockOnly** — filters.
- **includeProductDetails** *(default true)* — add the full specifications table, description, all images, MPN/GTIN/model, live price & stock, 30-day-low price, marketplace seller, warranty & promotions.
- **includeReviews** *(default false)* — pull the buyer reviews embedded on each product page as separate `review` records (no extra request when detail is on).
- **includeSellerLeads** *(default false)* — output one deduplicated `sellerLead` record per third-party Marketplace seller seen in the run, with a 0–100 lead score.
- **monitorMode / monitorKey** *(default false)* — remember products across runs and emit only new / price-changed / restocked items (each carries a `changeType`). Complements [Apify Schedules](https://docs.apify.com/platform/schedules).
- **maxProducts / maxPagesPerSearch / maxConcurrency / proxyConfiguration** — run controls.

### Output

One record per product (`type: "product"`), plus optional `review` and `sellerLead` records:

```json
{
    "type": "product",
    "site": "us",
    "itemNumber": "N82E16814126761",
    "title": "ASUS PRIME GeForce RTX 5070 12GB GDDR7 PCIe 5.0 Graphics Card",
    "brand": "ASUS",
    "url": "https://www.newegg.com/asus-prime-rtx5070-12g.../p/N82E16814126761",
    "price": 641.99,
    "originalPrice": 669.99,
    "discountAmount": 28,
    "discountPercent": 4.2,
    "isOnSale": true,
    "currency": "USD",
    "inStock": true,
    "stockQty": 1,
    "priceLow30Days": 641.18,
    "isLowestPrice30Days": false,
    "shippingText": "Free Shipping",
    "isFreeShipping": true,
    "rating": 5,
    "reviewsCount": 170,
    "mpn": "PRIME-RTX5070-12G",
    "gtin": "197105870413",
    "model": "PRIME-RTX5070-12G",
    "category": "GPUs / Video Graphics Cards",
    "breadcrumb": ["Home", "Components & Storage", "GPU & Video Graphics Device", "GPUs / Video Graphics Cards"],
    "specifications": { "Chipset Manufacturer": "NVIDIA", "GPU Series": "NVIDIA GeForce RTX 50 Series", "Interface": "PCI Express 5.0 x16", "Memory Size": "12GB", "...": "..." },
    "specCount": 34,
    "features": ["Powered by NVIDIA Blackwell ...", "..."],
    "images": ["https://c1.neweggimages.com/productimage/.../14-126-761-01.png"],
    "bestSellingRank": 25,
    "warranty": "30-Day Return Policy",
    "shipFrom": "United States",
    "sellerName": "Newegg",
    "isMarketplaceSeller": false,
    "searchTerm": "rtx 4070",
    "scrapedAt": "2026-06-19T03:39:33.216Z"
}
```

### Automate & schedule

Run this actor on autopilot and pull results into your own stack:

- **[Apify API](https://docs.apify.com/api/v2)** — start runs, fetch datasets, and manage schedules over REST.
- **[apify-client for JavaScript](https://docs.apify.com/api/client/js/)** and **[apify-client for Python](https://docs.apify.com/api/client/python/)** — official SDKs.
- **[Schedules](https://docs.apify.com/platform/schedules)** — run it hourly/daily to watch a keyword, category or item list; pair with monitor mode for price-drop & restock alerts.
- **[Webhooks](https://docs.apify.com/platform/integrations/webhooks)** — trigger downstream actions (CRM import, Slack alert, repricing job) the moment a run finishes.

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

const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });

const run = await client.actor('scrapesage/newegg-scraper').call({
    searchTerms: ['rtx 4070'],
    site: 'us',
    maxProducts: 200,
    includeProductDetails: true,
    monitorMode: true,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} Newegg products`);
```

### Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

- **[Make](https://docs.apify.com/platform/integrations/make)** — multi-step automation scenarios.
- **[Zapier](https://docs.apify.com/platform/integrations/zapier)** — push price drops straight into Sheets, Slack or your repricer.
- **[Slack](https://docs.apify.com/platform/integrations/slack)** — get notified when a monitored product drops in price or restocks.
- **[Google Drive / Sheets](https://docs.apify.com/platform/integrations/drive)** — auto-export every run to a spreadsheet.
- **[Airbyte](https://docs.apify.com/platform/integrations/airbyte)** — pipe results into your data warehouse.
- **[GitHub](https://docs.apify.com/platform/integrations/github)** — trigger runs from commits or releases.

### Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT or any agent framework through the **[Apify MCP server](https://docs.apify.com/platform/integrations/mcp)** — ask your assistant to "track the cheapest RTX 4070 on Newegg and alert me on a price drop" and let it run this scraper for you.

### Agent-ready: autonomous payments (x402 & Skyfire)

This actor is **agent-ready** — AI agents can discover it, run it, and **pay for it autonomously**, with no Apify account and no human in the loop. It uses [pay-per-event](https://docs.apify.com/platform/actors/publishing/monetize/pay-per-event) pricing and [limited permissions](https://docs.apify.com/platform/actors/development/permissions), so it qualifies for Apify's agentic-payment standards:

- **[x402](https://docs.apify.com/platform/integrations/x402)** — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp) — no account, no API key.
- **[Skyfire](https://docs.apify.com/platform/integrations/skyfire)** — agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

### More scrapers from scrapesage

Build a complete **e-commerce & pricing stack** across every major marketplace:

- **[Amazon Scraper](https://apify.com/scrapesage/amazon-scraper)** — products, Buy Box price, reviews & seller leads, 20+ marketplaces.
- **[eBay Scraper](https://apify.com/scrapesage/ebay-scraper)** — listings, sold prices & seller leads.
- **[AliExpress Scraper](https://apify.com/scrapesage/aliexpress-scraper)** — products, SKUs, orders sold, reviews & store leads.
- **[Alibaba Scraper](https://apify.com/scrapesage/alibaba-scraper)** — B2B wholesale: FOB ladder prices, MOQ & supplier leads.
- **[Banggood Scraper](https://apify.com/scrapesage/banggood-scraper)** — cross-border products, variants, specs & reviews.
- **[Flipkart Scraper](https://apify.com/scrapesage/flipkart-scraper)** — India's #1 consumer e-commerce: prices, reviews & seller leads.
- **[Zalando Scraper](https://apify.com/scrapesage/zalando-scraper)** — Europe's #1 fashion retailer: prices, sizes & stock across 15 markets.
- **[Reverb Scraper](https://apify.com/scrapesage/reverb-scraper)** — musical-instrument marketplace, Price Guide & seller leads.
- **[Shopify Store Scraper](https://apify.com/scrapesage/shopify-store-scraper)** — products, prices & inventory from any Shopify storefront.

### Tips

- **Full prices & specs**: keep `includeProductDetails` ON — the live price, stock, 30-day-low and specifications come from the product page + Newegg's realtime endpoint, not the search card.
- **Recurring monitoring**: combine [Schedules](https://docs.apify.com/platform/schedules) with `monitorMode` and a stable `monitorKey` to receive only price drops, restocks and new listings.
- **Combo & bundle items**: PC-builder bundles and some combos don't expose a live realtime record — they still return full page detail (specs, images, rating).
- **Proxies**: keep the default datacenter proxy; switch to RESIDENTIAL only if you see repeated blocked/challenge warnings. Keep `maxConcurrency` at 3–5.

### FAQ

**Can I scrape Newegg by category instead of keyword?** Yes — paste any Newegg category, store, brand or "Today's Deals" listing URL into `startUrls`; they all render the same product cards and paginate automatically.

**Does it get the real, current price?** Yes. The live price, stock and 30-day-low come from Newegg's own realtime price/stock endpoint, so they reflect what a shopper sees right now — not a stale cached card.

**Can I scrape Newegg Canada?** Yes — set `site` to `ca` (or paste Newegg.ca URLs). Prices are returned in CAD.

**How do I monitor price drops automatically?** Turn on `monitorMode`, give it a `monitorKey`, and create a [Schedule](https://docs.apify.com/platform/schedules). Each run emits only products that are new or whose price/stock changed, each tagged with a `changeType` (`price_drop`, `price_rise`, `restocked`, `out_of_stock`, `new`).

**Where do seller leads come from?** Newegg is largely a first-party retailer, so most items are "Sold & Shipped by Newegg". When a product is sold by a third-party **Newegg Marketplace** seller, the actor captures that seller's name, rating, review count, lifetime orders and a lead score (with `includeSellerLeads` on).

**Can I export to Google Sheets, CSV or Excel?** Yes — one click in the dataset view, or automatically on every run via the [Google Drive integration](https://docs.apify.com/platform/integrations/drive).

**Is scraping Newegg legal?** This actor collects publicly available data only. You are responsible for using the data in compliance with applicable laws and Newegg's terms.

**A field is null — why?** Some products genuinely don't publish a discount, a rating or a third-party seller. Fields are `null` only when the data doesn't exist, not because the scraper skipped them.

### Need help?

Open an issue on the actor's **Issues** tab, or visit the [Apify help center](https://help.apify.com/). Feature requests are welcome — this actor is actively maintained.

# Actor input Schema

## `searchTerms` (type: `array`):

Keywords to search Newegg for, e.g. <code>rtx 4070</code>, <code>ssd</code>, <code>gaming laptop</code>, <code>mechanical keyboard</code>. Each keyword is scraped as its own product feed (up to 96 products per page). Leave empty if you only use Start URLs / Item numbers.

## `startUrls` (type: `array`):

Newegg URLs to scrape directly: product pages (<code>/\<slug>/p/\<ItemNumber></code>), search/category/store/deals listing pages (<code>/p/pl?d=…</code>, <code>/Store/…</code>, brand or seller storefronts). Used in addition to the keyword search.

## `itemNumbers` (type: `array`):

Newegg item numbers to fetch full product detail for directly, e.g. <code>N82E16814126761</code>. Equivalent to pasting their product URLs.

## `site` (type: `string`):

Which Newegg storefront to scrape. <code>us</code> = Newegg.com (USD), <code>ca</code> = Newegg.ca (CAD). Start URLs override this per-URL by their domain.

## `sort` (type: `string`):

How Newegg orders the keyword search results.

## `minPrice` (type: `integer`):

Only keep products whose price (in the site currency) is at least this much.

## `maxPrice` (type: `integer`):

Only keep products whose price (in the site currency) is at most this much.

## `fourStarPlus` (type: `boolean`):

Only keep products with an average rating of 4.0 stars or higher (drops new / low-rated items).

## `inStockOnly` (type: `boolean`):

Drop products that are out of stock (uses live stock from the realtime price/stock check).

## `maxProducts` (type: `integer`):

Maximum number of product records to scrape across all searches/URLs. Newegg search returns up to 96 products per page.

## `maxPagesPerSearch` (type: `integer`):

How many search result pages to page through per keyword/listing (up to 96 products each).

## `includeProductDetails` (type: `boolean`):

Open each product to add the full specifications table, description, all images, MPN/GTIN/model, live price & stock (and the 30-day lowest price), marketplace seller, warranty & promotions. Turn OFF for a faster/cheaper discovery run (title, URL, item number, card price, rating, review count, image only). Adds one request per product.

## `includeReviews` (type: `boolean`):

Pull the buyer reviews embedded on each product page (rating, title, text, author, date) as separate review records. Adds no extra request when product detail is on.

## `maxReviewsPerProduct` (type: `integer`):

Maximum number of buyer reviews to pull per product when reviews are enabled.

## `includeSellerLeads` (type: `boolean`):

Output one deduplicated lead record per third-party Newegg Marketplace seller seen in the run (store name, rating, review count, lifetime orders, top-rated flag, product count, sample products, categories & a 0–100 lead score). First-party Newegg items are not leads.

## `deduplicateProducts` (type: `boolean`):

Drop duplicate products that appear in more than one search/page in the same run.

## `monitorMode` (type: `boolean`):

Remember products across runs in a named key-value store and emit ONLY products that are new OR whose price/stock changed since the last run (each carries a <code>changeType</code>: new / price\_drop / price\_rise / restocked / out\_of\_stock). Pair with Apify Schedules for price-drop & restock alerts — it complements the scheduler (the schedule starts the run; monitor mode dedupes against prior runs). Needs product detail ON to compare live prices.

## `monitorKey` (type: `string`):

Names the monitor's memory store so you can run several independent monitors (e.g. one per keyword). Reuse the same key to keep tracking the same feed.

## `maxConcurrency` (type: `integer`):

Parallel page/request fetches. Keep moderate (3–5) so Newegg's anti-bot doesn't serve the challenge page.

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

Proxies to use. Newegg serves cleanly to Apify datacenter proxies; keep the default. Switch to RESIDENTIAL only if you see repeated blocked / challenge warnings.

## Actor input object example

```json
{
  "searchTerms": [
    "rtx 4070"
  ],
  "site": "us",
  "sort": "default",
  "fourStarPlus": false,
  "inStockOnly": false,
  "maxProducts": 100,
  "maxPagesPerSearch": 10,
  "includeProductDetails": true,
  "includeReviews": false,
  "maxReviewsPerProduct": 20,
  "includeSellerLeads": false,
  "deduplicateProducts": true,
  "monitorMode": false,
  "monitorKey": "default",
  "maxConcurrency": 4,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

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

All scraped Newegg product records, optional buyer review records and optional marketplace seller leads as JSON items 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 = {
    "searchTerms": [
        "rtx 4070"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapesage/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 = {
    "searchTerms": ["rtx 4070"],
    "proxyConfiguration": { "useApifyProxy": True },
}

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

```

## MCP server setup

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

```

## OpenAPI specification

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