# Supreme API Scraper (`rl1987/supreme-api-scraper`) Actor

Scrape the Supreme (supreme.com) catalogue via the mobile app's own content API — categories, full product detail, every colour/size variant with stock, all images, price/sale, and drop/season. Human-friendly location & category inputs.

- **URL**: https://apify.com/rl1987/supreme-api-scraper.md
- **Developed by:** [R.L.](https://apify.com/rl1987) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 44.4% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 product rows

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## Supreme Scraper 🧢 — Scrape supreme.com Products, Prices, Colours, Sizes, Stock & Images

**Supreme Scraper** — Scrape the Supreme (supreme.com) catalogue via the mobile app's own content API — categories, full product detail, every colour/size variant with stock, all images, price/sale, and drop/season. Human-friendly location & category inputs. It reads Supreme's own API directly, so it's **fast, reliable and complete** — no flaky HTML parsing, no headless browser. Export to **JSON, CSV, Excel, or an API**.

> Scrape the full Supreme catalogue — every product, colourway, size, stock status, price and image — via the Supreme mobile app's own content API. Browse by category or dump the whole shop, from a human location.

---

### ✨ Why use this Supreme Scraper?

- Talks to the same content API the Supreme mobile app uses — no browser, no CAPTCHA solving, fast and reliable.
- Human-friendly inputs: pick a category from a named dropdown and type a location (e.g. "New York", "Tokyo") — no internal IDs.
- Maximum field coverage: full product detail, every colour/size variant with live stock, all images, price/sale and drop/season.
- Low memory footprint (HTTP-only) and pay-per-result pricing.

---

### 🎯 What can you do with Supreme data?

- Track drops and restocks across categories week to week.
- Build a price/stock monitor for specific styles, colours or sizes.
- Populate a product catalogue or resale-market dataset with full media and variants.
- Analyse assortment by category, colour, season or availability.

---

### 📥 What data does the Supreme Scraper extract?

Each row includes: `id`, `title`, `handle`, `url`, `product_type`, `color`, `style`, `season`, `price`, `price_formatted`, `currency`, `sale`, `is_new`, `available` …and more. See the full **Data table** below.

---

### 🚀 How to scrape supreme.com (3 steps)

1. **Set your input** — provide `location` or `region` (see the table below; defaults work out of the box).
2. **Pick options** — filters, a `proxyConfiguration`, and a `maxItems` cap.
3. **Run & export** — click **Start**, then download the dataset as JSON/CSV/Excel or fetch it via the API.

---

### ⚙️ Input

| Field | Type | Default | Description |
| --- | --- | --- | --- |
| `location` | string | `New York` | Human-friendly location (e.g. 'New York', 'Tokyo', 'London', 'Germany'). Resolved to a Supreme region via the app's own mobile geolocate endpoint — no third-party geocoder. |
| `region` | enum | – | Force a Supreme regional store. Overrides Location. Leave empty to derive from Location / IP. — one of ``, `us`, `eu`, `uk`, `jp`, `kr`, `cn`, `int` |
| `maxItems` | integer | `0` | Maximum number of products to output. 0 = all. |
| `category` | enum | – | Browse a single Supreme category. Leave empty to scrape the whole catalogue. — one of `new`, `sale`, `jackets`, `shirts`, `tops-sweaters`, `sweatshirts`, `pants`, `shorts`, `t-shirts`, `hats`, `bags`, `accessories`, `shoes`, `skate`, `all` |
| `proxyConfiguration` | object | Apify Proxy | Route requests through a proxy (Apify Proxy by default). |

> ⚠️ **Match proxy country to store region.** Supreme localises catalogue/prices by IP. Set `apifyProxyCountry` (or a country-scoped proxy group) to the same country as your `region`/`location` — e.g. `region: "uk"` needs a UK proxy exit, `region: "jp"` needs Japan. Mismatched proxy country and region returns the wrong store's catalogue.

#### Example input

```jsonc
{
  "location": "New York",
  "maxItems": 0,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
````

***

### 📤 Output

Each result is a JSON object like this:

```jsonc
{
  "id": 7703571136716,
  "title": "Harrington Jacket",
  "handle": "haysbz-3ig54_zty",
  "url": "https://us.supreme.com/products/haysbz-3ig54_zty",
  "product_type": "jackets",
  "color": "Snow Camo",
  "style": "J103",
  "season": "Spring/Summer 2026",
  "price": 23800,
  "price_formatted": "€238.00",
  "currency": "EUR",
  "sale": false,
  "is_new": false,
  "available": true,
  "description": "All cotton chino twill with cotton lining and taffeta sleeve lining. Full zip closure with welt hand pockets at lower front and interior chest pocket. Elasti…",
  "product_order_limit": 1,
  "style_order_limit": 2,
  "options": [
    "Size"
  ],
  "sizes": [
    {
      "size": "Small",
      "sku": "SS26J103-CMO-S",
      "available": true,
      "price": 23800,
      "compare_at_price": null,
      "variant_id": 42727124926668,
      "barcode": "0199310147694",
      "inventory_management": "shopify"
    },
    {
      "size": "Medium",
      "sku": "SS26J103-CMO-M",
      "available": true,
      "price": 23800,
      "compare_at_price": null,
      "variant_id": 42727124205772,
      "barcode": "0199310147687",
      "inventory_management": "shopify"
    },
    "…+3 more"
  ],
  "variants": [
    {
      "…": "21 fields"
    },
    {
      "…": "21 fields"
    },
    "…+3 more"
  ],
  "images": [
    "https://eu.supreme.com/cdn/shop/files/J103_SS26_HarringtonJacket_SnowCamo01.jpg?v=1778532208",
    "https://eu.supreme.com/cdn/shop/files/J103_SS26_HarringtonJacket_SnowCamo04.jpg?v=1778532208",
    "…+2 more"
  ],
  "cover_image": "https://eu.supreme.com/cdn/shop/files/J103_SS26_HarringtonJacket_SnowCamo01.jpg?v=1778532208",
  "region": "us",
  "host": "us.supreme.com",
  "webStore": 202,
  "market": "8c7fa7ec-5ee7-440c-9cce-70762dcc7f8f"
}
```

***

### 🧾 Data table

| Field | Type | Description |
| --- | --- | --- |
| `id` | number | Product ID |
| `title` | text | Name |
| `handle` | text | Handle |
| `url` | link | Product URL |
| `product_type` | text | Category |
| `color` | text | Colour |
| `style` | text | Style code |
| `season` | text | Drop/Season |
| `price` | number | Price (minor units) |
| `price_formatted` | text | Price |
| `currency` | text | Currency |
| `sale` | text | On sale |
| `is_new` | text | New |
| `available` | text | Available |
| `description` | text | Description |
| `product_order_limit` | number | Order limit |
| `style_order_limit` | number | Style order limit |
| `options` | array | Options |
| `sizes` | array | Sizes & stock |
| `variants` | array | Variants (raw) |
| `images` | array | Images |
| `cover_image` | link | Cover image |
| `region` | text | Region |
| `host` | text | Host |
| `webStore` | number | Web store id |
| `market` | text | Market |
| `raw` | object | Raw product |

***

### 💰 Pricing — pay per result

This actor uses **pay-per-event** pricing: you pay only for the rows it delivers.

| You scrape | Price |
| --- | --- |
| **Product row** | **$1.00 per 1,000 rows** |

***

### 🔌 Use the Supreme Scraper via API

Run it programmatically with the [Apify API](https://docs.apify.com/api/v2):

```bash
curl -X POST "https://api.apify.com/v2/acts/supreme-api-scraper/runs?token=YOUR_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
  "location": "New York",
  "maxItems": 0,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}'
