591 Rent Search API 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 meta.filtered_out 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.
Run this endpoint
Endpoint
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.
11 optional filters available.
integer
Required
City or county id from the locations route. 1 is Taipei City, 3 is New Taipei City, 17 is Kaohsiung City.
1234567890
string
Optional
Comma separated district ids of the chosen region, from the locations route. Example: 5,7.
example
integer
Optional
1 whole home, 2 studio suite, 3 shared suite, 4 room, 8 parking space. One value. Leave empty for all kinds.
10
integer
Optional
Minimum monthly rent in TWD.
10
integer
Optional
Maximum monthly rent in TWD.
10
number
Optional
Minimum size in ping.
10
number
Optional
Maximum size in ping.
10
string
Optional
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.
example
string
Optional
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.
example
string
Optional
Free text such as a street, station or community name. 591 applies it on its side.
running shoes
string
Optional
price_asc, price_desc or newest. Leave empty for the 591 order.
relevance
integer
Optional
One-based page number, 1 to 1000. Each page has up to 30 rows.
1
Response Schema
Example response fields are illustrative; inspect the JSON before integrating.
Example response fields
Scan these fields before integrating.
data
meta
success
{
"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
Handle these documented responses before retrying or showing customer-facing failures.
Validation Error
A required parameter is missing or a value or combination is not allowed. This response is not billable.
{
"errors": {
"region_id": [
"The region id field is required."
]
},
"message": "The request validation failed"
}Upstream Unavailable
591 could not be reached or returned data that does not match the request. This response is not billable and is retryable.
{
"meta": {
"billable": false,
"retryable": true,
"endpoint_family": "search"
},
"error": {
"code": "UPSTREAM_UNAVAILABLE",
"message": "591 could not be reached. Please retry shortly."
},
"success": false
}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.