Suumo.jp Scraper icon

Suumo.jp Scraper

Scrape Suumo, Japan's largest property portal: rental rooms with rent, management fees, deposits, layout, floor area, station access, photos and the…

Start using this actor on Apify ↗Need a custom scraper?Contact us ↗

Suumo.jp Scraper at a glance

Suumo.jp Scraper is a ready-to-run Apify actor from abotapi for collecting web data. Its documented output includes room id, building id, building, building type and address, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $1.80 per 1,000 results on the Apify Free plan and from $1.20 on paid plans, with smaller per-run or optional feature charges listed on Apify.

Runs on
Apify cloud: console, API, schedules and integrations
Data type
Web data
Region
Asia
Pricing
$1.80 per 1,000 results (Free plan), from $1.20 on paid plans
Output
Documented below · JSON, CSV, Excel
Inputs
28 options

Scrape Suumo, Japan's largest property portal: rental rooms with rent, management fees, deposits, layout, floor area, station access, photos and the listing agency's name. Search by prefecture and city or paste links, and monitor price changes with recurring updates.

What Suumo.jp Scraper can do

  • Rentals and five sale types, two ways to search. Pick a prefecture and, optionally, JIS city codes, or paste your own search, room and listing links. The same search covers rental rooms, used and new condos, used and new houses, and land. No need to build Suumo's search URLs by hand.
  • The full cost picture per room. Rent, management fee, deposit and key money come out as clean yen integers, next to the site's own display text, so nothing needs re-parsing.
  • Server-side filtering and sorting. Room layout (1K, 1LDK, 2DK and the rest), rent, area, building age and walk time are filtered by Suumo's own search grammar, and rental results can be ordered by rent plus fees, so you never pay for rooms the filter should have removed.
  • Room detail on demand. Switch on room-page reading for the photo set, the full spec table, the agent's pitch and the agency name, only when you need it and only for what you read.
  • Built for monitoring. Recurring updates label every room NEW, UPDATED, UNCHANGED, REAPPEARED or EXPIRED against the previous run of the same search, so a scheduled run returns only what changed.
  • Multi-city runs stay organized. Every room carries which search or link produced it, so a run across several cities in one prefecture is easy to split back apart.

Choose what to collect

These inputs let you configure Suumo.jp Scraper - Japan Rental Listings, Prices & Agents. Open the actor on Apify to enter your values and review the current options.

Supported input fields
InputWhat it controls
modestring · requiredRentals: search by area walks the rental result pages for the prefecture and cities below. A Sale mode walks the result pages of that sale type for the same prefecture and cities (rent, layout, area and walk filters apply to rentals only). My own links walks the links you paste, forward from the page each link names.

Choices: search, urls, sale_used_condo, sale_new_condo, sale_used_house, sale_new_house, sale_land

prefecturestringThe prefecture to search, as its two-digit JIS code. One run covers one prefecture.

Choices: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47

cityCodesarrayCity names or JIS 5-digit codes. Type a name such as 千代田区 or Chiyoda, or a code such as 13101 (13101 Chiyoda-ku, 13102 Chuo-ku, 13103 Minato-ku, 13113 Shibuya-ku). A name that matches no city in the selected prefecture fails the run with a clear message. Every city is walked as its own source and shares the run limit. Leave empty to walk the whole prefecture.
layoutsarrayRoom layout filter applied by the site itself, as the two-digit codes of suumo's own search grammar: 01 studio (one room), 02 1K, 03 1DK, 04 1LDK, 05 2K, 06 2DK, 07 2LDK, 08 3K, 09 3DK, 10 3LDK, 11 4K, 12 4DK, 13 4LDK. Empty means every layout.
rentMinnumberLower rent bound in units of 10,000 yen, for example 5 for 50,000 yen. Search mode.
rentMaxnumberUpper rent bound in units of 10,000 yen. Search mode.
areaMinintegerLower floor-area bound in square metres. Search mode.
Show 21 more inputs
More input fields
InputWhat it controls
areaMaxintegerUpper floor-area bound in square metres. Search mode.
maxBuildingAgeintegerOnly buildings up to this many years old. Search mode.
maxWalkMinutesintegerOnly rooms within this many minutes on foot of a station. Search mode.
sortBystringOrder of the rental results, applied by the site itself (verified over two pages of a city search). Rooms of one building are listed together, ordered by the building's cheapest room (lowest first) or dearest room (highest first). The default keeps the site's own order. Rental Search mode only; ignored in links and sale modes.

Choices: default, rentFeeAsc, rentFeeDesc

