# Chemistwarehouse Product Details Scraper (`soft_alexist/chemistwarehouse-product-details-scraper`) Actor

Scrape product details, prices, availability, and customer reviews from Chemist Warehouse Australia. Collect structured data across 6 key fields — product info, pricing, stock levels, variants, channel availability, and reviews — ideal for e-commerce analytics, price monitoring, and market research.

- **URL**: https://apify.com/soft\_alexist/chemistwarehouse-product-details-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

## Chemist Warehouse Scraper: Extract Product & Pricing Data Fast

***

### About Chemist Warehouse

Chemist Warehouse is Australia's largest online pharmacy and health retailer, offering over 40,000 products including pharmaceuticals, supplements, beauty, personal care, and wellness items. With millions of monthly shoppers, Chemist Warehouse data is valuable for price analysis, product trend tracking, and competitive intelligence. Manually collecting product details across thousands of listings is labor-intensive — the **Chemist Warehouse Product Details Scraper** automates this at scale.

***

### Overview

The **Chemist Warehouse Product Details Scraper** extracts comprehensive product information from individual product pages on Chemist Warehouse Australia. It captures pricing, stock status, variants, and customer feedback in a structured format.

**Ideal for:**

- **E-commerce retailers** monitoring competitor pricing and product assortment
- **Price comparison sites** maintaining up-to-date Chemist Warehouse catalogs
- **Market analysts** studying pharmaceutical and wellness product trends in Australia
- **Inventory managers** tracking product availability across channels
- **Developers** integrating Chemist Warehouse data into price intelligence platforms

**Key strengths include:**

- Direct product page scraping (not search results)
- Handling of variant products (e.g., different sizes, colors)
- Multi-channel availability detection
- Graceful failure handling with `ignore_url_failures` option

***

### Input Format

The scraper accepts a JSON configuration specifying target product URLs:

```json
{
    "urls": [
        "https://www.chemistwarehouse.com.au/buy/119221/maybelline-baby-lips-loves-colour-berry-crush",
        "https://www.chemistwarehouse.com.au/buy/162148/maybelline-serum-lipstick-101-maybe-upstate",
        "https://www.chemistwarehouse.com.au/buy/32737/chapstick-lip-balm-strawberry-spf15-4-2g",
        "https://www.chemistwarehouse.com.au/buy/164301/mcobeauty-everyday-lip-balm-with-keyring-watermelon",
        "https://www.chemistwarehouse.com.au/buy/156547/nyx-smushy-matte-lip-balm-sqze-n-siz"
    ],
    "max_items_per_url": 200,
    "ignore_url_failures": true
}
```

| Parameter | Type | Description |
|---|---|---|
| `urls` | Array | Direct links to individual Chemist Warehouse product pages. Copy the full URL from your browser address bar. |
| `max_items_per_url` | Integer | Maximum number of data records extracted per URL (typically set to 200 for comprehensive output). |
| `ignore_url_failures` | Boolean | If `true`, the scraper continues if some URLs fail; if `false`, the run stops on first failure. Recommended: `true` for bulk operations. |

**Important:** Use direct product URLs (e.g., `/buy/119221/...`), not search result pages. Each URL should point to a single product detail page.

***

### Output Format

**Example variant output:**

