# Argos Stock & Availability Scraper (`muhammetakkurtt/argos-stock-availability-scraper`) Actor

Check real-time Argos UK store stock and delivery availability by product and postcode. Get per-store Click & Collect quantities, delivery status, opening hours, and product flags. Export results as JSON, CSV, or Excel. Ideal for stock monitoring, back-in-stock alerts, and retail data pipelines.

- **URL**: https://apify.com/muhammetakkurtt/argos-stock-availability-scraper.md
- **Developed by:** [Muhammet Akkurt](https://apify.com/muhammetakkurtt) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 2 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $5.00 / 1,000 availability results

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

![Argos Stock & Availability Scraper — Check Argos Store Stock, Click & Collect and Delivery by Product and Postcode](https://i.postimg.cc/zvKX0srW/argos-banner.png)

## Argos Stock & Availability Scraper

### What does Argos Stock & Availability Scraper do?

**Argos Stock & Availability Scraper** is an [Apify actor](https://apify.com/actors) that checks real-time stock and delivery availability from [Argos UK](https://www.argos.co.uk/). Enter a list of **products** and a list of **postcodes**, and for every combination the scraper returns the nearby stores with their **Click & Collect stock**, **delivery availability** and product flags — as structured data ready for analysis or integration.

No coding experience is needed. Paste your products and postcodes, click **Start**, and download the results in JSON, CSV, Excel, or other formats.

### Why scrape Argos stock data?

Manually checking Argos stock store-by-store and postcode-by-postcode is slow and doesn't scale. This actor automates Argos availability checking so you can:

- 📦 **Monitor store stock** — See exactly which stores have a product in stock for Click & Collect, and how many units, across the whole UK
- 🔄 **Check in bulk** — Look up hundreds of products across many postcodes in a single run
- ⏰ **Set up back-in-stock alerts** — [Schedule recurring runs](https://docs.apify.com/platform/schedules) to catch when a sold-out product returns to stock
- 📊 **Feed data into dashboards** — Export structured availability data to Google Sheets, Slack, or your own systems via [Apify integrations](https://apify.com/integrations)
- 🔗 **Build retail pipelines** — Use the [Apify API](https://docs.apify.com/api/v2) to plug Argos stock data into pricing, arbitrage, or inventory tools

### What data can you extract from Argos?

For every **product × postcode** pair, the scraper returns one structured item:

| Data Field | Description | Availability |
|---|---|---|
| **SKU** | The Argos product ID you submitted | Always |
| **Postcode** | The postcode the availability was checked against | Always |
| **Store Count** | Number of nearby stores returned | Always |
| **In-Stock Store Count** | How many of those stores have the product in stock | Always |
| **Store — Stock** | Per store: `quantityAvailable`, collection status (`COLLECTION_NOW` → order now, collect right away, or `COLLECTION_OUT_OF_STOCK`) and message | Always |
| **Store — Details** | Store name, town, county, postcode, distance, address, phone and location coordinates | Always |
| **Store — Opening Hours** | Weekly opening/closing times for each store | Always |
| **Delivery** | Whether the product can be delivered to the postcode, with quantity and message | When provided |
| **Product Flags** | `collectable`, `deliverable`, `globallyOutOfStock`, same-day fulfilment, end-of-line and more | Always |

> **Tip:** Submit one product against many postcodes to build a nationwide stock map, or many products against one postcode to check a whole basket at a single store.

### Ready-to-Run Examples

Get started in seconds — open the example in the Apify Console and click **Run**:

- **[Check Argos Stock by Product and Postcode](https://apify.com/muhammetakkurtt/argos-stock-availability-scraper/examples/check-argos-stock-by-product-and-postcode)** — enter a product ID and a postcode and get every nearby store with its Click & Collect stock and delivery availability.

### How to check Argos stock step by step

1. Go to the [Argos Stock & Availability Scraper](https://apify.com/muhammetakkurtt/argos-stock-availability-scraper) on Apify Store
2. Click **Try for free** to open the actor in the Apify Console
3. Enter your **Products** — Argos product IDs (e.g., `4257419`) or product URLs (`https://www.argos.co.uk/product/4257419`), one per line
4. Enter your **Postcodes** — UK postcodes (e.g., `M15`, `SW1A 1AA`), one per line. Each product is checked against each postcode
5. Click **Start** to run the scraper
6. When the run finishes, preview the results in the **Output** tab, or download them as **JSON**, **CSV**, **Excel**, **XML**, **HTML**, or **RSS**

#### Example input

```json
{
  "products": [
    "4257419",
    "https://www.argos.co.uk/product/7316429"
  ],
  "postcodes": [
    "M15",
    "SW1A 1AA"
  ]
}
````

#### Argos availability input parameters

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `products` | Array of strings | ✅ Yes | — | Argos product IDs or product page URLs, one per line. |
| `postcodes` | Array of strings | ✅ Yes | — | UK postcodes to check each product against, one per line. |
| `maxResults` | Integer | No | — | Limit the number of nearby stores returned per lookup. |
| `maxDistance` | Integer | No | — | Only include stores within this many miles of the postcode. |

### Argos Stock & Availability Scraper output example

Each product/postcode pair produces one structured item in the dataset:

```json
{
  "sku": "4257419",
  "postcode": "M15",
  "product": {
    "collectable": true,
    "deliverable": true,
    "globallyOutOfStock": false,
    "sdf": false
  },
  "delivery": {
    "quantityAvailable": 0,
    "status": "SINGLE_SKU_DELIVERY_MESSAGE_AT",
    "message": "Same day delivery available"
  },
  "storeCount": 10,
  "inStockStoreCount": 1,
  "stores": [
    {
      "storeId": "4724",
      "name": "Salford Argos (Inside Sainsbury's)",
      "town": "Salford",
      "county": "Greater Manchester",
      "postcode": "M5 4QU",
      "distance": "0.923",
      "location": { "latitude": "53.476954", "longitude": "-2.267571" },
      "phone": "0345 013 6729",
      "quantityAvailable": 1,
      "collectionStatus": "COLLECTION_NOW",
      "collectionMessage": "Order now, collect right away",
      "openingHours": { "monday": [{ "open": "08:00", "close": "21:30" }] }
    }
  ]
}
```

> The actual output includes every nearby store with its full details and opening hours. The example above is shortened for clarity. You can download the complete dataset in **JSON**, **CSV**, **Excel**, and other formats from the **Output** tab.

### Integrations and Argos stock API

Argos Stock & Availability Scraper is built on the [Apify platform](https://apify.com/), which gives you powerful options to automate and integrate your stock-monitoring workflow:

- **API access** — Call the actor programmatically via the [Apify API](https://docs.apify.com/api/v2) to check stock from your own applications
- **Scheduled runs** — Set up [scheduled recurring runs](https://docs.apify.com/platform/schedules) to monitor availability daily, hourly, or at any interval
- **Webhooks** — Receive notifications when a run finishes so you can trigger back-in-stock alerts
- **Integrations** — Connect results to [Google Sheets](https://apify.com/integrations/google-sheets), [Slack](https://apify.com/integrations/slack), [Zapier](https://apify.com/integrations/zapier), [Make](https://apify.com/integrations/make), and [many more](https://apify.com/integrations)
- **Data formats** — Download results in JSON, CSV, Excel, XML, HTML, or RSS

This makes Argos Stock & Availability Scraper a drop-in solution for retail pricing tools, arbitrage research, and automated back-in-stock notifications.

### Frequently asked questions

#### Is it legal to scrape Argos?

Our scrapers are ethical and do not extract any private user data. They only extract publicly available product and store availability information that any visitor can access on the Argos website. We therefore believe that our scrapers, when used for ethical purposes by Apify users, are safe. If you're unsure about your use case, consult your legal team.

#### Can I check multiple products and postcodes at once?

Yes. Enter as many products and postcodes as you need — each product is checked against each postcode, and the scraper handles them all in a single run.

#### How do I find an Argos product ID?

The product ID is the number in the Argos product URL — for example, in `https://www.argos.co.uk/product/4257419` the ID is `4257419`. You can paste the full URL or just the ID.

#### What does "in stock" mean in the results?

Each store reports `quantityAvailable` for Click & Collect and a `collectionStatus`. `COLLECTION_NOW` means the item can be ordered now and collected right away; `COLLECTION_OUT_OF_STOCK` means it isn't available for collection at that store.

#### How do I get support or report issues?

If you encounter any issues or have questions about the Argos Stock & Availability Scraper, you can:

- Open an issue on the [Issues tab](https://apify.com/muhammetakkurtt/argos-stock-availability-scraper/issues) of the actor page
- Reach out to the developer for a custom solution based on your specific needs

We welcome all feedback and feature requests!

# Actor input Schema

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

Argos product IDs (e.g. 4257419) or product page URLs (https://www.argos.co.uk/product/4257419) — one per line.

## `postcodes` (type: `array`):

UK postcodes to check store stock and delivery against — one per line (e.g. M15, SW1A 1AA). Each product is checked against each postcode.

## `maxResults` (type: `integer`):

Limit the number of nearby stores returned per product/postcode. Leave empty for the default set.

## `maxDistance` (type: `integer`):

Only include stores within this distance of the postcode. Leave empty for the default radius.

## Actor input object example

```json
{
  "products": [
    "4257419"
  ],
  "postcodes": [
    "M15"
  ]
}
```

# Actor output Schema

## `results` (type: `string`):

Collected Argos stock and availability data, one item per product/postcode pair

# 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 = {
    "products": [
        "4257419"
    ],
    "postcodes": [
        "M15"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("muhammetakkurtt/argos-stock-availability-scraper").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 = {
    "products": ["4257419"],
    "postcodes": ["M15"],
}

# Run the Actor and wait for it to finish
run = client.actor("muhammetakkurtt/argos-stock-availability-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "products": [
    "4257419"
  ],
  "postcodes": [
    "M15"
  ]
}' |
apify call muhammetakkurtt/argos-stock-availability-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=muhammetakkurtt/argos-stock-availability-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Argos Stock & Availability Scraper",
        "description": "Check real-time Argos UK store stock and delivery availability by product and postcode. Get per-store Click & Collect quantities, delivery status, opening hours, and product flags. Export results as JSON, CSV, or Excel. Ideal for stock monitoring, back-in-stock alerts, and retail data pipelines.",
        "version": "0.0",
        "x-build-id": "2MsL9NEGH8GUzJB0X"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/muhammetakkurtt~argos-stock-availability-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-muhammetakkurtt-argos-stock-availability-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/muhammetakkurtt~argos-stock-availability-scraper/runs": {
            "post": {
                "operationId": "runs-sync-muhammetakkurtt-argos-stock-availability-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/muhammetakkurtt~argos-stock-availability-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-muhammetakkurtt-argos-stock-availability-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "products",
                    "postcodes"
                ],
                "properties": {
                    "products": {
                        "title": "Products",
                        "minItems": 1,
                        "type": "array",
                        "description": "Argos product IDs (e.g. 4257419) or product page URLs (https://www.argos.co.uk/product/4257419) — one per line.",
                        "default": [
                            "4257419"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "postcodes": {
                        "title": "Postcodes",
                        "minItems": 1,
                        "type": "array",
                        "description": "UK postcodes to check store stock and delivery against — one per line (e.g. M15, SW1A 1AA). Each product is checked against each postcode.",
                        "default": [
                            "M15"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResults": {
                        "title": "Max stores per lookup",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Limit the number of nearby stores returned per product/postcode. Leave empty for the default set."
                    },
                    "maxDistance": {
                        "title": "Max distance",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Only include stores within this distance of the postcode. Leave empty for the default radius."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
