# GameStop Inventory Checker: Stock by Store & Restock Alerts (`s_actors/gamestop-inventory-checker`) Actor

Check GameStop inventory in the stores near any US ZIP code with exact units per store, regular and Pro price, pre-order and online status. Graded cards from marketplace sellers left out. Scheduled runs return restocks, deliveries, sell-outs and the usual restock day of each store.

- **URL**: https://apify.com/s\_actors/gamestop-inventory-checker.md
- **Developed by:** [Superior Actors](https://apify.com/s_actors) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### GameStop Inventory Checker: Exact Stock by Store & Restock Alerts

Check **GameStop inventory in the stores near any US ZIP code** with the **exact number of units in each store**, regular price and **GameStop Pro price**, pre-order and online status, for every product of a search or your own list. Graded single cards listed by marketplace sellers (PSA) are left out, so you see GameStop's own products. Scheduled runs with **Only report changes** return just restocks, **deliveries**, sell-outs and price changes, with the **usual restock day of each store**.

Built for **Pokémon cards** (Elite Trainer Boxes, booster bundles, tins), One Piece and other TCGs, consoles and games.

No login, no browser. Use it as a **GameStop inventory API**: one call returns clean JSON.

#### What makes it different

| | |
| --- | --- |
| 🔢 **Exact units per store** | Not just "in stock": how many are on the shelf. Pokémon *Pitch Black* Elite Trainer Box near ZIP 10001: **137** at 32 E 14th Street, **57** at Newport Centre, **50** at Graham Avenue (real run, Sept 2026) |
| 💳 **Regular and Pro price** | Both prices on every row: $84.99 and $80.74 for GameStop Pro members, plus sale prices |
| 🛡️ **No graded-card noise** | A GameStop search for "pokemon elite trainer box" returns 53 graded PSA cards from marketplace sellers among 60 results; they are left out by default |
| 🔔 **Restocks, deliveries, history** | Only-changes mode returns `back_in_stock`, `restocked_more` (3+ units added: a delivery arrived), `out_of_stock`, `online_back_in_stock`, `price_drop`. Every change carries the restocks this monitor has seen at the store, the last one, and the **usual restock weekday** ("does GameStop restock on Fridays?" answered for your store) |
| 🗓️ **Pre-orders marked** | Pre-order items show `stockLevel: orderable` and their release date instead of a fake count |

#### Use cases

- **Pokémon card stock checker**: which GameStop near you has the new ETB and how many
- **Restock and delivery alerts**: every 15-30 minutes, only the stores where units appeared
- **Restock schedule**: the weekday each store usually gets deliveries, learned from your own monitoring
- **Consoles and games**: Nintendo Switch 2, PlayStation, new releases by store
- **Resellers and deal sites**: store-level units for many products in one run, as API, CSV or Excel

#### Example

Input: keyword `pokemon elite trainer box`, ZIP `10001`, 3 stores. Real run, Sept 2026:

| Product | Store | Miles | Units | Price | Pro |
| --- | --- | --- | --- | --- | --- |
| Pitch Black Elite Trainer Box | 32 E 14th Street | 1.0 | 137 | $84.99 | $80.74 |
| Pitch Black Elite Trainer Box | Newport Centre | 3.1 | 57 | $84.99 | $80.74 |
| Pitch Black Elite Trainer Box | Graham Avenue | 4.0 | 50 | $84.99 | $80.74 |
| 30th Celebration Elite Trainer Box | 32 E 14th Street | 1.0 | 0 | $99.99 | $94.99 |

#### Input

| Field | What it does |
| --- | --- |
| **What to do** | *Search products* (keywords or links), *Check products* (IDs or links), *Find stores near a ZIP code* |
| **Keywords** | e.g. `pokemon elite trainer box`, `nintendo switch 2`, `one piece card game` |
| **Search or category links** | gamestop.com search or category pages with filters, e.g. Pokémon trading card games |
| **Products** | Product IDs (the number at the end of a product link, e.g. `445744`) or links |
| **ZIP code**, **Number of stores**, **Search radius** | Stores nearest to the ZIP (up to 50, within 100 miles). Empty ZIP = prices and online status only |
| **Store numbers** | Only these stores |
| **Include graded cards**, **Include digital products** | Off by default |
| **Only in stock**, **Maximum price** | Filters: you pay only for returned rows |
| **Only report changes**, **Monitor name** | Restock alerts for scheduled runs |

#### Output

| Field | Example |
| --- | --- |
| `title`, `productId`, `url`, `image` | Pokemon Trading Card Game: Pitch Black Elite Trainer Box, 445744 |
| `price`, `regularPrice`, `proPrice`, `onSale` | 84.99, 84.99, 80.74, false |
| `orderableOnline`, `preOrder`, `releaseDate`, `pickupEligible`, `sameDayDelivery` | true, false, null, true, true |
| `storeId`, `storeName`, `storeAddress`, `storeCity`, `storeState`, `storeZip`, `storePhone`, `storeDistanceMiles` | 6562, 32 E 14th Street, New York, NY, 10003, (212) 242-2567, 0.99 |
| `inStockAtStore`, `storeQuantity`, `stockLevel` | true, 137, in\_stock (`low_stock`, `out_of_stock`, `orderable` for pre-orders) |
| `change`, `changes`, `previousQuantity`, `previousPrice` | restocked\_more, 127 (monitoring) |
| `restocksSeen`, `lastRestockAt`, `usualRestockDay` | 3, 2026-09-27T14:45:03Z, Thursday (2 of 3) (monitoring) |

#### Pokémon card restocks

| Goal | Input |
| --- | --- |
| Every Pokémon TCG product GameStop sells, units in your stores | **Search products**, link `https://www.gamestop.com/toys-games/trading-cards/trading-card-games?prefn1=franchise&prefv1=Pokemon`, your ZIP |
| Alert when Elite Trainer Boxes arrive near you | **Search products**, keyword `pokemon elite trainer box`, your ZIP, **Only report changes**, schedule every 15-30 minutes |
| New releases and pre-orders | the Pokémon link above, **Sort** *Release date: newest*, no ZIP |

#### Pricing

Pay per event: **$0.002** per run, **$0.002** per GameStop request, **$0.001** per returned row (product in a store), **$0.0005** per store in *Find stores*.

| Example | Cost |
| --- | --- |
| 30 products x 5 stores (150 rows, 32 requests) | ~$0.22 |
| 60 Pokémon products, prices and online status only | ~$0.07 |
| Restock alerts: 20 items near one ZIP, only changes | ~$0.044 per run with no changes |

One request returns a product's units in **every store within the radius**, so more stores cost only the rows you get.

#### Limits

- US stores only. GameStop shows pre-order items with a placeholder count: they come as `orderable` with no units.
- Graded cards and digital products have no store stock.

#### Ready-made tasks

| Task | What it does |
| --- | --- |
| [GameStop Inventory Checker: Exact Units in Stores Near You](https://apify.com/s_actors/gamestop-inventory-checker/examples/gamestop-inventory-checker) | Your products in the 5 nearest stores |
| [GameStop Pokémon Restock Tracker](https://apify.com/s_actors/gamestop-inventory-checker/examples/gamestop-pokemon-restock-tracker) | Only Pokémon restocks and deliveries near you |
| [GameStop Pokémon Card Stock Checker](https://apify.com/s_actors/gamestop-inventory-checker/examples/gamestop-pokemon-card-stock-checker) | Elite Trainer Boxes with units per store |

#### Related

- [Best Buy Stock Checker: in-store inventory, restock alerts](https://apify.com/s_actors/best-buy-stock-checker)
- [Target Scraper: store stock with units, BrickSeek alternative](https://apify.com/s_actors/target-scraper)
- [Walmart Restock Tracker: online stock at Walmart's price](https://apify.com/s_actors/walmart-restock-tracker)
- Send results to email, Slack or [Google Sheets](https://apify.com/s_actors/google-sheets-import-export) with integrations.

#### For AI agents and API

```json
{
    "mode": "products",
    "products": ["445744", "430762"],
    "zipCode": "10001",
    "maxStores": 5,
    "onlyChanges": true,
    "monitorName": "pokemon-etb"
}
```

# Actor input Schema

## `mode` (type: `string`):

Search: keywords or gamestop.com search/category links, every product with price, Pro price and units in the stores near your ZIP. Check products: exact items by ID or link (best for a restock watchlist). Find stores: GameStop stores near a ZIP code.

## `keywords` (type: `array`):

Search mode: what to search on gamestop.com, one per line (e.g. "pokemon elite trainer box", "nintendo switch 2", "one piece card game").

## `searchUrls` (type: `array`):

Search mode: gamestop.com search or category links, with filters (franchise, platform...) if you set them on the site.

## `products` (type: `array`):

Check products mode: GameStop product IDs (the number at the end of a product link, e.g. 445744) or the links themselves, one per line.

## `zipCode` (type: `string`):

US ZIP code: units are checked in the GameStop stores nearest to it. Empty = price and online status only.

## `maxStores` (type: `integer`):

How many of the nearest stores to return (one row per product and store).

## `radiusMiles` (type: `integer`):

Only stores within this distance of the ZIP code.

## `storeIds` (type: `array`):

Only these GameStop store numbers (they must be within the radius; find them with "Find stores near a ZIP code").

## `includeGradedCards` (type: `boolean`):

Off: graded single cards (PSA) listed by marketplace sellers are left out of searches, so results are GameStop's own sealed products. On: include them (online only).

## `includeDigital` (type: `boolean`):

Include digital codes and DLC (online only, never in stores).

## `maxProductsPerSearch` (type: `integer`):

Search mode: how many products to take from each keyword or link.

## `sortBy` (type: `string`):

Search mode: order of the products, as on gamestop.com.

## `onlyInStock` (type: `boolean`):

Return only rows where the store has units (or, without a ZIP code, products you can order online).

## `maxPrice` (type: `integer`):

Return only products at or below this price. Empty = any price.

## `onlyChanges` (type: `boolean`):

For scheduled runs. The first run saves units and prices; later runs return only what changed: back in stock at a store, a delivery (3+ units added), sold out, back online, price changes, new products. Each row also carries the restock history seen by this monitor and the usual restock weekday. You pay only for the changes returned.

## `monitorName` (type: `string`):

Separate monitors keep separate memory. Use a different name for each scheduled task.

## `maxConcurrency` (type: `integer`):

How many requests run at the same time.

## Actor input object example

```json
{
  "mode": "search",
  "keywords": [
    "pokemon elite trainer box"
  ],
  "products": [
    "445744"
  ],
  "zipCode": "10001",
  "maxStores": 5,
  "radiusMiles": 25,
  "includeGradedCards": false,
  "includeDigital": false,
  "maxProductsPerSearch": 60,
  "sortBy": "best_match",
  "onlyInStock": false,
  "onlyChanges": false,
  "monitorName": "default",
  "maxConcurrency": 3
}
```

# Actor output Schema

## `overview` (type: `string`):

One row per product and store: units in the store, price, Pro price.

## `products` (type: `string`):

Product details: prices, online status, pre-order, release date.

## `changes` (type: `string`):

Monitoring: back in stock, deliveries, sold out, price changes, restock history.

## `stores` (type: `string`):

Find stores mode: GameStop stores near the ZIP code.

## `all` (type: `string`):

Every field of every row.

# 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 = {
    "keywords": [
        "pokemon elite trainer box"
    ],
    "products": [
        "445744"
    ],
    "zipCode": "10001"
};

// Run the Actor and wait for it to finish
const run = await client.actor("s_actors/gamestop-inventory-checker").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 = {
    "keywords": ["pokemon elite trainer box"],
    "products": ["445744"],
    "zipCode": "10001",
}

# Run the Actor and wait for it to finish
run = client.actor("s_actors/gamestop-inventory-checker").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 '{
  "keywords": [
    "pokemon elite trainer box"
  ],
  "products": [
    "445744"
  ],
  "zipCode": "10001"
}' |
apify call s_actors/gamestop-inventory-checker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,s_actors/gamestop-inventory-checker"
        }
    }
}
```

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/M4v7idPImWn1GKia9/builds/u5TcHSMMwaQdW89gI/openapi.json
