# SUUMO Japan Rentals Scraper — Apartments, Rent & Details (`youfuxu/suumo-japan-rentals-scraper`) Actor

Scrape rental listings from SUUMO, Japan's largest property site. Get rent, deposit, layout, size, address, station access and full details as clean JSON.

- **URL**: https://apify.com/youfuxu/suumo-japan-rentals-scraper.md
- **Developed by:** [Youfu Xu](https://apify.com/youfuxu) (community)
- **Categories:** Real estate, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## SUUMO Japan Rentals Scraper — apartments, rent & full details

Extract rental listings from **[SUUMO](https://suumo.jp/chintai/)**, Japan's largest real-estate portal (70,000+ rentals in Tokyo alone). Get rent, deposit, key money, layout, size, address, station access and full property details as clean JSON — no login, no browser, no proxies to configure.

### What you get

Run it with the default input and you'll receive rooms like this in seconds:

```json
{
  "buildingName": "ザ・パークハウス代々木大山レジデンス",
  "category": "賃貸マンション",
  "address": "東京都渋谷区大山町",
  "nearestStation": "小田急線/代々木上原駅 歩7分",
  "access": ["小田急線/代々木上原駅 歩7分", "京王井の頭線/池ノ上駅 歩12分"],
  "buildingAge": "築3年",
  "floor": "5階",
  "rentYen": 590000,
  "adminFeeYen": 20000,
  "depositYen": 590000,
  "gratuityYen": 590000,
  "layout": "2LDK",
  "areaSqm": 87.96,
  "detailUrl": "https://suumo.jp/chintai/jnc_000108449314/"
}
````

Every price is parsed into a **numeric yen value** (`rentYen`, `depositYen`, `gratuityYen`, `adminFeeYen`) so you can sort and filter directly — no wrestling with `万円` strings. Each **room is one row**, carrying its building's name, address and station access.

Enable **full property details** to also get structure, build date, parking, move-in date, contract period, guarantee company, extra fees, remarks and photo URLs.

### Who uses this

- **Real-estate & proptech** — build rent indexes, price-per-m² analysis, or a rental search product for the Japanese market
- **Investors & agencies** — monitor new listings, deposit/key-money norms by ward, yield research for foreign buyers entering Japan
- **Relocation & concierge services** — feed fresh listings to clients moving to Tokyo/Osaka
- **Researchers** — housing-cost and urban studies with real, current data

### How to use

1. Open **[suumo.jp/chintai](https://suumo.jp/chintai/)** and apply your filters — area, rent range, layout, walk-to-station, etc.
2. Copy the **results-page URL** and paste it into **SUUMO search URLs** (you can add several).
3. Set **Max rooms** (default 100).
4. Optionally enable **full property details**.
5. Run, then download from the **Dataset** tab as JSON / CSV / Excel, or fetch via API.

Leave the URL empty and it runs a working default (Tokyo rentals) so you can try it in one click.

### Pricing model

You pay per result — a small fee for each room returned. A 500-room export costs less than a coffee. No subscription to this Actor beyond your Apify plan.

### FAQ

**How do I search a specific area or budget?**
SUUMO encodes every filter in the URL. Just filter on the SUUMO site itself, then paste the resulting URL — whatever you searched for is what you get.

**What does one row represent?**
One rentable room/unit. A single building often lists several rooms; each becomes its own row with the shared building info attached.

**How fresh is the data?**
Live. Every run queries SUUMO in real time.

**Does it handle multiple pages?**
Yes — it follows SUUMO's "次へ" (next) pagination automatically until it reaches your Max rooms limit.

**Is this legal?**
The Actor collects only publicly visible listing data, the same information any visitor sees. It does not log in or access private data. You are responsible for complying with SUUMO's terms and applicable laws when using the data.

**Something broke?**
SUUMO occasionally changes its markup. Open an issue on this Actor's page and it will typically be fixed within 24 hours.

### Related

Need other Japan / East-Asia data? Check my profile — Taiwan job boards are already live, and Japan resale marketplaces are on the roadmap.

# Actor input Schema

## `startUrls` (type: `array`):

One or more SUUMO rental search-result (ichiran) URLs. Open <a href='https://suumo.jp/chintai/'>suumo.jp/chintai</a>, apply your filters (area, rent, layout…), copy the results-page URL and paste it here. Leave empty to use the default (Tokyo rentals).

## `maxItems` (type: `integer`):

Maximum number of rooms (units) to return across all pages. Each building can contain several rooms; every room is one output row.

## `includeDetails` (type: `boolean`):

If enabled, the scraper opens each room's detail page to add structure, build date, parking, move-in date, contract terms, guarantee company, extra fees, remarks and photo URLs. Much richer, but slower (one extra request per room).

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://suumo.jp/jj/chintai/ichiran/FR301FC001/?ar=030&bs=040&ta=13&sc=13113&po1=25&pc=50"
    }
  ],
  "maxItems": 100,
  "includeDetails": false
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://suumo.jp/jj/chintai/ichiran/FR301FC001/?ar=030&bs=040&ta=13&sc=13113&po1=25&pc=50"
        }
    ],
    "maxItems": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("youfuxu/suumo-japan-rentals-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [{ "url": "https://suumo.jp/jj/chintai/ichiran/FR301FC001/?ar=030&bs=040&ta=13&sc=13113&po1=25&pc=50" }],
    "maxItems": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("youfuxu/suumo-japan-rentals-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://suumo.jp/jj/chintai/ichiran/FR301FC001/?ar=030&bs=040&ta=13&sc=13113&po1=25&pc=50"
    }
  ],
  "maxItems": 100
}' |
apify call youfuxu/suumo-japan-rentals-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=youfuxu/suumo-japan-rentals-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "SUUMO Japan Rentals Scraper — Apartments, Rent & Details",
        "description": "Scrape rental listings from SUUMO, Japan's largest property site. Get rent, deposit, layout, size, address, station access and full details as clean JSON.",
        "version": "1.0",
        "x-build-id": "JNOEbje9mIlitlTyC"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/youfuxu~suumo-japan-rentals-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-youfuxu-suumo-japan-rentals-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/youfuxu~suumo-japan-rentals-scraper/runs": {
            "post": {
                "operationId": "runs-sync-youfuxu-suumo-japan-rentals-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/youfuxu~suumo-japan-rentals-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-youfuxu-suumo-japan-rentals-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "startUrls": {
                        "title": "SUUMO search URLs",
                        "type": "array",
                        "description": "One or more SUUMO rental search-result (ichiran) URLs. Open <a href='https://suumo.jp/chintai/'>suumo.jp/chintai</a>, apply your filters (area, rent, layout…), copy the results-page URL and paste it here. Leave empty to use the default (Tokyo rentals).",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxItems": {
                        "title": "Max rooms",
                        "minimum": 1,
                        "maximum": 20000,
                        "type": "integer",
                        "description": "Maximum number of rooms (units) to return across all pages. Each building can contain several rooms; every room is one output row.",
                        "default": 100
                    },
                    "includeDetails": {
                        "title": "Include full property details",
                        "type": "boolean",
                        "description": "If enabled, the scraper opens each room's detail page to add structure, build date, parking, move-in date, contract terms, guarantee company, extra fees, remarks and photo URLs. Much richer, but slower (one extra request per room).",
                        "default": false
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
