# Big W Stock Checker & API: Store Stock, Pokemon & Restocks (`s_actors/bigw-stock-checker`) Actor

Big W stock checker and API: in stock, low stock or out of stock at every Big W store near a postcode or suburb (all 178 in Australia), with click & collect, Direct to Boot, the state price, online stock and delivery. Pokemon restock alerts.

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

## Pricing

from $1.99 / 1,000 product at a stores

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

### Big W Stock Checker & API: Store Stock, Pokemon & Restock Alerts

**See which Big W stores near you have a product right now.** For every product you get the nearby Big W stores, nearest first: **in stock, low stock or out of stock** at the store, **click & collect (pick up)** and **Direct to Boot**, store name, address, phone, opening hours and distance, plus the **price in the store's state**, was price and clearance, **online stock** and the **home delivery options** for your postcode. Search by keyword (`pokemon cards`, `pokemon`, `lego`, `nee doh`), bigw.com.au product link, **article code** or **barcode**; check stores by **postcode or suburb**, by **store name**, or **all 178 Big W stores in Australia** in one request per product.

Scheduled runs with **Only report changes** become **Big W restock alerts**: a row only when a store gets a product back, goes from low stock to in stock (a delivery), runs low, sells out, the price changes, or a **new product appears in your search** (a new Pokemon TCG set).

Use cases: track products & prices, get deal & restock alerts, build market datasets of Big W store stock. No login, no app: a **Big W stock checker online**, **Big W store stock check** and **Big W API** that returns clean JSON, CSV or Excel.

#### What makes it different

| | |
| --- | --- |
| 🏬 **Store stock, not just online** | `stockStatus` per store: In stock / Low stock / Out of stock, the same answer as "check stock in store" on bigw.com.au, for many stores at once |
| 🗺️ **All 178 stores in one request** | The nearest stores to each postcode or suburb, named stores, or every Big W in Australia |
| 🚗 **Pick up and Direct to Boot** | `pickupAvailable` and `directToBoot` per store, home delivery options to your postcode |
| 💲 **State prices** | Big W prices by state: each row has the price of the store's state, was price and clearance |
| 🔔 **Restock alerts** | `back_in_stock`, `restocked`, `low_stock`, `out_of_stock`, `price_drop`, `new_item`, with restock history and the usual restock weekday of each store |
| ✅ **Works on the free Apify plan** | No proxy setup, no cookies to paste: the Big W session is handled for you |

#### Example

Input: keyword `pokemon`, postcode `2000` (Sydney CBD), 10 nearest stores. Real run, 21 Oct 2026:

| Product | Price | Store | Km | Store stock | Pick up |
| --- | --- | --- | --- | --- | --- |
| Pokemon TCG: Mega Evolution Pitch Black Sleeved Booster | $8.50 | Warringah Mall | 10.4 | In stock | yes |
| Pokémon Pokopia - Nintendo Switch 2 | $89.00 | Town Hall | 4.2 | Low stock | yes |
| LEGO Pokemon SMART Play: Training House with Pikachu 72164 | $99.00 | Town Hall | 4.2 | Low stock | yes |
| Pokemon Birthday Candle Set | $7.50 | Bankstown | 20.2 | Low stock | yes |
| Pokemon Mini Squish-a-longs 4 Pack | $10.00 | Macquarie | 15.2 | In stock | yes |
| Pokemon Squishmallows Plush 25cm - Fuecoco | $10.00 (was $25.00) | Town Hall | 4.2 | Out of stock | no |
| Pokemon GO Plus + | $79.00 | Town Hall | 4.2 | Out of stock | no |

20 products × 10 stores = 180 rows in 2 minutes. The same day Big W hid the store stock of two new Pokémon TCG products (30th Celebration Elite Trainer Box, Chaos Rising blisters): they came back as free rows with `error`.

#### Input

