Newegg
Newegg price, list price, instant rebate and online stock for each item, with rating, seller and image, about 2.5 million items per credit. Category listings, and no keyword search.
Newegg price, list price, instant rebate and online stock for each item, with rating, seller and image, about 2.5 million items per credit. Category listings, and no keyword search.
At a glance
Property | Value |
|---|---|
|
|
Item id | The item number: |
Marketplaces | Live: |
Tiers |
|
Ids per call | 1,000 (200 at |
Typical call | 2–6 s for 1,000 ids |
Search |
|
There is no keyword search
Newegg has no keyword search here. A query is refused (a free 400), and no typeahead or suggestion list is offered: the products Newegg shows next to a keyword are mostly paid placements, which are not returned. What is offered is a category listing (below). To look up a product you already know, send its item number to POST /v1/products.
Price is this item number, and cheaper sellers may exist
price is the price of the item number you asked for, usually Newegg's own offer. The same product is often sold by marketplace sellers for less (one 500 GB SSD was $249.99 at Newegg and $209.69 from a seller). newegg.priceRange is the lowest and highest price across all offers as Newegg states it, but its low end can be stale: in our check it was $204.99 while the cheapest offer actually listed was $209.69. For the real offers use the offers tier.
Price is what is charged, the rebate is separate
price is the price charged after Newegg's instant rebate. newegg.instantRebate is that rebate and newegg.listPrice is the price before it (when higher). Mail-in rebates are not reported. Prices were not compared with Newegg's pages in a browser (those pages block plain fetches).
A delisted item has no price
When Newegg no longer lists an item, the price it still holds is stale. Those items come back with newegg.delisted: true, price: null and availability.inStock: false. Check delisted before you use an old item number.
Stock is a flag, not a count
availability.inStock is Newegg's online stock flag for that item. Newegg gives no quantity, so there is none here, and store pickup is not reported.
Example
- cURL
- Python
- Node.js
curl -X POST "https://api.scrapelyserp.com/v1/products" \
-H "Authorization: Bearer $SCRAPELY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"platform":"newegg","ids":["20-147-792","19-113-877"]}'import os
import requests
HEADERS = {"Authorization": f"Bearer {os.environ['SCRAPELY_API_KEY']}"}
r = requests.post(
"https://api.scrapelyserp.com/v1/products",
headers=HEADERS,
json={"platform": "newegg", "ids": ["20-147-792", "19-113-877"]},
timeout=30,
)
r.raise_for_status()
data = r.json()
for p in data["results"]:
print(p["id"], p["status"], (p.get("price") or {}).get("amount"), (p.get("availability") or {}).get("inStock"))const res = await fetch('https://api.scrapelyserp.com/v1/products', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.SCRAPELY_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ platform: 'newegg', ids: ['20-147-792', '19-113-877'] }),
signal: AbortSignal.timeout(30_000),
});
if (!res.ok) throw new Error((await res.json()).error.code);
const data = await res.json();
for (const p of data.results) console.log(p.id, p.status, p.price?.amount, p.availability?.inStock);Full reference → POST /v1/products
Newegg fields
Besides the common fields, each result carries a newegg object.
Field | Description |
|---|---|
| The price charged, after the instant rebate. |
|
|
| Newegg's price before the instant rebate, when higher than |
| The instant rebate already taken off |
| True when Newegg no longer lists the item (see above). |
| Newegg's own review average (one decimal) and review count; |
|
|
|
|
|
|
|
|
| The marketplace seller ( |
| For a marketplace offer, the item number of Newegg's own listing of the same product, when it has one. |
| One image (200 pixels wide). |
| The item's page on Newegg. Newegg's pages refuse plain scripted fetches, so open them in a browser. A marketplace offer's link is built the same way and was not checked. |
Not given | Stock counts, store pickup, mail-in rebates, shipping cost and delivery dates, specifications, and (below the |
A marketplace seller's offer has its own item number (9SI…) and its own price, which differs from Newegg's. The offers tier lists them; the standard tier does not.
Category listing
Search lists a category, 100 products per page, up to page 75, in Newegg's own order (by sales). There is no query, no sort and no typeahead. Only these categories are available; Newegg's other departments are not.
| Lists |
|---|---|
| Components & Storage (all of it: every component category, drives, NAS, cables and accessories) |
| CPU / Processor |
| Memory |
| Motherboard |
| GPU & Video Graphics Device |
| Computer Case |
| Power Supply |
| Hard Drive |
| SSD |
| Computer Systems |
| Network Attached Storage (NAS) |
About 4 in 100 of a category's products never appear when paging it, so a listing is close to, not exactly, the whole category. Marketplace sellers' offers are mixed in with Newegg's own. Each result's id goes straight into POST /v1/products, which adds the instant rebate.
The offers tier
Send "tier": "offers" to read every offer of each product, not just the one you asked for. It costs about ten times the data per item, so a credit covers about a tenth as many items, and a call takes up to 200 item numbers.
Offers change by the minute. lowestOffer is the cheapest offer that is in stock and new; refurbished and open-box offers are listed in offers but never picked. A marketplace seller's price here is what Newegg charges for that offer, shipping not included.
Statuses on Newegg
partial: Newegg answered without a title. Ask again later.not_found: Newegg has no such item number.unavailable: no usable answer after retries. Not charged; ask again.