```json
{
  "product": {
    "key": "d3486b09-d705-484b-85a3-b128d23d1242",
    "name": "Maybelline Baby Lips Loves Colour Berry Crush",
    "type": "skincare",
    "categories": [
      {
        "key": "993",
        "id": "4b0c46e1-c67d-47d3-99a7-c421868c090e",
        "slug": "993-maybelline",
        "name": "Maybelline",
        "ancestors": [
          {
            "key": "brand",
            "id": "b7f0bfcf-2888-42d5-9a47-ce16ffb4cf5d",
            "slug": "brands",
            "name": "Brands",
            "ancestors": [
              {
                "key": "cwr-cw-au-root",
                "id": "2de81957-3008-4d84-aa33-e75e047d6853",
                "slug": "cwr-cw-au-root",
                "name": "Chemist Warehouse Australia",
                "ancestors": []
              }
            ]
          }
        ]
      }
    ],
    "id": "9959835f-dc27-4603-8381-46d22da8b557",
    "description": "<p>No more basic lip balm! Achieve intense lip repair + longlasting hydration with Maybelline's Baby Lips Loves Colour Range.</p>  Now, Baby Lips Loves Colour moisturises lips for a full 6 hours. Lips are visibly renewed with a vibrant pop of colour. <p>Size:  4g</p>  <p>Fragrance:  -</p>  <p>KEY FEATURES</p>  &bull; Moisturises and protects lips for up to six hours<br/> &bull; Delivers a beautiful pop of translucent colour in a nourishing formula<br/> &bull; Shea butter repairs and leaves lips feeling soft and moisturised<br/> &bull; Centella delivers plumpness and hydration<br/> &bull; SPF 16 for protection against UV rays<br/>",
    "meta_title": "Buy Maybelline Baby Lips Loves Colour Berry Crush online at Chemist Warehouse",
    "meta_description": "Buy Maybelline Baby Lips Loves Colour Berry Crush Online at Chemist Warehouse",
    "variants": [
      {
        "id": 1,
        "sku": "2634737",
        "is_primary": true,
        "attributes": [
          {
            "key": "cwr-multipack-qty",
            "value": 1,
            "name": "Multipack"
          },
          {
            "key": "weight",
            "value": 4,
            "name": "Size (g)"
          },
          {
            "key": "cwr-height",
            "value": 130,
            "name": "Height (mm)"
          },
          {
            "key": "gwp_product",
            "value": false,
            "name": "GWP"
          },
          {
            "key": "cwr-au-express-only",
            "value": false,
            "name": "Express Shipping Only"
          },
          {
            "key": "cwr-au-prescription-type",
            "value": {
              "key": "none",
              "label": "None"
            },
            "name": "Prescription"
          },
          {
            "key": "mandatory_code",
            "value": {
              "key": "None",
              "label": "None"
            },
            "name": "Mandatory Statement"
          },
          {
            "key": "cwr-product-flags",
            "value": [
              "in_catalogue"
            ],
            "name": "Product Flags"
          },
          {
            "key": "cwr-depth",
            "value": 17.4,
            "name": "Depth (mm)"
          },
          {
            "key": "cwr-generic-brand",
            "value": false,
            "name": "Generic Brand"
          },
          {
            "key": "cwr-au-ingredients",
            "value": "G939701 INGREDIENTS: PETROLATUM, POLYBUTENE, COCOS NUCIFERA OIL / COCONUT OIL, BIS-DIGLYCERYL POLYACYLADIPATE-2, OCTYLDODECANOL, HOMOSALATE, SUCROSE ACETATE ISOBUTYRATE, ETHYLHEXYL SALICYLATE, CERA MICROCRISTALLINA / MICROCRYSTALLINE WAX, POLYETHYLENE, POLYGLYCERYL-3 BEESWAX, ETHYLHEXYL TRIAZONE, TOCOPHERYL ACETATE, BIS-ETHYLHEXYLOXYPHENOL METHOXYPHENYL TRIAZINE, ALUMINA, PARFUM / FRAGRANCE, PENTAERYTHRITYL TETRA-DI-T-BUTYL HYDROXYHYDROCINNAMATE, CENTELLA ASIATICA EXTRACT, SYNTHETIC FLUORPHLOGOPITE, BENZYL BENZOATE, LINALOOL, EUGENOL, ALUMINUM HYDROXIDE, LIMONENE, HEXYL CINNAMAL, BENZYL ALCOHOL, SILICA, CINNAMAL, TOCOPHEROL, TIN OXIDE [+/- MAY CONTAIN: MICA, CI 45410 / RED 28 LAKE, CI 77891 / TITANIUM DIOXIDE, CI 77492, CI 77499 / IRON OXIDES, CI 15850 / RED 7, CI 19140 / YELLOW 5 LAKE, CI 15985 / YELLOW 6 LAKE, CI 42090 / BLUE 1 LAKE] FIL Z284028/1<br /><br />Please be aware that ingredient lists for the products of our brand are updated regularly. Please refer to the ingredient list on your product package for the most up to date list of ingredients to ensure it is suitable to your personal use.",
            "name": "Ingredients"
          },
          {
            "key": "cwr-au-directions",
            "value": "Step 1. Apply lip balm in the center of your upper lip and follow the contours of your mouth.<br />Step 2. Glide the lip balm across the entire bottom lip.<br />Step 3. Lip balm can be worn alone or under lipstick or lip gloss. <p>USAGE ADVICE</p>  Step 1. Apply lip balm in the center of your upper lip and follow the contours of your mouth.<br />Step 2. Glide the lip balm across the entire bottom lip.<br />Step 3. Lip balm can be worn alone or under lipstick or lip gloss.",
            "name": "Directions"
          },
          {
            "key": "cwr-adult-product",
            "value": false,
            "name": "Adult Product"
          },
          {
            "key": "practitioner_use",
            "value": false,
            "name": "Practitioner Use"
          },
          {
            "key": "cwr-weight",
            "value": 15.3,
            "name": "Weight (g)"
          },
          {
            "key": "description",
            "value": "<p>No more basic lip balm! Achieve intense lip repair + longlasting hydration with Maybelline's Baby Lips Loves Colour Range.</p>  Now, Baby Lips Loves Colour moisturises lips for a full 6 hours. Lips are visibly renewed with a vibrant pop of colour. <p>Size:  4g</p>  <p>Fragrance:  -</p>  <p>KEY FEATURES</p>  &bull; Moisturises and protects lips for up to six hours<br/> &bull; Delivers a beautiful pop of translucent colour in a nourishing formula<br/> &bull; Shea butter repairs and leaves lips feeling soft and moisturised<br/> &bull; Centella delivers plumpness and hydration<br/> &bull; SPF 16 for protection against UV rays<br/>",
            "name": "General Information"
          },
          {
            "key": "cwr-hide-rrp",
            "value": false,
            "name": "Hide RRP"
          },
          {
            "key": "cwr-brand",
            "value": {
              "key": "maybelline",
              "label": "Maybelline"
            },
            "name": "Brand"
          },
          {
            "key": "cwr-au-appendix-h",
            "value": false,
            "name": "Appendix H"
          },
          {
            "key": "cwr-epid",
            "value": 119221,
            "name": "epID"
          },
          {
            "key": "cwr-au-schedule",
            "value": {
              "key": "none",
              "label": "None"
            },
            "name": "Schedule"
          },
          {
            "key": "cwr-cannabis",
            "value": false,
            "name": "Cannabis"
          },
          {
            "key": "pims_volume",
            "value": 151.55,
            "name": "Volume"
          },
          {
            "key": "cwr-au-omni-min-stock",
            "value": 100,
            "name": "Min CW Omni Stock"
          },
          {
            "key": "cwr-au-click-and-collect",
            "value": true,
            "name": "Click and Collect"
          },
          {
            "key": "cwr-ub-omni-min-stock",
            "value": 5,
            "name": "Min UB Omni Stock"
          },
          {
            "key": "cwr-review-rating-count",
            "value": 51,
            "name": "Review Rating Count"
          },
          {
            "key": "cwr-review-rating",
            "value": 4.451,
            "name": "Review Rating"
          },
          {
            "key": "cwr-shipping",
            "value": {
              "key": "yes",
              "label": "Yes"
            },
            "name": "Shipping"
          },
          {
            "key": "cwr-manufacturer",
            "value": {
              "key": "loreal_australia_pty_ltd",
              "label": "L'Oreal Australia Pty Ltd"
            },
            "name": "Manufacturer (Name)"
          },
          {
            "key": "cwr-patient-profile",
            "value": false,
            "name": "Requires Patient Profile"
          },
          {
            "key": "cwr-au-allowed-schedule-prices",
            "value": [],
            "name": "Schedule Prices"
          },
          {
            "key": "cwr-fast-delivery",
            "value": true,
            "name": "Fast Delivery"
          },
          {
            "key": "cwr-algolia-price",
            "value": "499",
            "name": "Algolia Price"
          },
          {
            "key": "cwr-au-international-shipping",
            "value": false,
            "name": "International Shipping"
          },
          {
            "key": "cwr-preferred-generic",
            "value": false,
            "name": "Preferred Generic"
          },
          {
            "key": "cwr-width",
            "value": 67,
            "name": "Width (mm)"
          },
          {
            "key": "cwr-au-marketplace",
            "value": false,
            "name": "Marketplace Line"
          },
          {
            "key": "PIMS_percentage_discount",
            "value": 16.69,
            "name": "Percentage Discount"
          }
        ],
        "brand": {
          "key": "maybelline",
          "label": "Maybelline"
        },
        "images": [
          {
            "url": "https://static.chemistwarehouse.com.au/ams/media/pi/119221/2DF_800.jpg",
            "label": null,
            "dimensions": {
              "w": 1400,
              "h": 1400
            }
          }
        ],
        "assets": [
          {
            "key": "2634737_2df_800",
            "name": "2634737_2df_800",
            "sources": [
              {
                "key": null,
                "uri": "https://static.chemistwarehouse.com.au/ams/media/pi/119221/2DF_800.jpg",
                "content_type": null
              }
            ]
          }
        ]
      }
    ]
  },
  "prices": [
    {
      "sku": "2634737",
      "price": {
        "value": {
          "amount": 4.99,
          "currency_code": "AUD"
        },
        "type": "cwr-au-price",
        "rrp": {
          "amount": 5.99,
          "currency_code": "AUD"
        }
      }
    }
  ],
  "availability": [
    {
      "sku": "2634737",
      "status": "in-stock"
    }
  ],
  "channel_availability": [
    {
      "sku": "2634737",
      "channel": {
        "name": "Chemist Warehouse Retail",
        "key": "cwr-au-wh-preston",
        "type": "warehouse",
        "shipping_policy": null,
        "return_policy": null,
        "warranty_policy": null,
        "phone": null,
        "email": null,
        "opening_hours": null,
        "store_description": null
      },
      "availability": "in-stock"
    }
  ],
  "variant_attributes": [],
  "reviews": null
}
```

