# at home 日本房产 Japan Rent Market — Rent & Deposit by Area (`jpmarketdata/athome-rent-market-cn`) Actor

日本租房与日本房产投资必备：输入区域，一次调用即可拿到 at home（アットホーム，日本三大房产门户之一）该区域的租金行情——租金分位数、管理费、每月实付总额、押金（敷金）与礼金实况、户型排行与每平方米租金。每项统计都注明样本量，总房源数宁可返回 null 也不猜测。Japanese rent, fee and deposit stats per area, from $0.02, no subscription.

- **URL**: https://apify.com/jpmarketdata/athome-rent-market-cn.md
- **Developed by:** [h ichi](https://apify.com/jpmarketdata) (community)
- **Categories:** Real estate, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $20.00 / 1,000 area analyzeds

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 web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Japan Rent Market by Area — at home Rent, Fee & Deposit Stats (Chinese)

**中文 · English · 日本語** — 日本三大房产门户之一 at home（アットホーム）的租金行情，每个区域一条汇总记录。

***

### 中文说明

#### 这是给谁用的（Who this is for）

给**在日租房的华人、日本房产投资者、跨境房产中介与做日本市场研究的人**用的。

日本的房源页面从来不告诉你「住这里一个月到底要花多少钱」：**租金和管理费（管理費・共益費）永远分开写**，押金（敷金）和礼金另算，面积单价要自己除。这个 Actor 读 [at home](https://www.athome.co.jp/)（アットホーム，与 SUUMO、HOME'S 并列的日本三大房产门户之一），把一个区域的租房行情算成一条可以直接引用的记录，并且把上面那三个数字替你算好：**每月实付总额**、**入住时的一次性成本**、**每平方米的价格**。

一句话：**先看这个区域的真实租金分布，再谈房子。**

#### 概览 Overview

每个区域返回一条紧凑记录：

- **`rentJpy`** —— 租金（賃料）的最低 / p25 / 中位数 / p75 / 最高 / 平均（日元）
- **`managementFeeJpy`** 与 **`totalMonthlyJpy`** —— 管理费在日本所有门户上都与租金分开标注，因此**广告上的租金从来不是你实际要付的钱**。`totalMonthlyJpy` 先按每间房算出「租金＋管理费」，再做汇总
- **`depositMonths` / `keyMoneyMonths`** —— 这个区域的押金（敷金）与礼金实况，按 `none` / `one` / `two` / `other` 个月分箱，另附 **`noDepositNoKeyMoneyShare`**：**押金礼金全免**的房源占比，也就是租客真正在比较的入住成本
- **`floorPlanTop`** —— 户型排行前 10（1K、1LDK、2LDK……）及各自套数
- **`floorAreaSqm`** 与 **`rentPerSqmJpy`** —— 面积分布与每平方米租金，后者是**唯一能诚实地把两个区域放在一起比**的数字
- **`sampledRooms` / `sampledBuildings`** —— 一栋楼常有多间空房，房间数与楼栋数分开统计
- 可选：把每一间取样房源单独输出

不登录、不需要 API key、不用浏览器，两次运行之间不存任何东西。

#### 输入 Input

| 字段 | 示例 | 说明 |
|---|---|---|
| `areas` | `["tokyo"]` | at home 的区域路径，即 `https://www.athome.co.jp/chintai/<area>/list/` 中 `/chintai/` 与 `/list/` 之间的那一段。可以更细，如 `tokyo/shibuya-city`；直接粘贴完整列表页链接也会自动归一化。**每次运行最多 10 个区域**，每个区域都是独立计费单位，**$0.02/区域** |
| `pagesPerArea` | `3` | 每个区域抓取的列表页数，1–8。一页约 **150 间房**（约 130 栋楼），因此默认的 3 页约等于每个区域 450 间的样本 |
| `includeIndividualItems` | `false` | 默认关闭。开启后把每一间取样房源也单独输出，**+$0.002/间** |

```json
{
  "areas": ["tokyo"],
  "pagesPerArea": 3,
  "includeIndividualItems": false
}
```

常用区域路径：东京都 = `tokyo`／大阪府 = `osaka`／神奈川县 = `kanagawa`／京都府 = `kyoto`／福冈县 = `fukuoka`／涩谷区 = `tokyo/shibuya-city`／新宿区 = `tokyo/shinjuku-city`。

#### 输出 Output

每个区域一条 `area_summary`（下面是**结构示例**，数值仅供说明）：

```json
{
  "type": "area_summary",
  "area": "tokyo",
  "areaUrl": "https://www.athome.co.jp/chintai/tokyo/list/",
  "totalListingsFound": null,
  "sampledRooms": 465,
  "sampledBuildings": 381,
  "pagesFetched": 3,
  "rentJpy": {"min": 45000, "p25": 82000, "median": 118000, "p75": 189000, "max": 980000, "average": 152300},
  "rentJpyP10P90": {"p10": 65000, "p90": 320000},
  "managementFeeJpy": {"min": 0, "p25": 0, "median": 5000, "p75": 10000, "max": 30000, "average": 6200},
  "managementFeeKnown": 441,
  "totalMonthlyJpy": {"min": 47000, "p25": 88000, "median": 124000, "p75": 197000, "max": 995000, "average": 158500},
  "totalMonthlyKnown": 441,
  "floorAreaSqm": {"min": 12.4, "p25": 25.3, "median": 40.15, "p75": 62.08, "max": 210.5, "average": 46.72},
  "floorAreaKnown": 402,
  "rentPerSqmJpy": {"min": 1980, "p25": 2870, "median": 3310, "p75": 3960, "max": 9800, "average": 3480},
  "rentPerSqmKnown": 402,
  "floorPlanTop": [["1K", 121], ["1LDK", 98], ["2LDK", 74], ["1DK", 41]],
  "depositMonths": {"none": 180, "one": 210, "two": 61, "other": 14},
  "keyMoneyMonths": {"none": 205, "one": 198, "two": 48, "other": 14},
  "roomsWithDepositAndKeyMoneyKnown": 465,
  "noDepositNoKeyMoneyRooms": 96,
  "noDepositNoKeyMoneyShare": 0.2065,
  "medianRoomsPerBuilding": 1,
  "samplingOrder": "site_default",
  "samplingOrderNote": "Rooms are sampled in at home's own default listing order across pagesPerArea pages; that order was not verified to be neutral.",
  "checkedAt": "2026-07-27T09:00:00+00:00",
  "sourceUrl": "https://www.athome.co.jp/chintai/tokyo/list/"
}
```

开启 `includeIndividualItems: true` 后，还会逐间输出：

```json
{
  "type": "room",
  "area": "tokyo",
  "buildingIndex": 12,
  "roomNumber": "301 3階",
  "rentJpy": 160000,
  "managementFeeJpy": 0,
  "depositRaw": "なし",
  "keyMoneyRaw": "1ヶ月",
  "floorPlan": "1LDK",
  "floorAreaSqm": 48.23,
  "rentPerSqmJpy": 3317
}
```

`buildingIndex` 把同一栋楼的房间归到一起，所以你分得清「40 栋楼各空 1 间」和「1 栋楼空了 40 间」（`medianRoomsPerBuilding` 直接告诉你结果）。

#### 每项统计都注明它是在多少间房上算出来的

不是每条房源都公开每个字段。凡是只在「有该项数据的房源」上计算的统计，都**自带分母**，绝不借用 `sampledRooms`：

| 统计 | 它的分母 | 含义 |
|---|---|---|
| `rentJpy`、`rentJpyP10P90`、`floorPlanTop`、`depositMonths`、`keyMoneyMonths` | `sampledRooms` | 全部取样房间（读不出租金的行不算房间） |
| `managementFeeJpy` | `managementFeeKnown` | 能读出管理费的房间（「―」／「なし」计为真实的 ¥0） |
| `totalMonthlyJpy` | `totalMonthlyKnown` | 租金与管理费**都**已知的房间 |
| `floorAreaSqm` | `floorAreaKnown` | 标注了使用面积的房间 |
| `rentPerSqmJpy` | `rentPerSqmKnown` | 同时有租金与面积的房间 |
| `noDepositNoKeyMoneyShare` | `roomsWithDepositAndKeyMoneyKnown` | 敷金与礼金都能读出的房间 |

所以 `rentPerSqmJpy.median` 配 `rentPerSqmKnown: 402`（而 `sampledRooms: 465`）表示：这是那 402 间的中位数，**绝不会被写成好像覆盖了全部 465 间**。

#### 价格 Pricing —— 每个区域 $0.02 起，无订阅

| 计费事件 | 价格 | 何时计费 |
|---|---|---|
| 区域行情汇总（`area-analyzed`，主事件） | **$0.02** | 每分析一个区域 |
| 逐间房记录（`room-scraped`） | **$0.002** | 仅在开启「输出逐间房明细」时 |

默认运行（1 个区域、3 页、只要汇总）**$0.02**。逐间明细**默认关闭**，因此费用是可预测的：在 3 页的区域上开启，大约会增加 450 × $0.002。

**没有返回任何房源的区域不计费。**

#### 注意事项 Notes & limits

- **`totalListingsFound` 恒为 `null`，这是刻意的。** at home 的列表页上塞满了各种筛选项的计数（按区、按沿线、按租金带），页面上任何一个「…件」都不能被信任为你这次查询的总数。**把一个筛选项计数当成市场规模发布出去，比什么都不发布更糟**，所以本 Actor 只报告它真正读到的东西：`sampledRooms` 与 `sampledBuildings`
- **`samplingOrder: "site_default"`。** 采样使用 at home 自己的默认排序，而**该排序是否中立并未得到验证**（门户网站普遍把推广房源排在前面）。正因如此，采样才跨 `pagesPerArea` 页展开而不是只读第一页——并且这句但书是**跟着每条记录走的**，而不是只写在文档里
- **管理费为 `0` 表示页面明确写了「―」或「なし」**（无管理费），`null` 才是读不出来。`totalMonthlyJpy` 只在两部分都已知时才计算
- `floorAreaSqm` 与其他统计共用同一个统计工具，四分位会取整；`min` 与 `max` 保留网站自己的小数
- 押金／礼金采用分箱而非求平均：网站有时用月数、有时用日元标注，因此 `other` 收纳一切不是 0、1、2 个月的写法。`depositRaw` / `keyMoneyRaw` 原样保留 at home 自己的措辞，不把任何东西藏在分箱后面
- 只读、请求节流（1.5 秒 1 个请求）、纯 HTTP 不用浏览器、256 MB。单次运行有 95 秒的软预算，两个层级都受它保护：中途超时的区域会带上 `truncatedForTimeLimit: true` 和更小的 `pagesFetched` 返回已有内容而不是失败；预算用尽后不再开始**新的**区域——未开始的区域会在运行日志中列名，且**不计费**。`areas` 上限 10 个也是同一个原因
- **第 1 页 0 条的区域会判定该区域失败**，而不是返回一份空汇总——对有效区域 at home 一定会返回房源，所以第一页为空意味着区域路径写错了、页面改版了或者请求被拦截了。同一次运行的其他区域继续；**所有**区域都失败才算整次运行失败
- **第 2 页及以后为 0 条只是这个区域到头了**，此时保留已抓到的全部房间：小区域的房源可能不足 `pagesPerArea` 页，`pagesFetched` 会记录真正带回房间的页数。给一个只有一页的区域要 3 页是正常输入，不是错误
- **不涉及个人信息。** 只解析并输出房源属性，**经纪人姓名、电话与联系方式一概不读取**
- 数据是**挂牌租金而非成交租金**：门户上的是广告价，同一栋楼也可能出现在多个区域里

#### 用途 Use cases

- **搬迁与在日预算** —— 这个区一个 1LDK 每月到底要多少，连押金礼金实况一起看
- **投资与房东定价** —— 用当地的 ¥/m² 中位数定挂牌租金，而不是凭感觉
- **跨门户交叉验证** —— 与 SUUMO 同区域的读数互为独立第二来源
- **时间序列** —— 定时运行，跟踪各区域的租金中位数与「押金礼金全免」占比随时间的变化

***

### English

#### Overview

**What does it actually cost to rent here?** One call per area answers it with the rent distribution of [at home](https://www.athome.co.jp/) (アットホーム — one of Japan's three big property portals, alongside SUUMO and HOME'S), plus the three numbers listing sites make you compute yourself: the **total monthly outlay**, the **move-in terms**, and the **price of a square metre**.

This listing is the **Chinese-language package** of our English Actor [at home Japan Rent Market](https://apify.com/jpmarketdata/athome-rent-market-checker). The scraping and statistics are the same; the documentation, store copy and input labels are written for Chinese-speaking readers (日本租房 / 日本房产).

One compact record per area: `rentJpy`, `managementFeeJpy`, `totalMonthlyJpy`, `depositMonths` / `keyMoneyMonths` with `noDepositNoKeyMoneyShare`, `floorPlanTop`, `floorAreaSqm`, `rentPerSqmJpy`, and both `sampledRooms` and `sampledBuildings`. No login, no API key, no browser.

#### Input

| Field | Example | Notes |
|---|---|---|
| `areas` | `["tokyo"]` | The at home area path — the part between `/chintai/` and `/list/`. A narrower path such as `tokyo/shibuya-city` works, and a full list URL is accepted and normalised. **Up to 10 areas per run**, each a separate billable unit at **$0.02 per area** |
| `pagesPerArea` | `3` | List pages per area, 1–8. One page holds roughly **150 rooms** (~130 buildings) |
| `includeIndividualItems` | `false` | Off by default. Enable to also get every sampled room as a record, **+$0.002 per room** |

#### Output

One `area_summary` per area — see the JSON example in the Chinese section — plus, with `includeIndividualItems: true`, one `room` record per sampled room. **Every statistic states how many rooms it was computed on** (`managementFeeKnown`, `totalMonthlyKnown`, `floorAreaKnown`, `rentPerSqmKnown`, `roomsWithDepositAndKeyMoneyKnown`), so a partial-coverage statistic never borrows `sampledRooms` as its denominator.

#### Pricing

| Event | Price | When |
|---|---|---|
| Area market summary (`area-analyzed`, primary event) | **$0.02** | Once per area analyzed |
| Individual room record (`room-scraped`) | **$0.002** | Only if you enable **Include individual rooms** |

A default run (1 area, 3 pages, summary only) costs **$0.02**. **An area that returns no room is never charged.** No subscription.

#### Notes & limits

- **`totalListingsFound` is always `null` — on purpose.** at home's list page is full of facet counts, so no 「…件」 on the page can be trusted as the total for your query. Publishing a facet count as the market size would be worse than publishing nothing
- **`samplingOrder: "site_default"`** — the site's default order was **not verified to be neutral**, which is why sampling spreads across `pagesPerArea` pages and the caveat travels inside every record
- A management fee of `0` means the listing says 「―」 or 「なし」; `null` means it could not be read. Deposit / key money is binned, not averaged, and `depositRaw` / `keyMoneyRaw` keep at home's own wording
- Read-only and throttled (1 request / 1.5 s), HTTP only, 256 MB, with a 95-second soft budget: a truncated area returns what it has with `truncatedForTimeLimit: true`, and areas that were never started are named in the log and never charged
- **Page 1 with zero room rows fails that area**; an empty page 2 or later simply ends that area and keeps every room already collected
- **No personal data**: agent names, phone numbers and contact details are never read. Rent asks, not signed leases

***

### 日本語

#### 概要 Overview

**アットホーム（www.athome.co.jp）の賃貸相場を、エリア1件につき1レコードで返す Actor です。** 中国語圏の読者（在日華人・日本の不動産に投資する層）向けに、中国語で書き直したパッケージです（英語版は [at home Japan Rent Market](https://apify.com/jpmarketdata/athome-rent-market-checker)、取得・統計処理は同一）。

エリアごとに **賃料の分布（最小・p25・中央値・p75・最大・平均）** に加えて、**管理費の分布**と**月額総額（賃料＋管理費）**、**敷金・礼金の実態**（0ヶ月／1ヶ月／2ヶ月／その他の件数と、「敷金・礼金どちらも不要」の割合）、**間取り内訳（上位10）**、**専有面積の分布**、**㎡単価（円/m²）** を返します。建物1件に複数の空室がぶら下がるため、`sampledRooms`（部屋数）と `sampledBuildings`（建物数）を分けて報告します。

#### 入力 Input

`areas`（`https://www.athome.co.jp/chintai/<area>/list/` の `<area>` 部分。**1回の実行につき最大10件**）／`pagesPerArea`（既定 3、1〜8。1ページ約150部屋）／`includeIndividualItems`（**既定 OFF**）。

#### 出力 Output

エリアごとに `area_summary` を1件。`includeIndividualItems` が ON のときは部屋ごとの `room` レコードも出力します。**統計ごとの母数を明示**しており、管理費・月額総額・専有面積・㎡単価は `managementFeeKnown` / `totalMonthlyKnown` / `floorAreaKnown` / `rentPerSqmKnown` を併記します（`sampledRooms` を母数と誤読させないため）。

#### 料金 Pricing

エリアサマリー1件 **$0.02**（`area-analyzed`）／個別の部屋レコード **$0.002 / 件**（`room-scraped`。既定 OFF なので既定実行は $0.02 固定）。**0件のエリアには課金されません。** サブスクリプション不要です。

#### 注意 Notes

**総件数は返しません（`totalListingsFound: null`）**: 一覧ページには絞り込み条件ごとの件数が大量に並ぶため、ページ上の「…件」を検索結果の総数として信用できません（推測値を出すよりも null を返す方針）。**並び順**はサイト既定（`samplingOrder: "site_default"`）で、**中立である保証は未確認**のため複数ページに跨ってサンプリングし、但し書きを全レコードに含めています。管理費の `0` は「―／なし」の明示、`null` は読み取り不可です。掲載は募集価格であり成約価格ではありません。**担当者名・電話番号などの個人情報は一切取得・出力しません。** 1.5秒間隔のリクエスト、HTTPのみ（ブラウザ不使用）、95秒のソフト上限を超えた場合は `truncatedForTimeLimit: true` を付けて取得済みの分を返し、未着手のエリアはログに明記のうえスキップします（課金されません）。**1ページ目が0件のエリアはエラー**ですが、**2ページ目以降が0件の場合は物件が尽きただけ**なので、そこで打ち切って取得済みの分を返します。

# Actor input Schema

## `areas` (type: `array`):

一个或多个 at home 区域路径，即 https://www.athome.co.jp/chintai/<area>/list/ 中 /chintai/ 与 /list/ 之间的那一段——例如 'tokyo'、'osaka'、'kanagawa'，也可以更细到 'tokyo/shibuya-city'。直接粘贴完整的 https://www.athome.co.jp/chintai/.../list/ 链接也可以，会自动归一化。每个区域都是独立计费单位（$0.02），并按顺序逐个抓取；每次运行最多 10 个区域，以保证在时限内跑完，更多请分几次调用。Each area is a separate billable unit at $0.02; up to 10 areas per run.

## `pagesPerArea` (type: `integer`):

每个区域取样多少个列表页。一页约 150 间房（约 130 栋楼），因此默认的 3 页约等于每个区域 450 间的样本。页数越多样本越广、耗时越长——页间隔 1.5 秒，且单次运行的 95 秒预算用尽后就不再加页（此时汇总会标记 truncatedForTimeLimit）。How many list pages to sample per area.

## `includeIndividualItems` (type: `boolean`):

默认关闭：一次运行每个区域汇总固定 $0.02。开启后还会把每一间取样房源单独输出（房号、租金、管理费、押金、礼金、户型、使用面积、每平方米租金），费用 +$0.002/间。按默认 3 页算，每个区域约 450 间。Off by default: a run costs a flat $0.02 per area summary.

## Actor input object example

```json
{
  "areas": [
    "tokyo"
  ],
  "pagesPerArea": 3,
  "includeIndividualItems": 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 = {
    "areas": [
        "tokyo"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("jpmarketdata/athome-rent-market-cn").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 = { "areas": ["tokyo"] }

# Run the Actor and wait for it to finish
run = client.actor("jpmarketdata/athome-rent-market-cn").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 '{
  "areas": [
    "tokyo"
  ]
}' |
apify call jpmarketdata/athome-rent-market-cn --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=jpmarketdata/athome-rent-market-cn",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/7FBvyx4bMPwJVFNZc/builds/fQb7V0xlVRueUZg1v/openapi.json
