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

Scrape Newegg product listings by keyword or search URL. Extract titles, prices, brands, models, ratings, reviews, shipping, availability, images, and specs. No API key, no login required.

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

## Pricing

from $3.50 / 1,000 results

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

Learn more: https://docs.apify.com/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 - Products, Prices & Reviews

Scrape Newegg product listings by keyword or search URL. Extract titles, prices, brands, models, ratings, reviews, shipping info, and availability from Newegg.com. No API key or login required.

### What does Newegg Scraper do?

Newegg Scraper is a server-side data extraction tool that collects structured product data from Newegg.com search results. It works by fetching search result pages and parsing the embedded product catalog data that Newegg renders for each listing page. The scraper handles automatic pagination, following Newegg's internal page structure to walk through hundreds or thousands of results per keyword.

You can search by keyword (e.g. "rtx 4090", "mechanical keyboard", "laptop") or pass direct Newegg search/category URLs. Each product yields 20+ fields including pricing, brand, model number, seller info, shipping details, stock status, ratings, and direct product links. The scraper uses datacenter proxies and requires no API key, login, or browser — it runs entirely on lightweight HTTP requests.

### Who is it for?

- **E-commerce analysts** tracking Newegg pricing trends, stock availability, and competitive product positioning across hardware categories.
- **Dropshippers and resellers** who need bulk product data (titles, prices, images, availability) to feed into their own storefronts or comparison tools.
- **Hardware enthusiasts and deal hunters** building price trackers or alert systems for specific components (GPUs, CPUs, SSDs, peripherals).
- **Market researchers** analyzing brand distribution, seller landscape, and pricing strategies in the consumer electronics space.
- **Data engineers** who need a reliable Newegg data pipeline for dashboards, ML training sets, or product catalog synchronization.

### Use cases

- **Price monitoring**: Track pricing and lowest-price-in-30-days data for a list of product categories on a daily or weekly schedule.
- **Competitive analysis**: Compare product counts, average prices, and brand presence across multiple hardware categories.
- **Inventory tracking**: Monitor in-stock status and seller information for critical components during supply shortages.
- **Product catalog building**: Extract complete product listings with images, specs, and URLs to populate your own catalog or comparison site.
- **Deal detection**: Identify products where the current price is significantly below the original price or 30-day lowest.

### Why use Newegg Scraper?

- **No API key or login required** — works out of the box with zero configuration. Just enter a keyword and run.
- **20+ data fields per product** — titles, prices, brands, models, ratings, reviews, shipping, seller info, images, and more.
- **Bulk extraction** — handles automatic pagination to collect hundreds or thousands of products per run.
- **Flexible input** — search by keyword or paste direct Newegg search/category URLs.
- **Export to CSV, JSON, or Excel** — download results in any format directly from the Apify platform, or connect via API.
- **Pay-per-result pricing** — you only pay for the compute you use. No monthly subscription for the scraper itself.

### What data can you extract?

Each product listing yields the following fields:

| Field | Type | Description |
|-------|------|-------------|
| itemNumber | string | Newegg item/SKU number |
| title | string | Full product title |
| price | number | Current selling price (USD) |
| originalPrice | number | Original/list price before discount (null if no discount) |
| lowestPrice30Days | number | Lowest price in the last 30 days |
| brand | string | Manufacturer/brand name |
| model | string | Manufacturer model number |
| rating | number | Average customer rating (0-5 scale) |
| reviewCount | number | Total number of customer reviews |
| inStock | string | Stock availability (Yes/No) |
| freeShipping | string | Whether shipping is free (Yes/No) |
| shippingCost | number | Shipping cost in USD |
| sellerName | string | Seller/marketplace vendor name |
| sellerRating | number | Seller rating score |
| subcategory | string | Newegg product subcategory |
| category | string | Newegg top-level category |
| bestSellingRank | number | Best-seller ranking within category |
| weight | number | Product weight in pounds |
| shipFromCountry | string | Country the product ships from |
| productUrl | string | Direct URL to the product page |
| imageUrl | string | High-resolution product image URL |
| searchKeyword | string | The keyword used for this search |

