POST /api/suumo/companies/search
Price: 10 credits
Search SUUMO (スーモ) rental agency shops (取り扱い店舗) around a station within a prefecture, with filters for access/opening-hours features, staff features, services and amenities, published SUUMO media and a free-text keyword, with sort order. Returns agency cards with shop name, headline, number of listings, office address, nearest station and walking time, business hours, regular holidays, phone, feature tags and image — each linking to the agency shop by its kc_{ar}_{id} id.
Search SUUMO (スーモ) rental agency shops around a station. Provide pref (e.g. 'tokyo', 'osaka') and station — either a station name (e.g. '新宿') together with line (railway line name, e.g. 'JR山手線', to disambiguate), or a 9-digit SUUMO station code (e.g. '000517640'). Optional filters: access (open_late/near_station/open_year_round/parking/car_pickup); staff_features (foreign_language/female_staff/consulting_master); services (rent_guarantor/no_guarantor_ok/handles_sales/corporate_contracts/...); media (has_video/has_coupon/has_staff_comment); keyword (free text); sort by name_asc/name_desc/listings_desc/listings_asc. Each result has id (kc_{ar}_{id}, usable with the agency get-by-id endpoint), url, name, headline, listing_count, address, station, walk, business_hours, holidays, tel, features and image.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)pref string required — Prefecture the station belongs to (one of: "tokyo", "kanagawa", "osaka", "saitama", "chiba", "aichi", "hyogo", "fukuoka", "hokkaido", "kyoto")station string required — Station the agencies are searched around — a station name (e.g. '新宿', '渋谷'; provide line to disambiguate) or a 9-digit SUUMO station code (e.g. '000517640') (examples: "新宿", "000517640", "015519133"; minLength: 1)line string nullable — Railway line the station belongs to (e.g. 'JR山手線'); used to resolve a station name to its code. Not needed when station is already a 9-digit code (minLength: 1)access array nullable — Access/opening-hours features the agency must have (all of) (one of: "open_late", "near_station", "open_year_round", "parking", "car_pickup")staff_features array nullable — Staff features the agency must have (all of) (one of: "foreign_language", "female_staff", "consulting_master")services array nullable — Services/amenities the agency must offer (all of) (one of: "local_10_years", "multi_store", "kids_service", "barrier_free", "rent_guarantor", "no_guarantor_ok", "move_in_loan", "mover_referral", "management_24h", "handles_sales", "corporate_contracts", "company_housing")media array nullable — SUUMO media the agency must publish — video, coupon, staff comment (all of) (one of: "has_video", "has_coupon", "has_staff_comment")keyword string nullable — Free-text keyword to match against the agency listingsort string nullable — Sort order (one of: "name_asc", "name_desc", "listings_desc", "listings_asc")count integer required — Max number of results to return (min: 1)@type string (default: "SuumoCompanyCard")id string requiredurl string requiredname string nullableheadline string nullablelisting_count integer nullableaddress string nullablestation string nullablewalk string nullablebusiness_hours string nullableholidays string nullabletel string nullablefeatures array (default: [])image string 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 — The entity was not found, or a precondition failed 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.