Newegg Products Scraper

Scrape Newegg search and category listings for product prices, ratings, reviews, sellers, stock text, promos, images, and URLs.

Data fields

FieldTypeDescription
querystring | nullValue exported as query.
startUrlstringValue exported as startUrl.
pageUrlstringValue exported as pageUrl.
positionintegerValue exported as position.
titlestringValue exported as title.
productUrlstringValue exported as productUrl.
itemNumberstring | nullValue exported as itemNumber.
modelstring | nullValue exported as model.

Input preview

searchQueriesSearch queries
startUrlsNewegg listing URLs
productUrlsProduct URLs or item IDs
maxItemsMaximum products
pageLimitMaximum pages per source
sortSort order

API and agents

This actor can be run through Apify API, datasets, webhooks, schedules, and the official Apify MCP server.

Ready-to-run examples

Open a saved Apify example, adjust the input, and run the actor in your own Apify account.

View all examples

How this actor works

See example inputs, outputs, API usage, and practical limits before running this actor on Apify.

Open Apify page

Extract structured product data from public Newegg search, category, and product pages. Use it to monitor PC hardware prices, compare sellers, track stock and discounts, collect ratings, or build ecommerce intelligence feeds. Direct public requests are the default; bounded retries handle transient timeouts, 429, 5xx, and configured-proxy errors without changing routes automatically.

At a glance

  • Search by one or many keywords, scrape listing URLs, or provide direct product URLs and item IDs.
  • Export numeric price, original price, discount, stock, condition, shipping, rating, review, seller, image, and URL fields.
  • Optionally enrich listing results with product-page specifications.
  • Filter saved rows by minimum and maximum parsed price.
  • Deduplicate equivalent sources and product URLs before processing and charging.
  • Inspect RUN_SUMMARY for retries, failed requests, detail fallbacks, filtered products, and saved products.

What can it do?

Newegg Products Scraper turns public Newegg listings and product pages into analysis-ready product records. It can combine keyword searches, listing URLs, direct product URLs, and item IDs in one deduplicated run.

Who is it for

  • Ecommerce teams comparing Newegg pricing against other marketplaces
  • Resellers and PC builders tracking component prices and availability
  • Marketplace analysts watching ratings, review volume, and seller offers
  • Data teams that need repeatable JSON, CSV, or Excel exports from Newegg listings

What you can scrape

  • Product titles and Newegg product URLs
  • Item numbers / model hints
  • Current and original price text
  • Numeric price when visible
  • Ratings and review counts
  • Seller, shipper, availability, and promotion text
  • Product images
  • Category/breadcrumb context when available
  • Optional product-page specification rows
  • Numeric original price and discount percentage
  • Normalized stock, condition, shipping cost, free-shipping, and ships-by-Newegg fields

Input examples

Search Newegg by keyword

{
  "searchQueries": ["rtx 4070", "gaming laptop"],
  "maxItems": 50,
  "pageLimit": 2,
  "sort": "featured"
}

Scrape a specific Newegg listing URL

{
  "startUrls": [
    { "url": "https://www.newegg.com/p/pl?d=mechanical+keyboard" }
  ],
  "maxItems": 25,
  "pageLimit": 1
}

Include extra specification rows

{
  "searchQueries": ["ssd 2tb"],
  "maxItems": 10,
  "includeProductDetails": true
}

Scrape direct product URLs or item IDs

{
  "productUrls": [
    "N82E16814932611",
    "https://www.newegg.com/p/N82E16820232869"
  ],
  "maxConcurrency": 2
}

Filter listing results by price

{
  "searchQueries": ["gaming laptop"],
  "minPrice": 700,
  "maxPrice": 1200,
  "maxItems": 50,
  "pageLimit": 5
}

Input settings

Field Type Description
searchQueries array of strings Newegg keywords to search.
startUrls array of URLs Public Newegg listing/search/category URLs to scrape.
productUrls array of strings Direct Newegg product URLs or item IDs such as N82E16814932611.
maxItems integer Maximum product rows to save across all sources.
pageLimit integer Maximum listing pages to scan for each source.
sort string Sort for generated search URLs: featured, lowest_price, highest_price, best_selling, best_rating, most_reviews.
minPrice / maxPrice number Optional inclusive price range applied to parsed product prices.
includeProductDetails boolean Visit product pages to collect extra specs when available.
maxConcurrency integer Concurrent product-detail requests, from 1 to 10.
requestTimeoutSecs integer Per-request timeout before a bounded retry.
maxRequestRetries integer Retries for configured-proxy errors, timeouts, 429, 5xx, or empty pages.
proxyConfiguration object Optional Apify proxy configuration. Direct public requests are the default.

Provide at least one searchQueries, startUrls, or productUrls entry. Only public HTTPS Newegg.com URLs are accepted.

Output example

{
  "query": "rtx 4070",
  "startUrl": "https://www.newegg.com/p/pl?d=rtx+4070",
  "pageUrl": "https://www.newegg.com/p/pl?d=rtx+4070",
  "position": 1,
  "title": "GIGABYTE GeForce RTX 4070 Graphics Card...",
  "productUrl": "https://www.newegg.com/p/N82E16814932611?Item=N82E16814932611",
  "itemNumber": "N82E16814932611",
  "model": "GV-N4070...",
  "price": 549.99,
  "currentPriceText": "$549.99",
  "originalPriceText": null,
  "originalPrice": null,
  "discountPercent": null,
  "rating": 5,
  "reviewCount": 128,
  "availability": "In stock",
  "inStock": true,
  "condition": "New",
  "seller": "Newegg",
  "shipper": null,
  "shippingCost": 0,
  "freeShipping": true,
  "shipsByNewegg": true,
  "promoText": null,
  "imageUrl": "https://c1.neweggimages.com/...jpg",
  "brand": "GIGABYTE",
  "category": "GPUs / Video Graphics Cards",
  "breadcrumbs": ["Components", "GPUs / Video Graphics Cards"],
  "specs": null,
  "scrapedAt": "2026-07-08T08:30:00.000Z"
}

