Newegg
Newegg (newegg.com) — live product search over this store's own catalogue, cheapest matching item first.
Domain: newegg.com
Also known as: Newegg, newegg
Prefer the capability
bowmark.pcparts covers this provider and routes around it when it is having a bad day. Reach for this page when you need newegg.com specifically.
Call it directly
bowmark.providers.newegg.search(part: string): Promise<StoreOffer[]>
bowmark.providers.newegg.getProduct(url: string): Promise<StoreProduct>
bowmark.providers.newegg.checkStock(url: string): Promise<StoreStock>Functions
| Function | What it does |
|---|---|
search | Searches newegg.com for a part and returns up to 3 rows, cheapest first. |
getProduct | Reads ONE newegg.com product page in full — the identity search cannot give you (SKU, manufacturer part number, brand), the current price and availability, and the store's whole spec… |
checkStock | Answers whether ONE newegg.com item is actually gettable right now, rather than merely listed at a price — the question search cannot answer, because the grid carries no availability at… |
Types
// Newegg's OWN row shape — not the `pcparts` capability contract.
interface StoreOffer {
title: string; // the listing title as the store writes it
price: number | null; // USD; null when the tile shows no price
url: string | null; // product page on newegg.com
}
// One product page in full. Nulls mean "Newegg does not report it for
// this product", never "we failed to read it".
interface StoreSpec { group: string; name: string; value: string }
interface StoreProduct {
url: string;
title: string;
brand: string | null;
sku: string | null; // Newegg's own stock number
mpn: string | null; // manufacturer part number — the cross-retailer identity
price: number | null; // USD
currency: string;
availability: string | null; // "InStock" / "OutOfStock" / …
rating: number | null; // mean customer rating; null when unrated
description: string | null;
images: string[];
specs: StoreSpec[]; // the store's own spec sheet, in its own groups
}
// "Can I actually get this right now?" — THREE facts, because on a real
// storefront they disagree: Newegg will cart a "Temporarily Out of
// Stock" item, so `orderable` alone overstates and the wording alone
// understates. Read the one your decision turns on.
interface StoreStock {
url: string;
title: string;
sku: string | null;
availability: string | null; // "InStock" | "BackOrder" | "OutOfStock" |
// "Discontinued" | "PreOrder" |
// "LimitedAvailability"; null = wording we
// do not classify — read availabilityText
availabilityText: string | null; // Newegg's OWN words, verbatim
orderable: boolean; // is the cart control actually on the page
price: number | null; // USD
currency: string;
checkedAt: string; // ISO-8601 — stock is only true at an instant
}Examples
const rows = await bowmark.providers.newegg.search("RTX 4070 Super");
return rows[0] ?? null;// Price a part, then pull the full spec sheet + part number for the cheapest one.
const [cheapest] = await bowmark.providers.newegg.search("Samsung 990 PRO 1TB");
if (!cheapest?.url) return null;
const product = await bowmark.providers.newegg.getProduct(cheapest.url);
return { mpn: product.mpn, price: product.price, specs: product.specs };Related
pcparts | PC Parts (multi-retailer) — the capability this provider backs. |
bhphoto | Also backs the same capability. |
microcenter | Also backs the same capability. |