{
  "openapi": "3.0.1",
  "info": {
    "title": "Dreamland Scraper [$0.49/1K 💰] — NL & BE Toys, EAN, Stock",
    "description": "Scrape toy products from dreamland.nl and dreamland.be (Dutch and French) at $0.49 per 1,000. Prices, recommended retail price and discount, EAN, article number, specifications, ratings, reviews and stock in every physical store. By category, brand, URL or the whole catalogue.",
    "version": "0.0",
    "x-build-id": "shdjhfnaxll1x16Ra"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/unfenced-group~dreamland-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-unfenced-group-dreamland-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/unfenced-group~dreamland-scraper/runs": {
      "post": {
        "operationId": "runs-sync-unfenced-group-dreamland-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/unfenced-group~dreamland-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-unfenced-group-dreamland-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": {
          "site": {
            "title": "Storefront",
            "enum": [
              "nl",
              "be-nl",
              "be-fr"
            ],
            "type": "string",
            "description": "Which Dreamland storefront to scrape. nl = dreamland.nl (Netherlands), be-nl = dreamland.be in Dutch, be-fr = dreamland.be in French. Prices and stock differ per country. Example: nl",
            "default": "nl"
          },
          "searchQueries": {
            "title": "Keywords",
            "type": "array",
            "description": "Search terms, one per line: a brand, a product line, a character or a product type. A brand returns its full listing, a category name returns that category, and any other term matches product names. Example: [\"lego star wars\", \"stitch\", \"knuffel\"]",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Top-level product categories to scrape. Use the Dutch slug for every storefront; French pages are resolved automatically. Example: [\"bouwen-en-constructie\"]",
            "items": {
              "type": "string",
              "enum": [
                "actiespeelgoed",
                "baby-peuter-en-kleuter",
                "boeken",
                "bouwen-en-constructie",
                "buitenspeelgoed",
                "gadgets",
                "games-en-multimedia",
                "gezelschapspellen-en-puzzels",
                "hobby-en-creatief",
                "houten-speelgoed",
                "kinderkamer",
                "muziek",
                "poppen-figuren-en-knuffels",
                "rollenspellen",
                "school",
                "speelfiguren-en-sets",
                "speeltafel-en-volksspelen",
                "verkleden-en-feest",
                "voertuigen-en-racebanen"
              ],
              "enumTitles": [
                "Action toys",
                "Baby, toddler & preschool",
                "Books",
                "Building & construction",
                "Outdoor toys",
                "Gadgets",
                "Games & multimedia",
                "Board games & puzzles",
                "Hobby & crafts",
                "Wooden toys",
                "Kids' room",
                "Music",
                "Dolls, figures & plush",
                "Role play",
                "School",
                "Play figures & sets",
                "Table & traditional games",
                "Dress-up & party",
                "Vehicles & race tracks"
              ]
            },
            "default": []
          },
          "brands": {
            "title": "Brands",
            "type": "array",
            "description": "Brand names or brand-page slugs as used in Dreamland's /m/ URLs. Example: [\"lego\", \"playmobil\", \"pokemon\"]",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Dreamland URLs",
            "type": "array",
            "description": "Any dreamland.nl or dreamland.be category, sub-category, brand or product URL. Listing URLs are paged automatically; product URLs return one fully detailed record each. When set, Categories and Brands are ignored. Example: https://www.dreamland.nl/c/bouwen-en-constructie/bouwsets/producten",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "relevance-desc",
              "price-asc",
              "price-desc",
              "sortingRating-desc",
              "new-desc"
            ],
            "type": "string",
            "description": "Order in which products are collected. Applies to categories, brands and category URLs, not to the whole-catalogue listing. Example: price-asc",
            "default": "relevance-desc"
          },
          "minPrice": {
            "title": "Minimum price (€)",
            "minimum": 0,
            "type": "integer",
            "description": "Only return products priced at or above this amount in euros. Example: 10"
          },
          "maxPrice": {
            "title": "Maximum price (€)",
            "minimum": 0,
            "type": "integer",
            "description": "Only return products priced at or below this amount in euros. Example: 50"
          },
          "onlyDiscounted": {
            "title": "Only discounted products",
            "type": "boolean",
            "description": "Return only products sold below the manufacturer's recommended retail price, with the RRP and discount on every row. Uses Dreamland's own reduced-price filter for categories and brands. Example: true",
            "default": false
          },
          "onlyNew": {
            "title": "Only new products",
            "type": "boolean",
            "description": "Return only products Dreamland marks as new. Uses the site's own new-arrivals filter for categories and brands. Example: true",
            "default": false
          },
          "searchProductNames": {
            "title": "Match product names",
            "type": "boolean",
            "description": "For keywords that are not a brand or category, also match product names. Each match is read from its product page, so these rows are billed at the detailed rate. Turn off to keep keyword runs at the listing rate. Example: true",
            "default": true
          },
          "fetchDetails": {
            "title": "Fetch product details",
            "type": "boolean",
            "description": "Open each product page for EAN, article number, age grading, full description, all specifications, exact rating, reviews, stock per store, manufacturer and safety warnings. Billed at the detailed rate. Example: true",
            "default": false
          },
          "includeReviews": {
            "title": "Include reviews",
            "type": "boolean",
            "description": "With product details on, include the reviews shown on the product page (rating, title, date, text; no reviewer names). Example: true",
            "default": true
          },
          "includeStoreStock": {
            "title": "Include stock per store",
            "type": "boolean",
            "description": "With product details on, include the stock status for every physical Dreamland store, with store code and coordinates. Example: true",
            "default": true
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of products to return. 0 means no limit. Example: 100",
            "default": 100
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}