{
  "openapi": "3.0.1",
  "info": {
    "title": "IKEA Price & Stock Tracker - 51 Countries (KR, JP, US, EU)",
    "description": "Enter IKEA article numbers, product URLs, product names or category IDs plus countries; get one row per product and country with local price, EUR/USD price (ECB rates), sale price, online availability, rating and reviews, plus a free cheapest-country summary and price change since your last run.",
    "version": "0.1",
    "x-build-id": "BYNBea4l4OAzZRJTP"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/magenta_courser~ikea-prices-all-countries/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-magenta_courser-ikea-prices-all-countries",
        "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/magenta_courser~ikea-prices-all-countries/runs": {
      "post": {
        "operationId": "runs-sync-magenta_courser-ikea-prices-all-countries",
        "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/magenta_courser~ikea-prices-all-countries/run-sync": {
      "post": {
        "operationId": "run-sync-magenta_courser-ikea-prices-all-countries",
        "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": {
          "articleNumbers": {
            "title": "IKEA article numbers or product URLs",
            "type": "array",
            "description": "IKEA article numbers (8 digits, with or without dots, e.g. 205.220.46 or 20522046) or IKEA product page URLs, one per line. Each product is looked up in every selected country. Korea, Japan, China and Australia use their own article numbers for many products; the Actor matches them automatically through IKEA's global article number (articleNumberGlobal), so you can paste a number from any country. Add at least one of: article numbers, search queries or category IDs.",
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Countries to compare. Default: KR, JP, CN, US, DE, GB, FR, SE, AU. One charged row per product and country where IKEA sells it. Not available here (other IKEA platforms): Taiwan, Hong Kong, Turkey, Greece, Iceland, Cyprus, Indonesia, Peru, Luxembourg.",
            "items": {
              "type": "string",
              "enum": [
                "US",
                "CA",
                "MX",
                "CL",
                "CO",
                "GB",
                "IE",
                "DE",
                "AT",
                "CH",
                "FR",
                "BE",
                "NL",
                "SE",
                "NO",
                "DK",
                "FI",
                "ES",
                "PT",
                "IT",
                "PL",
                "CZ",
                "SK",
                "HU",
                "RO",
                "HR",
                "SI",
                "RS",
                "EE",
                "LV",
                "LT",
                "KR",
                "JP",
                "CN",
                "AU",
                "NZ",
                "SG",
                "MY",
                "TH",
                "PH",
                "IN",
                "SA",
                "AE",
                "KW",
                "QA",
                "BH",
                "OM",
                "JO",
                "EG",
                "IL",
                "MA"
              ],
              "enumTitles": [
                "United States (US)",
                "Canada (CA)",
                "Mexico (MX)",
                "Chile (CL)",
                "Colombia (CO)",
                "United Kingdom (GB)",
                "Ireland (IE)",
                "Germany (DE)",
                "Austria (AT)",
                "Switzerland (CH)",
                "France (FR)",
                "Belgium (BE)",
                "Netherlands (NL)",
                "Sweden (SE)",
                "Norway (NO)",
                "Denmark (DK)",
                "Finland (FI)",
                "Spain (ES)",
                "Portugal (PT)",
                "Italy (IT)",
                "Poland (PL)",
                "Czech Republic (CZ)",
                "Slovakia (SK)",
                "Hungary (HU)",
                "Romania (RO)",
                "Croatia (HR)",
                "Slovenia (SI)",
                "Serbia (RS)",
                "Estonia (EE)",
                "Latvia (LV)",
                "Lithuania (LT)",
                "South Korea (KR)",
                "Japan (JP)",
                "China (CN)",
                "Australia (AU)",
                "New Zealand (NZ)",
                "Singapore (SG)",
                "Malaysia (MY)",
                "Thailand (TH)",
                "Philippines (PH)",
                "India (IN)",
                "Saudi Arabia (SA)",
                "United Arab Emirates (AE)",
                "Kuwait (KW)",
                "Qatar (QA)",
                "Bahrain (BH)",
                "Oman (OM)",
                "Jordan (JO)",
                "Egypt (EG)",
                "Israel (IL)",
                "Morocco (MA)"
              ]
            },
            "default": [
              "KR",
              "JP",
              "CN",
              "US",
              "DE",
              "GB",
              "FR",
              "SE",
              "AU"
            ]
          },
          "searchQueries": {
            "title": "Search queries (optional)",
            "type": "array",
            "description": "Optional. Search IKEA in every selected country and return the top results, e.g. BILLY, KALLAX, POÄNG. IKEA product names work in every country; generic words only work in the country's language (sofa / 소파 / ソファ / 沙发), so use product names for cross-country comparisons. Results of different countries are matched by articleNumberGlobal.",
            "items": {
              "type": "string"
            }
          },
          "categoryIds": {
            "title": "Category IDs or URLs (optional)",
            "type": "array",
            "description": "Optional. IKEA category ID (the number at the end of a category URL, e.g. 10382 for bookcases, st002 for shelving units) or a category URL such as https://www.ikea.com/us/en/cat/bookcases-10382/. Category IDs are mostly the same in every country.",
            "items": {
              "type": "string"
            }
          },
          "maxResultsPerSearch": {
            "title": "Max results per search / category and country",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Optional. How many products to return for each search query or category in each country. Default 24, maximum 1000. Each product and country is one charged row: 2 queries x 6 countries x 24 = up to 288 rows.",
            "default": 24
          },
          "storeIds": {
            "title": "Store IDs for store stock (optional)",
            "type": "array",
            "description": "Optional. Physical stores to check stock in, as country:storeId, e.g. KR:373 (IKEA Gwangmyeong), US:399 (IKEA Burbank). The store ID is the 3-digit IKEA store number. Each product row gets storesChecked, storesInStock and storeStock, and every product x store gets a free row of type storeStock. Adds one request per store per 20 products.",
            "items": {
              "type": "string"
            }
          },
          "language": {
            "title": "Product name language",
            "enum": [
              "local",
              "english"
            ],
            "type": "string",
            "description": "Language of name, productType, color and category. \"english\" uses the country's English IKEA site where one exists; France, Denmark, Italy, Poland, Slovakia, Hungary, Romania, Croatia, Slovenia, Serbia, Israel, Chile and Colombia have none and stay in the local language. nameEnglish and productTypeEnglish are filled in either way when IKEA has an English name.",
            "default": "local"
          },
          "currencyConversion": {
            "title": "Convert to EUR and USD",
            "type": "boolean",
            "description": "Add priceEUR and priceUSD using the European Central Bank euro reference rates of the latest working day (free public source, about 30 currencies). Currencies without an ECB rate (e.g. SAR, AED, KWD, QAR, BHD, OMR, JOD, EGP, CLP, COP, RSD, MAD) keep priceEUR/priceUSD empty and are left out of the cheapest-country comparison.",
            "default": true
          },
          "includeSummary": {
            "title": "Cheapest-country summary rows",
            "type": "boolean",
            "description": "For each product, add one free row of type cheapestCountry: cheapest and most expensive country, price in EUR/USD and the spread between them.",
            "default": true
          },
          "includeEnglishNames": {
            "title": "Add English names",
            "type": "boolean",
            "description": "Fill nameEnglish and productTypeEnglish. When no selected country is English-language, this costs one extra (free) request per country per 20 products.",
            "default": true
          },
          "compareWithLastRun": {
            "title": "Compare with last run",
            "type": "boolean",
            "description": "Add previousPrice, priceChange, priceChangePercent, previousOnlineSellable and isNewProduct to each row, compared with the last run in the same country. The last prices are kept in a named key-value store in your account, so scheduled runs line up automatically.",
            "default": true
          },
          "outputMode": {
            "title": "Output",
            "enum": [
              "all",
              "changesOnly"
            ],
            "type": "string",
            "description": "\"changesOnly\" saves (and charges) only products that are new or whose price, regular (pre-sale) price or online availability changed since the last run. The first run saves everything. Needs \"Compare with last run\".",
            "default": "all"
          },
          "historyStoreName": {
            "title": "History store name",
            "type": "string",
            "description": "Named key-value store that keeps the last price per country and article number. Use a different name for each separate monitoring project.",
            "default": "ikea-prices-history"
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Keep the default Apify proxy (datacenter). In our tests IKEA's search API answered every datacenter request; switch to RESIDENTIAL only if you see repeated HTTP 403 errors.",
            "default": {
              "useApifyProxy": true
            }
          },
          "maxRequests": {
            "title": "Max requests per run",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Optional. Upper limit on HTTP requests for the whole run, retries included. Default: 3x the expected number + 10."
          },
          "maxRunMinutes": {
            "title": "Max run time (minutes)",
            "minimum": 1,
            "maximum": 1440,
            "type": "integer",
            "description": "Optional. Stop sending new requests after this many minutes (default 30) and save what was collected."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}