# Modivo Product Search Scraper (`stealth_mode/modivo-product-search-scraper`) Actor

Extract product details from Modivo's search results across all domains (.ua, .it, .pl, etc.). Collect SKU, pricing, images, color variants, and 12+ fields per product—perfect for price monitoring, competitive analysis, and catalog aggregation.

- **URL**: https://apify.com/stealth\_mode/modivo-product-search-scraper.md
- **Developed by:** [Stealth mode](https://apify.com/stealth_mode) (community)
- **Categories:** Developer tools, E-commerce, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

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

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Modivo Product Search Scraper: Scrape Fashion & Retail Data Instantly
---

### What Is Modivo?

Modivo is a leading European fashion and lifestyle e-commerce platform with localized domains across multiple countries (.ua, .it, .pl, .ro, and more). It hosts hundreds of thousands of product listings spanning apparel, footwear, and accessories from major brands. For retailers, researchers, and price monitoring services, manually collecting product data across Modivo's search pages is inefficient. The **Modivo Product Search Scraper** automates this workflow, delivering structured product data at scale from any regional domain.

---

### Overview

The **Modivo Product Search Scraper** extracts product information directly from Modivo search result pages, converting item listings into clean, queryable records. It is ideal for:

- **Price monitoring platforms** tracking competitor pricing and promotions
- **Market researchers** analyzing fashion e-commerce trends
- **Retail aggregators** building multi-source product catalogs
- **Brand analysts** monitoring product availability and discounting patterns

Key advantages include support for filtered/sorted search URLs, configurable item limits per page, and error resilience via `ignore_url_failures`.

---

### Input Format

The scraper accepts a JSON configuration with three main parameters:

```json
{
  "urls": [
    "https://modivo.ua/c/zhinky/virobnik_1:adidas.../discount:~r-5-99?p=2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 200
}
````

| Parameter | Type | Description |
|---|---|---|
| `urls` | Array of strings | Direct links to Modivo product search result pages. Supports filtered searches (e.g., by brand, discount, category) and pagination. Examples: category pages, brand-filtered pages, discount searches. Paste URLs from any Modivo regional domain (.ua, .it, .pl, .ro, etc.). |
| `ignore_url_failures` | Boolean | If `true`, the scraper continues even if some URLs fail (e.g., page removed, timeout). If `false`, a single failure stops the entire run. **Recommended:** `true` for bulk operations. |
| `max_items_per_url` | Integer | Maximum number of products to extract per URL. Default: 20. Maximum: 200+. Use higher values for comprehensive catalog snapshots. |

**Example URL:** `https://modivo.ua/c/zhinky/virobnik_1:adidas.../discount:~r-5-99?p=2`

- Filters: women's category, Adidas brand, 5–99% discount range
- Page: 2

You can paste simple category URLs or complex filtered searches—the scraper handles both.

***

### Output Format

**Sample output**

```json
{
  "sku": "0000305633590",
  "name": "adidas Sneakersy Barreda JP5960 Czarny",
  "color_variants_link": {
    "value": "ADIDAS-JP596",
    "url": "grupuvannia"
  },
  "color_variants_count": 1,
  "design_system": {
    "id": "0000305633590",
    "brand": "adidas",
    "name": "Снікерcи · Barreda · Чорний",
    "url": "/p/adidas-snikerci-barreda-jp5960-chornii-0000305633590",
    "color": "#211A23",
    "price": {
      "final": "2 599 грн",
      "regular": "3 299 грн",
      "minimal": "",
      "is_discounted": true,
      "is_cents_enabled": false,
      "is_currency_before": false,
      "show_omnibus": false,
      "show_previous": true,
      "show_price_prefix": false,
      "minimal_discount": null,
      "regular_discount": null
    },
    "images": [
      {
        "width": 280,
        "height": 373,
        "alt": "adidas adidas Снікерcи Barreda JP5960 Чорний",
        "sources": {
          "webp": [
            {
              "src": "https://img.modivo.cloud/productcard(9/d/2/8/9d287f3feeff79d8bf2c6c4cba1ebd7b1ac9ffef_20_4068806144317_KT.jpg,webp)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.webp",
              "width": 280
            },
            {
              "src": "https://img.modivo.cloud/product(9/d/2/8/9d287f3feeff79d8bf2c6c4cba1ebd7b1ac9ffef_20_4068806144317_KT.jpg,webp)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.webp",
              "width": 560
            },
            {
              "src": "https://img.modivo.cloud/productcard_stylization(9/d/2/8/9d287f3feeff79d8bf2c6c4cba1ebd7b1ac9ffef_20_4068806144317_KT.jpg,webp)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.webp",
              "width": 326
            }
          ],
          "jpg": [
            {
              "src": "https://img.modivo.cloud/productcard(9/d/2/8/9d287f3feeff79d8bf2c6c4cba1ebd7b1ac9ffef_20_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg",
              "width": 280
            },
            {
              "src": "https://img.modivo.cloud/product(9/d/2/8/9d287f3feeff79d8bf2c6c4cba1ebd7b1ac9ffef_20_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg",
              "width": 560
            },
            {
              "src": "https://img.modivo.cloud/productcard_stylization(9/d/2/8/9d287f3feeff79d8bf2c6c4cba1ebd7b1ac9ffef_20_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg",
              "width": 326
            }
          ]
        },
        "src": "https://img.modivo.cloud/productcard(9/d/2/8/9d287f3feeff79d8bf2c6c4cba1ebd7b1ac9ffef_20_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg"
      },
      {
        "width": 280,
        "height": 373,
        "alt": "adidas adidas Снікерcи Barreda JP5960 Чорний",
        "sources": {
          "webp": [
            {
              "src": "https://img.modivo.cloud/productcard(b/b/9/f/bb9f76abc5072dbd21d55eef904c98d04cd6490f_22_4068806144317_KT.jpg,webp)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.webp",
              "width": 280
            },
            {
              "src": "https://img.modivo.cloud/product(b/b/9/f/bb9f76abc5072dbd21d55eef904c98d04cd6490f_22_4068806144317_KT.jpg,webp)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.webp",
              "width": 560
            },
            {
              "src": "https://img.modivo.cloud/productcard_stylization(b/b/9/f/bb9f76abc5072dbd21d55eef904c98d04cd6490f_22_4068806144317_KT.jpg,webp)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.webp",
              "width": 326
            }
          ],
          "jpg": [
            {
              "src": "https://img.modivo.cloud/productcard(b/b/9/f/bb9f76abc5072dbd21d55eef904c98d04cd6490f_22_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg",
              "width": 280
            },
            {
              "src": "https://img.modivo.cloud/product(b/b/9/f/bb9f76abc5072dbd21d55eef904c98d04cd6490f_22_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg",
              "width": 560
            },
            {
              "src": "https://img.modivo.cloud/productcard_stylization(b/b/9/f/bb9f76abc5072dbd21d55eef904c98d04cd6490f_22_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg",
              "width": 326
            }
          ]
        },
        "src": "https://img.modivo.cloud/productcard(b/b/9/f/bb9f76abc5072dbd21d55eef904c98d04cd6490f_22_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg"
      },
      {
        "width": 280,
        "height": 373,
        "alt": "adidas adidas Снікерcи Barreda JP5960 Чорний",
        "sources": {
          "webp": [
            {
              "src": "https://img.modivo.cloud/productcard(7/b/c/0/7bc063736f18d9b4041324d25af5877135921fe8_23_4068806144317_KT.jpg,webp)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.webp",
              "width": 280
            },
            {
              "src": "https://img.modivo.cloud/product(7/b/c/0/7bc063736f18d9b4041324d25af5877135921fe8_23_4068806144317_KT.jpg,webp)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.webp",
              "width": 560
            },
            {
              "src": "https://img.modivo.cloud/productcard_stylization(7/b/c/0/7bc063736f18d9b4041324d25af5877135921fe8_23_4068806144317_KT.jpg,webp)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.webp",
              "width": 326
            }
          ],
          "jpg": [
            {
              "src": "https://img.modivo.cloud/productcard(7/b/c/0/7bc063736f18d9b4041324d25af5877135921fe8_23_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg",
              "width": 280
            },
            {
              "src": "https://img.modivo.cloud/product(7/b/c/0/7bc063736f18d9b4041324d25af5877135921fe8_23_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg",
              "width": 560
            },
            {
              "src": "https://img.modivo.cloud/productcard_stylization(7/b/c/0/7bc063736f18d9b4041324d25af5877135921fe8_23_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg",
              "width": 326
            }
          ]
        },
        "src": "https://img.modivo.cloud/productcard(7/b/c/0/7bc063736f18d9b4041324d25af5877135921fe8_23_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg"
      },
      {
        "width": 280,
        "height": 373,
        "alt": "adidas adidas Снікерcи Barreda JP5960 Чорний",
        "sources": {
          "webp": [
            {
              "src": "https://img.modivo.cloud/productcard(6/4/1/c/641c08ff416b5322f6cc3787a2cf68ce2c519ce1_24_4068806144317_KT.jpg,webp)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.webp",
              "width": 280
            },
            {
              "src": "https://img.modivo.cloud/product(6/4/1/c/641c08ff416b5322f6cc3787a2cf68ce2c519ce1_24_4068806144317_KT.jpg,webp)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.webp",
              "width": 560
            },
            {
              "src": "https://img.modivo.cloud/productcard_stylization(6/4/1/c/641c08ff416b5322f6cc3787a2cf68ce2c519ce1_24_4068806144317_KT.jpg,webp)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.webp",
              "width": 326
            }
          ],
          "jpg": [
            {
              "src": "https://img.modivo.cloud/productcard(6/4/1/c/641c08ff416b5322f6cc3787a2cf68ce2c519ce1_24_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg",
              "width": 280
            },
            {
              "src": "https://img.modivo.cloud/product(6/4/1/c/641c08ff416b5322f6cc3787a2cf68ce2c519ce1_24_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg",
              "width": 560
            },
            {
              "src": "https://img.modivo.cloud/productcard_stylization(6/4/1/c/641c08ff416b5322f6cc3787a2cf68ce2c519ce1_24_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg",
              "width": 326
            }
          ]
        },
        "src": "https://img.modivo.cloud/productcard(6/4/1/c/641c08ff416b5322f6cc3787a2cf68ce2c519ce1_24_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg"
      },
      {
        "width": 280,
        "height": 373,
        "alt": "adidas adidas Снікерcи Barreda JP5960 Чорний",
        "sources": {
          "webp": [
            {
              "src": "https://img.modivo.cloud/productcard(0/f/0/a/0f0a86686857edf6060c05c3af87dcdb026021ce_25_4068806144317_KT.jpg,webp)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.webp",
              "width": 280
            },
            {
              "src": "https://img.modivo.cloud/product(0/f/0/a/0f0a86686857edf6060c05c3af87dcdb026021ce_25_4068806144317_KT.jpg,webp)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.webp",
              "width": 560
            },
            {
              "src": "https://img.modivo.cloud/productcard_stylization(0/f/0/a/0f0a86686857edf6060c05c3af87dcdb026021ce_25_4068806144317_KT.jpg,webp)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.webp",
              "width": 326
            }
          ],
          "jpg": [
            {
              "src": "https://img.modivo.cloud/productcard(0/f/0/a/0f0a86686857edf6060c05c3af87dcdb026021ce_25_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg",
              "width": 280
            },
            {
              "src": "https://img.modivo.cloud/product(0/f/0/a/0f0a86686857edf6060c05c3af87dcdb026021ce_25_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg",
              "width": 560
            },
            {
              "src": "https://img.modivo.cloud/productcard_stylization(0/f/0/a/0f0a86686857edf6060c05c3af87dcdb026021ce_25_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg",
              "width": 326
            }
          ]
        },
        "src": "https://img.modivo.cloud/productcard(0/f/0/a/0f0a86686857edf6060c05c3af87dcdb026021ce_25_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg"
      },
      {
        "width": 280,
        "height": 373,
        "alt": "adidas adidas Снікерcи Barreda JP5960 Чорний",
        "sources": {
          "webp": [
            {
              "src": "https://img.modivo.cloud/productcard(2/1/b/e/21bed447868de65528213ac4350102c0452dc8dd_26_4068806144317_KT.jpg,webp)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.webp",
              "width": 280
            },
            {
              "src": "https://img.modivo.cloud/product(2/1/b/e/21bed447868de65528213ac4350102c0452dc8dd_26_4068806144317_KT.jpg,webp)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.webp",
              "width": 560
            },
            {
              "src": "https://img.modivo.cloud/productcard_stylization(2/1/b/e/21bed447868de65528213ac4350102c0452dc8dd_26_4068806144317_KT.jpg,webp)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.webp",
              "width": 326
            }
          ],
          "jpg": [
            {
              "src": "https://img.modivo.cloud/productcard(2/1/b/e/21bed447868de65528213ac4350102c0452dc8dd_26_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg",
              "width": 280
            },
            {
              "src": "https://img.modivo.cloud/product(2/1/b/e/21bed447868de65528213ac4350102c0452dc8dd_26_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg",
              "width": 560
            },
            {
              "src": "https://img.modivo.cloud/productcard_stylization(2/1/b/e/21bed447868de65528213ac4350102c0452dc8dd_26_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg",
              "width": 326
            }
          ]
        },
        "src": "https://img.modivo.cloud/productcard(2/1/b/e/21bed447868de65528213ac4350102c0452dc8dd_26_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg"
      }
    ],
    "badges": [
      {
        "type": "discount",
        "label": "-21%"
      }
    ],
    "promo_badge": {
      "label": "extra -15% Код: DAYS",
      "color": "#211a23",
      "background_color": "#E78260"
    },
    "sizes": [
      "Доступні в багатьох розмірах"
    ]
  },
  "open_graph_image": [
    {
      "width": 560,
      "height": 746,
      "alt": "adidas adidas Снікерcи Barreda JP5960 Чорний",
      "sources": {
        "webp": [
          {
            "src": "https://img.modivo.cloud/product(9/d/2/8/9d287f3feeff79d8bf2c6c4cba1ebd7b1ac9ffef_20_4068806144317_KT.jpg,webp)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.webp",
            "width": 560
          }
        ],
        "jpg": [
          {
            "src": "https://img.modivo.cloud/product(9/d/2/8/9d287f3feeff79d8bf2c6c4cba1ebd7b1ac9ffef_20_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg",
            "width": 560
          }
        ]
      },
      "src": "https://img.modivo.cloud/product(9/d/2/8/9d287f3feeff79d8bf2c6c4cba1ebd7b1ac9ffef_20_4068806144317_KT.jpg,jpg)/adidas-snikerci-barreda-jp5960-chornii-0000305633590.jpg"
    }
  ],
  "currency": "UAH",
  "ad_tech_events": {
    "on_click_beacons": [],
    "on_view_beacons": [],
    "on_load_beacons": []
  },
  "company_account_id": "",
  "is_sponsored": false,
  "main_product_image_slug": "9/d/2/8/9d287f3feeff79d8bf2c6c4cba1ebd7b1ac9ffef_20_4068806144317_KT.jpg",
  "image_badges": [],
  "from_url": "https://modivo.ua/c/zhinky/virobnik_1:adidas-adidas_by_stella_mccartney-adidas_originals-adidas_performance-adidas_sportswear/discount:~r-5-99?p=2"
}
```

Each product extracted from Modivo search results returns the following 12 core fields:

#### Product Identification

| Field | Meaning |
|---|---|
| `SKU` | Stock Keeping Unit—unique product identifier used internally by Modivo |
| `Name` | Full product name as displayed in search results (e.g., "Adidas Ultraboost 22 Running Shoe - Black") |

#### Visual & Branding

| Field | Meaning |
|---|---|
| `Main Product Image Slug` | URL slug or filename of the primary product image; useful for downloading or referencing images |
| `Open Graph Image` | OG image URL used when the product is shared on social media; typically high-quality thumbnail |
| `Image Badges` | Visual indicators overlaid on product images (e.g., "NEW", "SALE", "-50%", "LIMITED"); array of badge texts |

#### Variants & Options

| Field | Meaning |
|---|---|
| `Color Variants Link` | URL to the product detail page showing all available color options |
| `Color Variants Count` | Total number of distinct colors available for this product (e.g., 5 colors in stock) |

#### Pricing & Transaction

| Field | Meaning |
|---|---|
| `Currency` | Currency code of the price displayed (e.g., "UAH" for Ukrainian Hryvnia, "EUR" for Euro); varies by domain |
| `Is Sponsored` | Boolean flag indicating whether this product listing is a paid/promoted placement |

#### Technical & Analytics

| Field | Meaning |
|---|---|
| `Design System` | Internal Modivo design system version or UI component set used to render the listing |
| `Ad Tech Events` | Tracking pixel IDs or ad network events (e.g., Facebook Pixel, Google Analytics); used for retargeting |
| `Company Account ID` | Seller or merchant account ID; identifies which vendor or Modivo sub-account owns the listing |

***

### How to Use

1. **Find search URLs** — Navigate to Modivo (any regional domain) and perform a search or filter. Copy the URL from your browser (e.g., filtered by brand, discount, size). You can include pagination, filters for price range, category, brand, and discounts.

2. **Prepare input JSON** — Paste your URLs into the `urls` array. Adjust `max_items_per_url` based on how many products you need (e.g., 20 for quick snapshots, 200 for complete category scans).

3. **Enable error tolerance** — Set `ignore_url_failures: true` if running multiple URLs; this prevents one bad link from breaking the entire job.

4. **Launch the scraper** — Execute the actor and monitor the live event log.

5. **Download results** — Export data as JSON, CSV, or Excel for further analysis or integration.

**Best practices:**

- Use filtered/sorted URLs to target specific product segments (e.g., "Adidas shoes with 20%+ discount").
- Pagination is handled automatically; provide page 1, and expand `max_items_per_url` to capture more products.
- Modivo domains vary by country; the scraper supports all regional variations.

**Troubleshooting:**

- If results are empty, verify the URL is a valid Modivo product search page (not a brand homepage or detail page).
- For timeouts on large URLs, reduce `max_items_per_url` or retry with a smaller batch.

***

### Use Cases & Business Value

- **Price intelligence:** Monitor Modivo pricing and discount depth across brands and categories
- **Inventory tracking:** Identify which products are in stock, out of stock, or newly added
- **Competitive analysis:** Benchmark competitor product availability and pricing strategies
- **Catalog aggregation:** Build multi-retailer product feeds for comparison shopping engines
- **Trend research:** Analyze which product variants and colors are actively promoted or featured

By automating product data extraction, the scraper eliminates days of manual work and provides real-time insights into Modivo's inventory and pricing landscape.

***

### Conclusion

The **Modivo Product Search Scraper** is a powerful tool for anyone needing structured fashion and retail data from Modivo. Whether you're a price monitor, marketplace aggregator, or market researcher, this scraper delivers clean, detailed product records across all Modivo regional domains. Automate your data collection today and unlock competitive intelligence at scale.

# Actor input Schema

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

Add the URLs of the product search 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://modivo.ua/c/zhinky/virobnik_1:adidas-adidas_by_stella_mccartney-adidas_originals-adidas_performance-adidas_sportswear/discount:~r-5-99?p=2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# 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://modivo.ua/c/zhinky/virobnik_1:adidas-adidas_by_stella_mccartney-adidas_originals-adidas_performance-adidas_sportswear/discount:~r-5-99?p=2"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("stealth_mode/modivo-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://modivo.ua/c/zhinky/virobnik_1:adidas-adidas_by_stella_mccartney-adidas_originals-adidas_performance-adidas_sportswear/discount:~r-5-99?p=2"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/modivo-product-search-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://modivo.ua/c/zhinky/virobnik_1:adidas-adidas_by_stella_mccartney-adidas_originals-adidas_performance-adidas_sportswear/discount:~r-5-99?p=2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call stealth_mode/modivo-product-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Modivo Product Search Scraper",
        "description": "Extract product details from Modivo's search results across all domains (.ua, .it, .pl, etc.). Collect SKU, pricing, images, color variants, and 12+ fields per product—perfect for price monitoring, competitive analysis, and catalog aggregation.",
        "version": "0.0",
        "x-build-id": "FpvrDuYT1iQBMKSd9"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~modivo-product-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-modivo-product-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/stealth_mode~modivo-product-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-modivo-product-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/stealth_mode~modivo-product-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-modivo-product-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "urls": {
                        "title": "URLs of the product search list urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the product search list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