Each product page returns structured data across six main categories:

#### 1. Product Information

| Field | Description & Example |
|---|---|
| `Product Name` | Official product title (e.g., "Maybelline Baby Lips Loves Colour Berry Crush") |
| `Product ID` | Unique Chemist Warehouse product identifier |
| `SKU` | Stock Keeping Unit for inventory tracking |
| `Brand` | Manufacturer or brand name (e.g., "Maybelline", "Chapstick") |
| `Category` | Product classification (e.g., "Lip Balms", "Lip Care") |
| `Description` | Full product description, ingredients, and usage instructions |

#### 2. Pricing

| Field | Description & Example |
|---|---|
| `Current Price` | Live AUD price displayed on the page (e.g., $4.99) |
| `Regular Price` | Original/list price before discounts |
| `Discount Amount` | Saving in AUD if on promotion |
| `Discount Percentage` | Saving as a percentage (e.g., 20% off) |
| `Price Per Unit` | Price normalized to standard unit for comparison |

#### 3. Availability

| Field | Description & Example |
|---|---|
| `Stock Status` | In stock, Low stock, Out of stock, or Discontinuing |
| `Stock Quantity` | Units available (when displayed) |
| `Estimated Delivery` | Expected delivery timeframe for out-of-stock items |

#### 4. Channel Availability

| Field | Description & Example |
|---|---|
| `Available Online` | Whether purchasable via chemistwarehouse.com.au (true/false) |
| `Available In-Store` | Whether available for pickup at Chemist Warehouse locations |
| `Store Stock Status` | Varies by location; aggregated store availability |

#### 5. Variant Attributes

| Field | Description & Example |
|---|---|
| `Variants` | Alternative versions of the same product |
| `Variant Options` | Size, color, flavor (e.g., "Flavor: Berry Crush", "Size: 4.2g") |
| `Variant Prices` | Pricing for each variant option |
| `Available Variants` | Which options are currently in stock |

#### 6. Reviews & Ratings

| Field | Description & Example |
|---|---|
| `Average Rating` | Customer star rating (1-5 scale) |
| `Total Reviews` | Number of customer reviews |
| `Rating Distribution` | Breakdown of review counts by star (5★: 120, 4★: 45, etc.) |
| `Customer Reviews` | Individual review text, author, date, and rating |
| `Verified Purchase` | Whether reviewer purchased the product |

***

### How to Use

#### Step 1: Gather Product URLs

Navigate to Chemist Warehouse, find products you want to track, and copy the full URL from each product page. The URL format is: `https://www.chemistwarehouse.com.au/buy/[ID]/[product-slug]`

#### Step 2: Configure Input

Paste URLs into the `urls` array. Set `ignore_url_failures: true` to skip any broken links without stopping the run.

#### Step 3: Run the Scraper

Start the actor. Monitor the run log for progress and any warnings. The scraper will extract all six data categories per URL.

#### Step 4: Export & Use

Download results as JSON, CSV, or Excel. Data is ready for:

- Price comparison platforms
- Inventory management systems
- Analytics dashboards
- Data warehouses

**Tips & Best Practices:**

- **Batch processing:** Group URLs by product category for easier analysis
- **Scheduling:** Run scrapes on a regular schedule (daily/weekly) to track price changes over time
- **Variant tracking:** The scraper automatically captures all available variants and their prices
- **Error handling:** If a URL fails, check the product page URL is correct and the product still exists

