Skip to content
Scrappa Get API key
SUUMO API 1 credit/request

SUUMO Sale Search API

GET https://scrappa.co/api/suumo/sale/search

Search properties for sale on SUUMO: used mansions (`used_mansion`, the default), new mansions (`new_mansion`), new houses (`new_house`) and used houses (`used_house`), by prefecture and city. Filter by price, area, land area (houses), walk time, building age and layout group, and sort by newest, price, area or build date. Each property type supports its own filters; an unsupported filter is rejected with a 422 and never ignored. Japanese text is returned as published, next to parsed numbers: `price_yen`, `area_m2`, `land_area_m2`, `building_area_m2`, `age_years` and `walk_min`. A project with a price range has `price_yen` (lowest) and `price_max_yen`. Price, area, age and layout filters are checked again on the parsed values, so a returned property never breaks a filter (`filtered_out` counts the properties removed from the page). The walk time filter matches any station, so the station shown on a result can have a longer walk: open the listing for all stations. `total` is the number of properties SUUMO counts for your search. It is returned only when it agrees with the page count and you sent no price or area bound, because those bounds are checked again here. New house results can include land with a building condition: it is skipped and counted in `land_listings_skipped`. Telephone numbers are not returned.

SUUMO Sale Search API 1 credit/request

Endpoint

Request preview
GET
https://scrappa.co/api/suumo/sale/search
Auth header
x-api-key
Cost
1 credit/request
prefecture = example
Response preview
200 OK
{
    "data": {
        "total": 292,
        "filters": {
            "cities": [
                "13104"
            ],
            "price_max": 50000000,
            "prefecture": "tokyo",
            "property_type": "used_mansion"
        },
        "listings": [
            {
                "id": "21987904",
...

Parameters

Start with the required fields, then add optional filters only when your use case needs them.

Runnable path

1 required parameter needed before sending a request.

14 optional filters available.

prefecture string Required

Prefecture as a lower-case English name: tokyo, osaka, kanagawa, hokkaido and so on (all 47).

Example value example
property_type string Optional

used_mansion (default), new_mansion, new_house or used_house. new_mansion supports price_min, price_max and paging only.

Example value example
city string Optional

One or more 5-digit city codes from the areas endpoint, separated by commas (maximum 10). Omit for the whole prefecture.

Example value example
price_min integer Optional

Minimum price in yen.

Example value 10
price_max integer Optional

Maximum price in yen. Must not be below price_min.

Example value 10
area_min number Optional

Minimum floor area (mansion) or building area (house) in square meters. Not for new_mansion.

Example value 10
area_max number Optional

Maximum floor area (mansion) or building area (house) in square meters. Not for new_mansion.

Example value 10
land_area_min number Optional

Minimum land area in square meters. Houses only.

Example value 10
land_area_max number Optional

Maximum land area in square meters. Houses only.

Example value 10
walk_max integer Optional

Maximum walking minutes to a station: 1, 3, 5, 7, 10, 15 or 20. Not for new_mansion.

Example value 10
age_max integer Optional

Maximum building age in years: 1, 3, 5, 10, 15, 20, 25 or 30. used_mansion only.

Example value 10
layouts string Optional

Room-count groups separated by commas: 1R, 1 (1K to 1LDK), 2, 3, 4 or 5+. used_mansion only.

Example value example
sort string Optional

newest, address_asc, price_asc, price_desc, area_desc, area_asc, built_newest or built_oldest. Houses have no area sort and new houses no build date sort. Not for new_mansion.

Example value relevance
per_page integer Optional

Properties per page: 10, 20, 30, 50 or 100.

Example value 10
page integer Optional

Page number, 1-based, up to 100. A page past the last page returns an empty list with the page you asked for.

Example value 1

Response Schema

Example response fields are illustrative; inspect the JSON before integrating.

Example response fields

Scan these fields before integrating.

data meta success
JSON Response
200 OK
{
    "data": {
        "total": 292,
        "filters": {
            "cities": [
                "13104"
            ],
            "price_max": 50000000,
            "prefecture": "tokyo",
            "property_type": "used_mansion"
        },
        "listings": [
            {
                "id": "21987904",
                "city": "sc_shinjuku",
                "name": "\u57ce\u5317\u53f0\u30de\u30f3\u30b7\u30e7\u30f3",
                "tags": [
                    "\u65b0\u7740"
                ],
                "layout": "1LDK",
                "address": "\u6771\u4eac\u90fd\u65b0\u5bbf\u533a\u5f01\u5929\u753a76-5",
                "area_m2": 37.18,
                "headline": "\u300e\u725b\u8fbc\u67f3\u753a\u300f\u99c5 5\u5206 \u516c\u5712\u5411\u304d\u306e\u304a\u90e8\u5c4b \u30aa\u30fc\u30c8\u30ed\u30c3\u30af\uff06\u5b85\u914d\u30dc\u30c3\u30af\u30b9\u3042\u308a",
                "stations": [
                    {
                        "raw": "\u90fd\u55b6\u5927\u6c5f\u6238\u7dda\u300c\u725b\u8fbc\u67f3\u753a\u300d\u5f92\u6b695\u5206",
                        "line": "\u90fd\u55b6\u5927\u6c5f\u6238\u7dda",
                        "station": "\u725b\u8fbc\u67f3\u753a",
                        "walk_min": 5
                    }
                ],
                "age_years": 56,
                "area_text": "37.18m2\uff0811.24\u576a\uff09",
                "price_yen": 30990000,
                "built_text": "1970\u5e744\u6708",
                "prefecture": "tokyo",
                "price_text": "3099\u4e07\u5186",
                "source_url": "https://suumo.jp/ms/chuko/tokyo/sc_shinjuku/nc_21987904/",
                "built_month": "1970-04",
                "property_type": "used_mansion"
            }
        ],
        "pagination": {
            "page": 1,
            "per_page": 20,
            "has_next_page": true
        }
    },
    "meta": {
        "billable": true,
        "endpoint_family": "sale_search"
    },
    "success": true
}

Errors

Handle these documented responses before retrying or showing customer-facing failures.

404

HTTP 404

The listing does not exist or is no longer online. This response is not billable.

422

HTTP 422

A parameter or filter is missing, invalid or not available for the property type. This response is not billable.

503

HTTP 503

SUUMO is temporarily unavailable or answered a page that no longer matches the documented contract. Retry the request. This response is not billable.

Generate Code with AI

Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.

Try It Live

Test this endpoint in our interactive playground with real data.