SUUMO API:賃貸・売買物件のデータを JSON で取得
SUUMO に掲載されている物件を、部屋を探す人が見ているのと同じ公開ページから読み取り、JSON で返します。不動産会社が物件を入稿するための連携ではなく、募集中の物件の賃料・価格、間取り、面積、最寄り駅を集める側のための API です。国交省の不動産情報ライブラリが扱う取引価格・地価とは別物で、こちらは「いま募集中」の物件です。
エンドポイント
| endpoint | 返ってくるもの | 必須 |
|---|---|---|
| search | 47都道府県のいずれかで、賃貸または売買(中古一戸建て・中古マンション・土地・新築一戸建て)を検索。上限価格(万円)、最低面積、駅徒歩分数、築年数、駅名・沿線・地名のキーワードで絞り込み。page と max_pages で複数ページをまとめて取得できます。 | prefecture |
| detail | 物件1件の詳細:賃料・管理費・敷金・礼金(売買なら価格)、間取り、専有面積、所在階、向き、構造、築年月、最寄り駅、入居時期、契約期間、写真。賃貸は listing_id、売買は検索結果の url を渡します。 | すべて任意 |
| areas | 47都道府県のローマ字 slug、漢字名、SUUMO 側の地域コードの一覧。prefecture に渡す値の確認用で、外部へのリクエストは発生しません。 | すべて任意 |
呼び出しごとにクレジットを消費します。失敗した呼び出しとブロックされた呼び出しは無料です。
動作する例
keyword は区の絞り込みではなく、駅名・沿線・地名などのフリーワードです。「中野」で探すと、最寄り駅に中野駅が入っている杉並区の物件も返ってきます(下の例がそれです)。区ごとに集計するなら address_ja で確かめてください。
curl -X POST https://api.reefapi.com/japan-re/v1/search \
-H "x-api-key: あなたのキー" \
-H "content-type: application/json" \
-d '{"prefecture": "tokyo", "listing_type": "rent", "keyword": "中野", "max_price_man": 10, "max_walk_minutes": 10}'{
"ok": true,
"data": {
"items": [
...
{
"listing_id": "000099325063",
"url": "https://suumo.jp/chintai/jnc_000099325063/?bc=100479945109",
"title_ja": "北島荘",
"address_ja": "東京都杉並区高円寺北1",
"price_jpy": 56000,
"price_ja": "5.6万円",
"admin_fee_jpy": 2000,
"madori": "1K",
"area_m2": 20.0,
"station_access": [
{ "access_ja": "JR総武線/高円寺駅 歩9分", "walk_minutes": 9 },
{ "access_ja": "JR中央線/中野駅 歩16分", "walk_minutes": 16 }
],
"building_age_years": 73
},
...
],
"count": 42,
"has_next_page": true
},
"meta": { "record_count": 42, "cache_hit": false, "mode": "live" }
}SUUMO をスクレイピングする前に知っておくこと
SUUMO のページ自体はサーバー側で描画された HTML なので、最初の数ページは Python で簡単に取れます。問題は続けて取りに行ったときで、同じ IP から短時間に繰り返すと「ページを表示できません」の 503 が返り、ときには中身のない 200 が返ってきます。後者は「物件なし」と見分けがつきません。
空の結果が本当に「該当物件ゼロ」なのか、こちらが URL を組み違えたのかも区別できません。これは私たち自身も経験しました。SUUMO の地域コードで中国地方と四国地方を取り違えていたため、9県の検索 URL が約3か月間、SUUMO の「該当物件なし」ページに当たっていたのです。2026年9月23日に47都道府県すべてを実際のサイトと突き合わせて直しています。
単発の調査であれば、手元のスクリプトで足ります。家賃相場を毎週集計するとなると、手間はコードを書くことより、エラーにならない「ゼロ件」に気づくことのほうにかかります。
制限と正直な注記
- SUUMO(リクルート)の公式 API ではなく、提携関係もありません。
- 対象は SUUMO のみです。LIFULL HOME'S やアットホームなど他のポータル、国交省 不動産情報ライブラリの取引価格は含まれません。
- 売買物件の detail には検索結果の url が必要です。SUUMO の売買ページには ID だけで開ける URL がないためです。
- 値は掲載どおりに返し、補正はしません。今回の測定では築年月が「1926年1月」(築99年)と掲載された物件がそのまま出ています。敷金・礼金が「-」の物件では該当フィールドが null になるため、null を0円と読むかどうかは呼び出し側で判断してください。
- 1ページの件数は建物ごとの部屋数で変わります(今回の例では 42 件)。賃貸の詳細は1件あたり数秒かかることがあります。
- キャッシュは使っていないため、返ってくるのは常に呼び出した瞬間の掲載内容です。