# Zumba Wear Europe Scraper — Products, Stock & EAN (`unfenced-group/zumbawear-scraper`) Actor

Extract products from zumbawear.eu, the official Zumba® shop for Europe: exact stock per colour and size, EAN barcodes, variant SKUs, prices and sale dates in 7 currencies, descriptions in 7 languages, specifications, images, videos, ratings and reviews.

- **URL**: https://apify.com/unfenced-group/zumbawear-scraper.md
- **Developed by:** [Unfenced Group](https://apify.com/unfenced-group) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.16 / 1,000 products

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

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Zumba Wear Europe Scraper

![Zumba Wear Europe Scraper](https://api.apify.com/v2/key-value-stores/WDxZZR7deQvNZbjPj/records/banner.png)

Extract every product from zumbawear.eu, the official Zumba® and STRONG iD™ shop for Europe: prices in 7 currencies, text in 7 languages, and exact stock, EAN barcode and SKU for every colour and size. The whole catalogue of about 1,300 products takes around 11 minutes. No API key required.

***

### Why this scraper?

#### 📦 Stock per colour and size

Exact units in stock for every colour/size combination, not just "in stock". Track sell-through and restocks over time.

#### 🏷️ EAN and SKU for every variant

EAN-13 barcodes and variant SKUs, ready to match against your own catalogue or other retailers.

#### 💶 7 currencies, sale dates included

EUR, GBP, DKK, NOK, SEK, CHF or CZK, with the original price, discount and the start and end date of each sale. Every price is also given in EUR.

#### 🌍 7 languages

Titles, descriptions, highlights and specifications in English, French, Italian, Spanish, Portuguese, Dutch or German.

#### 📝 The complete product record

Full description (HTML, text, Markdown), highlights, fabric composition, fit, length, collection, size chart, all images and product videos.

#### ⭐ Ratings and reviews

Average rating, review count and the latest reviews with stars, text and date.

***

### Input parameters

| Parameter | Type | Default | Description |
|---|---|---|---|
| `startUrls` | array | (empty) | zumbawear.eu product, category or search result URLs. When set, keywords and categories are ignored. |
| `searchQueries` | array | (empty) | Keywords searched with the shop's own search, e.g. `leggings`, `hoodie`, `air funk`. |
| `categories` | array | (empty) | Categories to collect in full: `women-2`, `men-2`, `unisex-2`, `footwear-3`, `accessories-6`, `strong-id`, `zumbini`, `hygiene-beauty`, `minor-damages` and more. |
| `sortBy` | string | `"newest"` | `newest`, `popular`, `price_asc` or `price_des`. |
| `language` | string | `"en"` | `en`, `fr`, `it`, `es`, `pt`, `nl` or `de`. |
| `currency` | string | `"EUR"` | `EUR`, `GBP`, `DKK`, `NOK`, `SEK`, `CHF` or `CZK`. |
| `onlyOnSale` | boolean | `false` | Keep only reduced products. |
| `onlyInStock` | boolean | `false` | Skip sold-out products. |
| `onlyNew` | boolean | `false` | Keep only products marked as new (listings). |
| `minPrice` | integer | (empty) | Lowest price, in the selected currency. |
| `maxPrice` | integer | (empty) | Highest price, in the selected currency. |
| `fetchDetails` | boolean | `true` | Open every product page for the full record. Turn off for a fast listing-only run. |
| `includeVariants` | boolean | `true` | Stock, EAN, SKU, price and sale dates per colour/size. |
| `maxReviews` | integer | `10` | Latest reviews per product. `0` turns reviews off. |
| `maxItems` | integer | `100` | Maximum number of products. `0` means no limit. |

Leave `startUrls`, `searchQueries` and `categories` empty to scrape the whole catalogue.

***

### Output schema

Every field below is present on every record. Fields the shop does not publish for a product are `null` or empty rather than omitted.

#### Always present (listing and detailed rows)

| Field | Type | Description |
|---|---|---|
| `id` | string | Product id on zumbawear.eu (falls back to the SKU for sold-out pages that hide the id). |
| `productId` | integer | Internal product id. `null` on sold-out product pages opened by URL. |
| `slug` | string | URL slug of the product. |
| `url` | string | Product page URL. |
| `title` | string | Product name in the selected language. |
| `productType` | string | `configurable` (colour/size options), `simple` or `bundle`. |
| `category` | string | Category the product was found in (listing runs), e.g. `Women`. |
| `searchQuery` | string | Keyword that returned the product (keyword runs), otherwise `null`. |
| `language` | string | Language of the text fields: `en`, `fr`, `it`, `es`, `pt`, `nl` or `de`. |
| `currency` | string | Currency of all prices: EUR, GBP, DKK, NOK, SEK, CHF or CZK. |
| `price` | number | Lowest current price (sale price when on sale). |
| `originalPrice` | number | Price before discount. `null` when not on sale. |
| `isOnSale` | boolean | True when at least one variant is reduced. |
| `discountPercent` | integer | Largest discount in percent. `null` when not on sale. |
| `priceText` | string | Price exactly as shown on the page, e.g. `€40.29 - €87.12`. |
| `inStock` | boolean | Whether the product can be ordered. |
| `colorOptions` | array | Colours with `name`, `hex` code and `swatchImageUrl`. |
| `sizes` | array | Sizes on offer (clothing or US shoe sizes). |
| `isNew` | boolean | Marked as new in the listing (listing runs only). |
| `badges` | array | Listing badges such as `sale`, `new`, `comingsoon`, `bundle` (listing runs only). |
| `mainImage` | string | Main product image, full size. |
| `hoverImage` | string | Second image shown on hover in the listing. |
| `images` | array | All gallery images, full size. |
| `listPosition` | integer | Position on the listing page. `null` for products opened by URL. |
| `sourceUrl` | string | Page the product was collected from. |
| `sourcePage` | integer | Listing page number. |
| `detailFetched` | boolean | True when the product page was opened (full record). |
| `contentHash` | string | Stable 16-character hash of id and title, for change tracking. |
| `source` | string | Always `zumbawear.eu`. |
| `scrapedAt` | string | ISO timestamp of collection. |

#### With `fetchDetails: true`

| Field | Type | Description |
|---|---|---|
| `sku` | string | Style code (Product Code), e.g. `Z1B000851`. |
| `brand` | string | Brand, e.g. `Zumba`. |
| `priceMax` | number | Highest current price across variants. |
| `priceEur` | number | Lowest current price in EUR, whatever currency is selected. |
| `vatNote` | string | VAT note shown with the price, e.g. `(Including 21% VAT)`. |
| `totalStock` | integer | Units in stock across all variants (with details and variants on). `0` when sold out. |
| `variantCount` | integer | Number of purchasable colour/size combinations. |
| `variantsInStock` | integer | Number of those combinations in stock. |
| `colors` | array | Colour names on offer. |
| `options` | object | Every option group with its values, e.g. `{"Color": [...], "Size": [...]}`. |
| `variants` | array | One entry per colour/size combination (see the variant table below). |
| `bundleItems` | array | For bundles: the items in the pack with `name`, `color`, `size`, `quantity`. |
| `imageCount` | integer | Number of gallery images. |
| `videos` | array | Product videos with `videoUrl` (HLS stream) and `thumbnailUrl`. |
| `highlights` | array | "Why you'll love it" bullet points. |
| `descriptionText` | string | Full description as plain text. |
| `descriptionHtml` | string | Full description as HTML. |
| `descriptionMarkdown` | string | Full description as Markdown. |
| `specifications` | array | Specification table as `label`/`value` pairs in the selected language. |
| `composition` | string | Fabric composition, e.g. `80% Polyester, 20% Elastane`. |
| `collection` | string | Collection name, e.g. `Spring Summer 2026 P3`. |
| `fit` | string | Apparel fit, e.g. `Slim`, `Oversize`. |
| `length` | string | Apparel length, e.g. `Ankle`, `Long`. |
| `guarantee` | string | Return guarantee text. |
| `sizeChartUrl` | string | Link to the matching size chart. |
| `rating` | number | Average star rating (0.5 steps). `null` without reviews. |
| `reviewCount` | integer | Number of reviews. |
| `reviews` | array | Most recent reviews with `rating`, `text`, `date`, `dateText`, `source`, `images`. Reviewer names are not collected. |
| `seoTitle` | string | Page title used for search engines and social sharing. |
| `metaDescription` | string | Meta description of the page. |
| `relatedProducts` | array | Slugs of the "You may also like" products. |
| `alternateUrls` | object | The same product in the other languages, keyed by language code. |
| `maxOrderQuantity` | integer | Maximum quantity per order. |
| `isPrelaunch` | boolean | True for pre-launch products. |

#### Variant fields (`variants[]`, with `includeVariants: true`)

| Field | Type | Description |
|---|---|---|
| `variantId` | integer | Id of the colour/size combination. |
| `sku` | string | Variant SKU, e.g. `Z1B000851-M-TNBK`. |
| `ean` | string | EAN-13 barcode. |
| `color` | string | Colour. |
| `size` | string | Size. |
| `options` | object | All options of this variant by group name. |
| `price` | number | Current price in the selected currency. |
| `originalPrice` | number | Price before discount, `null` when not on sale. |
| `currency` | string | Currency code. |
| `priceEur` | number | Current price in EUR. |
| `originalPriceEur` | number | Price before discount in EUR. |
| `isOnSale` | boolean | True when this variant is reduced. |
| `saleStartsAt` | string | Start of the sale period (ISO). |
| `saleEndsAt` | string | End of the sale period (ISO). |
| `stockQuantity` | integer | Exact units in stock. |
| `inStock` | boolean | Whether this variant can be ordered. |
| `stockStatus` | string | Stock status as reported by the shop, e.g. `instock`. |

#### Example record

Shortened: two of four variants, three of the images and the first 160 characters of the description.

```json
{
  "id": "48908",
  "productId": 48908,
  "sku": "Z1B000851",
  "slug": "wildbeat-high-waisted-ankle-leggings-with-side-panel-0",
  "url": "https://www.zumbawear.eu/product-detail/wildbeat-high-waisted-ankle-leggings-with-side-panel-0",
  "title": "Wildbeat High Waisted Ankle Leggings With Side Panel",
  "brand": "Zumba",
  "productType": "configurable",
  "category": null,
  "searchQuery": null,
  "language": "en",
  "currency": "EUR",
  "price": 40.29,
  "priceMax": 87.12,
  "originalPrice": 87.12,
  "isOnSale": true,
  "discountPercent": 54,
  "priceText": "€40.29 - €87.12",
  "priceEur": 40.29,
  "vatNote": "(Including 21% VAT)",
  "inStock": true,
  "totalStock": 51,
  "variantCount": 4,
  "variantsInStock": 4,
  "colors": [
    "Tan/Black"
  ],
  "colorOptions": [
    {
      "name": "Tan/Black",
      "hex": "#e8e1ca",
      "swatchImageUrl": "https://image-transform.zumbawear.eu/images/color-swatches/tan/black.png"
    }
  ],
  "sizes": [
    "M",
    "L",
    "XL",
    "XXL"
  ],
  "options": {
    "Color": [
      "Tan/Black"
    ],
    "Size": [
      "M",
      "L",
      "XL",
      "XXL"
    ]
  },
  "variants": [
    {
      "variantId": 48910,
      "sku": "Z1B000851-M-TNBK",
      "ean": "888562521887",
      "color": "Tan/Black",
      "size": "M",
      "options": {
        "Color": "Tan/Black",
        "Size": "M"
      },
      "price": 87.12,
      "originalPrice": null,
      "currency": "EUR",
      "priceEur": 87.12,
      "originalPriceEur": null,
      "isOnSale": false,
      "saleStartsAt": null,
      "saleEndsAt": null,
      "stockQuantity": 7,
      "inStock": true,
      "stockStatus": "instock"
    },
    {
      "variantId": 48909,
      "sku": "Z1B000851-L-TNBK",
      "ean": "888562521894",
      "color": "Tan/Black",
      "size": "L",
      "options": {
        "Color": "Tan/Black",
        "Size": "L"
      },
      "price": 87.12,
      "originalPrice": null,
      "currency": "EUR",
      "priceEur": 87.12,
      "originalPriceEur": null,
      "isOnSale": false,
      "saleStartsAt": null,
      "saleEndsAt": null,
      "stockQuantity": 24,
      "inStock": true,
      "stockStatus": "instock"
    }
  ],
  "bundleItems": [],
  "isNew": null,
  "badges": null,
  "mainImage": "https://image-transform.zumbawear.eu/products/original/Z1B000851_folkYC6uJg.jpg",
  "hoverImage": null,
  "images": [
    "https://image-transform.zumbawear.eu/products/original/Z1B000851_folkYC6uJg.jpg",
    "https://image-transform.zumbawear.eu/products/original/Z1B000851_DyZzFL37N6.jpg",
    "https://image-transform.zumbawear.eu/products/original/Z1B000851_1cYbkRhoAm.jpg"
  ],
  "imageCount": 3,
  "videos": [],
  "highlights": [
    "High-waisted design for a flattering silhouette that enhances your natural curves.",
    "Made with 4-way stretch material for maximum flexibility and comfort during any activity.",
    "Features a continuous foldover waistband for added support and style.",
    "Booty-flattering cut that accentuates your shape while providing high support.",
    "Maximum compression technology for a secure fit that moves with you."
  ],
  "descriptionText": "Experience the perfect blend of style, comfort, and performance with the Wildbeat High Waisted Ankle Leggings. Designed specifically for the active woman, these…",
  "descriptionHtml": "<p>Experience the perfect blend of style, comfort, and performance with the Wildbeat High Waisted Ankle Leggings.  Designed specifically for the active woman, t…",
  "descriptionMarkdown": "Experience the perfect blend of style, comfort, and performance with the Wildbeat High Waisted Ankle Leggings. Designed specifically for the active woman, these…",
  "specifications": [
    {
      "label": "Product Code",
      "value": "Z1B000851"
    },
    {
      "label": "Composition",
      "value": "80% Polyester, 20% Elastane"
    },
    {
      "label": "Our Guarantee",
      "value": "If for any reason you’re unhappy with the item, you can return it within 30 days for a refund."
    },
    {
      "label": "Collection Name",
      "value": "Spring Summer 2026 P3"
    },
    {
      "label": "Apparel Fit",
      "value": "Slim"
    },
    {
      "label": "Apparel Length",
      "value": "Ankle"
    }
  ],
  "composition": "80% Polyester, 20% Elastane",
  "collection": "Spring Summer 2026 P3",
  "fit": "Slim",
  "length": "Ankle",
  "guarantee": "If for any reason you’re unhappy with the item, you can return it within 30 days for a refund.",
  "sizeChartUrl": "https://www.zumbawear.eu/page/shop-size-charts-womens-topsbottoms",
  "rating": 5,
  "reviewCount": 18,
  "reviews": [
    {
      "rating": 5,
      "text": "Love them, true to size. Have a nice look and feel, got compliments for the outfit!",
      "date": "2026-06-17",
      "dateText": "17 June 2026",
      "source": "Zumba.com",
      "images": []
    },
    {
      "rating": 5,
      "text": "Perfect fit",
      "date": "2026-06-17",
      "dateText": "17 June 2026",
      "source": "Zumba.com",
      "images": []
    }
  ],
  "seoTitle": "Inspire Your Workout with High Waisted Ankle Leggings - Slim Fit and Booty Flattering Design",
  "metaDescription": "Elevate your workout with our inspiring high-waisted ankle leggings! Experience maximum support, 4-way stretch, and a flattering fit. Shop now for comfort and style!",
  "relatedProducts": [
    "ultrabright-high-waisted-biker-shorts-purpleblack-0",
    "ultrabright-reversible-racerback-v-bra-pinkblack-0",
    "ultrabright-mesh-high-low-top-purple-power-0"
  ],
  "alternateUrls": {
    "fr": "https://www.zumbawear.eu/product-detail/wildbeat-high-waisted-ankle-leggings-with-side-panel-0?locale=fr",
    "it": "https://www.zumbawear.eu/product-detail/wildbeat-high-waisted-ankle-leggings-with-side-panel-0?locale=it"
  },
  "maxOrderQuantity": 50,
  "isPrelaunch": false,
  "listPosition": null,
  "sourceUrl": "https://www.zumbawear.eu/product-detail/wildbeat-high-waisted-ankle-leggings-with-side-panel-0",
  "sourcePage": null,
  "detailFetched": true,
  "contentHash": "b2061a867d0b2819",
  "source": "zumbawear.eu",
  "scrapedAt": "2026-09-27T20:16:15.243Z"
}
```

***

### Examples

**Full stock and EAN export of the women's range:**

```json
{
    "categories": ["women-2"],
    "maxItems": 0
}
```

**Leggings on sale under CHF 60, in French:**

```json
{
    "searchQueries": ["leggings"],
    "onlyOnSale": true,
    "maxPrice": 60,
    "currency": "CHF",
    "language": "fr"
}
```

**Specific products and a category page by URL:**

```json
{
    "startUrls": [
        { "url": "https://www.zumbawear.eu/product-detail/zumba-air-funk-23" },
        { "url": "https://www.zumbawear.eu/category/footwear-3" }
    ]
}
```

**Daily price and stock feed of the whole catalogue (schedule once a day):**

```json
{
    "maxItems": 0,
    "maxReviews": 0,
    "sortBy": "newest"
}
```

**Fast listing-only overview of all footwear:**

```json
{
    "categories": ["footwear-3"],
    "fetchDetails": false,
    "maxItems": 0
}
```

***

### 💰 Pricing

You pay per product saved, with two rates:

- **$0.19 per 1,000 products** from a listing (fast overview, `fetchDetails: false`)
- **$0.29 per 1,000 products with full details** (product page, stock, EAN, SKU, reviews)

A product whose page could not be opened is billed at the listing rate. Failed retries are never charged.

| Results | Listing only | With full details |
|---|---|---|
| 100 | ~$0.02 | ~$0.03 |
| 1,000 | ~$0.19 | ~$0.29 |
| Whole catalogue (~1,300) | ~$0.25 | ~$0.39 |
| 10,000 (daily feed for a week) | ~$1.90 | ~$2.90 |

> Flat-rate alternatives typically charge $29–$49/month regardless of usage.

Subscription tiers lower the rate by one cent per 1,000 per tier, down to $0.16 and $0.26 per 1,000. Use **Max results** to control your spend exactly.

***

### Performance

| Run size | Typical time |
|---|---|
| 100 products, full details | about 1 minute |
| 1,000 products, full details | about 8 minutes |
| Whole catalogue (~1,300 products) | about 11 minutes |
| Whole catalogue, listing only | under 1 minute |

***

### Known limitations

- The shop only shows colour/size combinations that can be ordered. Sold-out sizes of a product that is still on sale are therefore not listed as variants.
- Sold-out products opened by URL do not show their internal product id; `id` then holds the SKU.
- `isNew`, `badges` and `listPosition` come from listing pages and are empty for products opened by URL.
- Reviews are imported by the shop from Zumba.com; reviewer names are not collected.
- Specification labels follow the selected language; `composition`, `fit`, `length` and `collection` are always filled from them in a fixed field.

***

### Technical details

- **Source:** zumbawear.eu — official Zumba® Wear shop for Europe
- **Coverage:** every category plus products only listed in the sitemap
- **Retry:** automatic retry on network errors with exponential backoff
- **Pacing:** request rate adapts to the shop's response times

***

### Rate this actor

If this scraper does its job, a short review on the **Reviews** tab helps other users find it. Something not working? Open an issue on the **Issues** tab instead — issues get fixed.

***

### Need a custom scraper?

**[Unfenced Group](https://www.unfencedgroup.nl)** builds Apify actors for any website — for free.

If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.

**Get in touch:** [www.unfencedgroup.nl](https://www.unfencedgroup.nl)

# Actor input Schema

## `startUrls` (type: `array`):

Optional. zumbawear.eu product pages (/product-detail/…), category pages (/category/…) or search result pages (/searchresult?s=…). When set, categories and search keywords are ignored. Leave everything empty to scrape the whole catalogue.

## `searchQueries` (type: `array`):

Keywords searched with the shop's own search, e.g. leggings, hoodie, air funk, SALE. Each keyword is searched separately.

## `categories` (type: `array`):

Shop categories to collect in full. Leave empty (and leave keywords and URLs empty) to scrape every category.

## `sortBy` (type: `string`):

Order in which listing and search results are collected. Matters when Max results is lower than the number of products.

## `language` (type: `string`):

Language of titles, descriptions, highlights, specifications and option names.

## `currency` (type: `string`):

Currency of every price in the output. Each product and variant also carries its price in EUR.

## `onlyOnSale` (type: `boolean`):

Keep only products with a reduced price.

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

Skip products that are sold out.

## `onlyNew` (type: `boolean`):

Keep only products the shop marks as new. Applies to category and search listings.

## `minPrice` (type: `integer`):

Lowest price to keep, in the selected currency. Leave empty for no minimum.

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

Highest price to keep, in the selected currency. Leave empty for no maximum.

## `fetchDetails` (type: `boolean`):

Open every product page for the full record: description, highlights, specifications, all images, rating, reviews and per-variant stock, EAN and SKU. Turn off for a fast, cheaper listing-only run.

## `includeVariants` (type: `boolean`):

For each colour and size combination, collect exact stock quantity, EAN barcode, variant SKU, price and sale dates. Needs Full product details.

## `maxReviews` (type: `integer`):

Number of most recent customer reviews to include per product (rating, text, date). 0 turns reviews off. Needs Full product details.

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

Maximum number of products to return. 0 means no limit.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.zumbawear.eu/product-detail/zumba-air-funk-23"
    }
  ],
  "searchQueries": [
    "leggings"
  ],
  "sortBy": "newest",
  "language": "en",
  "currency": "EUR",
  "onlyOnSale": false,
  "onlyInStock": false,
  "onlyNew": false,
  "fetchDetails": true,
  "includeVariants": true,
  "maxReviews": 10,
  "maxItems": 20
}
```

# 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 = {
    "startUrls": [
        {
            "url": "https://www.zumbawear.eu/product-detail/zumba-air-funk-23"
        }
    ],
    "searchQueries": [
        "leggings"
    ],
    "maxItems": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("unfenced-group/zumbawear-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 = {
    "startUrls": [{ "url": "https://www.zumbawear.eu/product-detail/zumba-air-funk-23" }],
    "searchQueries": ["leggings"],
    "maxItems": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("unfenced-group/zumbawear-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 '{
  "startUrls": [
    {
      "url": "https://www.zumbawear.eu/product-detail/zumba-air-funk-23"
    }
  ],
  "searchQueries": [
    "leggings"
  ],
  "maxItems": 20
}' |
apify call unfenced-group/zumbawear-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,unfenced-group/zumbawear-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/KfrGsDJeu3z8vZtKi/builds/Ah6FSzzVOb0WQ6fRF/openapi.json