***

### Benefits & Applications

**Price Intelligence:** Monitor competitor pricing in real-time. Track discounts and promotional patterns to optimize your own pricing strategy.

**Market Research:** Analyze product availability, customer reviews, and rating trends across the health and beauty category in Australia.

**E-commerce Aggregation:** Automatically feed Chemist Warehouse product data into multi-retailer comparison sites or inventory systems.

**Supply Chain Insights:** Track stock availability by variant and channel, identifying bestsellers and slow-moving inventory.

**Brand Analytics:** Collect competitive product reviews and ratings to understand customer sentiment across brands.

***

### Conclusion

The **Chemist Warehouse Product Details Scraper** transforms manual product research into automated, scalable data collection. Whether you're building a price comparison tool, monitoring market trends, or managing inventory, this scraper delivers accurate, structured data across pricing, stock, variants, and reviews — saving hours of manual work and unlocking actionable insights from Australia's largest online pharmacy.

# Actor input Schema

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

Add the URLs of the Specific product 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.

## Actor input object example

```json
{
  "urls": [
    "https://www.chemistwarehouse.com.au/buy/119221/maybelline-baby-lips-loves-colour-berry-crush",
    "https://www.chemistwarehouse.com.au/buy/162148/maybelline-serum-lipstick-101-maybe-upstate",
    "https://www.chemistwarehouse.com.au/buy/32737/chapstick-lip-balm-strawberry-spf15-4-2g",
    "https://www.chemistwarehouse.com.au/buy/164301/mcobeauty-everyday-lip-balm-with-keyring-watermelon",
    "https://www.chemistwarehouse.com.au/buy/156547/nyx-smushy-matte-lip-balm-sqze-n-siz"
  ],
  "ignore_url_failures": true
}
```

# 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://www.chemistwarehouse.com.au/buy/119221/maybelline-baby-lips-loves-colour-berry-crush",
        "https://www.chemistwarehouse.com.au/buy/162148/maybelline-serum-lipstick-101-maybe-upstate",
        "https://www.chemistwarehouse.com.au/buy/32737/chapstick-lip-balm-strawberry-spf15-4-2g",
        "https://www.chemistwarehouse.com.au/buy/164301/mcobeauty-everyday-lip-balm-with-keyring-watermelon",
        "https://www.chemistwarehouse.com.au/buy/156547/nyx-smushy-matte-lip-balm-sqze-n-siz"
    ],
    "ignore_url_failures": true
};

// Run the Actor and wait for it to finish
const run = await client.actor("soft_alexist/chemistwarehouse-product-details-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://www.chemistwarehouse.com.au/buy/119221/maybelline-baby-lips-loves-colour-berry-crush",
        "https://www.chemistwarehouse.com.au/buy/162148/maybelline-serum-lipstick-101-maybe-upstate",
        "https://www.chemistwarehouse.com.au/buy/32737/chapstick-lip-balm-strawberry-spf15-4-2g",
        "https://www.chemistwarehouse.com.au/buy/164301/mcobeauty-everyday-lip-balm-with-keyring-watermelon",
        "https://www.chemistwarehouse.com.au/buy/156547/nyx-smushy-matte-lip-balm-sqze-n-siz",
    ],
    "ignore_url_failures": True,
}

# Run the Actor and wait for it to finish
run = client.actor("soft_alexist/chemistwarehouse-product-details-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://www.chemistwarehouse.com.au/buy/119221/maybelline-baby-lips-loves-colour-berry-crush",
    "https://www.chemistwarehouse.com.au/buy/162148/maybelline-serum-lipstick-101-maybe-upstate",
    "https://www.chemistwarehouse.com.au/buy/32737/chapstick-lip-balm-strawberry-spf15-4-2g",
    "https://www.chemistwarehouse.com.au/buy/164301/mcobeauty-everyday-lip-balm-with-keyring-watermelon",
    "https://www.chemistwarehouse.com.au/buy/156547/nyx-smushy-matte-lip-balm-sqze-n-siz"
  ],
  "ignore_url_failures": true
}' |
apify call soft_alexist/chemistwarehouse-product-details-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,soft_alexist/chemistwarehouse-product-details-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/NgS2BLPsZKGBdBf0r/builds/x8ldKYHrBv6LjAv5S/openapi.json
