curl --request POST \
--url https://api.anysite.io/api/suumo/listings/search \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"count": 2,
"timeout": 300,
"line": "<string>",
"stations": [],
"rent_min": 1,
"rent_max": 1,
"area_min": 1,
"area_max": 1,
"walk_max": 2,
"layouts": [],
"building_types": [],
"facets": [],
"rent_conditions": [],
"sort": "recommended"
}
'import requests
url = "https://api.anysite.io/api/suumo/listings/search"
payload = {
"count": 2,
"timeout": 300,
"line": "<string>",
"stations": [],
"rent_min": 1,
"rent_max": 1,
"area_min": 1,
"area_max": 1,
"walk_max": 2,
"layouts": [],
"building_types": [],
"facets": [],
"rent_conditions": [],
"sort": "recommended"
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
count: 2,
timeout: 300,
line: '<string>',
stations: [],
rent_min: 1,
rent_max: 1,
area_min: 1,
area_max: 1,
walk_max: 2,
layouts: [],
building_types: [],
facets: [],
rent_conditions: [],
sort: 'recommended'
})
};
fetch('https://api.anysite.io/api/suumo/listings/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.anysite.io/api/suumo/listings/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'count' => 2,
'timeout' => 300,
'line' => '<string>',
'stations' => [
],
'rent_min' => 1,
'rent_max' => 1,
'area_min' => 1,
'area_max' => 1,
'walk_max' => 2,
'layouts' => [
],
'building_types' => [
],
'facets' => [
],
'rent_conditions' => [
],
'sort' => 'recommended'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.anysite.io/api/suumo/listings/search"
payload := strings.NewReader("{\n \"count\": 2,\n \"timeout\": 300,\n \"line\": \"<string>\",\n \"stations\": [],\n \"rent_min\": 1,\n \"rent_max\": 1,\n \"area_min\": 1,\n \"area_max\": 1,\n \"walk_max\": 2,\n \"layouts\": [],\n \"building_types\": [],\n \"facets\": [],\n \"rent_conditions\": [],\n \"sort\": \"recommended\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.anysite.io/api/suumo/listings/search")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"count\": 2,\n \"timeout\": 300,\n \"line\": \"<string>\",\n \"stations\": [],\n \"rent_min\": 1,\n \"rent_max\": 1,\n \"area_min\": 1,\n \"area_max\": 1,\n \"walk_max\": 2,\n \"layouts\": [],\n \"building_types\": [],\n \"facets\": [],\n \"rent_conditions\": [],\n \"sort\": \"recommended\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/suumo/listings/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"count\": 2,\n \"timeout\": 300,\n \"line\": \"<string>\",\n \"stations\": [],\n \"rent_min\": 1,\n \"rent_max\": 1,\n \"area_min\": 1,\n \"area_max\": 1,\n \"walk_max\": 2,\n \"layouts\": [],\n \"building_types\": [],\n \"facets\": [],\n \"rent_conditions\": [],\n \"sort\": \"recommended\"\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"building_id": "<string>",
"room_id": "<string>",
"url": "<string>",
"@type": "SuumoListingCard",
"building_name": "<string>",
"building_type": "<string>",
"address": "<string>",
"stations": [],
"age": "<string>",
"total_floors": "<string>",
"floor": "<string>",
"rent": 123,
"management_fee": 123,
"deposit": "<string>",
"key_money": "<string>",
"layout": "<string>",
"area": 123,
"image": "<string>"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}/suumo/listings/search
Search SUUMO (スーモ) rental listings by prefecture, optionally narrowed to a railway line and specific stations, with filters: rent range, floor-area range, walking distance to the nearest station, floor-plan layout, building type, maximum building age, rent-cost conditions (management fee included, no key money, no deposit), an extensive amenity catalogue (e.g. separate bath/toilet, auto-lock, pets allowed, floor heating, tower mansion, barrier-free, free internet) and sort order (recommended, cheapest/most expensive rent, newest listings, newest building, largest area, by address). Returns listing cards with building name and type, address, nearest stations, age, floor, rent, management fee, deposit/key money, layout, area and image.
Price: 10 credits per 50 results
curl --request POST \
--url https://api.anysite.io/api/suumo/listings/search \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"count": 2,
"timeout": 300,
"line": "<string>",
"stations": [],
"rent_min": 1,
"rent_max": 1,
"area_min": 1,
"area_max": 1,
"walk_max": 2,
"layouts": [],
"building_types": [],
"facets": [],
"rent_conditions": [],
"sort": "recommended"
}
'import requests
url = "https://api.anysite.io/api/suumo/listings/search"
payload = {
"count": 2,
"timeout": 300,
"line": "<string>",
"stations": [],
"rent_min": 1,
"rent_max": 1,
"area_min": 1,
"area_max": 1,
"walk_max": 2,
"layouts": [],
"building_types": [],
"facets": [],
"rent_conditions": [],
"sort": "recommended"
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
count: 2,
timeout: 300,
line: '<string>',
stations: [],
rent_min: 1,
rent_max: 1,
area_min: 1,
area_max: 1,
walk_max: 2,
layouts: [],
building_types: [],
facets: [],
rent_conditions: [],
sort: 'recommended'
})
};
fetch('https://api.anysite.io/api/suumo/listings/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.anysite.io/api/suumo/listings/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'count' => 2,
'timeout' => 300,
'line' => '<string>',
'stations' => [
],
'rent_min' => 1,
'rent_max' => 1,
'area_min' => 1,
'area_max' => 1,
'walk_max' => 2,
'layouts' => [
],
'building_types' => [
],
'facets' => [
],
'rent_conditions' => [
],
'sort' => 'recommended'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.anysite.io/api/suumo/listings/search"
payload := strings.NewReader("{\n \"count\": 2,\n \"timeout\": 300,\n \"line\": \"<string>\",\n \"stations\": [],\n \"rent_min\": 1,\n \"rent_max\": 1,\n \"area_min\": 1,\n \"area_max\": 1,\n \"walk_max\": 2,\n \"layouts\": [],\n \"building_types\": [],\n \"facets\": [],\n \"rent_conditions\": [],\n \"sort\": \"recommended\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.anysite.io/api/suumo/listings/search")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"count\": 2,\n \"timeout\": 300,\n \"line\": \"<string>\",\n \"stations\": [],\n \"rent_min\": 1,\n \"rent_max\": 1,\n \"area_min\": 1,\n \"area_max\": 1,\n \"walk_max\": 2,\n \"layouts\": [],\n \"building_types\": [],\n \"facets\": [],\n \"rent_conditions\": [],\n \"sort\": \"recommended\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/suumo/listings/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"count\": 2,\n \"timeout\": 300,\n \"line\": \"<string>\",\n \"stations\": [],\n \"rent_min\": 1,\n \"rent_max\": 1,\n \"area_min\": 1,\n \"area_max\": 1,\n \"walk_max\": 2,\n \"layouts\": [],\n \"building_types\": [],\n \"facets\": [],\n \"rent_conditions\": [],\n \"sort\": \"recommended\"\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"building_id": "<string>",
"room_id": "<string>",
"url": "<string>",
"@type": "SuumoListingCard",
"building_name": "<string>",
"building_type": "<string>",
"address": "<string>",
"stations": [],
"age": "<string>",
"total_floors": "<string>",
"floor": "<string>",
"rent": 123,
"management_fee": 123,
"deposit": "<string>",
"key_money": "<string>",
"layout": "<string>",
"area": 123,
"image": "<string>"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
API token from the dashboard
Headers
Body
tokyo, kanagawa, osaka, saitama, chiba, aichi, hyogo, fukuoka, hokkaido, kyoto x >= 120 <= x <= 15001x >= 0x >= 0x >= 0x >= 0x >= 1one_room, 1k, 1dk, 1ldk, 2k, 2dk, 2ldk, 3k, 3dk, 3ldk, 4k, 4dk, 4ldk, 5k_plus mansion, apartment, house, other new, within_1_year, within_3_years, within_5_years, within_7_years, within_10_years, within_15_years, within_20_years, within_25_years, within_30_years above_2nd_floor, top_floor, corner_room, south_facing, first_floor, gas_stove_ready, ih_stove, two_plus_burners, all_electric, system_kitchen, counter_kitchen, separate_bath_toilet, washlet, bathroom_dryer, reheating_bath, shower_room, internet_available, bs_antenna, cs_antenna, cable_tv, free_internet, indoor_washer_space, separate_washroom, flooring, maisonette, loft, soundproof_room, basement, furnished, air_conditioner, floor_heating, kerosene_heating, gas_heating, under_floor_storage, shoe_box, trunk_room, walk_in_closet, auto_lock, caretaker, video_intercom, security_company, security_camera, parking, bicycle_parking, motorcycle_parking, elevator, delivery_box, on_site_garbage_area, balcony, roof_balcony, private_garden, parking_two_plus, on_site_parking, city_gas, propane_gas, barrier_free, designers, condo_for_rent, no_guarantor, tower_mansion, reformed, renovated, online_contract, initial_cost_card_payment, rent_card_payment, immediate_move_in, pets_allowed, instruments_allowed, office_use_allowed, room_share_allowed, exclude_fixed_term, diy_allowed, women_only, customizable, elderly_welcome, lgbt_friendly, free_rent, specified_quality_rental, floor_plan_image, photo, new_today, new_recent, property_video, panorama management_fee_included, no_key_money, no_deposit recommended, rent_asc, rent_desc, newest, age_newest, area_desc, by_address Response
Successful Response
Show child attributes
Show child attributes