# 591 Rent Search API Documentation

<p><strong>591 Rent Search API</strong> searches rentals in Taiwan. Each item has the listing id, URL, kind, rent in TWD (number and text), size in ping, rooms, halls, floor and building height, fitment, district and street, tags, the nearest transit stop, photos, view count and whether an owner or an agent posted it. Filters are always honoured: a row that breaks a requested filter is never returned, and <code>meta.filtered_out</code> shows how many rows were removed from the page. A page can hold fewer than 30 rows for that reason. A page past the last page is empty, never a repeat of page 1. 591 reshuffles its live list, so two pages can share a listing: use the id to remove duplicates. The total is the 591 total before the row check. The list has no map position: open the listing route for it. Promoted rows that 591 shows above the list are not added. Unofficial: Scrappa is not affiliated with 591. Chinese text stays as 591 returns it; numeric fields are parsed next to it, and a value 591 does not give is null, never 0. Failed requests are not billable.</p>

- **Documentation:** [https://scrappa.co/docs/591-api/house591_rent_search](https://scrappa.co/docs/591-api/house591_rent_search)
- **API group:** 591 House API
- **Endpoint:** `GET https://scrappa.co/api/591/rent/search`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `region_id` | integer | Yes | City or county id from the locations route. 1 is Taipei City, 3 is New Taipei City, 17 is Kaohsiung City. |
| `section_ids` | string | No | Comma separated district ids of the chosen region, from the locations route. Example: 5,7. |
| `kind` | integer | No | 1 whole home, 2 studio suite, 3 shared suite, 4 room, 8 parking space. One value. Leave empty for all kinds. |
| `price_min` | integer | No | Minimum monthly rent in TWD. |
| `price_max` | integer | No | Maximum monthly rent in TWD. |
| `area_min` | number | No | Minimum size in ping. |
| `area_max` | number | No | Maximum size in ping. |
| `shape` | string | No | Comma separated building shape: 1 apartment, 2 elevator building, 3 townhouse, 4 villa. 591 applies it on its side; rent rows carry no shape field. |
| `layout` | string | No | Comma separated room count: 1, 2, 3, 4 or 5 (five or more). Whole homes (kind 1) and searches without a kind only. Rows without a room count are dropped. |
| `keywords` | string | No | Free text such as a street, station or community name. 591 applies it on its side. |
| `sort` | string | No | price_asc, price_desc or newest. Leave empty for the 591 order. |
| `page` | integer | No | One-based page number, 1 to 1000. Each page has up to 30 rows. |

## Example response

```json
{
    "data": {
        "items": [
            {
                "id": 22114668,
                "url": "https://rent.591.com.tw/22114668",
                "kind": 2,
                "tags": [
                    "\u8fd1\u6377\u904b",
                    "\u96a8\u6642\u53ef\u9077\u5165"
                ],
                "floor": null,
                "halls": null,
                "rooms": null,
                "title": "\u8fd1\u79d1\u6280\u5927\u6a13\u7ad9\uff5c\u5317\u6559\u80b2\u5927\u5b78\u8d70\u8def\u5230\uff5c\u975c\u5df7\u96fb\u68af\u5957\u623f\uff5c\u4ee3\u6536\u5305\u88f9",
                "views": 18,
                "photos": [
                    "https://img1.591.com.tw/house/2026/10/05/179118460445331902.jpg!510x400.jpg",
                    "https://img1.591.com.tw/house/2026/10/05/179118460446633705.jpg!510x400.jpg"
                ],
                "street": "\u548c\u5e73\u6771\u8def\u4e8c\u6bb596\u5df710\u5f04",
                "address": "\u5927\u5b89\u5340-\u548c\u5e73\u6771\u8def\u4e8c\u6bb596\u5df710\u5f04",
                "fitment": "\u7c21\u6613\u88dd\u6f62",
                "transit": {
                    "type": "metro",
                    "station": "\u79d1\u6280\u5927\u6a13",
                    "distance_m": 491
                },
                "district": "\u5927\u5b89\u5340",
                "fee_note": null,
                "area_ping": 6,
                "bathrooms": null,
                "has_video": false,
                "kind_name": "\u7368\u7acb\u5957\u623f",
                "region_id": 1,
                "floor_text": "\u9802\u6a13\u52a0\u84cb/6F",
                "owner_type": "agent",
                "price_text": "13,000 \u5143/\u6708",
                "price_unit": "\u5143/\u6708",
                "section_id": 5,
                "layout_text": null,
                "price_value": 13000,
                "community_id": null,
                "refreshed_at": "2026-10-14T17:45:10+00:00",
                "total_floors": 6,
                "community_name": null,
                "price_includes": "(\u79df\u91d1\u542b\u7ba1\u7406\u8cbb/\u7b2c\u56db\u81fa)",
                "refreshed_text": "11\u5929\u524d\u66f4\u65b0",
                "original_price_value": null,
                "price_per_ping_value": 1083.3
            },
            {
                "id": 22232970,
                "url": "https://rent.591.com.tw/22232970",
                "kind": 2,
                "tags": [
                    "\u8fd1\u6377\u904b",
                    "\u65b0\u4e0a\u67b6",
                    "\u8fd1\u5546\u5708",
                    "\u6709\u96fb\u68af",
                    "\u96a8\u6642\u53ef\u9077\u5165",
                    "\u53ef\u958b\u4f19"
                ],
                "floor": 3,
                "halls": null,
                "rooms": null,
                "title": "\u5fe0\u5b5d\u5fa9\u8208.\u6709\u7ba1\u7406\u54e1.\u88dd\u6f62\u65b0.\u7368\u7acb\u6d17\u8863\u6a5f",
                "views": 0,
                "photos": [
                    "https://img1.591.com.tw/house/2026/10/01/179085920607696900.jpg!510x400.jpg",
                    "https://img2.591.com.tw/house/2026/10/01/179085920608291803.jpg!510x400.jpg"
                ],
                "street": "\u5fa9\u8208\u5357\u8def\u4e00\u6bb5107\u5df7",
                "address": "\u5927\u5b89\u5340-\u5fa9\u8208\u5357\u8def\u4e00\u6bb5107\u5df7",
                "fitment": "--",
                "transit": {
                    "type": "metro",
                    "station": "\u5fe0\u5b5d\u5fa9\u8208",
                    "distance_m": 146
                },
                "district": "\u5927\u5b89\u5340",
                "fee_note": "(\u984d\u5916\u8cbb\u7528 1,000\u5143/\u6708)",
                "area_ping": 8,
                "bathrooms": null,
                "has_video": false,
                "kind_name": "\u7368\u7acb\u5957\u623f",
                "region_id": 1,
                "floor_text": "3F/7F",
                "owner_type": "agent",
                "price_text": "17,500 \u5143/\u6708",
                "price_unit": "\u5143/\u6708",
                "section_id": 5,
                "layout_text": null,
                "price_value": 17500,
                "community_id": null,
                "refreshed_at": "2026-10-25T12:45:10+00:00",
                "total_floors": 7,
                "community_name": null,
                "price_includes": "(\u79df\u91d1\u542b\u6c34\u8cbb/\u7db2\u8def/\u7b2c\u56db\u81fa)",
                "refreshed_text": "5\u5c0f\u6642\u5167\u66f4\u65b0",
                "original_price_value": null,
                "price_per_ping_value": 0
            }
        ],
        "pagination": {
            "total": 179,
            "has_next": true,
            "page_size": 30,
            "total_pages": 6,
            "current_page": 1
        },
        "filters_applied": {
            "kind": 2,
            "price_max": 20000,
            "price_min": 10000,
            "region_id": 1,
            "section_ids": [
                5
            ]
        }
    },
    "meta": {
        "billable": true,
        "endpoint_family": "rent_search"
    },
    "success": true
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A required parameter is missing or a value or combination is not allowed. This response is not billable. |
| 503 | Upstream Unavailable | 591 could not be reached or returned data that does not match the request. This response is not billable and is retryable. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