#### Example output

```json
{
  "itemNumber": "34-236-727",
  "title": "ASUS Vivobook S 16\" 3K OLED Intel Core Ultra 7 255H - 32GB RAM - 1TB SSD",
  "price": 1299.99,
  "originalPrice": 1599.99,
  "lowestPrice30Days": null,
  "brand": "ASUS",
  "model": "S5606CA-NS79",
  "rating": 4,
  "reviewCount": 0,
  "inStock": "Yes",
  "freeShipping": "Yes",
  "shippingCost": 0,
  "sellerName": "Newegg",
  "sellerRating": 4,
  "subcategory": "All Laptop",
  "category": "Systems",
  "bestSellingRank": 1,
  "weight": 5.8,
  "shipFromCountry": "United States",
  "productUrl": "https://www.newegg.com/asus-vivobook-16-2880x1800-oled.../p/34-236-727",
  "imageUrl": "https://c1.neweggimages.com/ProductImageCompressAll1280/34-236-727-18.png",
  "searchKeyword": "laptop"
}
```

### How to use

#### Option A: Search by keyword

1. Go to [Newegg Scraper](https://apify.com/logiover/newegg-scraper) on Apify Store.
2. Click **Try for free**.
3. Enter your search keyword (e.g. "rtx 4090").
4. Set **Max Results** to control how many products you want (default: 200).
5. Click **Start** and wait for the run to finish.
6. Download your data in JSON, CSV, or Excel format.

**Example input:**

```json
{
  "keyword": "rtx 4090",
  "maxResults": 100
}
```

#### Option B: Search by URL

1. Open Newegg.com in your browser and navigate to any search or category page.
2. Copy the URL from your browser's address bar.
3. Paste it into the **Search URLs** field.
4. Click **Start**.

**Example input:**

```json
{
  "urls": [
    { "url": "https://www.newegg.com/p/pl?d=mechanical+keyboard" },
    { "url": "https://www.newegg.com/p/pl?N=100167749&d=gaming+laptop" }
  ],
  "maxResults": 500
}
```

### Input parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| keyword | string | — | Search term for Newegg product search. Either keyword or urls is required. |
| urls | array | — | List of direct Newegg search or category URLs. Overrides keyword if both are set. |
| maxResults | integer | 200 | Maximum number of products to return. Set to 0 for unlimited. |

#### Full input example

```json
{
  "keyword": "laptop",
  "maxResults": 200
}
```

### Output example

```json
{
  "itemNumber": "9SIBPMFM3D0155",
  "title": "Asus VivoBook 16\" Copilot+ PC Laptop AMD Ryzen AI 7 350 16GB DDR5 Memory 512GB PCIE SSD",
  "price": 899,
  "originalPrice": null,
  "lowestPrice30Days": 649.99,
  "brand": "ASUS",
  "model": "M1607KA-NS76",
  "rating": 4,
  "reviewCount": 0,
  "inStock": "Yes",
  "freeShipping": "Yes",
  "shippingCost": 0,
  "sellerName": "Newegg",
  "sellerRating": 4,
  "subcategory": "All Laptop",
  "category": "Systems",
  "bestSellingRank": 21,
  "weight": 6.5,
  "shipFromCountry": "United States",
  "productUrl": "https://www.newegg.com/asus-vivobook-16-0-amd-ryzen-ai-7-350.../p/9SIBPMFM3D0155",
  "imageUrl": "https://c1.neweggimages.com/ProductImageCompressAll1280/34-236-650-25.png",
  "searchKeyword": "laptop"
}
```

### Tips for best results

- **Start with a specific keyword.** Broad terms like "laptop" return 40,000+ products. Narrow it down with "gaming laptop 4070" or "ddr5 ram 32gb" for faster, more relevant results.
- **Use maxResults to control cost.** Each page fetches ~40-48 products. Setting maxResults to 200 means roughly 5 page fetches.
- **Combine multiple keywords** by adding multiple URLs to the urls array — each URL is processed sequentially.
- **Check the originalPrice field** for discount detection. If originalPrice is non-null and higher than price, the product is on sale.
- **Use lowestPrice30Days** to evaluate whether the current deal is actually competitive.
- **Filter by brand or category** in Newegg's URL. For example, add `&Brand=MSI` or browse specific subcategories.
- **Schedule regular runs** to track price changes over time. Daily or weekly runs build a complete pricing history.
- **Sort results after export.** The scraper returns products in Newegg's default relevance order. Sort by price, rating, or bestSellingRank in your spreadsheet.
- **Watch for null ratings.** A product with reviewCount = 0 may show a default rating — filter these out if you need verified review scores.
- **Monitor in-stock status.** Combine with scheduling to get alerts when out-of-stock items come back.

### Integrations

Connect Newegg Scraper to your existing workflow:

- **Google Sheets** — automatically export scraped data to a Google Sheet on each run.
- **Slack** — get a notification in your Slack channel when a run completes with new data.
- **Zapier** — trigger downstream automations (email alerts, CRM updates, spreadsheet appends) when new product data arrives.
- **Make (Integromat)** — build visual workflows that process Newegg data and route it to 1,000+ apps.
- **Webhooks** — receive an HTTP POST with run results to your own endpoint for real-time processing.
- **Scheduler** — set up recurring runs (hourly, daily, weekly) to build historical pricing datasets automatically.

### API usage

#### cURL

```bash
curl "https://api.apify.com/v2/acts/logiover~newegg-scraper/runs?token=YOUR_TOKEN" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"keyword": "rtx 4090", "maxResults": 100}'
```

#### Node.js

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

const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('logiover/newegg-scraper').call({
    keyword: 'rtx 4090',
    maxResults: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_TOKEN")
run = client.actor("logiover/newegg-scraper").call(
    run_input={"keyword": "rtx 4090", "maxResults": 100}
)
items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
print(f"Scraped {len(items)} products")
```

### Use with AI agents (MCP)

Newegg Scraper works with Apify's MCP (Model Context Protocol) server, which lets AI agents like Claude, ChatGPT, or custom LLM-based tools trigger scraping runs and consume the results programmatically. Connect the Apify MCP server to your agent, then use natural-language prompts like: "Scrape the top 50 RTX 4090 listings from Newegg and compare their prices."

### FAQ

#### Does Newegg Scraper require an API key or login?

No. The scraper works with publicly available Newegg search pages. No API key, account credentials, or cookies are needed. Just provide a keyword or search URL.

#### What products can I scrape from Newegg?

Any product that appears in Newegg's search results — computers, components (GPUs, CPUs, RAM, SSDs), peripherals, networking gear, monitors, gaming equipment, consumer electronics, and more.

#### How many products can I extract per run?

Each search result page yields approximately 40-48 products. With maxResults set to 0 (unlimited), the scraper follows pagination for up to 100 pages (~4,000-4,800 products per keyword). Newegg caps search results at around 100 pages for any given query.

#### Why do I get zero results for some keywords?

If Newegg returns no search results for your keyword, the scraper will also return zero items. Try broader or alternative search terms. Check that the keyword works on newegg.com directly.

#### Why are some fields null?

Null values are normal. Not all products have discounts (originalPrice), reviews (reviewCount), or a 30-day price history (lowestPrice30Days). The scraper only returns data that Newegg provides — it never fabricates values.

#### What export formats are available?

You can download results as JSON, CSV, Excel (XLSX), XML, or RSS from the Apify platform. API users can also stream results directly via the dataset API.

#### How fast is the scraper?

Each page fetch takes 2-5 seconds including proxy overhead. A 200-product run (about 5 pages) typically completes in 15-30 seconds. Larger runs scale linearly.

#### Is scraping Newegg legal?

This scraper collects only publicly available product listing data — the same information any visitor sees when browsing newegg.com. It does not access private accounts, bypass authentication, or violate CAPTCHAs. Always review Newegg's Terms of Service and your local regulations before scraping. Use the data responsibly and in compliance with applicable laws.

#### Can I scrape Newegg product detail pages?

This scraper focuses on search result listings, which already include 20+ fields per product. If you need additional detail-page data (full specifications, all images, full reviews), you can use the productUrl field to build a follow-up scraper.

#### How often is the data updated?

The data is live — each run fetches current prices and availability from Newegg in real-time. Schedule runs at your preferred frequency (hourly, daily, weekly) to track changes over time.

#### Does it work with Newegg Canada or other regional sites?

This scraper targets the main newegg.com (US) site. It may work with regional subdomains if the page structure is similar, but results are not guaranteed for non-US Newegg sites.

#### Can I filter results by brand, price range, or category?

Yes — use Newegg's own URL filters. Browse newegg.com with your desired filters applied, then copy the resulting URL and paste it into the urls input field. The scraper will respect Newegg's server-side filtering.

### Is it legal to scrape Newegg?

Newegg Scraper extracts publicly accessible product listing data from newegg.com. This is the same information available to any web visitor without authentication. The scraper does not access private user data, bypass login walls, or circumvent anti-bot protections. It runs entirely through standard HTTP requests.

That said, web scraping operates in a legal gray area that varies by jurisdiction. You are responsible for ensuring your use of this tool and the data you collect complies with Newegg's Terms of Service, applicable data protection regulations (GDPR, CCPA), and your local laws. Use the data ethically and for legitimate purposes.

### Related scrapers

- [Amazon Scraper](https://apify.com/logiover/amazon-scraper) — Extract product listings, prices, and reviews from Amazon.
- [eBay Scraper](https://apify.com/logiover/ebay-scraper) — Scrape eBay listings with prices, bids, seller info, and shipping details.
- [Best Buy Scraper](https://apify.com/logiover/bestbuy-scraper) — Collect product data from Best Buy including pricing, ratings, and availability.
- [Walmart Scraper](https://apify.com/logiover/walmart-scraper) — Extract Walmart product listings with prices, reviews, and inventory status.

# Actor input Schema

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

Search term to find products on Newegg (e.g. 'laptop', 'rtx 4090', 'mechanical keyboard'). Either keyword or urls is required.

## `urls` (type: `array`):

Direct Newegg search/category URLs to scrape (e.g. https://www.newegg.com/p/pl?d=gpu). Overrides keyword if both are provided.

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

Maximum number of products to return. Set 0 for unlimited.

## Actor input object example

```json
{
  "keyword": "laptop",
  "maxResults": 200
}
```

# Actor output Schema

## `itemNumber` (type: `string`):

No description

## `title` (type: `string`):

No description

## `price` (type: `string`):

No description

## `originalPrice` (type: `string`):

No description

## `lowestPrice30Days` (type: `string`):

No description

## `brand` (type: `string`):

No description

## `model` (type: `string`):

No description

## `rating` (type: `string`):

No description

## `reviewCount` (type: `string`):

No description

## `inStock` (type: `string`):

No description

## `freeShipping` (type: `string`):

No description

## `shippingCost` (type: `string`):

No description

## `sellerName` (type: `string`):

No description

## `sellerRating` (type: `string`):

No description

## `subcategory` (type: `string`):

No description

## `category` (type: `string`):

No description

## `bestSellingRank` (type: `string`):

No description

## `weight` (type: `string`):

No description

## `shipFromCountry` (type: `string`):

No description

## `productUrl` (type: `string`):

No description

## `imageUrl` (type: `string`):

No description

## `searchKeyword` (type: `string`):

No description

# API

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

## JavaScript example

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

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

// Prepare Actor input
const input = {
    "keyword": "laptop"
};

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

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

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,logiover/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/HnM872cEyhq8RWh4c/builds/yW6tYzLloLDEaWXSI/openapi.json
