591 Sale Listing API returns one property for sale. It adds to the search fields: map position (lat, lng), the registered area breakdown in ping (total, main, accessory, shared, land, parking), the public ratio, management fee with period, parking, fitment, fixtures and home tools, traffic and daily-life text, legal use, community, all large photos, the description and the agency name. Phone numbers, LINE ids and e-mail addresses are removed. A listing that no longer exists answers 404 and is not billed. 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.
string
Required
Listing id from sale search, with or without the leading S. Example: S21096373.
1234567890
Response Schema
Example response fields are illustrative; inspect the JSON before integrating.
Example response fields
Scan these fields before integrating.
data
meta
success
{
"data": {
"id": "S21096373",
"lat": 25.0331142,
"lng": 121.5314932,
"url": "https://sale.591.com.tw/home/house/detail/2/21096373.html",
"kind": 9,
"tags": [
"AI\u56de\u8986",
"\u5f71\u7247\u8cde\u5c4b",
"\u660e\u661f\u5b78\u5340",
"\u8fd1\u6377\u904b"
],
"floor": 5,
"halls": 2,
"rooms": 2,
"title": "\u2b50\ufe0f\u958b\u50f9\u5c31\u662f\u884c\u60c5\u2b50\ufe0f\u7368\u5bb6\u89aa\u53cb\u5c08\u4efb\u5927\u5b89\u6c38\u5eb7\u5169\u623f\u96d9\u8eca\u7a00\u6709\u91cb\u51fa",
"photos": [
"https://img1.591.com.tw/house/2026/10/19/179240012476085802.jpg!1000x.water2.jpg",
"https://img2.591.com.tw/house/2026/10/19/179240012463710701.jpg!1000x.water2.jpg"
],
"region": "\u53f0\u5317\u5e02",
"street": "\u6c38\u5eb7\u8857",
"address": "\u53f0\u5317\u5e02\u5927\u5b89\u5340\u6c38\u5eb7\u8857",
"fitment": "\u4e2d\u6a94\u88dd\u6f62",
"parking": {
"type": "\u6a5f\u68b0\u5f0f\uff0c\u5df2\u542b\u552e\u91d1\u5167",
"description": "9.27\u576a\uff0c\u6a5f\u68b0\u5f0f\uff0c\u5df2\u542b\u552e\u91d1\u5167",
"has_parking": true
},
"section": "\u5927\u5b89\u5340",
"fixtures": [
"\u71b1\u6c34\u5668",
"\u5929\u7136\u74e6\u65af",
"\u96fb\u8996",
"\u51b0\u7bb1"
],
"age_years": 12,
"area_ping": 53.44,
"bathrooms": 2,
"community": {
"id": 6788,
"name": "\u5927\u5b89\u6c38\u5eb7"
},
"kind_name": "\u4f4f\u5b85",
"legal_use": "\u4f4f\u5bb6\u7528",
"posted_at": "2026-10-17T08:38:34+00:00",
"region_id": 1,
"floor_text": "5F/9F",
"home_tools": [
"\u684c\u5b50",
"\u6905\u5b50",
"\u8863\u6ac3"
],
"owner_type": "agent",
"price_text": "6,999\u842c\u5143",
"section_id": 5,
"shape_name": "\u96fb\u68af\u5927\u6a13",
"agency_name": "\u701a\u76db\u4e0d\u52d5\u7522\u6709\u9650\u516c\u53f8",
"description": "\u26a0\ufe0f\u56e0\u7121\u6cd5\u96a8\u6642\u63a5\u6536\u8a0a\u606f \u8acb\u76f4\u63a5\u96fb\u8a71\u9810\u7d04\u770b\u5c4b\u54e6\u26a0\ufe0f\u3010\u51fa\u552e\u6587\u3011 \u7368\u5bb6\u660e\u661f\u5b78\u5340\u7a00\u6709\u91cb\u51fa\ud83d\udd25\u3010\u6848\u540d\u3011\uff1a\u2728\u958b\u50f9\u53ca\u884c\u60c5\u5927\u5b89\u6c38\u5eb7\u7a00\u67092\u623f\u91cb\u51fa\u5e36\u96d9\u8eca\u4f4d\u2728\u3010\u5730\u9ede\u3011\uff1a\u53f0\u5317\u5e02\u5927\u5b89\u5340\u6c38\u5eb7\u8857\u3010\u985e\u578b\u3011\uff1a\u96fb\u68af\u83ef\u590f\u3010\u7e3d\u50f9\u3011\uff1a6999\u842c\u3010\u576a\u6578\u3011\uff1a53.44\u576a\uff08\u542b\u8eca\uff09\u3010\u6a13\u5c64\u3011\uff1a5F/9F\u3010\u5c4b\u9f61\u3011\uff1a12\u5e74\u3010\u683c\u5c40\u3011\uff1a2\u623f2\u5ef32\u885b2\u967d\u53f0\u3010\u7ba1\u7406\u8cbb\u3011\uff1a42135\u5143/\u2026",
"layout_text": "2\u623f2\u5ef32\u885b",
"living_text": "\u8fd1\u4fbf\u5229\u5546\u5e97\uff1b\u767e\u8ca8\u516c\u53f8\uff1b\u516c\u5712\u7da0\u5730\uff1b\u5b78\u6821",
"price_value": 69990000,
"total_floors": 9,
"traffic_text": "\u8fd1\u6771\u9580\u6377\u904b\u7ad9",
"mortgage_hint": "\u9996\u4ed8\u7d041400\u842c\uff0c\u6708\u9084\u6b3e175,241\u5143",
"main_area_ping": 22.37,
"management_fee": {
"text": "42135\u5143/\u5b63\u5ea6",
"value": 42135
},
"unit_price_per_ping": 1423800,
"public_ratio_percent": 38,
"registered_area_breakdown": {
"land_ping": null,
"main_ping": 22.37,
"total_ping": 53.44,
"shared_ping": 16.97,
"parking_ping": 9.27,
"accessory_ping": 4.83
}
},
"meta": {
"billable": true,
"endpoint_family": "sale_listing"
},
"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"
}Not Found
The listing does not exist or was taken down. This response is not billable.
{
"meta": {
"billable": false,
"retryable": false,
"endpoint_family": "listing"
},
"error": {
"code": "NOT_FOUND",
"message": "The requested listing was not found."
},
"success": false
}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.