SUUMO Scraper — Japan Property Data & API
Pricing
from $3.00 / 1,000 overview listing extracteds
SUUMO Scraper — Japan Property Data & API
SUUMO scraper & real estate data API for Japan's #1 property portal. Rent & sale listings: price, layout, area, floor, deposit, key money, building age, station access, photos — clean JSON/CSV, one row per room. No SUUMO account needed. SUUMO(スーモ)の賃貸・売買の物件データを取得。
Pricing
from $3.00 / 1,000 overview listing extracteds
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
SUUMO Scraper — Japan Real Estate & Property Data API 🏠
🎉 All 47 prefectures, JPY-normalized pricing, and per-room listing rows — straight from Japan's #1 real-estate portal
Built for real-estate investors, market analysts, and proptech teams tracking the weak-yen Japan property opportunity
📋 Overview
SUUMO Scraper turns suumo.jp — Japan's #1 real-estate portal — into a clean, structured dataset for investors, analysts, and developers who need Japan property data without touching a browser or reading Japanese.
Why professionals choose this scraper:
- ✅ Every prefecture, both markets: rent (賃貸) and sale (中古/新築マンション・戸建) listings, nationwide
- ⚡ No account, no API key: point it at a prefecture or a pasted SUUMO search URL and go
- 🎯 JPY numbers you can use immediately: 万円 (man-yen) prices, 敷金/礼金 (deposit/key money), and 間取り (layout) all normalized — no manual conversion
- 💰 Free tier that actually works: 25 real listings per run, no credit card required
- 💎 Per-room granularity: rent search cards are exploded so every rentable unit in a building gets its own row — nothing is collapsed away
- ✨ Two depths: a fast Overview scrape or a full Detail pull (structure, direction, parking, contract terms, move-in date)
✨ Features
- 🗾 All 47 prefectures — search by name (
tokyo,osaka,kyoto) or SUUMO's own 2-digit code - 🏠 Rent + sale coverage — 賃貸 (rent), 中古マンション・中古戸建 (used), 新築マンション・新築戸建 (new)
- 🔗 Paste-a-URL mode — copy any filtered SUUMO search URL and every query filter is preserved
- 🆔 Listing-URL mode — fetch specific properties by URL in Detail mode
- 💴 万円 → integer JPY — rent, deposit, and key money normalized to real yen, not raw strings
- 📸 Full photo sets — every listing/building image URL captured
- 🚃 Station access parsed — every 沿線/駅 line for each listing, ready for commute-distance analysis
- 📊 Coverage score — a 0–1 field-fill metric on every row so you can spot thin listings instantly
- 🔧 Extra filter passthrough — pass SUUMO's own query params (price cap, room count, and more) directly
🎬 Quick Start
Point the actor at a prefecture, or paste a SUUMO search URL — either way, listings start streaming into your dataset within seconds.
curl -X POST https://api.apify.com/v2/acts/sian.agency~suumo-property-scraper/runs?token=YOUR_TOKEN \-d '{"prefecture": "tokyo", "section": "rent"}'
🚀 Getting Started (3 Simple Steps)
Step 1: Pick a prefecture or paste a URL
Choose By prefecture (e.g. tokyo, osaka) or By search URL (paste any filtered suumo.jp search URL).
Step 2: Choose your depth
Overview for fast, cheap card-level data — or Detail for the full spec table on each listing.
Step 3: Run it
Hit Start. Listings save to your dataset as they're found — export to JSON, CSV, or Excel whenever you're ready.
That's it! In under a minute, you'll have:
- Every listing matching your prefecture/section (or search URL), one row per room
- JPY-normalized price, deposit, and key money
- Station access, building age, layout, and photos for every row
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| scrapeMode | string (overview/detail) | No | Fast card-level scrape, or full detail-page spec pull |
| searchMode | string (byPlace/bySearchUrl/byListingUrl) | No | Search by prefecture, by a pasted SUUMO URL, or (Detail only) by specific listing URLs |
| section | string | No | rent, used_mansion, used_house, new_house, new_mansion |
| prefecture | string | No | Japanese prefecture name (tokyo, osaka, kyoto, …) or 2-digit SUUMO code (13 = Tokyo) |
| searchUrls | array | No | SUUMO search-result URLs — every filter in the URL is honored |
| listingUrls | array | No | Detail mode only — specific SUUMO listing URLs to fetch |
| filters | object | No | Extra SUUMO query params, e.g. {"cb": "8.0", "md": "4"} for max ¥80k rent, 4+ rooms |
| maxResults | integer | No | FREE: capped at 25. PAID: unlimited |
Example:
{"scrapeMode": "overview","searchMode": "byPlace","section": "rent","prefecture": "tokyo","maxResults": 100}
By search URL:
{"searchMode": "bySearchUrl","searchUrls": ["https://suumo.jp/jj/chintai/ichiran/FR301FC001/?ar=030&bs=040&ta=13&pc=50"]}
📤 Output
Results save to the Apify dataset with 33 fields including:
| Field | Type | Description |
|---|---|---|
| propertyTitle | string | Building name or agent line |
| price | integer | Rent or sale price in JPY (万円 normalized) |
| priceFormatted | string | Raw price string, e.g. 10.2万円 |
| deposit | string | 敷金 (deposit) |
| keyMoney | string | 礼金 (key money) |
| layout | string | 間取り, e.g. 1K, 2LDK |
| areaSqm | number | 専有面積 in square meters |
| floor | string | Room floor |
| buildingAge | string | 築N年 (building age) |
| address | string | 所在地 |
| stationAccess | array | Every 沿線/駅 access line |
| images | array | Photo URLs |
| coverage | number | Fraction of fields filled (0–1) |
| structure / direction / totalUnits / parking | string | Detail-mode only building spec fields |
Example:
{"id": "100511735823","url": "https://suumo.jp/chintai/bc_100511735823/","propertyTitle": "YOU I COURT","price": 115000,"priceFormatted": "11.5万円","layout": "1K","areaSqm": 25.2,"address": "東京都渋谷区","stationAccess": ["JR山手線/渋谷駅 徒歩8分"],"images": ["https://img01.suumo.com/jj/..."],"coverage": 0.86}
💼 Use Cases & Examples
1. Japan Real-Estate Investment Research
Investors screening the weak-yen opportunity need current, structured listing data across multiple cities.
Input: {"prefecture": "osaka", "section": "used_mansion"}
Output: Every used-mansion listing in Osaka with price, area, and building age
Use: Build a price-per-sqm comparison across prefectures without visiting suumo.jp by hand
2. Tokyo Rental Market Comparables
Relocation services and market analysts need current Tokyo rent comparables by station.
Input: {"prefecture": "tokyo", "section": "rent", "maxResults": 500}
Output: Hundreds of per-room rent rows with station access and layout
Use: Benchmark asking rents by ward or train line for a relocation quote
3. Filtered Search Reuse
Agencies who already have a saved SUUMO search (price cap, room count, station) want that exact result set as data.
Input: {"searchMode": "bySearchUrl", "searchUrls": ["https://suumo.jp/jj/chintai/..."]}
Output: The identical filtered result set, structured
Use: Turn a manual SUUMO search habit into a scheduled data feed
4. Full Spec Enrichment for Shortlisted Properties
Once a shortlist is built from Overview data, teams need the full spec table before an offer.
Input: {"scrapeMode": "detail", "searchMode": "byListingUrl", "listingUrls": ["https://suumo.jp/chintai/bc_100512520556/"]}
Output: Structure, direction, parking, contract terms, move-in date
Use: Due-diligence pull on a handful of finalist listings
5. Sale-Market Price Benchmarking
Proptech teams building valuation models need a live sale-listing feed with area and price.
Input: {"prefecture": "kanagawa", "section": "new_mansion"}
Output: New-mansion sale listings with price, area, and total units
Use: Feed a price-per-sqm model with fresh comparables
🔗 Integration Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/suumo-property-scraper').call({prefecture: 'tokyo',section: 'rent'});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('sian.agency/suumo-property-scraper').call(run_input={'prefecture': 'osaka', 'section': 'used_mansion'})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item)
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~suumo-property-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"prefecture": "tokyo", "section": "rent"}'
Automation Workflows (N8N / Zapier / Make)
- Trigger: Schedule or webhook
- HTTP Request: Call the actor API with your prefecture/section
- Process: Handle the returned JSON listings
- Action: Save to a sheet, database, or alert on new comparables
📊 Performance & Pricing
FREE Tier (Try It Now)
- 25 listings per run — full feature access, same quality data
- No credit card required
- Perfect for testing a prefecture before scaling up
PAID Tier (Production Ready)
- Unlimited listings per run, across all 47 prefectures
- Pay-per-result: only charged for listings actually extracted
💰 Overview rows extract in seconds — a full Tokyo rent page returns 90+ per-room listings in a single fetch.
❓ Frequently Asked Questions
Q: How many listings can I process? A: FREE tier: 25 per run. PAID tier: unlimited.
Q: Do I need a SUUMO account or API key? A: No — the actor reads suumo.jp's public search and listing pages directly.
Q: Can I use my own saved SUUMO search filters? A: Yes — paste the search URL from your browser's address bar and every filter is preserved.
Q: Rent or sale — which should I use? A: Rent (賃貸) has the fullest coverage. Sale sections (used/new mansion, used/new house) use a different card layout and are supported, but rent is recommended for the widest results.
Q: What output formats are available? A: JSON, CSV, Excel — export directly from the Apify dataset.
Q: How current is the data? A: Every run fetches suumo.jp live — there's no caching or stale snapshot.
Q: Does it work outside Japan? A: Yes — the actor runs from Apify's cloud infrastructure and requires no Japan-based access.
🐛 Troubleshooting
No results for my prefecture/section combination
- Some property types (
used_house,new_house) have thinner coverage thanrentin certain prefectures — tryrentor widen withbySearchUrl. - Confirm the prefecture name is spelled in lowercase English (
tokyo, notTokyoor東京).
Detail mode returns fewer rows than Overview
- Detail mode fetches one additional page per listing — a small number of pages can fail to resolve on any given run. Failed fetches are skipped, not fatal, and are reported in the run log.
My search URL isn't returning the filters I expect
- Only whitelisted SUUMO query parameters are preserved. Rebuild the search on suumo.jp with your filters, then copy the URL fresh from the address bar.
⚖️ Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the site publishes publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
🤝 Support
Join our active support community
- For issues or questions, open an issue in the actor's repository
- Check SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools