# Sam's Club Stock Checker: In-Club Stock, Prices & Restocks (`s_actors/sams-club-stock-checker`) Actor

Check Sam's Club stock at any club: in stock, low stock or sold out, club and online price, online stock, order limit. Search by keyword, link or product ID; clubs by ZIP, city, state or number. Scheduled runs return restock and Pokemon drop alerts.

- **URL**: https://apify.com/s_actors/sams-club-stock-checker.md
- **Developed by:** [Superior Actors](https://apify.com/s_actors) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 1 total users, 0 monthly users, 87.5% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.70 / 1,000 product at a clubs

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

### Sam's Club Stock Checker: In-Club Inventory, Prices & Restock Alerts

**Check Sam's Club stock at any club you choose**: whether a product is **in stock, low or sold out at that club**, the **club price and the online price**, online stock and shipping date, the order limit and pickup today. Search by keyword (`pokemon`, `trading cards`), samsclub.com link or product ID; pick clubs by **ZIP code, city, state or club number**, up to 50 clubs in one run.

Scheduled runs with **Only report changes** become **Sam's Club restock alerts**: a row only when a product is back in stock at a club, sells out, runs low, comes back online, changes price, or **appears for the first time in your search** (a new Pokemon card drop, a new LEGO set).

Use cases: track products & prices, get deal & restock alerts, build market datasets of Sam's Club stock and prices. No login, no membership, no browser: a **Sam's Club stock API** that returns clean JSON, CSV or Excel.

#### What makes it different

| | |
| --- | --- |
| 🏬 **Any club, not just yours** | Sam's Club shows stock only for your own club; here you list clubs by ZIP (`60123`), city (`Dallas, TX`), state (`AL` = all 13 Alabama clubs) or number (`6372`) and get one row per product and club |
| 📦 **In-club stock level** | `8+`, `low`, `out_of_stock` or `not_available` (not carried at that club, or online only), plus pickup today and same-day delivery |
| 💲 **Club price vs online price** | Sam's Club prices can differ between the club and samsclub.com shipping: both are in every row, with the Sam's item number shown on the shelf tag |
| 🚚 **Online stock** | Shipping stock level, arrival date, pre-order and release date, order limit per member |
| 🔔 **Restock and drop alerts** | `back_in_stock`, `out_of_stock`, `low_stock`, `online_back_in_stock`, `price_drop`, `new_item`, with restock history and the usual restock weekday of each club |
| 📍 **Club finder** | List Sam's Clubs near a ZIP code or in a state with club number, address, phone and hours |

#### Example

Input: keyword `pokemon`, ZIP `60123` (Elgin Sam's Club, IL). Real run, 10 Oct 2026:

| Product | Club | In club | Club price | Online | Online price | Order limit |
| --- | --- | --- | --- | --- | --- | --- |
| Sam's Exclusive - Pokemon: The Essential Trainer Manual | Elgin | 8+ | $13.36 | out of stock | $13.48 | 10 |
| Pokémon Deluxe Character Guide, Hardcover | Elgin | low | $39.84 | 8+ | $39.84 | 12 |
| Pokémon Epic Sticker Collection 3rd Edition | Elgin | 8+ | $11.48 | 8+ | $11.48 | 12 |
| LEGO Pokémon Eevee Building Set, 587 pc. | Elgin | not available | | 8+ | $49.98 | 12 |
| Pokémon Legends: Z-A, Nintendo Switch 2 Edition | Elgin | not available | | 8+ | $62.48 | 2 |

The same day the Essential Trainer Manual was `low` at Dallas Timber Creek Crossing (TX) and `8+` at Elgin (IL) and Huntsville National Blvd (AL).

#### Input

| Field | What it does |
| --- | --- |
| **What to do** | *Search products* (keywords or links), *Check products* (product links or IDs), *List Sam's Clubs* |
| **Keywords or search links** | e.g. `pokemon`, `trading cards`, `lego`, or a samsclub.com search or category link |
| **Product links or IDs** | samsclub.com/ip/… links or the product ID at the end of the link (`17337274385`) |
| **Clubs** | ZIP code (nearest club), club number, city (`Dallas, TX`) or state code (`AL`; up to 50 clubs per run). Empty = online stock only |
| **Clubs per ZIP code** | 1 = the nearest club; up to 10 nearest clubs per ZIP |
| **Max products per search** | Up to 1 000 products per keyword |
| **Only in stock**, **Maximum price** | Filters: you pay only for returned rows |
| **Only report changes**, **Monitor name** | Restock and drop alerts for scheduled runs |

#### Output

| Field | Example |
| --- | --- |
| `title`, `brand`, `itemId`, `itemNumber`, `image`, `url` | Pokémon Epic Sticker Collection, 17337274385, 990454060 (the Sam's item # on the shelf tag) |
| `clubId`, `clubName`, `clubAddress`, `clubCity`, `clubState`, `clubZip` | 4942, Elgin Sam's Club, 1000 S Randall Rd, Elgin, IL, 60123 |
| `clubStock`, `inStockAtClub`, `clubStatus` | 8+, true, in_stock (`low`, `out_of_stock`, `not_available`) |
| `clubPrice`, `pickupToday`, `sameDayDelivery` | 11.48, true, true |
| `price`, `wasPrice`, `savings`, `onlinePrice` | 11.48 (price shown on the product page), was price and savings on deals |
| `onlineStock`, `onlineInStock`, `onlineStatus`, `shippingArrives` | 8+, true, in_stock, 2026-10-14 |
| `orderLimit`, `preOrder`, `releaseDate` | 12, false |
| `category`, `rating`, `reviewsCount` | Toys & Games > …, 4.79, 58 |
| `change`, `changes`, `previousStock`, `previousPrice` | back_in_stock (monitoring) |
| `restocksSeen`, `lastRestockAt`, `usualRestockDay` | 3, 2026-10-09T13:10:00Z, Thursday (2 of 3) (monitoring) |

Without clubs, each row is one product with its online stock and price. A product ID Sam's Club does not know returns a row with `error`.

#### Pricing

Pay per event: **$0.001** per run and **$0.00088** per returned row (a product at a club, or a product online), **$0.00088** per club in *List Sam's Clubs*. Apify Scale plan: 10% less on rows, Business plan and above: 20% less.

| Example | Cost |
| --- | --- |
| 40 products of a search at 1 club | ~$0.036 |
| 10 products at all 13 Alabama clubs (130 rows) | ~$0.12 |
| Restock alert: 5 products at 3 clubs every 30 minutes, nothing changed | $0.001 per run (~$1.44 a month) |

#### FAQ

**How do I check Sam's Club stock at a club near me?** Put your ZIP code into **Clubs** and the product name into **Keywords** (or a product link into *Check products*). Each row shows whether that club has it (`8+`, `low`, `out_of_stock`, `not_available`) and its club price.

**Can I check stock at another Sam's Club, not my own?** Yes: that is the point. List any clubs (ZIP, city, state or number); each one is checked as if it were your selected club on samsclub.com.

**Does it show the exact number of units?** No. Sam's Club itself only shows levels: `8+` when the club has eight or more, `low` when it is running out (the site's "low stock"), or out of stock. The actor reports exactly those levels.

**How do I get an alert for Sam's Club Pokemon card drops?** Search `pokemon` (or `trading cards`) at your clubs with **Only report changes** on, save it as a task and schedule it every 15-30 minutes. New products come as `new_item`, restocks as `back_in_stock`; connect email, Slack or [Google Sheets](https://apify.com/s_actors/google-sheets-import-export) in Integrations. Drops are listed for a short time, so a frequent schedule matters.

**Is Sam's Club online stock accurate?** The online level (`onlineStock`) is the one samsclub.com uses for shipping orders at the time of the run. Club stock is the club's own inventory for pickup, the same the product page shows when you choose that club.

**What does `not_available` mean?** The club does not carry the product (some clubs never stock a category) or it is sold online only. Check `onlineStock` for shipping.

**Do I need a Sam's Club membership?** No. Prices are the public member prices shown on samsclub.com.

#### Tips

- One run can check up to 50 clubs; every product is checked at every club, so rows = products × clubs.
- Use **Only in stock** to get just the clubs that have it, cheaper and easier to read.
- Club numbers, addresses and hours: run *List Sam's Clubs* once with your ZIP or state.
- Use a separate **Monitor name** for each scheduled task.

#### Limits

- Stock is a level (`8+`, `low`, out), as on samsclub.com; units are not published.
- US clubs only (samsclub.com); Sam's Club Mexico and China are not covered.
- Prices are those samsclub.com shows without login; Plus-member and instant-savings offers that need a login are not included.

#### Ready-made tasks

| Task | What it does |
| --- | --- |
| [Sam's Club Pokemon Stock Checker: In-Club Stock at Any Club](https://apify.com/s_actors/sams-club-stock-checker/examples/sams-club-pokemon-stock-checker) | Pokemon products at the clubs you choose: in-club stock, club and online price |

#### Related

- [Walmart Restock Tracker](https://apify.com/s_actors/walmart-restock-tracker)
- [Target Scraper: store stock with units](https://apify.com/s_actors/target-scraper)
- [Best Buy Stock Checker: in-store inventory by ZIP](https://apify.com/s_actors/best-buy-stock-checker)
- [GameStop Inventory Checker](https://apify.com/s_actors/gamestop-inventory-checker)
- [Home Depot inventory and clearance](https://apify.com/s_actors/home-depot-scraper)
- [Barnes & Noble Stock Checker: books, LEGO and Funko by store](https://apify.com/s_actors/barnes-noble-stock-checker)
- [Dollar General Stock Checker: exact units by store](https://apify.com/s_actors/dollar-general-stock-checker)

#### For AI agents and API

```json
{
    "mode": "products",
    "products": ["17337274385", "https://www.samsclub.com/ip/Pok-mon-Epic-Sticker-Collection-3rd-Edition/17337274385"],
    "clubs": ["60123", "Dallas, TX"],
    "onlyChanges": true,
    "monitorName": "pokemon-restock"
}
```

Each row is one product at one club with `clubStock`, `clubPrice`, `onlineStock` and `onlinePrice`; without `clubs` each row is one product online.

# Actor input Schema

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

Search: keywords or samsclub.com search / category links, every product found with its stock in your clubs. Check products: exact products by link or ID (best for a back-in-stock watchlist). List clubs: Sam's Clubs near a ZIP code, in a city or state, with their numbers.

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

Search mode: what to search on Sam's Club, one per line (e.g. "pokemon", "trading cards", "lego"), or a samsclub.com search, category or browse link.

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

Check products mode: samsclub.com product links (…/ip/<name>/<ID>) or the product ID (the number at the end of the link), one per line.

## `clubs` (type: `array`):

Which Sam's Clubs to check, one per line: a US ZIP code (the nearest club, or more with "Clubs per ZIP code"), a club number (e.g. 6372), a city ("Dallas" or "Dallas, TX") or a state code ("TX" = every club in Texas). Up to 50 clubs. Empty = online stock only.

## `clubsPerZip` (type: `integer`):

For each ZIP code: how many of the nearest clubs to check (1 = only the nearest).

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

Search mode: how many products to take from each keyword or link, in Sam's Club's order.

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

Return only rows where the club has the product (or, without clubs, where it is in stock online).

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

Return only products at or below this price in USD (club price when a club is checked). Empty = any price.

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

For scheduled runs. The first run saves stock and prices; later runs return only what changed: back in stock at a club, sold out, low stock, back in stock or sold out online, price drops and increases, and new products in your searches (e.g. a new Pokemon card drop). Each row also carries the restocks this monitor has seen 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 pages are loaded at the same time.

## Actor input object example

```json
{
  "mode": "search",
  "keywords": [
    "pokemon"
  ],
  "products": [
    "https://www.samsclub.com/ip/Pok-mon-Epic-Sticker-Collection-3rd-Edition/17337274385"
  ],
  "clubs": [
    "60123"
  ],
  "clubsPerZip": 1,
  "maxProductsPerSearch": 40,
  "onlyInStock": false,
  "onlyChanges": false,
  "monitorName": "default",
  "maxConcurrency": 4
}
```

# Actor output Schema

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

One row per product and club: in-club stock, club price, online stock.

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

Monitoring: back in stock, sold out, low stock, online changes, price changes, new products.

## `details` (type: `string`):

Prices, online stock and shipping, order limit, category and rating.

## `clubs` (type: `string`):

List clubs mode: Sam's Clubs with their numbers, address, phone and hours.

## `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"
    ],
    "products": [
        "https://www.samsclub.com/ip/Pok-mon-Epic-Sticker-Collection-3rd-Edition/17337274385"
    ],
    "clubs": [
        "60123"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("s_actors/sams-club-stock-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"],
    "products": ["https://www.samsclub.com/ip/Pok-mon-Epic-Sticker-Collection-3rd-Edition/17337274385"],
    "clubs": ["60123"],
}

# Run the Actor and wait for it to finish
run = client.actor("s_actors/sams-club-stock-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"
  ],
  "products": [
    "https://www.samsclub.com/ip/Pok-mon-Epic-Sticker-Collection-3rd-Edition/17337274385"
  ],
  "clubs": [
    "60123"
  ]
}' |
apify call s_actors/sams-club-stock-checker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,s_actors/sams-club-stock-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/5ggHrrMNtBQgaG0eU/builds/Wtb4eVgL2h6nKto2h/openapi.json