urlsarrayMulti-URL supported. Paste rental search links (/jj/chintai/ichiran/..., including repeated sc= cities, md= layouts and page=N), rental city pages (/chintai//sc_/), station pages (/chintai//ek_/), prefecture pages (/chintai//) or single room links (/chintai/jnc_/, the ?bc= code is optional, or an agency room page /chintai/bc_/). Sale links work too: result pages of /ms/chuko, /ms/shinchiku, /chukoikkodate, /ikkodate and /tochi (also /jj/bukken/ichiran/...) and single listing pages (.../nc_/). Pagination starts at the page named in the link and walks forward. Search-mode fields are ignored in this mode. Left untouched (no links of your own, no Max rooms, no Max pages), this field reads one page of each example link.
searchUrlstringOne pasted suumo.jp rental or sale search link (the same as putting it in Links). Switches a default search run or a sale mode to links mode.
fetchDetailsbooleanThe search page carries rent, fees, layout, area, address, stations and building age. A room's own page adds the photo set, the full spec table, the agency's pitch and the agency name. Pasted room links are their own page, so they are always read and always carry the surcharge. In a sale mode the listing page adds the zoning, the transaction type and the spec table and carries no extra charge.
maxItemsintegerThe single limit that stops a run. Default 1000 rooms, at most 1,000,000; 0 is read as 1,000,000 so older saved tasks keep working.
maxPagesintegerRunaway guard per source. 0 means the walk ends when the site runs out of results.
resumeFromRunIdstringGive the run id of an interrupted run and every room it already collected is skipped. Mutually exclusive with recurring updates once a baseline exists.
incrementalModebooleanLabel every room NEW, UPDATED, UNCHANGED or REAPPEARED against the previous run of the same setup, and record the ones that vanished as EXPIRED. UPDATED means a compared field moved: rent, management fee, deposit, key money, guarantee, layout, area, availability, floor, station list and the other listing facts. Never compared: the run time, the search position, which search found the room, and the agency's own last-updated stamp. Photo order is ignored. Unchanged rooms are not returned unless you also turn on the return-unchanged switch. Returns (and bills) extra rows only for what changed.
stateKeystringName the baseline of a recurring schedule yourself. Without it the baseline is keyed on the whole search setup, so two differently-configured schedules never share one baseline.
emitUnchangedbooleanReturns (and bills) every tracked room again, labelled UNCHANGED, instead of only the changed ones.
emitExpiredbooleanRooms tracked by the previous run but absent from a COMPLETE scan are returned (and billed) one last time, labelled EXPIRED. A run that stopped early never reports rooms as gone.
changeScopestringAny listing field: every compared field can make a room UPDATED. Rent, fees and availability only: just rent, management fee, deposit, key money, guarantee and move-in availability decide UPDATED, so name, photo, remark and layout-copy edits never produce a returned row. Changing this changes which baseline an automatic state key uses.

Choices: all, priceAndStock

compactUpdatesbooleanUPDATED and EXPIRED rows come back short: ids, link, current rent and fees, and priceChanges with the old and new value of each moved field. New rooms stay full. The per-room detail surcharge is not charged on a short row because it carries no detail fields.
expireAfterMissedScansintegerWith the gone-rooms switch on, a room is returned as EXPIRED only after it was missing from this many complete scans in a row. EXPIRED means the room dropped out of the search; a listing that left the results and a delisted one look the same without opening each room page.
ignoreFieldsForChangesarrayField names that never make a room UPDATED and are left out of changedFields (they stay in the output). Use a dotted path to ignore one key inside a nested list, for example stations.name. Leave empty to compare every listing field. Changing this changes which baseline an automatic state key uses.
mcpConnectorsarrayOptional delivery step AFTER the scrape: pipes dataset results into apps you connected in the Apify MCP Connector setup.
notionParentPageUrlstringNotion connector only: the parent page new Notion pages attach under.
maxNotifyListingsintegerHow many dataset rows at most each connector receives per run.

Fields in the output

The documented dataset includes the fields below. Availability can depend on the source page and selected mode.

idRoom id
buildingIdBuilding id
buildingNameBuilding
buildingTypeBuilding type
addressAddress
stationsStations
buildingAgeAge
buildingFloorsBuilding floors
floorFloor
rentYenRent (yen)
rentDisplayRent (display)
mgmtFeeYenManagement fee (yen)
Show 49 more fields
depositYenDeposit (yen)
keyMoneyYenKey money (yen)
guaranteeYenGuarantee (yen)
layoutLayout
areaSqmArea (m2)
urlLink
imageUrlImage
nameRoom title
transportTransport
facingFacing
buildingKindKind
layoutBreakdownRooms breakdown
structureStructure
floorsDetailFloor detail
builtMonthBuilt
parkingParking
moveInMove in
dealTypeDeal type
conditionsConditions
totalUnitsTotal units
infoUpdatedAtInfo updated
guaranteeCompanyGuarantor company
otherInitialCostOther initial costs
otherMonthlyCostOther monthly costs
remarksRemarks
pointAgent point
pointTextAgent pitch
agencyNameAgency
photosPhotos
photoCountPhoto count
sourceTypeSource kind
sourceIdSource
sourceUrlSource link
positionPosition
scrapedAtScraped at
changeTypeChange
changedFieldsChanged fields
firstSeenAtFirst seen
lastSeenAtLast seen
modeVertical
isNewArrivalNew arrival
pricePrice
priceYenPrice (yen)
pricePerSqmPrice per sqm (yen)
exclusiveAreaExclusive area
landAreaLand area
buildingAreaBuilding area
zoningZoning
transactionTypeTransaction type

Example output

An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.

{
  "id": "000200000001",
  "buildingId": "100500000001",
  "buildingName": "Sample Residence Chiyoda",
  "buildingType": "Rental mansion",
  "address": "Tokyo, Chiyoda-ku",
  "stations": [
    "Sample Line/Sample Station walk 5 min",
    "Second Line/Second Station walk 9 min"
  ],
  "buildingAge": "8 years",
  "buildingFloors": "10 floors",
  "floor": "3rd floor",
  "rentYen": 95000,
  "rentDisplay": "9.5man yen",
  "mgmtFeeYen": 5000,
  "depositYen": 95000,
  "keyMoneyYen": 0,
  "layout": "1LDK",
  "areaSqm": 35.5,
  "url": "https://suumo.jp/chintai/jnc_000200000001/",
  "imageUrl": "https://img01.suumo.com/front/gazo/fr/bukken/000/000200000001/000200000001_go.jpg",
  "name": "Sample Residence Chiyoda",
  "transport": [
    "Sample Line/Sample Station walk 5 min"
  ],
  "facing": "South",
  "buildingKind": "Mansion",
  "layoutBreakdown": "Western room 6.0, DK 8.0",
  "structure": "Reinforced concrete",
  "floorsDetail": "3rd floor of a 10-floor building",
  "builtMonth": "2016-04",
  "parking": "Nearby, 15000 yen a month",
  "moveIn": "Immediate",
  "dealType": "Brokerage",
  "conditions": "No pets",
  "totalUnits": "20",
  "infoUpdatedAt": "2026/09/20",
  "guaranteeCompany": "Guarantee company required",
  "otherInitialCost": "Key exchange, 22000 yen",
  "otherMonthlyCost": "Cleaning fee, 22000 yen",
  "remarks": "Short-term cancellation fee may apply within the first year.",
  "point": "No key money",
  "pointText": "Renovated, quiet street, near the local shops",
  "agencyName": "Sample Realty Co.",
  "photos": [
    "https://img01.suumo.com/front/gazo/fr/bukken/000/000200000001/000200000001_1o.jpg",
    "https://img01.suumo.com/front/gazo/fr/bukken/000/000200000001/000200000001_2o.jpg"
  ],
  "photoCount": 2,
  "sourceType": "search",
  "sourceId": "13101",
  "sourceUrl": null,
  "position": 1,
  "scrapedAt": "2026-09-29T04:00:00Z",
  "changeType": "UPDATED",
  "changedFields": [
    "rentYen"
  ],
  "firstSeenAt": "2026-08-01T04:00:00Z",
  "lastSeenAt": "2026-09-29T04:00:00Z"
}

Ways to use this data

  • Apartment hunters and relocation services: compare rent, fees and station access across neighborhoods before booking viewings.
  • Real estate market researchers: track average rent and the layout mix by ward or city over time.
  • Rental alert products and proptech apps: feed newly listed and price-changed rooms into your own app, bot or dashboard.
  • Property managers and agencies: watch competitor pricing and vacancy in specific target buildings.
  • Data journalists and academics: build a historical dataset of Japan's rental market for reporting or research.

Before you run

Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.

Questions about this actor

What data does Suumo.jp Scraper return?

The documented output for Suumo.jp Scraper includes room id, building id, building, building type, address, stations, age and building floors. Availability of each field depends on the source page and the selected mode.

How much does Suumo.jp Scraper cost?

It costs $1.80 per 1,000 results on the Apify Free plan and from $1.20 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.

Can I get only new or changed rooms on a schedule?

Yes. Schedule the actor from the Schedules tab and turn on recurring updates. Each run then returns only new and updated rooms, unchanged ones are not billed, and gone rooms can be reported too once a run has scanned its scope end to end.

Why did a room show up as EXPIRED and then REAPPEARED?

This is a known issue. If a scheduled run with also return rooms that are gone switched on has a max rooms limit, and the limit runs out on exactly the last room of a result page while the search has more pages, the rooms on the unread pages are wrongly reported as gone. The next complete run finds them again and labels them REAPPEARED. Leave max rooms at 0 on schedules that report gone rooms to avoid it.

Why were no gone rooms reported this run?

Gone rooms are only reported after a run that read every one of its sources to the end. If a limit stopped the run, one city or link hit max pages or ran out of max rooms partway through a page, a source failed, or the run continued a previous one, detection is skipped for the whole run (the run log says why) and the rooms stay tracked. Nothing is marked gone by mistake in that case; the next complete run reports them.

Why are photos, the spec table or the agency name empty?

Those fields only come from a room's own page. Turn on room detail reading, or paste room links directly (/chintai/jnc_.../), which are always read in full. The search page alone carries rent, fees, layout, area, address, stations and building age.

Ready to collect with Suumo.jp Scraper?

Run it on Apify with your own input and export the results as JSON, CSV or Excel.