POST /api/ikyu/restaurants/search
Price: 20 credits
Search restaurants on Ikyu (一休.com レストラン) by area, keyword, genre, visit date and time, party size, price and amenities: name, genre, area, access, lunch and dinner price ranges, diner rating, photos and the bookable plans with prices
Area codes come from ikyu/restaurants/areas and genre codes from ikyu/restaurants/genres. Pass visit_date, visit_time and visitors to see plans bookable for that visit. Pass a returned id to ikyu/restaurants for the full profile.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)keyword string nullable — Free-text keyword (examples: "銀座 寿司"; minLength: 1)large_area string nullable — Large area code from ikyu/restaurants/areas (examples: "03"; pattern: ^\d{2}$)medium_area string nullable — Medium area code from ikyu/restaurants/areas (examples: "001"; pattern: ^\d{3}$)small_areas array nullable — Small area codes from ikyu/restaurants/areas (examples: ["009"])genres array nullable — Genre codes from ikyu/restaurants/genres (examples: ["30005"])visit_date integer nullable — Visit day as unix seconds, day-granular (examples: 1791072000; min: 0)visit_time string nullable — Visit time of day, HH:MM (examples: "18:00")visitors integer nullable — Party size (examples: 2; min: 1; max: 99)min_price integer nullable — Minimum plan price in yen (examples: 10000; min: 1)max_price integer nullable — Maximum plan price in yen (examples: 30000; min: 1)hotel_restaurant boolean nullable — Only restaurants inside hotelscard_payment boolean nullable — Only restaurants accepting cardsparking boolean nullable — Only restaurants with parkingfree_flow boolean nullable — Only restaurants with all-you-can-drink planssort string — Result order (default: "recommended"; one of: "recommended", "ranking", "popularity", "plan_popularity", "reviews", "low_price")count integer required — Max number of results (min: 1; max: 2000)@type string (default: "IkyuRestaurantCard")id string requiredurl string requiredname string nullablegenre string nullablearea string nullableprefecture string nullabledescription string nullablephone string nullablenearest_station string nullablenearest_station_distance_m integer nullableaccess array (default: [])@type string (default: "IkyuRestaurantAccess")line string nullablestation string nullablenote string nullablelunch_price object nullable@type string (default: "IkyuPriceRange")min integer nullablemax integer nullabledinner_price object nullable@type string (default: "IkyuPriceRange")min integer nullablemax integer nullablerating object nullable@type string (default: "IkyuRestaurantRating")average number nullablecount integer nullablefood number nullableservice number nullableatmosphere number nullablevalue_for_money number nullableparking object nullable@type string (default: "IkyuAvailabilityNote")availability string nullablenote string nullableis_casual boolean nullableis_supreme boolean nullablepoints_available boolean nullablehas_availability boolean nullablehas_point_up_plans boolean nullablehas_timesale boolean nullablehas_last_minute_deal boolean nullableplacement string nullablepickup_review object nullable@type string (default: "IkyuPickupReview")author string nullabletext string nullableimages array (default: [])@type string (default: "IkyuImage")url string requiredcaption string nullablecategory string nullableplans array (default: [])@type string (default: "IkyuRestaurantPlanSummary")id string requiredname string nullablemeal_period string nullableprice integer nullablelist_price integer nullableis_seat_only boolean nullablepayment_type string nullablepoints integer nullableis_request_only boolean nullablehas_point_up boolean nullable422 — The request body did not validate Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — Ikyu rejected this combination of restaurant filters, or has no area or genre under a given code Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.