What data can you extract?

Field group Output fields
Source query, startUrl, pageUrl, position, scrapedAt
Product title, productUrl, itemNumber, model, brand, category, breadcrumbs, imageUrl
Price price, currentPriceText, originalPrice, originalPriceText, discountPercent, promoText
Reviews rating, reviewCount
Stock and condition availability, inStock, condition
Seller and shipping seller, shipper, shippingCost, freeShipping, shipsByNewegg
Product details specs when direct product pages are used or detail enrichment succeeds

Tips for reliable runs

  • Keep includeProductDetails off unless you need specifications; listing-only runs are faster.
  • Use maxItems and pageLimit together to control cost and run duration.
  • Start with direct public requests. Enable a proxy only when you explicitly need to use a configured route.
  • Leave bounded retries enabled; retries stop after the configured limit and never add a new route automatically.
  • Use RUN_SUMMARY to distinguish no matches, price-filter exclusions, detail fallbacks, and exhausted upstream retries.
  • For price monitoring, run the same query URL on a schedule and compare exported datasets.

Limits and caveats

  • Newegg page layout and availability wording can vary by region and seller.
  • Some products may not show prices, ratings, reviews, or stock text.
  • Newegg or an upstream residential route can still fail after all bounded retries; the run summary records a machine-readable error counter.
  • Sponsored and organic products may both appear when Newegg renders them as product cards.
  • The actor only extracts public data visible without logging in.

API usage

Start a run with cURL:

curl "https://api.apify.com/v2/acts/fetch_cat~newegg-products-scraper/runs?token=$APIFY_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"searchQueries":["rtx 4070"],"maxItems":25,"pageLimit":1}'

Run it from Node.js:

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/newegg-products-scraper').call({
  searchQueries: ['rtx 4070'],
  maxItems: 25,
  pageLimit: 1,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems({ clean: true });
console.log(items);

Run it from Python:

from apify_client import ApifyClient
import os

client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/newegg-products-scraper').call(run_input={
    'searchQueries': ['rtx 4070'],
    'maxItems': 25,
    'pageLimit': 1,
})
items = client.dataset(run['defaultDatasetId']).list_items(clean=True).items
print(items)

Download dataset items:

curl "https://api.apify.com/v2/datasets/DATASET_ID/items?format=json&clean=true&token=$APIFY_TOKEN"

MCP and agent usage

Use this actor from AI agents through Apify MCP:

https://mcp.apify.com/?tools=fetch_cat/newegg-products-scraper

Claude CLI setup:

claude mcp add apify-newegg "https://mcp.apify.com/?tools=fetch_cat/newegg-products-scraper"

JSON MCP server config:

{
  "mcpServers": {
    "apify-newegg": {
      "url": "https://mcp.apify.com/?tools=fetch_cat/newegg-products-scraper"
    }
  }
}

Example prompts:

  • "Find current Newegg prices and review counts for RTX 4070 graphics cards and return the lowest-priced in-stock items."
  • "Track Newegg gaming laptop listings under 1000 USD and summarize sellers, ratings, and promo text."

Legality and responsible use

This actor extracts publicly visible Newegg listing data. Use the results responsibly, respect applicable laws and Newegg terms, and avoid collecting or storing personal data you do not need.

Support

Open an issue from the actor page and include your run ID, run URL, input JSON, a reproducible public URL from Newegg or a search query, expected output, and actual output so we can reproduce the problem.

Privacy and data handling

This Actor only requests the permissions needed to run the input you provide. It uses your input (such as URLs, search terms, identifiers, filters, and limits) only to fetch the requested public data from the relevant source site or API for this Actor, then writes results to your Apify dataset/key-value store.

Data may pass through Apify platform services and Apify Proxy during the run, and requests are sent only to the target site or public data provider required for this Actor's results. FetchCat does not send your inputs or outputs to advertising networks, data brokers, or model-training services, and does not retain run data outside Apify storage after the run except when you explicitly share run details for transient support debugging.

You are responsible for using this Actor lawfully, respecting the target site's terms, and avoiding unnecessary personal or sensitive data in inputs. Review the output before storing, sharing, or combining it with other data.

Common questions

Questions and answers reused from the canonical actor README.

Do I need a Newegg account?

No. The actor is designed for public Newegg listing pages visible without login.

Can it scrape product details?

Yes. Add direct URLs or item IDs to productUrls, or set includeProductDetails to true to enrich listing results with specs. Product-page requests are slower than listing-only extraction.

What if I get no products?

Check RUN_SUMMARY, verify that the query or listing URL returns products in your browser, and widen price filters. Configured-proxy errors, 429, timeout, and 5xx responses have bounded retries before the Actor stops.

Is this legal?

This actor extracts publicly visible information. You are responsible for using the data in line with applicable laws, Newegg terms, and privacy requirements.