{
  "openapi": "3.0.1",
  "info": {
    "title": "ikyu.com Search Scraper (一休)",
    "description": "Scrape ikyu.com (一休) search results for any Japanese area, station or landmark on your dates. Just add destinations and dates and get stay and nightly prices, cheapest room and plan, meals, cancellation deadline, ratings by aspect, coordinates and address. $1.50 per 1,000 hotels.",
    "version": "1.0",
    "x-build-id": "A16gj63IO81vZGBeA"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/boncross~ikyu-search/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-boncross-ikyu-search",
        "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/boncross~ikyu-search/runs": {
      "post": {
        "operationId": "runs-sync-boncross-ikyu-search",
        "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/boncross~ikyu-search/run-sync": {
      "post": {
        "operationId": "run-sync-boncross-ikyu-search",
        "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": {
          "destinations": {
            "title": "Destinations",
            "type": "array",
            "description": "Area or prefecture names in English or Japanese (\"Kyoto\", \"箱根\", \"Gion\", \"Karuizawa\"), a station or landmark (\"Shinjuku Station\", \"Tokyo Disneyland\"), an ikyu area id (320711) or an ikyu area URL. One search per entry.",
            "items": {
              "type": "string"
            }
          },
          "keyword": {
            "title": "Keyword",
            "type": "string",
            "description": "Free-text filter applied by ikyu on top of the destination. It matches text in the Language below: with English, use English words (\"onsen\", \"private bath\"); for Japanese words (\"温泉\", \"露天風呂付客室\") set Language to ja: a Japanese keyword on the English site matches nothing. With no destinations, searches all of Japan by keyword.",
            "default": ""
          },
          "maxResultsPerDestination": {
            "title": "Max results per destination",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Cap per destination, up to 100 at a time. ikyu lists about 500 properties in Kyoto and 1,300 in Tokyo.",
            "default": 100
          },
          "maxItems": {
            "title": "Maximum results for the whole run",
            "minimum": 0,
            "type": "integer",
            "description": "A run-wide ceiling across every target. The per-target limit above applies to each one separately, so ten targets at 50 each returns 500; set this to cap the total. Zero means no run-wide limit. Rows that report an input the actor could not resolve are not counted here and are never charged for.",
            "default": 0
          },
          "checkIn": {
            "title": "Check-in date",
            "type": "string",
            "description": "YYYY-MM-DD. Empty = Check-in days ahead. \"none\" = undated search (ikyu's reference price, availability not checked). Lowercase `checkin` also works.",
            "default": ""
          },
          "checkOut": {
            "title": "Check-out date",
            "type": "string",
            "description": "YYYY-MM-DD. Empty = Nights. Lowercase `checkout` also works.",
            "default": ""
          },
          "checkInDaysAhead": {
            "title": "Check-in days ahead",
            "minimum": 0,
            "maximum": 365,
            "type": "integer",
            "description": "Used when Check-in is empty. Lowercase `checkinDaysAhead` also works.",
            "default": 30
          },
          "nights": {
            "title": "Nights",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Used when Check-out is empty.",
            "default": 1
          },
          "adults": {
            "title": "Adults",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Per room. ikyu prices per room for this many people.",
            "default": 2
          },
          "rooms": {
            "title": "Rooms",
            "minimum": 1,
            "maximum": 9,
            "type": "integer",
            "description": "Number of rooms.",
            "default": 1
          },
          "childrenAges": {
            "title": "Children's ages",
            "type": "array",
            "description": "Optional. The age of each child, 0-12, one per line. ikyu prices children by age group: 10-12 and 6-9 as primary-school children, under 6 as an infant with meals and bedding. Adults are set above.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "sort": {
            "title": "Sort",
            "enum": [
              "recommended",
              "price_low_to_high",
              "price_high_to_low",
              "rating",
              "rating_room",
              "rating_service",
              "rating_bath",
              "rating_facilities",
              "rating_meals",
              "rating_satisfaction",
              "points_rate"
            ],
            "type": "string",
            "description": "ikyu's own orderings, the same as its sort menu. The \"best rated\" sorts return ikyu's top-rated properties overall or in one category (every one measured scored 4.68 or better in that category, with at least 26 reviews), though ikyu does not put them in exact score order. \"Highest points rate first\" is in strict order.",
            "default": "recommended"
          },
          "accommodationTypes": {
            "title": "Accommodation types",
            "type": "array",
            "description": "Keep only these ikyu types, applied by ikyu: HOTEL, INN (ryokan), RESORT_HOTEL, BUSINESS, VACATION_RENTAL. Empty = all. Anything else returns no properties, so the run warns rather than finishing empty without saying why.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "facilities": {
            "title": "Facilities",
            "type": "array",
            "description": "Keep only properties with ALL of these, applied by ikyu. Each result lists its facilities in `facilities`.",
            "items": {
              "type": "string",
              "enum": [
                "onsen",
                "openAirBath",
                "freeFlowingOnsen",
                "largeBath",
                "privateBathRental",
                "sauna",
                "bedrockBath",
                "parking",
                "nearStation",
                "indoorPool",
                "outdoorPool",
                "spa",
                "fitness",
                "freeShuttle",
                "paidShuttle",
                "roomService",
                "childcare",
                "privateLounge",
                "freeWifi"
              ],
              "enumTitles": [
                "Hot spring (温泉)",
                "Open-air bath (露天風呂)",
                "Free-flowing spring (源泉かけ流し)",
                "Large public bath (大浴場)",
                "Private bath for hire (貸切風呂)",
                "Sauna (サウナ)",
                "Bedrock bath (岩盤浴)",
                "Parking (駐車場)",
                "Within 5 min walk of a station (駅徒歩5分以内)",
                "Indoor pool (屋内プール)",
                "Outdoor pool (屋外プール)",
                "Spa / esthetics (エステ施設)",
                "Fitness (フィットネス)",
                "Free shuttle (送迎・無料)",
                "Paid shuttle (送迎・有料)",
                "Room service (ルームサービス)",
                "Childcare (託児サービス)",
                "Private lounge (専用ラウンジ)",
                "Free Wi-Fi (ネット無料)"
              ]
            },
            "default": []
          },
          "roomFeatures": {
            "title": "Room features",
            "type": "array",
            "description": "Keep only properties with a room offering ALL of these, applied by ikyu.",
            "items": {
              "type": "string",
              "enum": [
                "nonSmoking",
                "smoking",
                "openAirBathInRoom",
                "clubFloor",
                "suite",
                "specialRoom",
                "highFloor",
                "detachedOrCottage",
                "petsAllowed",
                "balconyOrTerrace",
                "nightView",
                "viewFromBath",
                "oceanView",
                "size40sqmPlus",
                "bed160cmPlus",
                "separateBathAndToilet",
                "bathWithWashingArea",
                "showerBooth",
                "jetBath",
                "barrierFree"
              ],
              "enumTitles": [
                "Non-smoking (禁煙)",
                "Smoking (喫煙)",
                "Open-air bath in the room (露天風呂付客室)",
                "Club floor (クラブフロア)",
                "Suite (スイート)",
                "Special / VIP room (特別室・貴賓室)",
                "High floor (高層階)",
                "Detached room / cottage (離れ・コテージ)",
                "Pets allowed (ペットOK)",
                "Balcony or terrace (バルコニー・テラス付)",
                "Night view (夜景が自慢)",
                "View from the bath (お風呂から景色)",
                "Ocean view (オーシャンビュー)",
                "40 m² or larger (40平米以上)",
                "Bed 160 cm wide or more (ベッド幅160cm～)",
                "Separate bath and toilet (バストイレ別)",
                "Bath with washing area (洗い場付バス)",
                "Shower booth (シャワーブース付)",
                "Jet bath (ジェットバス付)",
                "Barrier-free (バリアフリー)"
              ]
            },
            "default": []
          },
          "roomTypes": {
            "title": "Room types",
            "type": "array",
            "description": "Keep only properties offering these room types, applied by ikyu.",
            "items": {
              "type": "string",
              "enum": [
                "single",
                "twin",
                "double",
                "triple",
                "quad",
                "japanese",
                "japaneseWestern",
                "semiDouble",
                "wholeHouse"
              ],
              "enumTitles": [
                "Single (シングル)",
                "Twin (ツイン)",
                "Double (ダブル)",
                "Triple (トリプル)",
                "Four beds (フォース)",
                "Japanese-style (和室)",
                "Japanese-Western (和洋室)",
                "Semi-double (セミダブル)",
                "Whole house (一棟貸し)"
              ]
            },
            "default": []
          },
          "planFeatures": {
            "title": "Plan features",
            "type": "array",
            "description": "Keep only properties with a plan offering these, applied by ikyu.",
            "items": {
              "type": "string",
              "enum": [
                "dinnerInRoom",
                "dinnerInRestaurant",
                "anniversary",
                "connectingRooms"
              ],
              "enumTitles": [
                "Dinner in the room (夕食はお部屋)",
                "Dinner in a restaurant (夕食はレストラン)",
                "Anniversary perks (記念日特典)",
                "Connecting rooms available (コネクティング利用可)"
              ]
            },
            "default": []
          },
          "minRating": {
            "title": "Minimum guest rating (0–5)",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Drop properties rated below this. 0 = off. Filtered properties are free.",
            "default": 0
          },
          "minReviewCount": {
            "title": "Minimum review count",
            "minimum": 0,
            "type": "integer",
            "description": "0 = off.",
            "default": 0
          },
          "mealsIncluded": {
            "title": "Cheapest plan must include",
            "enum": [
              "any",
              "breakfast",
              "dinner"
            ],
            "type": "string",
            "description": "Keep properties whose cheapest plan includes the meal.",
            "default": "any"
          },
          "freeCancellationOnly": {
            "title": "Free cancellation only",
            "type": "boolean",
            "description": "Keep properties whose cheapest plan is still free to cancel today.",
            "default": false
          },
          "minPricePerNight": {
            "title": "Minimum price per night",
            "minimum": 0,
            "type": "number",
            "description": "In the selected currency, per room. 0 = off.",
            "default": 0
          },
          "maxPricePerNight": {
            "title": "Maximum price per night",
            "minimum": 0,
            "type": "number",
            "description": "In the selected currency, per room. 0 = off.",
            "default": 0
          },
          "currency": {
            "title": "Currency",
            "type": "string",
            "description": "JPY prices are always included; set USD, EUR, GBP, KRW, CNY, TWD, HKD, SGD, THB, AUD… to add ikyu's own conversion.",
            "default": "JPY"
          },
          "language": {
            "title": "Language",
            "enum": [
              "en",
              "ja"
            ],
            "type": "string",
            "description": "en = ikyu's English site names and descriptions; ja = Japanese originals.",
            "default": "en"
          },
          "priceStoreName": {
            "title": "Price memory store",
            "type": "string",
            "description": "Key-value store name; remembers each property's nightly price per dates/occupancy/currency and adds previousPricePerNight and priceChange next run.",
            "default": ""
          },
          "onlyNewOrChanged": {
            "title": "Only new or changed prices",
            "type": "boolean",
            "description": "With a price memory store: skip unchanged properties (not charged).",
            "default": false
          },
          "maxConcurrency": {
            "title": "Parallel requests",
            "minimum": 1,
            "maximum": 32,
            "type": "integer",
            "description": "How many requests run at once across the whole run. The default is the fastest level measured clean; lower it only if a run reports refusals or errors.",
            "default": 8
          },
          "delayMs": {
            "title": "Delay between requests (ms)",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Optional pause before each call, in milliseconds. 0 (the default) runs as fast as the parallel limit allows.",
            "default": 0
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}