{
  "openapi": "3.0.1",
  "info": {
    "title": "IKEA Stock Checker & Product Scraper",
    "description": "Live IKEA store stock for any product: quantity on hand, stock level, restock dates and aisle/bin at every store, plus price, discounts, rating, images and category. Search by keyword, category or item number. Canada default, 47 countries.",
    "version": "0.1",
    "x-build-id": "yFxNHMzKcpgomEXXf"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/yugenox~ikea-stock-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-yugenox-ikea-stock-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/yugenox~ikea-stock-scraper/runs": {
      "post": {
        "operationId": "runs-sync-yugenox-ikea-stock-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/yugenox~ikea-stock-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-yugenox-ikea-stock-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": {
          "queries": {
            "title": "Search keywords",
            "type": "array",
            "description": "What you would type into the IKEA search box, e.g. \"billy bookcase\", \"office chair\", \"kallax\". Each keyword is searched separately. IKEA search or category URLs work here too.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Category IDs or category page URLs, e.g. \"fu003\" or https://www.ikea.com/ca/en/cat/sofas-fu003/. Returns every product in the category (up to \"Max products\").",
            "items": {
              "type": "string"
            }
          },
          "products": {
            "title": "Products (item numbers or URLs)",
            "type": "array",
            "description": "Check specific products: item numbers (\"205.220.46\", \"20522046\", \"s39581494\") or product page URLs. Ideal for monitoring a fixed list.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max products per keyword / category",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stop after this many products for each keyword or category. Some keywords return thousands of products.",
            "default": 100
          },
          "market": {
            "title": "Country",
            "enum": [
              "ca",
              "au",
              "at",
              "be",
              "cl",
              "cn",
              "co",
              "hr",
              "cz",
              "dk",
              "eg",
              "ee",
              "fi",
              "fr",
              "de",
              "hu",
              "in",
              "ie",
              "il",
              "it",
              "jp",
              "kw",
              "lv",
              "lt",
              "my",
              "mx",
              "nl",
              "nz",
              "no",
              "ph",
              "pl",
              "pt",
              "qa",
              "ro",
              "sa",
              "rs",
              "sg",
              "sk",
              "si",
              "kr",
              "es",
              "se",
              "ch",
              "th",
              "ae",
              "gb",
              "us"
            ],
            "type": "string",
            "description": "Which IKEA country to use for prices, currency and stores.",
            "default": "ca"
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Two-letter language for product names and categories, e.g. \"en\" or \"fr\" for Canada. Leave empty for the country's main language."
          },
          "includeStock": {
            "title": "Include store stock",
            "type": "boolean",
            "description": "Look up live stock at each store: quantity on hand, stock level, restock dates, aisle and bin. Turn off to get product data only.",
            "default": true
          },
          "stores": {
            "title": "Stores",
            "type": "array",
            "description": "Store names, cities or store IDs, e.g. \"North York\", \"Vaughan\", \"Montreal\", \"149\". Leave empty to check every store in the country. Unknown names are listed in the log with every available store.",
            "items": {
              "type": "string"
            }
          },
          "nearLocation": {
            "title": "Near a postal code or place",
            "type": "string",
            "description": "Only check the stores closest to this postal / ZIP code, city or \"latitude,longitude\", e.g. \"M5V 3L9\", \"10001\", \"Vancouver\" or \"43.65,-79.38\". Each store row then includes its distance in km."
          },
          "nearestStores": {
            "title": "Number of nearest stores",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "How many of the closest stores to check when \"Near a postal code or place\" is set.",
            "default": 3
          },
          "stockOutput": {
            "title": "Output format",
            "enum": [
              "perProduct",
              "perStoreRow"
            ],
            "type": "string",
            "description": "One row per product with a list of stores inside it, or one flat row per product and store (easier for spreadsheets).",
            "default": "perProduct"
          },
          "stockFilter": {
            "title": "Stock filter",
            "enum": [
              "all",
              "inStock",
              "outOfStock",
              "restocking",
              "notSold"
            ],
            "type": "string",
            "description": "Keep only products that are in stock, out of stock (sold at the store but none on hand), restocking (a delivery is scheduled) or not sold at the selected stores. With one row per product, a product is kept if any selected store matches.",
            "default": "all"
          },
          "includePickupPoints": {
            "title": "Include plan & order points",
            "type": "boolean",
            "description": "Also report plan-and-order / pick-up points. They hold no shelf stock, so they are left out unless named in \"Stores\".",
            "default": false
          },
          "includeChildItems": {
            "title": "Include parts of combinations",
            "type": "boolean",
            "description": "For combination products (e.g. a bookcase with doors), add the stock of each part per store — shows which part is missing.",
            "default": false
          },
          "includeVariants": {
            "title": "Include colour / size variants",
            "type": "boolean",
            "description": "IKEA search groups colour and size variants under one product. Turn on to get every variant as its own product with its own stock.",
            "default": false
          },
          "sort": {
            "title": "Sort by",
            "enum": [
              "RELEVANCE",
              "PRICE_LOW_TO_HIGH",
              "PRICE_HIGH_TO_LOW",
              "NEWEST",
              "RATING",
              "NAME_ASCENDING",
              "MOST_POPULAR"
            ],
            "type": "string",
            "description": "Order of search and category results.",
            "default": "RELEVANCE"
          },
          "dedupe": {
            "title": "Remove duplicates across inputs",
            "type": "boolean",
            "description": "Save each product only once per run, even if several keywords or categories return it.",
            "default": true
          },
          "concurrency": {
            "title": "Parallel requests",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many requests run at once. The default is fast and gentle.",
            "default": 6
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Datacenter proxies work well. Residential proxies are used automatically as a backup if needed.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}