goo Housing Scraper — Japan Property Data & API
Pricing
from $3.00 / 1,000 overview listing extracteds
goo Housing Scraper — Japan Property Data & API
goo housing scraper & real estate data API for house.goo.ne.jp (NTT goo 住宅・不動産). Rent & sale listings: price, layout, area, floor, deposit, key money, building age, structure, station access, photos — clean JSON/CSV, one row per unit. Fast overview or full detail. No account needed.
Pricing
from $3.00 / 1,000 overview listing extracteds
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 hours ago
Last modified
Categories
Share
goo Housing Scraper — Japan Property Data & API 🏯
🎉 Turn Japan's goo 住宅・不動産 portal into clean, structured data — one row per unit, ready for analysis
For real-estate analysts, investors, relocation agents, and data teams working the Japanese rental & sale market
📋 Overview
Need Japanese rental and sale listings as clean data instead of endless scrolling? This scraper turns house.goo.ne.jp search results into structured JSON/CSV — one clean record per listing, with prices normalised to JPY, layout, area, deposit, key money, station access and photos.
Why analysts and agencies choose us:
- ✅ One clean row per unit — every result card becomes a structured record, no nested mess
- ⚡ Fast & lightweight — direct extraction, no slow headless browser, no proxy overhead
- 🎯 40+ data points — price (normalised to JPY), 万円 raw text, layout, area, floor, deposit, key money, building age & structure, station access, photos
- 📡 Source provenance — surfaces the origin-portal listing id, so you can trace each aggregated listing back to its feed
- 💴 Pay-per-result — only pay for listings you actually receive — transparent and cheap
- 💎 Two depths — fast overview for whole-market sweeps, full detail for the spec table (structure, year built, orientation, guarantor company, agent, facility flags, equipment)
- ✨ Three ways in — by pasted goo search URL (keeps every filter), by area (region + prefecture + city codes), or by listing URL
✨ Features
- 🏢 Listings, done right — clean per-unit records from the result list
- 💴 Money normalised —
6.10万円becomes61000JPY and keeps the original string - 📐 Price-per-m² built in — yield and comparison math ready out of the box
- 🚉 Station access — every line + station + walk-minute captured
- 🔎 Detail enrichment — building structure, year built, orientation, contract terms, guarantor company, agent, facility flags, equipment, full photo set
- 📡 Feed provenance — the 情報提供元 source-portal id on every detail record
- 🔗 Paste-a-URL mode — apply filters in goo's UI, paste the link, every supported filter is preserved
- 📦 Clean exports — JSON, CSV, Excel straight from the dataset
- 🌐 Optional Japan proxy — off by default, available as a one-click escape hatch
🎬 Quick Start
Pick a mode, give it a goo search URL (or an area), and run. Listings stream into your dataset as clean rows. Export as JSON, CSV, or Excel.
curl -X POST https://api.apify.com/v2/acts/sian.agency~goo-housing-property-scraper/runs?token=YOUR_TOKEN \-H 'Content-Type: application/json' \-d '{"scrapeMode": "overview", "searchMode": "bySearchUrl", "searchUrls": ["https://house.goo.ne.jp/rent/shuto_ap/area_tokyo/13106.html"]}'
🚀 Getting Started (3 Simple Steps)
Step 1: Choose your input
Paste a goo result-list URL, give a region + prefecture + city codes, or list specific listing URLs.
Step 2: Pick depth
overview for fast whole-market unit cards, or detail for the full spec table.
Step 3: Run & export
Start the run and download your results as JSON, CSV, or Excel.
That's it! In under a minute, you'll have:
- A clean, per-unit dataset
- Prices normalised to JPY plus the raw 万円 strings
- Layout, area, floor, deposit, station access, and photos
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| scrapeMode | string | No | overview (fast unit cards) or detail (full spec table) |
| searchMode | string | No | bySearchUrl, byArea, or byListingUrl |
| searchUrls | array | No | Pasted goo result-list URLs (filters preserved) |
| region | string | No | Region segment, e.g. shuto (byArea) |
| pref | string | No | Prefecture slug, e.g. tokyo (byArea) |
| cityCodes | array | No | JIS municipal codes, e.g. ["13106"] (byArea) |
| vertical | string | No | goo vertical, e.g. ap (rent apartment) |
| contract | string | No | rent or buy |
| listingUrls | array | No | goo detail URLs (detail mode) |
| maxResults | integer | No | Max listings per run (FREE: 25, PAID: unlimited) |
Example — overview by search URL:
{"scrapeMode": "overview","searchMode": "bySearchUrl","searchUrls": ["https://house.goo.ne.jp/rent/shuto_ap/area_tokyo/13106.html"],"maxResults": 200}
Example — detail by area:
{"scrapeMode": "detail","searchMode": "byArea","region": "shuto","pref": "tokyo","cityCodes": ["13106"]}
📤 Output
Results are saved to the Apify dataset with 40+ fields per listing, including:
| Field | Type | Description |
|---|---|---|
| listingId | string | Stable goo listing id |
| url | string | Canonical listing URL |
| provider_id / data_source | string | Origin-portal listing id + source label |
| price | number | Rent/sale price in JPY |
| price_formatted | string | Raw 6.10万円 string |
| price_per_sqm_jpy | number | Computed price per m² |
| layout | string | 間取り, e.g. 1K, 2LDK |
| area_m2 | number | 専有面積 in m² |
| floor | string | Unit floor |
| deposit / key_money | string | 敷金 / 礼金 |
| building_age / built_date / building_structure | string | Age / 築年月 / structure |
| transit | array | Line + station + walk-time |
| address | string | 所在地 |
| images | array | Photo URLs |
| orientation / guarantor_company / agent / equipment | string/array | Detail-mode spec fields |
Example:
{"listingId": "030H100512562756_149891008","url": "https://house.goo.ne.jp/rent/ap/detail/1/13106/030H100512562756/149891008/x1030H100512562756.html","propertyTitle": "SMD下田ビル","data_source": "SUUMO[030H100512562756]","price": 61000,"price_formatted": "6.10万円","price_per_sqm_jpy": 3320,"layout": "1K","area_m2": 18.37,"building_structure": "RC","mgmt_fee": 6000,"address": "東京都台東区根岸1","transit": ["JR山手線 鶯谷駅 徒歩1分"],"orientation": "南西","image_count": 30}
💼 Use Cases & Examples
1. Rental Market Research
Analysts mapping rent-by-area across a prefecture. Input: a goo result-list URL · Output: per-unit dataset with price & m² · Use: build a rent heatmap by ward and station.
2. Property Investment Analysis
Investors comparing yields across buildings. Input: a filtered goo search URL · Output: price-per-m² on every unit · Use: rank candidate buildings by gross yield.
3. Relocation & Tenant Search
Relocation agents shortlisting homes for clients. Input: area + layout/budget filters · Output: clean rows with deposit, key money, station walk-time · Use: hand clients a tidy comparison sheet.
4. Real-Estate Lead Generation
Agencies building prospect lists of active listings. Input: broad search by area · Output: building, address, layout, agent-contact records · Use: feed CRM pipelines.
5. Price & Trend Monitoring
Data teams tracking rent movements over time. Input: scheduled runs on the same search · Output: snapshots to diff week-over-week · Use: detect price changes and new inventory.
6. Academic & Policy Research
Researchers studying Japanese housing markets. Input: multiple areas · Output: structured, reproducible datasets · Use: quantitative housing studies.
🔗 Integration Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/goo-housing-property-scraper').call({scrapeMode: 'overview', searchMode: 'bySearchUrl',searchUrls: ['https://house.goo.ne.jp/rent/shuto_ap/area_tokyo/13106.html']});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/goo-housing-property-scraper').call(run_input={'scrapeMode': 'overview', 'searchMode': 'bySearchUrl','searchUrls': ['https://house.goo.ne.jp/rent/shuto_ap/area_tokyo/13106.html']})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item)
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~goo-housing-property-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"scrapeMode": "overview", "searchMode": "bySearchUrl", "searchUrls": ["https://house.goo.ne.jp/rent/shuto_ap/area_tokyo/13106.html"]}'
Automation Workflows (N8N / Zapier / Make)
- Trigger: Schedule or webhook
- HTTP Request: Call the actor API
- Process: Handle the JSON results
- Action: Save to a sheet, notify, or sync to CRM
📊 Performance & Pricing
FREE Tier (Try It Now)
- 25 listings per run — full feature access, same quality
- No credit card required
- Perfect for testing and small projects
PAID Tier (Production Ready)
- Unlimited listings per run
- Pay-per-result: only charged for listings you actually receive
💴 Cheap by design — direct extraction with no proxy overhead keeps the per-listing price among the lowest for Japanese real-estate data.
❓ Frequently Asked Questions
Q: How many listings can I scrape? A: FREE tier: 25 per run. PAID tier: unlimited.
Q: Do I need an account or API key? A: No. Just provide a search URL or an area.
Q: What output formats are available? A: JSON, CSV, and Excel — export directly from the Apify dataset.
Q: Are GPS coordinates included? A: The listing pages do not expose latitude/longitude, so those fields are empty. Address and station access are included.
Q: What's the difference between overview and detail? A: Overview is the fast result-card data. Detail fetches each listing's full page for extra specs (structure, year built, orientation, guarantor company, agent, facility flags, equipment) and merges them in.
Q: What is the provider id / data source field? A: goo aggregates listings from partner portals. The detail record surfaces the origin-portal id (情報提供元), so you can trace and de-duplicate against the source feed.
🐛 Troubleshooting
No results returned
- Check that the pasted URL is a house.goo.ne.jp result-list page, or that region/prefecture/city codes are valid.
Fewer rows than expected
- FREE tier caps at 25 listings per run — upgrade for unlimited.
- Narrow filters in the goo UI may simply return fewer listings.
A specific listing failed in detail mode
- The listing may have expired or been delisted; the run continues and skips it.
⚖️ 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 user has chosen to share 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.
Disclaimer: This is an independent tool and is not affiliated with, endorsed by, or sponsored by goo, house.goo.ne.jp, or NTT Resonant / NTT Docomo. "goo" is a trademark of its respective owner. Use this actor in compliance with the site's terms of service and all applicable laws.
🤝 Support
Join our active support community
- For issues or questions, open an issue in the actor's repository
- Check the SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools