GameStop
GameStop current price, brand and condition, with the same product in its other conditions (new, pre-owned, digital, refurbished), by product id, about 10 million products per credit. Search too. No list price, no rating, no stock.
GameStop current price, brand and condition, with the same product in its other conditions (new, pre-owned, digital, refurbished), by product id, about 10 million products per credit. Search too. No list price, no rating, no stock.
At a glance
Property | Value |
|---|---|
|
|
Product id | The number before |
Marketplaces | Live: |
Tier |
|
Ids per call | 500 |
Typical call | 2–6 s for 500 ids |
Search |
|
Stock is not reported
GameStop's data has no stock we can trust, so results carry no availability, and search sets in_stock to null. A product being listed does not mean it can be bought. There is no store or pickup stock.
Each condition is its own product
New, pre-owned, digital and refurbished copies have separate ids and prices. Ask for one id and the other conditions come back inside it as gamestop.siblings, each with its id, condition, price and link. A pre-owned price can be higher than the new one (a PS5 Pro shows this): it is what GameStop's data says, and we do not correct it.
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": "gamestop",
"ids": [
"396425",
"https://www.gamestop.com/video-games/nintendo-switch/products/super-mario-bros.-wonder---nintendo-switch/401547.html"
]
}'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": "gamestop",
"ids": [
"396425",
"https://www.gamestop.com/video-games/nintendo-switch/products/super-mario-bros.-wonder---nintendo-switch/401547.html",
],
},
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["gamestop"]["condition"])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: 'gamestop',
ids: [
'396425',
'https://www.gamestop.com/video-games/nintendo-switch/products/super-mario-bros.-wonder---nintendo-switch/401547.html',
],
}),
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.gamestop?.condition);Full reference → POST /v1/products
GameStop fields
Besides the common fields, each result carries a gamestop object.
Field | Description |
|---|---|
| GameStop's current price for this id (the sale price when marked down). |
| New, Pre-Owned, Digital or Refurbished, as GameStop says it; |
| The same product in its other conditions: |
| The brand when GameStop's data names one, else |
| Always |
| The product page on GameStop and one picture. |
Statuses on GameStop
partial: GameStop answered without a title. Ask again later.not_found: GameStop has no such product id.unavailable: no usable answer after retries. Not charged; ask again.