| Field | What it does |
| --- | --- |
| **What to do** | *Search products* (keywords) or *Check products* (links, codes or barcodes) |
| **Keywords** | e.g. `pokemon cards`, `pokemon elite trainer box`, `lego`, `nee doh`, `squishmallows` |
| **Product links, codes or barcodes** | bigw.com.au product links (`…/p/6079238`), article codes (`6079238`) or barcodes (`196214142756`) |
| **Postcodes or suburbs** | `2000`, `3000`, `4000`, `Parramatta`, `Richmond VIC` or `latitude, longitude` |
| **Store names** | Exact stores, e.g. `Town Hall`, `Carnes Hill`, `Chermside`, or the store number `0130` |
| **All Big W stores** | Every Big W store in Australia (178) |
| **Radius**, **Stores per location** | 25 km and 10 stores by default |
| **Max products per search** | Up to 600 products per keyword, in Big W's order |
| **Include online-only products** | Off by default: products Big W marks "not available in store" are skipped |
| **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`, `code`, `ean`, `brand`, `category`, `url`, `image` | Pokemon TCG: Mega Evolution Pitch Black Sleeved Booster, 6079238, 196214142756, Pokemon, Toys > Trading Cards > Pokemon Trading Cards |
| `stockStatus`, `inStockAtStore`, `lowStock` | In stock, true, false (Low stock = true, true; Out of stock = false, false; Not stocked = the store does not carry it) |
| `pickupAvailable`, `directToBoot` | true, false |
| `storeName`, `storeId`, `storeAddress`, `storeSuburb`, `storeState`, `storePostcode` | South Yarra, 0367, 670 Chapel Street, South Yarra, VIC, 3141 |
| `storePhone`, `storeHours`, `storeServices` | 1300 411 875, Mon-Wed 8am-8pm, Thu-Fri 8am-9pm, Sat 8am-8pm, Sun 9am-8pm, Pick Up, In-Store Layby |
| `distanceKm`, `near`, `storeLatitude`, `storeLongitude` | 1.6, Richmond VIC, -37.8372, 144.9963 |
| `price`, `wasPrice`, `discountPercent`, `clearance` | 8.00, 11.00, 27, true (AUD, price of the store's state) |
| `inStockOnline`, `clickAndCollect`, `maxQuantity`, `listingStatus`, `labels` | true, true, 5, LISTEDSELLABLE, CLEARANCE |
| `deliveryAvailable`, `deliveryOptions` | true, Same Day Delivery (Metro only), Standard Delivery (to the first postcode) |
| `query`, `queryType` | the search or product the row came from |
| `change`, `changes`, `previousStatus`, `previousPrice` | back_in_stock from Out of stock, price_drop from 11.00 (monitoring) |
| `restocksSeen`, `lastRestockAt`, `usualRestockDay` | 3, 2026-10-09T08:10:00Z, Friday (2 of 3) (monitoring) |

Big W shows stock levels, not unit counts. A bad product link, an unknown store name, a place with no Big W nearby, or a product whose store stock Big W hides returns a row with `error` (free).

#### Pricing

Pay per event: **$0.001** per run and **$0.00249** per returned row: a product at a store ($2.49 per 1 000 rows). Apify Scale plan: 10% less on rows, Business plan and above: 20% less.

bigw.com.au stock is protected against bots: the Actor opens the site in a real browser through a residential Australian proxy (**$0.05**, "Big W session"). One session checks about 70 products at all your stores and is **reused by your next runs for up to 100 minutes**, so a run pays one session at most, and frequent scheduled runs mostly none.

| Example | Cost |
| --- | --- |
| 20 Pokemon products at the 10 stores nearest to one postcode | ~$0.55 (200 rows + 1 session) |
| 1 product at all 178 Big W stores | ~$0.49 (178 rows + 1 session) |
| Restock alert: 5 products near 2 postcodes every hour, nothing changed | ~$0.026 per run (a session every second run) |

#### FAQ

**How do I check Big W stock near me?** Put your postcode or suburb into **Postcodes or suburbs** and the product into **Keywords** (or its link, code or barcode into *Check products*). Each row is one nearby store with its stock.

**Does it show how many units a store has?** No: Big W itself shows only In stock / Low stock / Out of stock per store, and so does this Actor. "Low stock" usually means a few units left.

**Can I check Pokemon cards at Big W?** Yes: search `pokemon cards`, `pokemon elite trainer box` or `pokemon tcg` to get every Pokémon TCG product Big W sells in stores with its stock at each store near you. For some hot new sets Big W hides store stock completely (also on its own site): those come back as a free row with `error`, with online stock in `inStockOnline`.

**When does Big W restock Pokemon?** Schedule this Actor with **Only report changes**: every delivery shows up as `back_in_stock` or `restocked`, and after a few weeks `usualRestockDay` shows the weekday your stores usually get theirs.

**How do I get Big W restock alerts?** Add the products (or a search) and your postcode, turn on **Only report changes**, save it as a task and schedule it every 30-60 minutes. Connect email, Slack or [Google Sheets](https://apify.com/s_actors/google-sheets-import-export) in Integrations.

**Is this the same as the Big W stock checker on the site?** It is the same stock data the product page uses for "check stock in store", for all your stores at once, without picking store by store.

**Why are marketplace products missing?** Products of Big W Marketplace sellers are shipped by the sellers and are never in Big W stores, so searches check only products sold by Big W.

**Where do I find the article code?** At the end of the product link (`…/p/6079238`) or in the `code` column of any run.

#### Tips

- Rows = products × stores, so start with a few stores and **Only in stock**.
- One request covers all stores: **All Big W stores** costs no extra time, only rows.
- For a watchlist, use *Check products* with product links: the same products every run, no search noise.
- Use a separate **Monitor name** for each scheduled task.

#### Limits

- Australia only (Big W has no stores elsewhere).
- Up to 20 postcodes or suburbs per run and 1 000 products per run.
- Stock levels, not unit counts; searches follow Big W's own order.
- Clothing sold in sizes is skipped: Big W keeps its store stock per size and colour only.

#### Related

- [Coles Stock Checker](https://apify.com/s_actors/coles-stock-checker)
- [ALDI Stock Checker](https://apify.com/s_actors/aldi-stock-checker)
- [Woolworths Scraper](https://apify.com/s_actors/woolworths-scraper)
- [Coles vs Woolworths vs ALDI Price Comparison](https://apify.com/s_actors/coles-woolworths-aldi-price-comparison)
- [IKEA Stock Checker](https://apify.com/s_actors/ikea-stock-checker)
- [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)

#### For AI agents and API

```json
{
    "mode": "products",
    "products": ["https://www.bigw.com.au/product/pokemon-tcg-mega-evolution-pitch-black-sleeved-booster/p/6079238", "6067356"],
    "locations": ["2000", "Parramatta"],
    "maxStoresPerLocation": 10,
    "onlyInStock": true,
    "onlyChanges": true,
    "monitorName": "bigw-restock"
}
```

Each row is one product at one store with `stockStatus`, `pickupAvailable`, `distanceKm`, the state price and the store address.

# Actor input Schema

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

Search: keywords, every product Big W sells in stores with its stock at your stores. Check products: exact products by link, code or barcode (best for a back-in-stock watchlist).

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

Search mode: what to search on Big W, one per line (e.g. "pokemon cards", "pokemon elite trainer box", "lego", "nee doh", "squishmallows"). Only products Big W sells itself are checked (marketplace sellers' products are not in stores).

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

Check products mode: bigw.com.au product links, article codes (the number at the end of the link, e.g. 6079238) or barcodes (EAN / UPC), one per line.

## `locations` (type: `array`):

Where to check, one per line: a postcode ("2000", "3000", "4000"), a suburb ("Parramatta", "Richmond VIC") or "latitude, longitude". The nearest Big W stores within "Radius" are checked (up to "Stores per location"). The first postcode also gives the home delivery options.

## `stores` (type: `array`):

Exact Big W stores to check, one per line: the store name as on the site (e.g. "Town Hall", "Carnes Hill", "Chermside"), its number (e.g. "0130") or a suburb.

## `allStores` (type: `boolean`):

Check every Big W store in Australia (178 rows per product, one request per product).

## `radius` (type: `integer`):

How far from each location to look for stores.

## `maxStoresPerLocation` (type: `integer`):

For each postcode or suburb: how many of the nearest stores to check.

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

Search mode: how many products to take from each keyword, in Big W's order.

## `includeOnlineOnly` (type: `boolean`):

Big W marks some products "online only, not available in store": they are skipped by default (their store rows would all be out of stock).

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

Return only rows where the store has the product now (in stock or low stock).

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

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

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

For scheduled runs. The first run saves the stock and prices; later runs return only what changed: back in stock at a store, restocked (low stock to in stock), low stock, sold out, price changes, and new products or stores in your searches (e.g. a new Pokemon set). 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 Big W sessions check products at the same time (each one checks ~70 products; more only helps runs with hundreds of products).

## Actor input object example

```json
{
  "mode": "search",
  "keywords": [
    "pokemon cards"
  ],
  "products": [
    "https://www.bigw.com.au/product/pokemon-tcg-mega-evolution-pitch-black-sleeved-booster/p/6079238"
  ],
  "locations": [
    "2000"
  ],
  "allStores": false,
  "radius": 25,
  "maxStoresPerLocation": 10,
  "maxProductsPerSearch": 5,
  "includeOnlineOnly": false,
  "onlyInStock": false,
  "onlyChanges": false,
  "monitorName": "default",
  "maxConcurrency": 2
}
```

# Actor output Schema

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

One row per product and store: store stock, pick up, distance, price.

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

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

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

Code, barcode, price, was price, clearance, labels, online stock and delivery.

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

Store address, phone, hours, services, pick up and Direct to Boot for each row.

## `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 cards"
    ],
    "products": [
        "https://www.bigw.com.au/product/pokemon-tcg-mega-evolution-pitch-black-sleeved-booster/p/6079238"
    ],
    "locations": [
        "2000"
    ],
    "maxProductsPerSearch": 5
};

// Run the Actor and wait for it to finish
const run = await client.actor("s_actors/bigw-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 cards"],
    "products": ["https://www.bigw.com.au/product/pokemon-tcg-mega-evolution-pitch-black-sleeved-booster/p/6079238"],
    "locations": ["2000"],
    "maxProductsPerSearch": 5,
}

# Run the Actor and wait for it to finish
run = client.actor("s_actors/bigw-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 cards"
  ],
  "products": [
    "https://www.bigw.com.au/product/pokemon-tcg-mega-evolution-pitch-black-sleeved-booster/p/6079238"
  ],
  "locations": [
    "2000"
  ],
  "maxProductsPerSearch": 5
}' |
apify call s_actors/bigw-stock-checker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,s_actors/bigw-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/f3c1WE3sEAF44zhSS/builds/X7jKdrtlWg9UcytYI/openapi.json
