SUUMO Scraper - Japan Property Listings
Pricing
from $2.20 / 1,000 listings
SUUMO Scraper - Japan Property Listings
Collect SUUMO property listings across Japan: prices, floor plans, areas, station access, photos, and public agency contacts. Pay per delivered row plus a small start fee.
Pricing
from $2.20 / 1,000 listings
Rating
0.0
(0)
Developer
kane liu
Maintained by CommunityActor stats
1
Bookmarked
1
Total users
0
Monthly active users
6 hours ago
Last modified
Categories
Security
Limited permissionsShare
SUUMO Scraper
Collect sale and rental listings from SUUMO in Japan as structured rows you can export or read through the API.
- Search used and new condominiums, new and used houses, land, and rentals.
- Use SUUMO URLs, a city or ward path, administrative codes, or a map area.
- Get prices in yen, floor plans, areas, station access, fees, and image links when available.
- Include public agency contact details where the source shows them.
- Pay for delivered rows: $3.00 per 1,000 rows on the Free plan, plus a small start fee.
What does SUUMO Scraper do?
SUUMO Scraper collects property data from suumo.jp for Tokyo, Osaka, and other Japanese prefectures. Use the rows to compare asking prices, monitor rental supply, or build a property research dataset. Asking prices are not completed transaction prices.
- Web searches and details: use
startUrlsfor an existing search or property page, orlocationfor an area search. - App listings: set
providertoappand search byprefectureCodewith an optionalcityCode. - Map searches: set
providertomapwithbboxandprefectureCode. Rentals also requirecityCode. - Detail fields:
scrapeDetailsis on by default. It adds available details to the same row, not a separately billed contact row.
What data can you extract from SUUMO?
Fields vary by property category and source. Examples below are illustrative, not current offers.
| Field | Description | Example |
|---|---|---|
id | Listing identifier; some floor plans use a composite identifier | 12345678 |
url | SUUMO source link | https://suumo.jp/ms/chuko/tokyo/sc_shinjuku/nc_12345678/ |
propertyType | Property category | chuko_mansion |
channel | Sale or rent | BUY |
title | Listing headline | Example condominium |
buildingName | Building name, when shown | Example building |
price | Original asking-price text | 2880万円 |
priceAmount | Numeric amount in JPY; lower end for a range | 28800000 |
priceMin | Lowest amount in a price range | 28800000 |
priceMax | Highest amount in a price range | 32000000 |
floorPlan | Layout | 1LDK |
exclusiveAreaSqm | Apartment area in square metres | 42.8 |
landAreaSqm | Land area in square metres | 100 |
buildingAreaSqm | House area in square metres | 85.2 |
listingAddress | Property address as shown | Example property address |
address | Structured address; may describe the agency rather than the property | {"country":"JP","full":"Example office address"} |
access | Station and transport access | Example Station, 6 minutes on foot |
builtYearMonth | Construction date text | 2005年3月 |
administrationFee | Management fee text | 8000円 |
deposit | Rental deposit text | 1ヶ月 |
keyMoney | Rental key-money text | 1ヶ月 |
images | Available image URLs | [] |
geo | Coordinates, when available | {"lat":35.69,"lng":139.70} |
phones | Public agency numbers | [{"value":"+1 555 0100","type":"agency"}] |
emails | Public email addresses; placeholders are discarded | [] |
org | Agency name, identifier, and license when available | {"name":"Example agency"} |
person | Named agent, when shown | {"name":"Jane Doe","role":"Agent"} |
web | Public company website and social links when found | {"website":null,"socials":[]} |
leadAbsences | Reasons for missing contact fields | {} |
scrapedAt | Collection timestamp | 2026-10-24T00:00:00Z |
Use listingAddress for property analysis. Do not assume address is the property address. officeAddress, when present, holds the agency address separately. listingCode can preserve the detail-page identifier when id represents a floor plan.
How to scrape SUUMO
- Open SUUMO Scraper in Apify Console. A free Apify account is enough to try it.
- Fill
location, for exampletokyo/sc_shinjuku, or paste a search URL intostartUrls. - Set
maxItemsto5for your first run. - Click Start and wait for completion.
- Download the dataset or read it through the API.
Empty input starts an example search for used condominiums in Shinjuku, limited to 3 rows. Normal start and row charges still apply. Filling a target selects the search operation automatically, but it does not choose provider: set that explicitly for App or map searches.
Web searches and property URLs
Leave provider at the default (Web pages). A startUrls search URL determines the area and property category instead of location and propertyType. Use full HTTPS links on suumo.jp or www.suumo.jp. Sale detail links contain nc_; public rental detail links contain jnc_.
For area searches, use a city or ward path such as tokyo/sc_shinjuku or osaka/sc_osakashikita. A bare prefecture can lead to an index rather than listings. Some familiar place names resolve, but explicit paths are less ambiguous.
App listings by area code
Use provider: "app" with a two-digit prefectureCode, such as 13 for Tokyo or 27 for Osaka. Add a five-digit cityCode to narrow the area; it must start with the prefecture code. Leave startUrls empty. Codes select the area instead of location.
Map searches
Use provider: "map", prefectureCode, and bbox. Supply either four corners or a centre and radius. Rental searches need a matching cityCode. Leave startUrls empty. With scrapeDetails: false, rows contain map identifiers, links, and coordinates, not full property details; rental markers can represent buildings rather than individual units.
What to fill in
| Field | What to enter | Default |
|---|---|---|
startUrls | Array of SUUMO search or detail URL objects | Empty |
location | City or ward path when no URLs are supplied | Example: tokyo/sc_shinjuku |
propertyType | One of the six categories below | chuko_mansion |
channel | Compatibility setting: BUY or RENT; prefer propertyType | BUY |
maxItems | Rows per URL or selected area, from 1 to 2,000 | 70; form example 3 |
maxPages | Page setting from 1 to 100; not a strict run-wide limit | 1 |
scrapeDetails | Include available detail-page fields | true |
provider | curl for web, app for area codes, map for a map area | curl |
prefectureCode | Two-digit code, required for App and map | Empty |
cityCode | Five-digit city or ward code; required for map rentals | Empty |
bbox | Corners lat1, lng1, lat2, lng2, or centre lat, lng, radiusKm | Empty |
pageSize | App rows per page, from 1 to 50 | 50 |
requestDelayMillis | Delay between requests, in milliseconds | 800 |
maxConcurrency | Concurrent detail requests, from 1 to 8 | 2 |
The categories are chuko_mansion (used condos), shinchiku_mansion (new condos), ikkodate (new houses), chukoikkodate (used houses), tochi (land), and chintai (rentals). Setting channel: "RENT" changes the default condo category to rentals; an explicit non-default propertyType wins.
Web area example:
{"location": "tokyo/sc_shinjuku","propertyType": "chuko_mansion","maxItems": 5}
Rental URL example:
{"startUrls": [{"url": "https://suumo.jp/chintai/tokyo/sc_shinjuku/"}],"maxItems": 5}
App example:
{"provider": "app","prefectureCode": "13","cityCode": "13104","propertyType": "chuko_mansion","maxItems": 5}
Map example:
{"provider": "map","prefectureCode": "13","bbox": {"lat": 35.69, "lng": 139.70, "radiusKm": 1},"maxItems": 5,"scrapeDetails": false}
maxResults,limit, andmax_resultsare aliases formaxItems.- Close field-name misspellings can be corrected. Other unknown fields are ignored with a warning. Unknown
propertyTypeorchannelvalues are dropped rather than treated as new categories. - Invalid targets or incompatible fields fail before any rows are charged, with messages such as
INVALID_INPUT: prefectureCode — required when provider is app. The start fee is separate. - Check the
INPUT_REPORTrecord in the run's key-value store for filled, corrected, and ignored fields. - Pagination may continue beyond
maxPagesto reach the requested row count. UsemaxItemsand the run's spending limit to control collection.
Output example
Illustrative property row; the name, address, and identifier are placeholders:
{"id": "12345678","url": "https://suumo.jp/ms/chuko/tokyo/sc_shinjuku/nc_12345678/","source": "suumo","propertyType": "chuko_mansion","channel": "BUY","title": "Example condominium","price": "2880万円","priceAmount": 28800000,"currency": "JPY","floorPlan": "1LDK","exclusiveAreaSqm": 42.8,"listingAddress": "Example property address","phones": [],"scrapedAt": "2026-10-24T00:00:00Z"}
You can export the dataset as JSON, CSV, Excel, XML, RSS, or an HTML table. JSON retains nested contact fields. OUTPUT and RUN_SUMMARY provide counts and warnings separately from the dataset.
Why use this SUUMO scraper?
- Pay per delivered row. Failed page attempts do not create billable property rows.
- Keep useful results. A failed detail page can leave the search row available. Accepted partial results can be delivered with warnings; an abrupt stop does not guarantee delivery of unfinished work.
- Understand missing fields. Unavailable values remain empty or absent, and contact fields can include absence reasons.
- Use several URLs. Submit several targets with a row allowance for each and one spending limit for the run.
- No proxy setup. You do not need to set up proxies or supply a SUUMO login.
How much does it cost to scrape SUUMO?
The Actor uses pay-per-event pricing. The start event costs $0.005 per GB of selected run memory, with a minimum of one event. At the default 512 MB, the start fee is $0.005. Platform usage is included in these prices.
| Apify plan | Price per row | Price per 1,000 rows |
|---|---|---|
| Free | $0.003 | $3.00 |
| Starter | $0.003 | $3.00 |
| Scale | $0.0026 | $2.60 |
| Business | $0.0022 | $2.20 |
maxItemsapplies to each URL or selected area. The default is 70, and the accepted range is 1–2,000. Larger requests are collected in smaller parts.- Free Apify plan users are limited to 200 rows per run and 10 runs of this Actor in total. These are limits set by the developer.
- The whole run stops at Maximum cost per run, named
maxTotalChargeUsdin the API. The per-input allowance does not override this spending cap.
Example: one input delivering 5 rows at the default 512 MB costs 5 × $0.003 + $0.005 = $0.020 on the Free plan. Returning fewer rows reduces the row charge; a run with no delivered rows can still incur the start fee.
What happens when the run timeout is too short
If results are not ready within a short timeout, the run can pause rather than fail. It shows ABORTED with the message "Queued on the collection backend; this run will resume automatically when results are ready (about N s)."
When results are ready, the same run restarts automatically, reports "Resumed: delivering N rows.", writes to the same dataset, and finishes as SUCCEEDED. Already delivered rows are skipped, so they are not delivered or charged twice. No manual restart is needed for this queued state.
Automatic pauses are limited to 3 per run. Keep the default timeout of 3600 seconds to reduce interruptions. The synchronous endpoints run-sync and run-sync-get-dataset-items wait at most 300 seconds and can return an empty dataset while the run is paused. For longer searches, start asynchronously and read the dataset after SUCCEEDED, or use a webhook for ACTOR.RUN.SUCCEEDED.
Use with AI agents and the API
Apify MCP server
Add this Actor as a tool in a remote MCP client, such as Claude, ChatGPT, Cursor, or VS Code:
https://mcp.apify.com?tools=lentic_clockss/suumo-property-scraper
Sign in with Apify using OAuth when prompted, or send Authorization: Bearer <YOUR_APIFY_TOKEN>. The tool returns run and dataset IDs; the agent can then read rows with get-dataset-items. Clients without remote MCP support can use npx @apify/actors-mcp-server --tools lentic_clockss/suumo-property-scraper with APIFY_TOKEN configured.
Example prompt: "Get 5 used condominiums in Shinjuku using location tokyo/sc_shinjuku. Show asking price, floor plan, area, and listing URL."
Apify API
Python:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("lentic_clockss/suumo-property-scraper").call(run_input={"location": "tokyo/sc_shinjuku", "maxItems": 5})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('lentic_clockss/suumo-property-scraper').call({location: 'tokyo/sc_shinjuku', maxItems: 5,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
For asynchronous HTTP access, send the input as JSON to POST https://api.apify.com/v2/acts/lentic_clockss~suumo-property-scraper/runs with Authorization: Bearer <YOUR_APIFY_TOKEN>. After completion, read GET https://api.apify.com/v2/datasets/<datasetId>/items?format=json. If a waiting SDK call returns an ABORTED run, follow the timeout guidance above before reading its final results.
Integrations
Use the Actor's Integrations tab to connect results to Google Sheets, Make, Zapier, n8n, Slack, Airtable, or your webhook. Apify Schedules can start repeated runs; each run is charged separately.
日本語の説明
SUUMOの中古・新築マンション、一戸建て、土地、賃貸物件を収集します。地域で探す場合は location に tokyo/sc_shinjuku のような市区のパスを入力してください。検索ページや物件ページがある場合は startUrls にURLを指定します。まずは maxItems を 5 にして、価格、間取り、面積、交通情報を確認できます。公開されていない項目は空欄になることがあります。料金は出力された行ごとに計算され、別途開始料金がかかります。無料プランにも上限があります。結果はCSVやExcelで保存でき、住所と不動産会社の所在地は区別して利用してください。
FAQ
Is it legal to scrape SUUMO?
Public availability is not permission for every use. You are responsible for complying with SUUMO's terms and applicable data-protection law. Personal-data processing needs a lawful basis; seek qualified advice if unsure about your intended use.
Why did my run end as ABORTED?
A queued run can pause while waiting for results and restart automatically. Check for the automatic-resume status message described above. Not every ABORTED run has that cause; a manually stopped run is different.
How many results can I get?
Request up to 2,000 rows per input with maxItems. Actual delivery depends on available listings, successful collection, your spending cap, and the Free plan limits. A requested count is not a guarantee of that many matches.
Why are some fields empty?
Fields differ across search pages, detail pages, App listings, and map markers. Detail collection can add information but cannot create missing data. Contact availability varies; check leadAbsences and run warnings.
How do I select rentals, new condos, or land?
Choose chintai, shinchiku_mansion, or tochi in propertyType. For web searches, a matching SUUMO search URL selects the category directly.
Why did my Free-plan run stop after 10 runs?
The developer limits Free-plan usage to 10 runs total, with up to 200 rows per run. The run reports the limit rather than continuing collection. A paid Apify plan removes that developer-set run-count limit.
Do I need a SUUMO API key?
No SUUMO API key is required. You need an Apify token only when using authenticated Apify API calls or token-based MCP access.
What if my search returns zero rows?
Check the category and city path, or narrow the region. Inspect OUTPUT, RUN_SUMMARY, and, on failure, ERROR_SUMMARY. A confirmed no-match response can finish successfully without rows; a collection error is a different result.
Limitations
- Japan only.
/kasu/,/chintai/soba/, specialtynj_pages, magazine pages, and rental subtype hubs are not supported listing searches. - Full HTTPS links are safer than shortened or scheme-less URLs. Acceptance by input validation does not guarantee a supported page.
- Large map areas can be truncated. Split them into smaller areas; map results are not a promise of every listing.
- App rental detail pages are skipped; available App listing and contact fields remain included.
- Missing emails, social links, coordinates, or named agents are not filled with guesses. No member-only information is promised.
Related scrapers
More real estate and property data scrapers from the same publisher:
- Zumper Scraper
- Booli Scraper
- Craigslist Scraper
- PropertyGuru Scraper
- OpenSooq Scraper
- Apartments.com Rental Scraper
- Dot Property Scraper
- FINN.no Scraper
Browse all of our scrapers at apify.com/lentic_clockss.
Support
Found a problem or need another field? Open an issue in the Issues tab of this Actor's page and include the run ID and the input you used.