```

Or with the Apify CLI: `apify call supreme-api-scraper -i input.json -o`.

***

### ❓ FAQ

**Does it need login or an API key?**

No. The Supreme catalogue routes require no authentication. The region-resolver uses the app's own bundled geolocate key automatically.

**How do I get products for a specific region?**

Type a location (e.g. "London") or set the advanced Region field. Supreme localises its catalogue by IP, so for region-accurate prices/handles run the actor through a proxy in that country (set proxyConfiguration to that country).

**Can I scrape a single category?**

Yes — choose one from the Category dropdown (Jackets, Hats, Shoes, New, Sale, …). Leave it empty to scrape the whole catalogue.

**What does each record contain?**

Full product detail: id, name, category, colour, style, price (+ formatted), sale/new flags, availability, description, every size variant with SKU and stock, all image URLs, drop/season, plus the complete raw object.

***

### 🛠️ How it works

The actor impersonates Supreme's official app/site and calls its private API the same way the app does, then normalises each response into the flat record above. No browser, no HTML scraping — just clean, structured data.

***

### 📌 Good to know

- Scrape only public streetwear product data and respect supreme.com's Terms of Service and robots policy.
- For personal data, comply with GDPR/CCPA and applicable law — you are the data controller.
- Fields can be `null` when Supreme doesn't expose them for a given record.

***

### ⭐ Found this useful?

Give the **Supreme Scraper** a star on Apify and check out my other `apify-*-api-scraper` actors.

# Actor input Schema

## `location` (type: `string`):

Human-friendly location (e.g. 'New York', 'Tokyo', 'London', 'Germany'). Resolved to a Supreme region via the app's own mobile geolocate endpoint — no third-party geocoder.

## `region` (type: `string`):

Force a Supreme regional store. Overrides Location. Leave empty to derive from Location / IP.

## `maxItems` (type: `integer`):

Maximum number of products to output. 0 = all.

## `category` (type: `string`):

Browse a single Supreme category. Leave empty to scrape the whole catalogue.

## `proxyConfiguration` (type: `object`):

Route requests through a proxy (Apify Proxy by default).

## Actor input object example

```json
{
  "location": "New York",
  "region": "",
  "maxItems": 0,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

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

No description

# 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 = {
    "location": "New York",
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("rl1987/supreme-api-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 = {
    "location": "New York",
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("rl1987/supreme-api-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 '{
  "location": "New York",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call rl1987/supreme-api-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Supreme API Scraper",
        "description": "Scrape the Supreme (supreme.com) catalogue via the mobile app's own content API — categories, full product detail, every colour/size variant with stock, all images, price/sale, and drop/season. Human-friendly location & category inputs.",
        "version": "0.0",
        "x-build-id": "i4j8VjZ2xOhCrvcVh"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/rl1987~supreme-api-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-rl1987-supreme-api-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/rl1987~supreme-api-scraper/runs": {
            "post": {
                "operationId": "runs-sync-rl1987-supreme-api-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/rl1987~supreme-api-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-rl1987-supreme-api-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",
                "properties": {
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "Human-friendly location (e.g. 'New York', 'Tokyo', 'London', 'Germany'). Resolved to a Supreme region via the app's own mobile geolocate endpoint — no third-party geocoder."
                    },
                    "region": {
                        "title": "Region (advanced)",
                        "enum": [
                            "",
                            "us",
                            "eu",
                            "uk",
                            "jp",
                            "kr",
                            "cn",
                            "int"
                        ],
                        "type": "string",
                        "description": "Force a Supreme regional store. Overrides Location. Leave empty to derive from Location / IP.",
                        "default": ""
                    },
                    "maxItems": {
                        "title": "Max items",
                        "type": "integer",
                        "description": "Maximum number of products to output. 0 = all.",
                        "default": 0
                    },
                    "category": {
                        "title": "Category",
                        "enum": [
                            "new",
                            "sale",
                            "jackets",
                            "shirts",
                            "tops-sweaters",
                            "sweatshirts",
                            "pants",
                            "shorts",
                            "t-shirts",
                            "hats",
                            "bags",
                            "accessories",
                            "shoes",
                            "skate",
                            "all"
                        ],
                        "type": "string",
                        "description": "Browse a single Supreme category. Leave empty to scrape the whole catalogue."
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Route requests through a proxy (Apify Proxy by default).",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
