# Zooplus Scraper 📦 $0.9/1k (`123webdata/zooplus-scraper`) Actor

$0.9/1k 💰 | Fast ⚡️ | Quick Support 🚀 | Scrape Zooplus category and product pages; get prices, brands, categories, and ratings. Export JSON or CSV for pet-supply price monitoring and product research.

- **URL**: https://apify.com/123webdata/zooplus-scraper.md
- **Developed by:** [123 Webdata](https://apify.com/123webdata) (community)
- **Categories:** E-commerce, AI
- **Features:** Limited permissions
- **Stats:** 23 total users, 6 monthly users, 77.5% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $0.80 / 1,000 results

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

Learn more: https://docs.apify.com/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

## Zooplus Scraper

Collect structured pet food and pet supply data from Zooplus product, search, brand and category URLs. Very high data coverage: up to 41 fields are available for each product.

### Issues and feature requests

If you encounter an issue or need a field added, open an issue on the Actor page or write to hello@123webdata.com.

For custom requirements, you can also reach out to us by [filling this form](https://www.123webdata.com/scrape_zooplus_com/#contact).

### Output Example (simplified)

The overview shows the most useful fields in a table. Product images are displayed as thumbnails when the website provides them.

| Image | Product URL | Product ID | Product name | Current price | Regular price | Currency | In stock | Brand | Scraped at |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| <img src="https://media.zooplus.com/bilder/1/1000/252307_252308_pla_royalcanin_dog_medium_puppy_hs_01_1.jpg" style="max-width: 100px; max-height: 100px; object-fit: contain;"> | https://www.zooplus.com/shop/dogs/dry_dog_food/royal_canin_size/medium/128330 | 128330 | Royal Canin Medium Puppy - dog dry food | 24.99 |  | EUR | true | Royal Canin Size | 2026-09-09T10:22:58.491Z |

### How to scrape supported list pages

This Actor accepts individual product links in `productUrls`. It accepts category pages, brand pages, and search result pages in `categoryUrls`.

1. Open a supported list page in your browser.
2. Choose a category, open a brand page, and run a search you need.
3. Copy the final URL from the address bar and paste it into `categoryUrls`.

The Actor follows the products shown on that page.

Add one or more List URLs to scrape. `categoryUrls` is labelled **List URLs** in the Console and accepts category pages, brand pages, and search result pages.

#### Scrape Zooplus Search Pages

Pass a search results URL and the Actor collects the products that match your query. Example: https://www.zooplus.com/search/results?q=dry+dog+food

#### Scrape Zooplus Brand Pages

Pass a brand page URL and the Actor collects the products listed for that brand. Example: https://www.zooplus.com/shop/dogs/dry_dog_food/eukanuba

#### Scrape Zooplus Category Pages

Pass a category URL and the Actor collects every product listed in that category. Example: https://www.zooplus.com/shop/dogs/dry_dog_food

The `scrapeProductDetails` option (labelled Include product details) decides what each List URL produces. When it is enabled, the Actor visits each product page and returns the full detail records; when it is disabled, the Actor returns one list-level record per product card with the fields that are always included.

### Features

- Scrapes detailed pet food and pet supplies from Zooplus product pages
- Accepts individual product URLs and category pages, brand pages, and search result pages
- Lets you limit the number of saved products and choose whether to continue through additional result pages
- Returns structured prices, brands, categories, ratings, product images, and variants for viewing, export, and analysis

### Pricing

This Actor uses pay-per-event pricing. Its running costs are included.

- **Actor start:** $0.02 once per run — One fixed charge for starting a run.
- **Result:** $0.00089 each ($0.89 per 1,000) — A product record collected directly from a supported list page.
- **Product detail:** $0.00199 each ($1.99 per 1,000) — A full product record collected from its product page.

The start charge applies once per run. Each saved product is charged either as a Result or a Product detail, never both.

| Results in one run | Result | Product detail |
| ---: | ---: | ---: |
| 100 | $0.11 | $0.22 |
| 1,000 | $0.91 | $2.01 |

[Apify's Free plan](https://apify.com/pricing) currently includes $5 in monthly usage credits. If the full $5 is available for this Actor, one run covers about 5,595 Results or 2,502 Product details. Other Apify usage reduces the available credit.

### Input

The Actor accepts the following input parameters:

| Field | Type | Description |
| --- | --- | --- |
| `productUrls` | array | Product URLs to scrape |
| `categoryUrls` | array | Supported list pages: category pages, brand pages, and search result pages |
| `maxResultsPerScrape` | integer | Maximum number of product records to save |
| `usePagination` | boolean | Whether to continue through additional result pages |
| `scrapeProductDetails` | boolean | If the Include product details option is enabled, the Actor visits each product page for the full detail record; if it is disabled, the Actor returns one list-level result record per product card. Both field lists are in "What data you get in each mode" below. |

### What data you get in each mode

Every saved product is stored as one record. `scrapeProductDetails` decides which mode you receive; the lists below name every field each mode can return. A field is empty when the website does not show that information.

#### Result

A list-level product record with 15 declared fields:

`url`, `product_id`, `name`, `price`, `currency`, `in_stock`, `main_image`, `rating_value`, `review_count`, `variant_description`, `unit_price`, `unit_price_unit`, `autoship_price`, `badges`, `scraped_at`

#### Product detail

A full product record with 41 declared fields:

`url`, `product_id`, `name`, `price`, `regular_price`, `currency`, `in_stock`, `sku`, `gtin`, `brand`, `category`, `breadcrumbs`, `breadcrumb_urls`, `main_image`, `images`, `description`, `description_html`, `attributes`, `color`, `material`, `rating_value`, `review_count`, `variants`, `canonical_url`, `scraped_at`, `variant_description`, `unit_price`, `unit_price_unit`, `voucher_price`, `voucher_terms`, `ingredients`, `ingredients_html`, `feeding_guide`, `feeding_guide_html`, `autoship_price`, `badges`, `offer_ends`, `loyalty_points`, `delivery`, `manufacturer_name`, `manufacturer_address`

### Output Example (full)

The Actor stores one structured record per product. Card-only records contain only fields available on the list; detail-only fields are omitted.

```json
{
  "url": "https://www.zooplus.com/shop/dogs/dry_dog_food/royal_canin_size/medium/128330",
  "product_id": "128330",
  "name": "Royal Canin Medium Puppy - dog dry food",
  "price": 24.99,
  "regular_price": null,
  "currency": "EUR",
  "in_stock": true,
  "sku": "128330.15",
  "gtin": "3182550708180",
  "brand": "Royal Canin Size",
  "category": "Dry Dog Food",
  "breadcrumbs": [
    "zooplus",
    "Dog",
    "Dry Dog Food",
    "Royal Canin Size",
    "Royal Canin Medium Puppy - dog dry food"
  ],
  "breadcrumb_urls": [
    "https://www.zooplus.com/",
    "https://www.zooplus.com/shop/dogs",
    "https://www.zooplus.com/shop/dogs/dry_dog_food",
    "https://www.zooplus.com/shop/dogs/dry_dog_food/royal_canin_size"
  ],
  "main_image": "https://media.zooplus.com/bilder/1/1000/252307_252308_pla_royalcanin_dog_medium_puppy_hs_01_1.jpg",
  "images": [
    "https://media.zooplus.com/bilder/1/1000/252307_252308_pla_royalcanin_dog_medium_puppy_hs_01_1.jpg",
    "https://media.zooplus.com/bilder/8/1000/rc_spt_dry_mediumpuppy_b1_page_02_8.jpg",
    "https://media.zooplus.com/bilder/1/1000/rc_spt_dry_mediumpuppy_b1_page_03_1.jpg",
    "https://media.zooplus.com/bilder/4/1000/rc_spt_dry_mediumpuppy_b1_page_04_4.jpg",
    "https://media.zooplus.com/bilder/4/1000/rc_spt_dry_mediumpuppy_b1_page_06_4.jpg",
    "https://media.zooplus.com/bilder/3/1000/rc_spt_dry_mediumpuppy_b1_page_05_3.jpg",
    "https://media.zooplus.com/bilder/9/1000/rc_spt_dry_mediumpuppy_b1_page_01_9.jpg",
    "https://media.zooplus.com/bilder/8/1000/rc_spt_dry_mediumpuppy_b1_page_07_8.jpg",
    "https://media.zooplus.com/bilder/3/1000/rc_spt_dry_mediumpuppy_b1_page_10_3.jpg",
    "https://media.zooplus.com/bilder/4/1000/rc_spt_dry_mediumpuppy_b1_page_11_4.jpg",
    "https://media.zooplus.com/bilder/8/1000/rc_spt_dry_mediumpuppy_b1_page_09_8.jpg",
    "https://media.zooplus.com/bilder/5/1000/rc_spt_dry_mediumpuppy_b1_page_08_5.jpg"
  ],
  "description": "Complete dry food with a new recipe, designed for medium puppies with an expected adult weight of 11-25kg aged up to 12 months, with tailored energy levels and kibble to support digestion. Royal Canin Medium Puppy has been specially developed to meet the nutritional needs of medium breed puppies. The recipe is suitable for puppies aged between 2 and 12 months with an expected adult weight of 11-25kg. Nutrients such as vitamins C and E help to support your puppy's natural defences as its immune system continues to develop. Omega-3 fatty acids (e.g. DHA) help to ensure optimum brain development. FOS, MOS and beet pulp (prebiotic) combine with highly-digestible proteins to maintain balance in the gut microbiome and gut flora, ensuring functional digestion. The recipe of this Royal Canin Medium Puppy also contains a tailored energy content designed to meet the caloric needs of growing medium-breed puppies. Royal Canin Medium Puppy at a glance: Dry food for medium puppies (expected adult weight 11-25kg) aged between 2 and 12 months Vitamins C & E: to support the immune system Omega-3 fatty acids: to promote brain development Balance in the gut flora: prebiotics and highly-digestible proteins support the microbiome Optimum energy content: to meet the high energy needs Tailored kibble shape: fits the jaws of medium puppies The kibble of this Royal Canin Medium Puppy has been specially developed for the jaws of medium puppies. It is large enough to prevent your puppy wolfing it down, but not so large that your dog is reluctant to eat it. The mechanical brushing effect caused by chewing helps to support your dog's dental hygiene.",
  "description_html": "Complete dry food with a new recipe, designed for medium puppies with an expected adult weight of 11-25kg aged up to 12 months, with tailored energy levels and kibble to support digestion. <br><br> Royal Canin Medium Puppy&nbsp;has&nbsp;been specially developed to meet the nutritional needs of medium breed puppies. The recipe is suitable for puppies aged between 2 and 12 months with an expected adult weight of 11-25kg.&nbsp;<strong>Nutrients such as vitamins C and E</strong>&nbsp;help to support your puppy's natural defences as its immune system continues to develop.<br><br><br><br><strong>Omega-3 fatty acids (e.g. DHA)&nbsp;</strong>help to ensure optimum brain development. FOS, MOS and beet pulp (<strong>prebiotic</strong>) combine with highly-digestible proteins to maintain balance in the gut microbiome and gut flora, ensuring functional digestion.<br> The recipe of this&nbsp;Royal Canin Medium Puppy&nbsp;also contains a tailored energy content designed to meet the caloric needs of growing medium-breed puppies.<br><br><br><strong>Royal Canin Medium Puppy at a glance:</strong><ul><li>Dry food for medium puppies (expected adult weight 11-25kg) aged between 2 and 12 months</li><li><strong>Vitamins C &amp; E:&nbsp;</strong>to support the immune system</li><li><strong>Omega-3 fatty acids:&nbsp;</strong>to promote brain development</li><li><strong>Balance in the gut flora:&nbsp;</strong>prebiotics and highly-digestible proteins support the microbiome</li><li><strong>Optimum energy content:&nbsp;</strong>to meet the high energy needs</li><li><strong>Tailored kibble shape:&nbsp;</strong>fits the jaws of medium puppies</li></ul><br><br> The kibble of this&nbsp;Royal Canin Medium Puppy has been specially developed for the jaws of medium puppies. It is large enough to prevent your puppy wolfing it down, but not so large that your dog is reluctant to eat it. The mechanical brushing effect caused by chewing helps to support your dog's dental hygiene.<br>",
  "attributes": {},
  "color": null,
  "material": null,
  "rating_value": 5,
  "review_count": 743,
  "variants": [
    {
      "sku": "128330.15",
      "attributes": {
        "size": "4kg"
      }
    },
    {
      "sku": "128330.16",
      "price": 68.99,
      "attributes": {
        "gtin": "3182550778077",
        "size": "10kg",
        "voucher_price": 55.19,
        "unit_price": 6.9
      }
    },
    {
      "sku": "128330.13",
      "price": 86.99,
      "attributes": {
        "gtin": "3182550402132",
        "size": "15kg",
        "voucher_price": 69.59,
        "unit_price": 5.8
      }
    },
    {
      "sku": "128330.14",
      "price": 171.99,
      "attributes": {
        "size": "Economy Pack: 2 x 15kg",
        "regular_price": 173.98,
        "unit_price": 5.73
      }
    }
  ],
  "canonical_url": "https://www.zooplus.com/shop/dogs/dry_dog_food/royal_canin_size/medium/128330",
  "scraped_at": "2026-09-09T10:22:58.491Z",
  "unit_price": 6.25,
  "unit_price_unit": "kg",
  "voucher_price": 17.49,
  "voucher_terms": "Apply voucher - save -30%",
  "ingredients": "Go to analytical constituentsIngredients: Dried poultry protein, animal fat, dried beef- and pork protein, maize, wheat feed meal, dried beet pulp, rice, hydrolysed animal protein, maize feed meal, wheat, maize gluten feed, wheat gluten feed*, minerals, soya oil, yeast by-products, fish oil, fructo-oligosaccharides, hydrolysed yeast [source of mannan-oligosaccharides and beta-glucan] (0.29%), algae oil Schizochytrium sp. [source of DHA], juice from Yucca schidigera, marigold meal. * L.I.P.: selected, highly-digestible proteins. Additives per kg: Nutritional additives: Vitamin A (15,500 IU), vitamin D3 (1000 IU), vitamin E (500mg), vitamin C (400mg), iron (37mg), iodine (3.7mg), copper (11mg), manganese (48mg), zinc (128mg), selenium (0.07mg). Technological additives: Clinoptilolite from sedimentary sources (10g), preservatives, antioxidants. Analytical constituentsprotein32.0 %fat20.0 %fibre1.7 %ash8.2 %omega-3 fats0.17 %calories that can be burned4102.0 kcal/kg",
  "ingredients_html": "Go to analytical constituents<b>Ingredients:</b><br> Dried poultry protein, animal fat, dried beef- and pork protein, maize, wheat feed meal, dried beet pulp, rice, hydrolysed animal protein, maize feed meal, wheat, maize gluten feed, wheat gluten feed*, minerals, soya oil, yeast by-products, fish oil, fructo-oligosaccharides, hydrolysed yeast [source of mannan-oligosaccharides and beta-glucan] (0.29%), algae oil Schizochytrium sp. [source of DHA], juice from Yucca schidigera, marigold meal.<br> * L.I.P.: selected, highly-digestible proteins. <p><b>Additives per kg:</b><br><i>Nutritional additives:</i><br> Vitamin A (15,500 IU), vitamin D3 (1000 IU), vitamin E (500mg), vitamin C (400mg), iron (37mg), iodine (3.7mg), copper (11mg), manganese (48mg), zinc (128mg), selenium (0.07mg).<br><i>Technological additives:</i><br> Clinoptilolite from sedimentary sources (10g), preservatives, antioxidants.</p><p><b>Analytical constituents</b></p><table><tbody><tr><td>protein</td><td>32.0<!-- --><!-- -->%</td></tr><tr><td>fat</td><td>20.0<!-- --><!-- -->%</td></tr><tr><td>fibre</td><td>1.7<!-- --><!-- -->%</td></tr><tr><td>ash</td><td>8.2<!-- --><!-- -->%</td></tr><tr><td>omega-3 fats</td><td>0.17<!-- --><!-- -->%</td></tr><tr><td>calories that can be burned</td><td>4102.0<!-- --><!-- -->kcal/kg</td></tr></tbody></table>",
  "feeding_guide": "Feeding recommendation: Royal Canin Medium Puppy is a complete food for growing dogs. Age in months Expected adult weight 11kg Expected adult weight 14kg Expected adult weight 20kg Expected adult weight 25kg 2 months 154g 183g 232g 243g 6 months 196g 235g 308g 365g 10 months 140g 169g 222g 263g 12 months Medium Adult Medium Adult 218g 260g 13 months Medium Adult Medium Adult Medium Adult 258g Mixed feeding with 1 pouch of Royal Canin wet food: Age in months Expected adult weight 11kg Expected adult weight 14kg Expected adult weight 20kg Expected adult weight 25kg 2 months 119g 148g 197g 208g 6 months 160g 200g 273g 329g 10 months 105g 133g 186g 228g 12 months Medium Adult in Gravy Medium Adult in Gravy 182g 224g 13 months Medium Adult in Gravy Medium Adult in Gravy Medium Adult in Gravy 222g Ensure fresh drinking water is always available. The recommended feeding amounts are merely guidelines and may need to be adjusted depending on your dog's individual nutritional needs.",
  "feeding_guide_html": "<b>Feeding recommendation:</b><br> Royal Canin Medium Puppy is a complete food for growing dogs.<br> &nbsp; <table><tbody><tr><td><b>Age in months</b></td><td><b>Expected adult weight 11kg</b></td><td><b>Expected adult weight 14kg</b></td><td><b>Expected adult weight 20kg</b></td><td><b>Expected adult weight 25kg</b></td></tr><tr><td>2 months</td><td>154g</td><td>183g</td><td>232g</td><td>243g</td></tr><tr><td>6 months</td><td>196g</td><td>235g</td><td>308g</td><td>365g</td></tr><tr><td>10 months</td><td>140g</td><td>169g</td><td>222g</td><td>263g</td></tr><tr><td>12 months</td><td>Medium Adult</td><td>Medium Adult</td><td>218g</td><td>260g</td></tr><tr><td>13 months</td><td>Medium Adult</td><td>Medium Adult</td><td>Medium Adult</td><td>258g</td></tr></tbody></table><p><strong>Mixed feeding with 1 pouch of Royal Canin wet food:</strong></p><table><tbody><tr><td><b>Age in months</b></td><td><b>Expected adult weight 11kg</b></td><td><b>Expected adult weight 14kg</b></td><td><b>Expected adult weight 20kg</b></td><td><b>Expected adult weight 25kg</b></td></tr><tr><td>2 months</td><td>119g</td><td>148g</td><td>197g</td><td>208g</td></tr><tr><td>6 months</td><td>160g</td><td>200g</td><td>273g</td><td>329g</td></tr><tr><td>10 months</td><td>105g</td><td>133g</td><td>186g</td><td>228g</td></tr><tr><td>12 months</td><td>Medium Adult in Gravy</td><td>Medium Adult in Gravy</td><td>182g</td><td>224g</td></tr><tr><td>13 months</td><td>Medium Adult in Gravy</td><td>Medium Adult in Gravy</td><td>Medium Adult in Gravy</td><td>222g</td></tr></tbody></table><br> Ensure fresh drinking water is always available.<br> The recommended feeding amounts are merely guidelines and may need to be adjusted depending on your dog's individual nutritional needs.",
  "autoship_price": 21.24,
  "offer_ends": "Offer ends 15 September",
  "loyalty_points": 25,
  "delivery": "Delivery in 3-6 working days",
  "manufacturer_name": null,
  "manufacturer_address": null
}
```

### Use Cases

- Monitor pet supply prices
- Compare pet food assortments
- Build structured retail datasets

### You might also like

- [Our other e-commerce scrapers](https://www.123webdata.com/categories/ecommerce/)
- [Our other pet product and adoption scrapers](https://www.123webdata.com/categories/pets/)
- [Petfinder Scraper](https://apify.com/123webdata/petfinder-scraper)
- [Walmart Scraper](https://apify.com/123webdata/walmart-scraper)
- [Target Scraper](https://apify.com/123webdata/target-scraper)

### Integrate with AI and automation

#### Use with AI through MCP

Connect your AI assistant to the [Apify MCP server](https://docs.apify.com/integrations/mcp). It can discover and run Actors, then access the results in the same conversation. For example, ask your assistant to scrape a list of products from Zooplus, compare prices, or summarize the collected data.

#### Run on a schedule

After one successful run, use [Apify Schedules](https://docs.apify.com/actors/running/schedules) to repeat the same task hourly, daily, weekly, or with a custom cron schedule. Saved tasks are useful when you want to keep the same URLs and settings for every run.

#### Connect with n8n

[Create an n8n account](https://n8n.partnerlinks.io/ezvl1qy3f990) and add the verified Apify node to a workflow. Choose **Run an Actor and Get Dataset** when the workflow should start this Actor, wait for completion, and receive the product rows for the next node. See the [Apify integration for n8n](https://n8n.io/integrations/apify/).

#### Connect with Make

[Create a Make account](https://www.make.com/en/register?pc=vasarmilan) and add the Apify **Run an Actor** module. Follow it with **Get Dataset Items** to pass the product rows to Google Sheets, a database, email, or another Make module. For longer runs, use **Watch Actor Runs** followed by **Get Dataset Items**.

[Read the Make integration guide](https://docs.apify.com/integrations/make).

# Actor input Schema

## `productUrls` (type: `array`):

Add one or more product page URLs to scrape. Example product URLs:

- https://www.zooplus.com/shop/dogs/dry_dog_food/eukanuba/adult/2393421
- https://www.zooplus.com/shop/dogs/dry_dog_food/briantos/grain_free/997870
- https://www.zooplus.com/shop/dogs/dry_dog_food/purizon/single_meat/649550

## `categoryUrls` (type: `array`):

Add one or more List URLs to scrape.

Supported page types with examples:

- Search page: https://www.zooplus.com/search/results?q=dry+dog+food
- Brand page: https://www.zooplus.com/shop/dogs/dry_dog_food/eukanuba
- Category page: https://www.zooplus.com/shop/dogs/dry_dog_food

Leave blank if using direct product URLs instead.

The `scrapeProductDetails` option (labelled Include product details) decides what each List URL produces. When it is enabled, the Actor visits each product page and returns the full detail records; when it is disabled, the Actor returns one list-level record per product card with the fields that are always included.

## `maxResultsPerScrape` (type: `integer`):

Maximum number of product records to save.

## `usePagination` (type: `boolean`):

If this option is enabled and a List URL has more than one page, the Actor continues through the following pages until it reaches the Maximum results limit. If the option is disabled, the Actor only scrapes the first page of each List URL.

## `scrapeProductDetails` (type: `boolean`):

If this option is enabled, the Actor visits each product page and adds the full product details to every record. If it is disabled, the Actor returns one list-level result record per product card.

Fields that are always included:

- `url`
- `product_id`
- `name`
- `price`
- `currency`
- `in_stock`
- `main_image`
- `rating_value`
- `review_count`
- `variant_description`
- `unit_price`
- `unit_price_unit`
- `autoship_price`
- `badges`
- `scraped_at`

Fields that are only added when this option is enabled (set to true), and not added when it is disabled:

- `regular_price`
- `sku`
- `gtin`
- `brand`
- `category`
- `breadcrumbs`
- `breadcrumb_urls`
- `images`
- `description`
- `description_html`
- `attributes`
- `color`
- `material`
- `variants`
- `canonical_url`
- `voucher_price`
- `voucher_terms`
- `ingredients`
- `ingredients_html`
- `feeding_guide`
- `feeding_guide_html`
- `offer_ends`
- `loyalty_points`
- `delivery`
- `manufacturer_name`
- `manufacturer_address`

## Actor input object example

```json
{
  "productUrls": [
    "https://www.zooplus.com/shop/dogs/dry_dog_food/eukanuba/adult/2393421",
    "https://www.zooplus.com/shop/dogs/dry_dog_food/briantos/grain_free/997870",
    "https://www.zooplus.com/shop/dogs/dry_dog_food/purizon/single_meat/649550",
    "https://www.zooplus.com/shop/dogs/dry_dog_food/royal_canin_size/medium/128330",
    "https://www.zooplus.com/shop/dogs/dry_dog_food/wolf_of_wilderness/206814/497208"
  ],
  "categoryUrls": [
    "https://www.zooplus.com/shop/dogs/dry_dog_food",
    "https://www.zooplus.com/search/results?q=dry+dog+food",
    "https://www.zooplus.com/shop/dogs/dry_dog_food/eukanuba"
  ],
  "maxResultsPerScrape": 5,
  "usePagination": true,
  "scrapeProductDetails": true
}
```

# Actor output Schema

## `default` (type: `string`):

Generated results page with support links, live progress and a results table.

## `dataset` (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 = {
    "productUrls": [
        "https://www.zooplus.com/shop/dogs/dry_dog_food/eukanuba/adult/2393421",
        "https://www.zooplus.com/shop/dogs/dry_dog_food/briantos/grain_free/997870",
        "https://www.zooplus.com/shop/dogs/dry_dog_food/purizon/single_meat/649550",
        "https://www.zooplus.com/shop/dogs/dry_dog_food/royal_canin_size/medium/128330",
        "https://www.zooplus.com/shop/dogs/dry_dog_food/wolf_of_wilderness/206814/497208"
    ],
    "categoryUrls": [
        "https://www.zooplus.com/shop/dogs/dry_dog_food",
        "https://www.zooplus.com/search/results?q=dry+dog+food",
        "https://www.zooplus.com/shop/dogs/dry_dog_food/eukanuba"
    ],
    "maxResultsPerScrape": 5,
    "usePagination": true
};

// Run the Actor and wait for it to finish
const run = await client.actor("123webdata/zooplus-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 = {
    "productUrls": [
        "https://www.zooplus.com/shop/dogs/dry_dog_food/eukanuba/adult/2393421",
        "https://www.zooplus.com/shop/dogs/dry_dog_food/briantos/grain_free/997870",
        "https://www.zooplus.com/shop/dogs/dry_dog_food/purizon/single_meat/649550",
        "https://www.zooplus.com/shop/dogs/dry_dog_food/royal_canin_size/medium/128330",
        "https://www.zooplus.com/shop/dogs/dry_dog_food/wolf_of_wilderness/206814/497208",
    ],
    "categoryUrls": [
        "https://www.zooplus.com/shop/dogs/dry_dog_food",
        "https://www.zooplus.com/search/results?q=dry+dog+food",
        "https://www.zooplus.com/shop/dogs/dry_dog_food/eukanuba",
    ],
    "maxResultsPerScrape": 5,
    "usePagination": True,
}

# Run the Actor and wait for it to finish
run = client.actor("123webdata/zooplus-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 '{
  "productUrls": [
    "https://www.zooplus.com/shop/dogs/dry_dog_food/eukanuba/adult/2393421",
    "https://www.zooplus.com/shop/dogs/dry_dog_food/briantos/grain_free/997870",
    "https://www.zooplus.com/shop/dogs/dry_dog_food/purizon/single_meat/649550",
    "https://www.zooplus.com/shop/dogs/dry_dog_food/royal_canin_size/medium/128330",
    "https://www.zooplus.com/shop/dogs/dry_dog_food/wolf_of_wilderness/206814/497208"
  ],
  "categoryUrls": [
    "https://www.zooplus.com/shop/dogs/dry_dog_food",
    "https://www.zooplus.com/search/results?q=dry+dog+food",
    "https://www.zooplus.com/shop/dogs/dry_dog_food/eukanuba"
  ],
  "maxResultsPerScrape": 5,
  "usePagination": true
}' |
apify call 123webdata/zooplus-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,123webdata/zooplus-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/5CKqgJGRMUp5CGd7S/builds/iKWpsAkndNhw7nHVf/openapi.json
