# Puma Product Search Scraper (`soft_alexist/puma-product-search-scraper`) Actor

Scrape PUMA product listings from category pages with precision. Collect product IDs, variants, colors, and master product relationships — perfect for price monitoring, competitive analysis, and retail data aggregation.

- **URL**: https://apify.com/soft\_alexist/puma-product-search-scraper.md
- **Developed by:** [Soft Alexist](https://apify.com/soft_alexist) (community)
- **Categories:** Automation, Developer tools, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

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

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## PUMA Product Search Scraper: Extract Shoe & Apparel Data

***

### What Is PUMA.com?

PUMA is a global sportswear and footwear powerhouse, offering shoes, apparel, and accessories across men's, women's, and kids' categories. The PUMA online store (puma.com) hosts thousands of active product listings organized by category, filter, and search. Tracking product availability, pricing changes, and variant data manually is inefficient — the **PUMA Product Search Scraper** automates collection of product metadata from category and search result pages.

***

### Overview

The **PUMA Product Search Scraper** extracts structured product data from PUMA category and search pages, focusing on product identification and variant relationships. It is designed for:

- **E-commerce analysts** monitoring PUMA's product catalog and availability
- **Price tracking services** collecting product IDs and variants for comparison
- **Retail researchers** studying sportswear inventory and SKU management
- **Marketplace aggregators** building multi-brand product databases

Key strengths include batch URL processing, configurable item limits, and the ability to continue scraping even when individual URLs fail — ideal for large-scale collection runs.

***

### Input Format

The scraper accepts a JSON configuration object to control scraping behavior:

```json
{
  "urls": [
    "https://us.puma.com/us/en/men/shoes?offset=48"
  ],
  "max_items_per_url": 200,
  "ignore_url_failures": true
}
```

| Field | Type | Description |
|---|---|---|
| `urls` | Array | Direct links to PUMA product listing pages (category, search, or filter results). Supports pagination parameters like `?offset=48`. |
| `max_items_per_url` | Integer | Maximum number of products to extract per URL. Default: `100`, Max: `200` |
| `ignore_url_failures` | Boolean | If `true`, scraper continues processing remaining URLs even if some fail. Useful for bulk runs. Default: `true` |

#### Tips

- **Category URLs:** Use PUMA category pages (e.g., `/us/en/men/shoes`, `/us/en/women/apparel`)
- **Search URLs:** Paste PUMA search result URLs to collect specific product types
- **Pagination:** Include offset parameters to scrape multiple pages of results (e.g., `?offset=0`, `?offset=48`)
- **Regional variants:** Scraper works with regional PUMA domains (us.puma.com, eu.puma.com, etc.)

> **Note:** Each URL typically returns 48 products per page. Adjust `offset` values to cover multiple pages within a single URL or use multiple URLs.

***

### Output Format

**Example output:**

```json
{
  "color": "64",
  "id": "398846",
  "master_id": "398846",
  "master_product": {
    "name": "Speedcat OG Sneakers",
    "id": "398846",
    "header": "Speedcat OG",
    "brand": "PUMA",
    "configure_i_d": {
      "enabled": false,
      "product_i_d": "",
      "__typename": "ConfigureIDSettingsV2"
    },
    "amount_of_reviews": 0,
    "average_rating": 0,
    "sub_header": "Sneakers",
    "orderable_color_count": 11,
    "display_out_of_stock": null,
    "colors": [
      {
        "name": "",
        "value": "01",
        "image": {
          "href": "https://images.puma.net/images/398846/01/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, PUMA Black-PUMA White, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "",
        "value": "02",
        "image": {
          "href": "https://images.puma.net/images/398846/02/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, For All Time Red-PUMA White, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "",
        "value": "05",
        "image": {
          "href": "https://images.puma.net/images/398846/05/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, Cool Mid Gray-PUMA White, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "",
        "value": "06",
        "image": {
          "href": "https://images.puma.net/images/398846/06/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, Archive Gold-PUMA White, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "",
        "value": "09",
        "image": {
          "href": "https://images.puma.net/images/398846/09/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, PUMA Black-Mauve Mist, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "",
        "value": "12",
        "image": {
          "href": "https://images.puma.net/images/398846/12/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, Dark Myrtle-PUMA White, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "",
        "value": "18",
        "image": {
          "href": "https://images.puma.net/images/398846/18/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, PUMA Team Royal-PUMA White, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "Pelé Yellow-PUMA Black",
        "value": "19",
        "image": {
          "href": "https://images.puma.net/images/398846/19/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, Pelé Yellow-PUMA Black, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "PUMA Black-Rickie Orange",
        "value": "20",
        "image": {
          "href": "https://images.puma.net/images/398846/20/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, PUMA Black-Rickie Orange, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "Alpine Snow-PUMA White",
        "value": "23",
        "image": {
          "href": "https://images.puma.net/images/398846/23/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, Alpine Snow-PUMA White, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "Yellow Alert-PUMA White",
        "value": "26",
        "image": {
          "href": "https://images.puma.net/images/398846/26/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, Yellow Alert-PUMA White, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "",
        "value": "31",
        "image": {
          "href": "https://images.puma.net/images/398846/31/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, Haute Coffee-Frosted Ivory, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "New Navy-Warm White",
        "value": "38",
        "image": {
          "href": "https://images.puma.net/images/398846/38/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, New Navy-Warm White, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "Sea Glass-Orange Glo",
        "value": "40",
        "image": {
          "href": "https://images.puma.net/images/398846/40/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, Sea Glass-Orange Glo, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "PUMA Red-Lavender Alert",
        "value": "42",
        "image": {
          "href": "https://images.puma.net/images/398846/42/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, PUMA Red-Lavender Alert, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "Clyde Royal-Pelé Yellow",
        "value": "44",
        "image": {
          "href": "https://images.puma.net/images/398846/44/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, Clyde Royal-Pelé Yellow, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "Pistachio Green-Warm White",
        "value": "48",
        "image": {
          "href": "https://images.puma.net/images/398846/48/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, Pistachio Green-Warm White, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "",
        "value": "49",
        "image": {
          "href": "https://images.puma.net/images/398846/49/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, Vapor Gray-For All Time Red, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "Shadow Gray-PUMA Black",
        "value": "64",
        "image": {
          "href": "https://images.puma.net/images/398846/64/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, Shadow Gray-PUMA Black, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "Olive Green-PUMA Black",
        "value": "66",
        "image": {
          "href": "https://images.puma.net/images/398846/66/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, Olive Green-PUMA Black, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "Emerald Ice-PUMA Black",
        "value": "67",
        "image": {
          "href": "https://images.puma.net/images/398846/67/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, Emerald Ice-PUMA Black, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "Bordeaux Red-PUMA Black",
        "value": "86",
        "image": {
          "href": "https://images.puma.net/images/398846/86/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, Bordeaux Red-PUMA Black, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "Blue Jewel-PUMA Black",
        "value": "87",
        "image": {
          "href": "https://images.puma.net/images/398846/87/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, Blue Jewel-PUMA Black, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "Inky Depths-PUMA Black",
        "value": "93",
        "image": {
          "href": "https://images.puma.net/images/398846/93/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, Inky Depths-PUMA Black, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "Dark Olive-PUMA Black",
        "value": "94",
        "image": {
          "href": "https://images.puma.net/images/398846/94/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, Dark Olive-PUMA Black, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      },
      {
        "name": "Cinnabar-Gum",
        "value": "98",
        "image": {
          "href": "https://images.puma.net/images/398846/98/sv01/fnd/PNA/w/600/h/600/",
          "vertical_image_href": null,
          "alt": "Speedcat OG Sneakers, Cinnabar-Gum, large",
          "__typename": "ProductImageV2"
        },
        "__typename": "ProductColorV2"
      }
    ],
    "image": {
      "alt": "Speedcat OG Sneakers, Shadow Gray-PUMA Black, large",
      "cover_image_href": null,
      "href": "https://images.puma.com/image/upload/f_auto,q_auto,b_rgb:fafafa,w_2000,h_2000/global/398846/64/sv01/fnd/PNA/fmt/png/Speedcat-OG-Sneakers",
      "proportional_image_href": null,
      "title": "Speedcat OG Sneakers, Shadow Gray-PUMA Black",
      "vertical_image_href": "https://images.puma.com/image/upload/f_auto,q_auto,t_vertical_product/global/398846/64/sv01/fnd/PNA/fmt/png/Speedcat-OG-Sneakers",
      "__typename": "ProductImageV2"
    },
    "show_explore_collection_c_t_a": true,
    "description": null,
    "disable_ratings": false,
    "disable_reviews": false,
    "explore_more_c_t_a_label": "EXPLORE ALL SPEEDCAT",
    "explore_more_c_t_a_target_category_i_d": "puma-speedcat",
    "orderable": true,
    "primary_category_id": "mens-shoes",
    "product_division": "",
    "product_measurements": {
      "imperial": [],
      "metric": [],
      "__typename": "ProductMeasurementsV2"
    },
    "product_name_translated": "Speedcat OG Sneakers",
    "product_story": {
      "product_storycare_instructions": [],
      "product_storylong_description": "",
      "product_storymaterial_composition": [],
      "product_storyproduct_keywords": [],
      "__typename": "ProductStoryV2"
    },
    "product_videos": [],
    "promotion_exclusion": false,
    "size_chart_id": "",
    "variations": [],
    "vertical_product_videos": [],
    "__typename": "ProductV2"
  },
  "variant_product": {
    "app_only_date_time_from": "",
    "app_only_date_time_to": "",
    "badges": [
      {
        "id": "best-seller",
        "label": "Best Seller",
        "__typename": "ProductBadgeV2"
      }
    ],
    "color_name": "Shadow Gray-PUMA Black",
    "color_value": "64",
    "configure_i_d": {
      "enabled": false,
      "product_i_d": "",
      "__typename": "ConfigureIDSettingsV2"
    },
    "display_out_of_stock": null,
    "ean": null,
    "header": "Speedcat OG",
    "id": "398846_64",
    "images": [
      {
        "alt": "Speedcat OG Sneakers, Shadow Gray-PUMA Black, large",
        "cover_image_href": null,
        "href": "https://images.puma.com/image/upload/f_auto,q_auto,b_rgb:fafafa,w_2000,h_2000/global/398846/64/sv01/fnd/PNA/fmt/png/Speedcat-OG-Sneakers",
        "proportional_image_href": null,
        "title": "Speedcat OG Sneakers, Shadow Gray-PUMA Black",
        "vertical_image_href": "https://images.puma.com/image/upload/f_auto,q_auto,t_vertical_product/global/398846/64/sv01/fnd/PNA/fmt/png/Speedcat-OG-Sneakers",
        "__typename": "ProductImageV2"
      },
      {
        "alt": "Speedcat OG Sneakers, Shadow Gray-PUMA Black, large",
        "cover_image_href": null,
        "href": "https://images.puma.com/image/upload/f_auto,q_auto,b_rgb:fafafa,w_2000,h_2000/global/398846/64/mod01/fnd/PNA/fmt/png/Speedcat-OG-Sneakers",
        "proportional_image_href": null,
        "title": "Speedcat OG Sneakers, Shadow Gray-PUMA Black",
        "vertical_image_href": "https://images.puma.com/image/upload/f_auto,q_auto,t_vertical_model/global/398846/64/mod01/fnd/PNA/fmt/png/Speedcat-OG-Sneakers",
        "__typename": "ProductImageV2"
      },
      {
        "alt": "Speedcat OG Sneakers, Shadow Gray-PUMA Black, large",
        "cover_image_href": null,
        "href": "https://images.puma.com/image/upload/f_auto,q_auto,b_rgb:fafafa,w_2000,h_2000/global/398846/64/mod02/fnd/PNA/fmt/png/Speedcat-OG-Sneakers",
        "proportional_image_href": null,
        "title": "Speedcat OG Sneakers, Shadow Gray-PUMA Black",
        "vertical_image_href": "https://images.puma.com/image/upload/f_auto,q_auto,t_vertical_model/global/398846/64/mod02/fnd/PNA/fmt/png/Speedcat-OG-Sneakers",
        "__typename": "ProductImageV2"
      },
      {
        "alt": "Speedcat OG Sneakers, Shadow Gray-PUMA Black, large",
        "cover_image_href": null,
        "href": "https://images.puma.com/image/upload/f_auto,q_auto,b_rgb:fafafa,w_2000,h_2000/global/398846/64/fnd/PNA/fmt/png/Speedcat-OG-Sneakers",
        "proportional_image_href": null,
        "title": "Speedcat OG Sneakers, Shadow Gray-PUMA Black",
        "vertical_image_href": "https://images.puma.com/image/upload/f_auto,q_auto,t_vertical_product/global/398846/64/fnd/PNA/fmt/png/Speedcat-OG-Sneakers",
        "__typename": "ProductImageV2"
      },
      {
        "alt": "Speedcat OG Sneakers, Shadow Gray-PUMA Black, large",
        "cover_image_href": null,
        "href": "https://images.puma.com/image/upload/f_auto,q_auto,b_rgb:fafafa,w_2000,h_2000/global/398846/64/bv/fnd/PNA/fmt/png/Speedcat-OG-Sneakers",
        "proportional_image_href": null,
        "title": "Speedcat OG Sneakers, Shadow Gray-PUMA Black",
        "vertical_image_href": "https://images.puma.com/image/upload/f_auto,q_auto,t_vertical_product/global/398846/64/bv/fnd/PNA/fmt/png/Speedcat-OG-Sneakers",
        "__typename": "ProductImageV2"
      },
      {
        "alt": "Speedcat OG Sneakers, Shadow Gray-PUMA Black, large",
        "cover_image_href": null,
        "href": "https://images.puma.com/image/upload/f_auto,q_auto,b_rgb:fafafa,w_2000,h_2000/global/398846/64/sv02/fnd/PNA/fmt/png/Speedcat-OG-Sneakers",
        "proportional_image_href": null,
        "title": "Speedcat OG Sneakers, Shadow Gray-PUMA Black",
        "vertical_image_href": "https://images.puma.com/image/upload/f_auto,q_auto,t_vertical_product/global/398846/64/sv02/fnd/PNA/fmt/png/Speedcat-OG-Sneakers",
        "__typename": "ProductImageV2"
      },
      {
        "alt": "Speedcat OG Sneakers, Shadow Gray-PUMA Black, large",
        "cover_image_href": null,
        "href": "https://images.puma.com/image/upload/f_auto,q_auto,b_rgb:fafafa,w_2000,h_2000/global/398846/64/sv03/fnd/PNA/fmt/png/Speedcat-OG-Sneakers",
        "proportional_image_href": null,
        "title": "Speedcat OG Sneakers, Shadow Gray-PUMA Black",
        "vertical_image_href": "https://images.puma.com/image/upload/f_auto,q_auto,t_vertical_product/global/398846/64/sv03/fnd/PNA/fmt/png/Speedcat-OG-Sneakers",
        "__typename": "ProductImageV2"
      },
      {
        "alt": "Speedcat OG Sneakers, Shadow Gray-PUMA Black, large",
        "cover_image_href": null,
        "href": "https://images.puma.com/image/upload/f_auto,q_auto,b_rgb:fafafa,w_2000,h_2000/global/398846/64/sv04/fnd/PNA/fmt/png/Speedcat-OG-Sneakers",
        "proportional_image_href": null,
        "title": "Speedcat OG Sneakers, Shadow Gray-PUMA Black",
        "vertical_image_href": "https://images.puma.com/image/upload/f_auto,q_auto,t_vertical_product/global/398846/64/sv04/fnd/PNA/fmt/png/Speedcat-OG-Sneakers",
        "__typename": "ProductImageV2"
      }
    ],
    "is_app_exclusive": false,
    "is_final_sale": false,
    "master_id": "398846",
    "material_composition": [],
    "model_measurement_text": "",
    "name": "Speedcat OG Sneakers",
    "orderable": true,
    "percentage_discount_badge": 0,
    "preview": "https://images.puma.com/image/upload/f_auto,q_auto,b_rgb:fafafa,w_2000,h_2000/global/398846/64/sv01/fnd/PNA/fmt/png/Speedcat-OG-Sneakers",
    "product_price": {
      "is_sale_price_elapsed": false,
      "price": 0,
      "sale_price": 100,
      "tax": 0,
      "tax_rate": 0,
      "valid_from": "",
      "valid_to": "",
      "__typename": "ProductPriceV2"
    },
    "promotion_exclusion": false,
    "return_rule_i_d": "",
    "special_message": "",
    "style_number": "398846_64",
    "sub_header": "Sneakers",
    "support_level_bra": null,
    "valid_until": "",
    "variant_id": "198556579740",
    "__typename": "VariantProductV2"
  },
  "from_url": "https://us.puma.com/us/en/men/shoes"
}
```

Each scraped product returns a record with core identification and variant data:

#### Product Identification

| Field | Meaning | Example |
|---|---|---|
| `ID` | Unique SKU or product variant identifier | `38701101` |
| `Color` | Product color variant | `Black`, `White/Red` |
| `Master ID` | Parent/master product identifier | `387011` |
| `Master Product` | Name of the base product across all variants | `RS-X Sneaker` |
| `Variant Product` | Specific variant name or color code | `RS-X Sneaker - Black` |

#### Understanding the Hierarchy

PUMA organizes products in a hierarchy:

- **Master Product** = The core shoe/item (e.g., "RS-X Sneaker")
- **Master ID** = Unique ID for that master product
- **Variant Product** = Specific version with color/size (e.g., "RS-X Sneaker - Black")
- **ID** = Unique SKU for that exact variant
- **Color** = The color attribute of the variant

This structure allows tracking how many variants exist for a product and monitoring color availability across the catalog.

***

### How to Use

1. **Identify target pages** — Navigate to PUMA category or search pages (e.g., men's shoes, women's apparel, sale items). Copy the full URL including any filters or pagination parameters.

2. **Prepare URLs** — Add one or more URLs to the `urls` array. You can scrape a single page or multiple pages in one run.

3. **Set item limits** — Configure `max_items_per_url` (typically 100–200) to balance speed and completeness.

4. **Enable fault tolerance** — Set `ignore_url_failures: true` for robustness during bulk runs.

5. **Run and download** — Start the scraper, monitor progress, and export results as JSON or CSV.

**Common scenarios:**

- Single page: Use one URL and `max_items_per_url: 48`
- Multi-page: Add multiple URLs with different `offset` values
- Category sweep: Paste all men's, women's, and kids' category URLs for full inventory capture

***

### Use Cases & Business Value

- **Price intelligence:** Track PUMA product availability and monitor competitor SKU changes
- **Inventory management:** Maintain an up-to-date catalog of PUMA products and color variants
- **Market research:** Analyze PUMA's product portfolio breadth and seasonal launches
- **Retail aggregation:** Feed PUMA data into multi-brand price comparison or shopping platforms
- **Trend analysis:** Identify which product variants are most prominent in search/category pages

By automating product data extraction, businesses can respond faster to catalog updates, avoid manual data entry errors, and maintain competitive pricing strategies.

***

### Conclusion

The **PUMA Product Search Scraper** delivers efficient, structured product data from PUMA's online catalog. With clear variant relationships and configurable batch processing, it simplifies competitive research, inventory tracking, and product intelligence workflows. Start scraping today to unlock actionable insights from PUMA's product ecosystem.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the product list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://us.puma.com/us/en/men/shoes?offset=48"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 100
}
```

# 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 = {
    "urls": [
        "https://us.puma.com/us/en/men/shoes?offset=48"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("soft_alexist/puma-product-search-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 = {
    "urls": ["https://us.puma.com/us/en/men/shoes?offset=48"],
    "ignore_url_failures": True,
    "max_items_per_url": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("soft_alexist/puma-product-search-scraper").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 '{
  "urls": [
    "https://us.puma.com/us/en/men/shoes?offset=48"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 100
}' |
apify call soft_alexist/puma-product-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,soft_alexist/puma-product-search-scraper"
        }
    }
}

```

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/hjXcJc83OyEcwig8O/builds/PQ7ePn8ZWtKLbSYaq/openapi.json
