# SUUMO Scraper: Japan Rental Listings API in English (`housingfeed/suumo-scraper`) Actor

Scrape Japan rental listings from SUUMO as clean, normalized JSON in English — rent in JPY + USD, beds, address, and romanized city names. Filter by city, rent, and bedrooms. No login, structured output, ready for apps and analysis.

- **URL**: https://apify.com/housingfeed/suumo-scraper.md
- **Developed by:** [HousingFeed](https://apify.com/housingfeed) (community)
- **Categories:** Developer tools, Real estate
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$1.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.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.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/platform/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 Scraper: Japan Rental Listings API in English

Scrape SUUMO rental listings into clean, structured JSON. This actor pulls live rental data from SUUMO in Japan and returns it in one normalized schema you can filter, query, and export. No proxies, no browser setup, and no parsing code on your side.

SUUMO is Japanese-only; this actor returns its listings in English. City names are romanized (Kyoto, Sendai, Niigata and ~80 more municipalities), rents come in JPY plus a derived USD value, and the schema matches every other HousingFeed source.

Filter by city, rent, and bedrooms, and get back address, coordinates, rent (native currency and USD), beds, baths, square footage, property type, availability, and photos.

### What you get
- One schema for every listing, so there is no SUUMO-specific parsing to write.
- Rent in native currency plus a derived rent_usd for comparing across markets.
- Coordinates where the source provides them, plus city, state, and ZIP.
- Filters for city, rent range, bedroom range, and availability.
- Export to JSON, CSV, Excel, or XML, or call it as a REST API.
- No proxy or anti-bot setup to maintain.

### Fields
`address` · `city` · `state` · `zip` · `lat` · `lng` · `rent_min` · `rent_max` · `currency` · `rent_usd` · `beds` · `baths` · `sqft` · `property_type` · `available` · `image` · `url` · `scraped_at`

### Example output
```json
{
  "platform": "suumo",
  "url": "https://…",
  "address": "…",
  "city": "…",
  "rent_min": 1650,
  "currency": "…",
  "rent_usd": 1780,
  "beds": 2,
  "baths": 1,
  "property_type": "apartment",
  "available": "now",
  "image": "https://…/photo.jpg"
}
````

### Filters

| Field | What it does |
|---|---|
| `city` | City name, partial match |
| `minRent` / `maxRent` | Monthly rent range |
| `minBeds` / `maxBeds` | Bedroom range |
| `availableNow` | Only listings available now |
| `maxItems` | Cap the number of results (up to 5000) |

### Use the SUUMO API

Run it from the Apify UI, on a schedule, or via the REST API:

```bash
curl -X POST "https://api.apify.com/v2/acts/housingfeed~suumo-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" -d '{ "maxItems": 100 }'
```

### Examples

**Latest listings:**

```json
{ "maxItems": 100 }
```

**2+ bedrooms only:**

```json
{ "minBeds": 2, "maxItems": 200 }
```

**1-bed under 2,000:**

```json
{ "minBeds": 1, "maxRent": 2000, "maxItems": 500 }
```

### Who it is for

Proptech apps, real-estate investors, market researchers, and data or ML teams that need structured SUUMO rental data without building and maintaining a scraper.

### Need more than SUUMO?

This actor covers SUUMO. If you need multiple sources in one call, or more volume than a single run allows, use the HousingFeed API:

- Every source in one call: property-management platforms and portals across the US, UK, and Europe, in one schema.
- Bulk and full-database delivery to your S3 or GCS bucket on a custom cadence.
- Enrichment: geocoding, deduplication, currency normalization, and market-level rent stats.
- Reselling and white-label terms for data products.

Start with the unified [Rental Listings Scraper & Real Estate Data API](https://apify.com/housingfeed/rental-listings-api), or [get in touch](mailto:hello@housingfeed.com) for bulk access.

### FAQ

**Is it legal to scrape SUUMO?** This actor collects publicly available listing data that owners publish to be seen and syndicated. Review the site's terms and your own use case, and do not collect personal data unlawfully.

**How fresh is the SUUMO data?** Listings are refreshed on a schedule. Need a specific cadence, real-time, or a change-history feed? Get in touch.

**Can I get SUUMO data as an API?** Yes. The run-sync endpoint returns JSON inline, or you can schedule runs and pull results from the dataset.

**What export formats are supported?** JSON, CSV, Excel, or XML.

**Can I get bulk or full-database access?** Yes. Direct bulk delivery and reselling terms are available. Reach out at hello@housingfeed.com.

# Actor input Schema

## `city` (type: `string`):

City name, partial match. Blank = all.

## `minRent` (type: `integer`):

Minimum monthly rent (local currency).

## `maxRent` (type: `integer`):

Maximum monthly rent (local currency).

## `minBeds` (type: `integer`):

Minimum number of bedrooms.

## `maxBeds` (type: `integer`):

Maximum number of bedrooms.

## `availableNow` (type: `boolean`):

Only listings marked available now.

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

Maximum number of listings to return.

## Actor input object example

```json
{
  "city": "Kyoto",
  "availableNow": false,
  "maxItems": 100
}
```

# 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 = {
    "city": "Kyoto",
    "maxItems": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("housingfeed/suumo-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 = {
    "city": "Kyoto",
    "maxItems": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("housingfeed/suumo-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 '{
  "city": "Kyoto",
  "maxItems": 100
}' |
apify call housingfeed/suumo-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "SUUMO Scraper: Japan Rental Listings API in English",
        "description": "Scrape Japan rental listings from SUUMO as clean, normalized JSON in English — rent in JPY + USD, beds, address, and romanized city names. Filter by city, rent, and bedrooms. No login, structured output, ready for apps and analysis.",
        "version": "0.1",
        "x-build-id": "Wv92savbXjdCffcsa"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/housingfeed~suumo-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-housingfeed-suumo-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/housingfeed~suumo-scraper/runs": {
            "post": {
                "operationId": "runs-sync-housingfeed-suumo-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/housingfeed~suumo-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-housingfeed-suumo-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": {
                    "city": {
                        "title": "City",
                        "type": "string",
                        "description": "City name, partial match. Blank = all."
                    },
                    "minRent": {
                        "title": "Min rent",
                        "type": "integer",
                        "description": "Minimum monthly rent (local currency)."
                    },
                    "maxRent": {
                        "title": "Max rent",
                        "type": "integer",
                        "description": "Maximum monthly rent (local currency)."
                    },
                    "minBeds": {
                        "title": "Min bedrooms",
                        "type": "integer",
                        "description": "Minimum number of bedrooms."
                    },
                    "maxBeds": {
                        "title": "Max bedrooms",
                        "type": "integer",
                        "description": "Maximum number of bedrooms."
                    },
                    "availableNow": {
                        "title": "Available now only",
                        "type": "boolean",
                        "description": "Only listings marked available now.",
                        "default": false
                    },
                    "maxItems": {
                        "title": "Max results",
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Maximum number of listings to return.",
                        "default": 100
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
