SUUMO Scraper - Japan Property Listings avatar

SUUMO Scraper - Japan Property Listings

Pricing

from $2.40 / 1,000 results

Go to Apify Store
SUUMO Scraper - Japan Property Listings

SUUMO Scraper - Japan Property Listings

Scrape SUUMO Japan property listings from search URLs for rentals and sales. Returns flat rows with JPY prices, area, layout, station access, monitor changes, and run status.

Pricing

from $2.40 / 1,000 results

Rating

0.0

(0)

Developer

Redomic

Redomic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Features

Limited permissions

Share

SUUMO Scraper: Japan Rental and Property Listings

Export property listings from SUUMO, Japan's biggest real estate portal, to a spreadsheet or an API. Paste any SUUMO search URL, for rentals or for flats and houses for sale, and each row gives you the price in yen, monthly fees, deposit and key money, layout, floor area, floor, nearest station and walking time, and the address. Run it on a schedule and you get only the new listings and price changes since the last run.

Who uses it

  • Relocation companies and expat services comparing rents and move-in costs across Tokyo neighbourhoods.
  • Investors pricing flats by station, layout and price per m².
  • Analysts and proptech products that need Japanese listing data in English-friendly columns.

What you get

Rentals in Shinjuku from the default input on 15 November 2026:

BuildingRent (JPY/month)Management feeLayoutArea (m²)FloorStationWalk
リーブルグラント西新宿イースト224,00020,0001LDK40.178階東京メトロ丸ノ内線/西新宿駅5 min
クレアホームズ新宿百人町180,00010,0001LDK45.32階JR山手線/新大久保駅5 min
グランスイート四谷二丁目レジデンス358,0003LDK707階東京メトロ丸ノ内線/四谷三丁目駅5 min
パークフラッツ西早稲田110,00010,0001K25.055階東京メトロ副都心線/雑司が谷駅3 min
クラッシィタワー新宿御苑335,00014,0001LDK44.718階東京メトロ丸ノ内線/新宿御苑前駅4 min

Building names, floors, stations and addresses come in Japanese, as SUUMO shows them. Numbers come as plain numbers: rent and fees in yen, area in m².

Each rental row also carries the deposit (敷金) and key money (礼金), the monthly total (rent plus management fee), the move-in cost (rent, fee, deposit and key money together), the price per m² and per tsubo, the layout broken into rooms and type, and every station within reach. A building with several units for rent comes back as one row per unit. Turn on fetchDetails for the building structure, total floors and units, the direction the flat faces, parking and the move-in date.

Each data row links to the listing’s own detail page in url. A run’s per-source status and the final summary are stored in the run’s key-value store records STATUS and SUMMARY, not in the dataset.

Two modes

ModeWhat you getGood for
search (default)Every listing on the SUUMO search you pastedPrice surveys, exports
monitorOnly listings that are new, changed price or disappeared since the last runDaily alerts

Price

$3 per 1,000 listings. There's no start fee. In monitor mode you pay only for new and changed listings, so a quiet day costs nothing. A 100-listing run like the one above costs $0.30.

How to run it

  1. Search on suumo.jp the way you normally would: area, station, rent, layout.
  2. Copy the address from your browser.
  3. Paste it into Start URLs and run.

Rental searches (/chintai/), used flats (/ms/chuko/) and other SUUMO result pages all work.

To narrow a search without changing the URL:

{
"startUrls": [{ "url": "https://suumo.jp/chintai/tokyo/sc_shinjuku/" }],
"maxPriceYen": 200000,
"minAreaM2": 30,
"maxWalkMinutes": 7,
"layoutType": "LDK",
"maxItems": 300
}

For alerts, save a search as a task with "mode": "monitor" and schedule it daily. The first run records what's listed today. After that you get only new listings, changed prices and removed listings. Use a different monitorStateKey for each search you track.

Input

FieldDefaultWhat it does
startUrlsShinjuku rentalsSUUMO search or listing URLs.
modesearchsearch or monitor.
minPriceYen, maxPriceYennonePrice or rent range in yen.
minAreaM2, maxAreaM2noneFloor area range.
maxWalkMinutesnoneThe longest walk to a station.
minLayoutRooms, maxLayoutRoomsnoneNumber of rooms in the layout.
layoutTypeanyK, DK, LDK, R or ワンルーム.
layoutContainsnoneText the layout must contain, for example 2LDK.
fetchDetailsfalseOpen each listing for building details. Slower.
monitorStateKeydefaultA name for each monitored search.
resumeCursornoneContinue a large search where the last run stopped.
maxItems100The most listings to return.

Output fields

id, url, title, listingType, propertyType, address, station, stationAccess, walkMinutes, priceAmount, priceCurrency, managementFeeAmount, monthlyTotalJpy, depositAmount, keyMoneyAmount, moveInCostJpy, layout, layoutRooms, layoutType, areaM2, pricePerM2, pricePerTsubo, floor, builtYear, structure, scrapedAt.

FAQ

Does it need a Japanese IP? SUUMO often blocks data-centre traffic, so the Actor uses Apify's residential proxy by default. That cost is included in the price.

What do 敷金 and 礼金 mean? 敷金 (shikikin) is the deposit, usually returned when you move out. 礼金 (reikin) is key money, a one-off payment to the landlord that you don't get back. Both come as yen amounts in depositAmount and keyMoneyAmount.

What is a tsubo? A Japanese area unit of about 3.31 m². Prices per tsubo are common in Japanese property listings, so we give you both.

Something looks wrong in my results. Open an issue on the Issues tab with your input and we'll look at it.

日本語

SUUMOの検索URLを貼り付けるだけで、賃貸・売買物件を表形式で取得できます。賃料、管理費、敷金、礼金、間取り、専有面積、階数、最寄り駅と徒歩分数、住所を出力します。monitor モードでは前回からの新着・価格変更・掲載終了のみを返します。

Use it from AI agents (MCP) and Python

AI agents. Add this Actor as a tool in Claude, Cursor, VS Code or any MCP client through the Apify MCP server. The agent reads the input schema, so a plain request is enough.

{
"mcpServers": {
"suumo-scraper": {
"url": "https://mcp.apify.com?tools=redomic/suumo-scraper",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
}

Python. pip install apify-client, then:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("redomic/suumo-scraper").call(run_input={"startUrls": [{"url": "https://suumo.jp/jj/bukken/ichiran/JJ010FJ001/?ar=030&bs=011&ta=13&sc=13104&kb=1&kt=9999999&mb=0&mt=9999999&ekTjCd=&ekTjNm=&tj=0&cnb=0&cn=9999999"}]})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

More from us