# Intertoys.nl Scraper — Dutch Toy Prices, EAN & Stock (`unfenced-group/intertoys-scraper`) Actor

Scrape intertoys.nl products by keyword, category or product URL. Get price, original price, discount, EAN, stock, age, brand, series, rating, reviews, specs, images and videos, plus new-product and price-change tracking between runs.

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

## Pricing

from $0.39 / 1,000 products

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

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

## What's an Apify Actor?

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

## Intertoys Scraper

![Intertoys Scraper](https://api.apify.com/v2/key-value-stores/YfSjd1ElSu5ZviXcO/records/banner.png)

Extract toy products from intertoys.nl by keyword, category or product URL: price, original price and discount, EAN, brand and series, online stock, recommended age, rating and reviews, full specifications, images and videos. Every run also flags new products and price changes since your previous run. No API key required.

***

### Why this scraper?

#### 🎯 Built for the Netherlands

A dedicated scraper for Intertoys, the largest toy retailer in the Netherlands, covering the full catalogue of more than 11,900 products. Prices are in euros, ages and specifications are parsed from the Dutch source.

#### 💶 Complete pricing

Current price, original price, discount in euros and as a percentage, and the promotion label the shop shows. Filter on price range or discounted products only.

#### 🏷️ Product identifiers

EAN barcodes, Intertoys article number and the manufacturer's own number, such as the LEGO set number. Match Intertoys products against any other retailer or your own catalogue.

#### 📦 Live stock

Online stock status and the exact number of units available, plus delivery promise and store pick-up options.

#### 🧸 Toy-specific data

Recommended age as a number range, parts and minifigure counts, themes, licensed characters, STEM category, battery details, safety warnings, and for games the platform and PEGI rating.

#### 🔁 Price monitoring built in

Each product is compared with your previous runs: `NEW`, `PRICE_DROP`, `PRICE_INCREASE` or `UNCHANGED`, with the previous price and the difference. Turn on **Only new products and price changes** for a daily feed.

***

### Input parameters

| Parameter | Type | Default | Description |
|---|---|---|---|
| `searchQuery` | string | (empty) | Keyword to search for, exactly as in the site's search box. Use `*` for the entire catalogue. |
| `startUrls` | array | `[]` | Intertoys category pages, product pages or search URLs. |
| `brands` | array | `[]` | Only return these brands, for example `LEGO`, `PLAYMOBIL`. Case-insensitive. |
| `minPrice` | integer | (empty) | Minimum price in euros. |
| `maxPrice` | integer | (empty) | Maximum price in euros. |
| `onlyDiscounted` | boolean | `false` | Only products currently on sale. |
| `inStockOnly` | boolean | `false` | Skip products that are out of stock online. |
| `sortBy` | string | `"relevance"` | Search order: `relevance`, `priceAsc`, `priceDesc` or `name`. |
| `maxItems` | integer | `100` | Maximum number of products. Set to `0` for no limit. |
| `fetchDetails` | boolean | `false` | Read every product page for the full description, all images, videos, exact stock and all specifications. |
| `onlyChanges` | boolean | `false` | Return only products that are new or changed price since your previous run. |
| `proxyConfiguration` | object | no proxy | Not needed for intertoys.nl. |

If you give neither a search query nor a start URL, the actor searches `lego` as an example.

***

### Output schema

Every field below is present on every record. A field the source does not publish for a product is returned as `null` rather than omitted. The **Filled from** column shows where each field comes from:

- **All:** filled in every mode.
- **Category, product page, details:** filled for category pages, product URLs, and any row when `fetchDetails` is on.
- **Product page, details:** filled for product URLs and when `fetchDetails` is on.
- **Search only:** published by the search engine only.

| Field | Type | Filled from | Description |
|---|---|---|---|
| `productId` | string | All | Intertoys article number, for example `2005436`. |
| `catalogEntryId` | string | Category, product page, details | Internal catalogue entry id of the product. |
| `url` | string | All | Product page URL on intertoys.nl. |
| `name` | string | All | Product name as shown on the site. |
| `brand` | string | All | Brand, for example `LEGO`, `PLAYMOBIL`, `Nintendo`. |
| `series` | string | All | Brand series or line, for example `LEGO Harry Potter` (null if the product has none). |
| `manufacturerPartNumber` | string | All | Manufacturer's own article number, for example the LEGO set number `76437`. In search rows only for LEGO. |
| `ean` | string | All | Primary EAN barcode. |
| `eanCodes` | array | All | Every EAN barcode listed for the product. |
| `price` | number | All | Current selling price in euros. |
| `originalPrice` | number | All | Original price before the discount (null when the product is not on sale). |
| `discountAmount` | number | All | Difference between original and current price in euros (null when not on sale). |
| `discountPercentage` | integer | All | Discount as a whole percentage (null when not on sale). |
| `isOnSale` | boolean | All | True when the current price is below the original price. |
| `currency` | string | All | Always `EUR`. |
| `inStock` | boolean | Search, product page, details | Whether the product can be ordered online. Category pages do not publish stock. |
| `stockStatus` | string | Product page, details | Online stock status as reported by the shop, for example `Available`. |
| `stockQuantity` | integer | Product page, details | Units available in online stock. |
| `buyable` | boolean | Category, product page, details | Whether the product is marked as orderable in the catalogue. |
| `shortDescription` | string | All | Short product description (one or two sentences). |
| `descriptionHtml` | string | Product page, details | Full product description as HTML. |
| `descriptionText` | string | Product page, details | Full product description as plain text. |
| `descriptionMarkdown` | string | Product page, details | Full product description as Markdown. |
| `keywords` | array | All | Search keywords the shop attaches to the product. |
| `imageUrl` | string | All | Main product image, full size. |
| `thumbnailUrl` | string | All | Main product image, thumbnail size. |
| `images` | array | Product page, details | Every product image, full size, in display order. |
| `videos` | array | Product page, details | Product video URLs (manufacturer videos and YouTube embeds), null if none. |
| `recommendedAge` | string | All | Recommended age as written on the site, for example `Vanaf 18 tot 99 jaar`. |
| `ageFromYears` | number | All | Minimum recommended age in years (months are converted, 18 months = 1.5). |
| `ageToYears` | number | All | Maximum recommended age in years (null if open-ended). |
| `targetGender` | array | Search only | Audience the shop tags the product for: `Jongen`, `Meisje` or `Beide`. |
| `rating` | number | Category, product page, details | Average customer rating out of 5, three decimals. |
| `reviewCount` | integer | All | Total number of customer reviews. |
| `numberOfParts` | integer | Category, product page, details | Number of parts or pieces (building sets, puzzles). |
| `numberOfMiniFigures` | integer | Category, product page, details | Number of minifigures included (building sets). |
| `toyThemes` | array | All | Toy themes, for example `Fantasy`, `Voertuigen`. |
| `characters` | array | All | Licensed characters or franchises, for example `Harry Potter`, `Pokémon`. |
| `stemType` | string | Category, product page, details | Educational (STEM) category, for example `Engineering`. |
| `color` | string | All | Main colour. |
| `material` | string | Category, product page, details | Main material, for example `Kunststof`. |
| `productSize` | string | Category, product page, details | Product dimensions as published. |
| `packagingSize` | string | Category, product page, details | Packaging dimensions in cm (L x W x H). |
| `weightGrams` | number | Category, product page, details | Product weight without packaging, in grams. |
| `batteryOperated` | boolean | Category, product page, details | Whether the product runs on batteries (null if not stated). |
| `batteryType` | string | Category, product page, details | Battery type, for example `AA`. |
| `batteriesNumber` | integer | Category, product page, details | Number of batteries required. |
| `batteriesIncluded` | boolean | Category, product page, details | Whether batteries are included. |
| `yearOfPublication` | integer | Category, product page, details | Original year of release of the product or game. |
| `releaseDate` | string | Category, product page, details | Release date for pre-order products (YYYY-MM-DD), null for products already released. |
| `ceMarking` | boolean | Category, product page, details | Whether the product carries a CE marking. |
| `warnings` | array | Category, product page, details | Safety warnings, for example choking hazards. |
| `deliveryTerm` | string | All | Delivery promise, for example `Op werkdagen besteld, binnen 1-2 dagen in huis`. |
| `pickupInStore` | boolean | Category, product page, details | Whether the product can be collected in an Intertoys store. |
| `shipFromStore` | boolean | Category, product page, details | Whether the product can ship from a store. |
| `deliveryDateSelectable` | boolean | Category, product page, details | Whether the customer can choose a delivery date. |
| `onlineOnly` | boolean | Category, product page, details | True for webshop-only products (null when not stated). |
| `maxOrderQuantity` | integer | Category, product page, details | Maximum units per order, when the shop limits it. |
| `promoLabel` | string | Category, product page, details | Promotion label shown on the product, for example `Actie`. |
| `promoLabelImageUrl` | string | Category, product page, details | Image of the promotion label. |
| `categories` | array | All | Category names the product belongs to. |
| `categoryUrl` | string | Category, product page, details | URL of the product's category on intertoys.nl (in category mode: the page scraped). |
| `specifications` | object | Category, product page, details | Every published specification as label → value, including category-specific ones such as platform, PEGI rating, number of players or wheel size. |
| `sourceMode` | string | All | How the row was found: `search`, `category` or `product`. |
| `searchQuery` | string | Search only | The search query that returned the row. |
| `position` | integer | All | Rank of the product in the search results or category page. |
| `detailFetched` | boolean | All | True when the product page was read for this row. |
| `firstSeenAt` | string | All | When your runs first saw this product (ISO 8601). |
| `previousPrice` | number | All | Price in your previous run (null on first sight). |
| `priceChange` | number | All | Price now minus price in your previous run (null on first sight). |
| `changeStatus` | string | All | `NEW`, `PRICE_DROP`, `PRICE_INCREASE` or `UNCHANGED` compared with your previous runs. |
| `contentHash` | string | All | Stable 16-character hash of product id and name, for deduplication. |
| `source` | string | All | Always `intertoys.nl`. |
| `scrapedAt` | string | All | When the row was collected (ISO 8601). |

#### Example record

```json
{
  "productId": "2005436",
  "catalogEntryId": "3074457345617560172",
  "url": "https://www.intertoys.nl/lego-harry-potter-het-nest-verzameleditie-76437",
  "name": "LEGO Harry Potter Het Nest verzameleditie 76437",
  "brand": "LEGO",
  "series": "LEGO Harry Potter",
  "manufacturerPartNumber": "76437",
  "ean": "5702017590417",
  "eanCodes": [
    "5702017590417"
  ],
  "price": 194.99,
  "originalPrice": 259.99,
  "discountAmount": 65,
  "discountPercentage": 25,
  "isOnSale": true,
  "currency": "EUR",
  "inStock": true,
  "stockStatus": "Available",
  "stockQuantity": 177,
  "buyable": true,
  "shortDescription": "Bouw dit iconische LEGO Harry Potter Het Nest verzameleditie, het huis van de Wemels. De bouwset is inclusief wel 10 minifiguren plus Egidius de uil. LEGO-nr. 76437",
  "descriptionHtml": "<p>Bewonder een prachtig displaymodel uit jouw eigen Tovenaarswereld met deze LEGO Harry Potter Het Nest verzameleditie. Dit is de ultieme bouwbare LEGO versie …",
  "descriptionText": "Bewonder een prachtig displaymodel uit jouw eigen Tovenaarswereld met deze LEGO Harry Potter Het Nest verzameleditie. Dit is de ultieme bouwbare LEGO versie van…",
  "descriptionMarkdown": "Bewonder een prachtig displaymodel uit jouw eigen Tovenaarswereld met deze LEGO Harry Potter Het Nest verzameleditie. Dit is de ultieme bouwbare LEGO versie van…",
  "keywords": [
    "LEGO Harry Potter Nest verzameleditie 76437",
    "lego huis",
    "harry potter huis",
    "wemel huis",
    "lego 76437",
    "bouwbaar huis"
  ],
  "imageUrl": "https://image.intertoys.nl/wcsstore/IntertoysCAS/images/catalog/full/2005436-3369c20b.jpg",
  "thumbnailUrl": "https://image.intertoys.nl/wcsstore/IntertoysCAS/images/catalog/thumb/2005436-3369c20b.jpg",
  "images": [
    "https://image.intertoys.nl/wcsstore/IntertoysCAS/images/catalog/full/2005436-3369c20b.jpg",
    "https://image.intertoys.nl/wcsstore/IntertoysCAS/images/catalog/full/2005436-96db62a6.jpg",
    "https://image.intertoys.nl/wcsstore/IntertoysCAS/images/catalog/full/2005436-90f35b7a.jpg"
  ],
  "videos": [
    "https://objects.icecat.biz/objects/122257867_58616871.mp4",
    "https://objects.icecat.biz/objects/122257867_56016004.mp4"
  ],
  "recommendedAge": "Vanaf 18 tot 99 jaar",
  "ageFromYears": 18,
  "ageToYears": 99,
  "targetGender": null,
  "rating": 4.881,
  "reviewCount": 185,
  "numberOfParts": 2405,
  "numberOfMiniFigures": 10,
  "toyThemes": [
    "Fantasy",
    "Film, TV & boeken",
    "Huizen & gebouwen"
  ],
  "characters": [
    "Harry Potter"
  ],
  "stemType": "Engineering",
  "color": "Bruin",
  "material": "Kunststof",
  "productSize": null,
  "packagingSize": "55,5x37,8x11,8 (LxBxH)",
  "weightGrams": 3660,
  "batteryOperated": null,
  "batteryType": null,
  "batteriesNumber": null,
  "batteriesIncluded": null,
  "yearOfPublication": null,
  "releaseDate": null,
  "ceMarking": true,
  "warnings": [
    "Niet geschikt voor kinderen onder de 36 maanden",
    "Kleine onderdelen. Verstikkingsgevaar"
  ],
  "deliveryTerm": "Op werkdagen besteld, binnen 1-2 dagen in huis",
  "pickupInStore": true,
  "shipFromStore": true,
  "deliveryDateSelectable": true,
  "onlineOnly": null,
  "maxOrderQuantity": null,
  "promoLabel": "Actie",
  "promoLabelImageUrl": "https://image.intertoys.nl/wchcontent/labels/P970_Web_element_label_Actie_85x30.png",
  "categories": [
    "Bouwspeelgoed en constructiespeelgoed",
    "Bouwsets"
  ],
  "categoryUrl": "https://www.intertoys.nl/bouwspeelgoed-en-constructiespeelgoed/bouwsets",
  "specifications": {
    "Adviesleeftijd": "Vanaf 18 tot 99 jaar",
    "Bezorgtermijn Intertoys": "Op werkdagen besteld, binnen 1-2 dagen in huis",
    "Bezorgdatumkeuze mogelijk": "true",
    "Ophalen in de winkel": "true",
    "Ship From Store": "true",
    "Waarschuwingstekst": [
      "Niet geschikt voor kinderen onder de 36 maanden",
      "Kleine onderdelen. Verstikkingsgevaar"
    ],
    "Merk filter": "LEGO",
    "Merk en serie": "LEGO Harry Potter"
  },
  "sourceMode": "product",
  "searchQuery": null,
  "position": 1,
  "detailFetched": true,
  "firstSeenAt": "2026-08-14T07:02:11.000Z",
  "previousPrice": 209.99,
  "priceChange": -15.0,
  "changeStatus": "PRICE_DROP",
  "contentHash": "d9e7f494db43bcf0",
  "source": "intertoys.nl",
  "scrapedAt": "2026-09-11T10:35:25.879Z"
}
```

***

### Examples

**Search LEGO sets between €20 and €60, cheapest first:**

```json
{
  "searchQuery": "lego",
  "minPrice": 20,
  "maxPrice": 60,
  "sortBy": "priceAsc",
  "maxItems": 200
}
```

**Every product in a category, with full details and stock:**

```json
{
  "startUrls": [{ "url": "https://www.intertoys.nl/bouwspeelgoed-en-constructiespeelgoed/bouwsets" }],
  "fetchDetails": true,
  "maxItems": 0
}
```

**Specific product pages:**

```json
{
  "startUrls": [
    { "url": "https://www.intertoys.nl/lego-harry-potter-het-nest-verzameleditie-76437" },
    { "url": "https://www.intertoys.nl/lego-icons-hoekpand-in-tudorstijl-10350" }
  ]
}
```

**Daily price-drop feed for one brand (schedule this run once a day):**

```json
{
  "searchQuery": "*",
  "brands": ["PLAYMOBIL"],
  "onlyChanges": true,
  "maxItems": 0
}
```

***

### 💰 Pricing

**$0.39 per 1,000 products** from search results and category pages. **$0.59 per 1,000 products** with product details. You only pay for products saved to your dataset. Failed retries and unchanged products skipped by **Only new products and price changes** are never charged. A row whose product page could not be read is billed at the lower rate.

| Products | Search or category | With product details |
|---|---|---|
| 100 | ~$0.04 | ~$0.06 |
| 1,000 | ~$0.39 | ~$0.59 |
| 10,000 | ~$3.90 | ~$5.90 |
| 100,000 | ~$39.00 | ~$59.00 |

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

The whole Intertoys catalogue of more than 11,900 products costs about $4.64 per full run. Use the **Max results** cap in the input to control your spend exactly.

***

### Performance

| Run size | Typical time |
|---|---|
| 100 products | under 10 seconds |
| 2,000 products | about 1 minute |
| Full catalogue (11,900+ products) | about 5 minutes |
| 100 products with `fetchDetails` | about 1.5 minutes |
| 1,000 products with `fetchDetails` | about 13 minutes |

***

### Known limitations

- The site's search is fuzzy: a keyword with no exact match still returns related products, as it does on intertoys.nl itself.
- Category pages do not publish stock. Use `fetchDetails` or a search query when stock matters.
- Search rows carry the review count but not the average rating. Category pages, product URLs and `fetchDetails` carry both.
- Sorting applies to search results. Category pages keep the order the shop uses. Name sorting follows the site and places capitals first.
- Stock per physical store and individual customer reviews are not included.

***

### Technical details

- **Source:** intertoys.nl — the full Dutch Intertoys webshop catalogue
- **Coverage:** keyword search, any category page, any product page
- **Change tracking:** products seen by your runs are remembered for 180 days
- **Retry:** automatic retry on network errors with exponential backoff

***

### Rate this actor

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

***

### Need a custom scraper?

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

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

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

# Actor input Schema

## `searchQuery` (type: `string`):

Keyword to search intertoys.nl for, exactly as in the site's search box (for example "lego", "pokemon", "barbie"). Use \* to return the entire catalogue. Leave empty when you only use Start URLs.

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

Intertoys.nl category pages (all products are collected page by page), product pages (one full record each) or search URLs such as https://www.intertoys.nl/zoeken?searchTerm=nerf.

## `brands` (type: `array`):

Only return products of these brands, for example LEGO, PLAYMOBIL, Nintendo. Matching is case-insensitive. Leave empty for all brands.

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

Only return products priced at or above this amount in euros. Leave empty for no minimum.

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

Only return products priced at or below this amount in euros. Leave empty for no maximum.

## `onlyDiscounted` (type: `boolean`):

Only return products that are currently on sale (price below the original price).

## `inStockOnly` (type: `boolean`):

Skip products that are out of stock online. Search results always carry stock; for category pages enable Fetch product details to check stock on every product.

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

Order of search results: relevance (site default), priceAsc (cheapest first), priceDesc (most expensive first) or name (A to Z). Category pages always keep the site's own order.

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

Maximum number of products to return. Set to 0 for no limit.

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

Open every product page to add the full description, all images, product videos, exact stock quantity and the complete specification set. Slower and billed at the detailed rate.

## `onlyChanges` (type: `boolean`):

Return only products that are new since your previous run or whose price changed. Use it for a daily price-monitoring feed.

## `proxyConfiguration` (type: `object`):

Not needed for intertoys.nl. Only set a proxy if your runs are blocked.

## Actor input object example

```json
{
  "searchQuery": "lego",
  "startUrls": [
    {
      "url": "https://www.intertoys.nl/lego"
    }
  ],
  "brands": [
    "LEGO"
  ],
  "minPrice": 10,
  "maxPrice": 100,
  "onlyDiscounted": false,
  "inStockOnly": false,
  "sortBy": "relevance",
  "maxItems": 20,
  "fetchDetails": false,
  "onlyChanges": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchQuery": "lego",
    "startUrls": [
        {
            "url": "https://www.intertoys.nl/lego"
        }
    ],
    "brands": [
        "LEGO"
    ],
    "minPrice": 10,
    "maxPrice": 100,
    "onlyDiscounted": false,
    "inStockOnly": false,
    "sortBy": "relevance",
    "maxItems": 20,
    "fetchDetails": false,
    "onlyChanges": false,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("unfenced-group/intertoys-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 = {
    "searchQuery": "lego",
    "startUrls": [{ "url": "https://www.intertoys.nl/lego" }],
    "brands": ["LEGO"],
    "minPrice": 10,
    "maxPrice": 100,
    "onlyDiscounted": False,
    "inStockOnly": False,
    "sortBy": "relevance",
    "maxItems": 20,
    "fetchDetails": False,
    "onlyChanges": False,
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("unfenced-group/intertoys-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 '{
  "searchQuery": "lego",
  "startUrls": [
    {
      "url": "https://www.intertoys.nl/lego"
    }
  ],
  "brands": [
    "LEGO"
  ],
  "minPrice": 10,
  "maxPrice": 100,
  "onlyDiscounted": false,
  "inStockOnly": false,
  "sortBy": "relevance",
  "maxItems": 20,
  "fetchDetails": false,
  "onlyChanges": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call unfenced-group/intertoys-scraper --silent --output-dataset

```

## MCP server setup

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