# Dabang Property Search API Documentation

<p><strong>Dabang Property Search API Documentation</strong> Search Dabang (다방) listings in South Korea for monthly rent (월세), jeonse (전세) and sale (매매) of one-rooms and two-rooms (원룸·투룸), villas (주택/빌라), officetels (오피스텔) and apartments (아파트). Pick the area with lat and lng (plus an optional radius_km), with a region_code, with a subway_id or with a university_id. Use the autocomplete endpoint to find the codes and ids. Filter by deposit, monthly rent, sale price, area, floor, room type, deal type, building age, elevator, parking, short lease, duplex and panorama. Apartment searches also filter by household count, parking spaces and tenant takeover. Each listing returns the id, a public Dabang url, the Korean title and card text, the room type, the sales type (Korean text and a code), prices in man-won (10,000 KRW) next to the exact KRW value, the maintenance fee in KRW, the area in square metres, the floor, approximate coordinates, the neighborhood, up to five photos and the flags direct, quick, panorama, owner verified and Naver verified.</p><p><strong>Honest pages.</strong> A page holds up to 24 listings and the page size is fixed. page N is the page N of Dabang and meta.page always matches your request. A page past the end is an empty, billable success with has_more false. Dabang returns no area number on the list, so the size filter is checked on the area printed on the card (area_m2). Rows that fail a price or size filter are dropped and counted in meta.filtered_out, so a page can hold fewer than 24 rows. meta.total_count is the total Dabang reports for the query before that row check.</p><p><strong>Not available.</strong> Dabang has no sort option and no bedroom or bathroom filter in its list, so the API has none either. Bedrooms and bathrooms are returned by the listing endpoint. Apartment search works with lat and lng or subway_id only. The room_type filter works for one_two_room only. Sales are available for house_villa, officetel and apartment. The coordinates of a list row are approximate by design: Dabang blurs the exact position of a listing.</p><p>Prices are in man-won (10,000 KRW). Korean text is returned as Dabang shows it. Failed requests are never billed.</p>

- **Documentation:** [https://scrappa.co/docs/dabang-api/dabang_search](https://scrappa.co/docs/dabang-api/dabang_search)
- **API group:** Dabang API
- **Endpoint:** `GET https://scrappa.co/api/dabang/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 |
| --- | --- | --- | --- |
| `property_type` | string | Yes | one_two_room, house_villa, officetel or apartment. Example: apartment. |
| `sales_type` | string | No | monthly_rent (월세), jeonse (전세) or sale (매매). Omit it to get all types. one_two_room is never sold, so one_two_room with sale returns 422. Required when you filter by deposit, rent or price. |
| `lat` | number | No | Latitude of the search point in South Korea (33.0 to 38.7). Send it together with lng. Example: 37.5025. |
| `lng` | number | No | Longitude of the search point in South Korea (124.5 to 132.0). Send it together with lat. Example: 127.0328. |
| `radius_km` | number | No | Radius of the map area around lat and lng, 0.1 to 3 km. Default 1. Only works with lat and lng. |
| `region_code` | string | No | Search a region instead of a point. Use the code from the autocomplete regions list (8 to 10 digits). Not available for apartment. Example: 11680108. |
| `subway_id` | integer | No | Search around a subway station. Use the id from the autocomplete subways list. Example: 20 (Gangnam station). |
| `university_id` | integer | No | Search around a university. Use the id from the autocomplete universities list. Not available for apartment. Example: 164. |
| `deposit_min` | integer | No | Minimum deposit in man-won. Only for monthly_rent and jeonse. Example: 500. |
| `deposit_max` | integer | No | Maximum deposit in man-won. Only for monthly_rent and jeonse. Example: 3000. |
| `rent_min` | integer | No | Minimum monthly rent in man-won. Only for monthly_rent. Example: 40. |
| `rent_max` | integer | No | Maximum monthly rent in man-won. Only for monthly_rent. Example: 80. |
| `price_min` | integer | No | Minimum sale price in man-won. Only for sale. Example: 30000. |
| `price_max` | integer | No | Maximum sale price in man-won. Only for sale. Example: 200000. |
| `size_min` | number | No | Minimum area in square metres, checked on the area printed on the listing card (area_m2). Example: 30. |
| `size_max` | number | No | Maximum area in square metres, checked on the area printed on the listing card. Example: 60. |
| `floor` | string | No | Comma list of first, above_ground, semi_basement, rooftop. Example: first,above_ground. |
| `room_type` | string | No | Comma list of one_room, two_room. Only with property_type one_two_room. Example: two_room. |
| `deal_type` | string | No | agent (listed by an agency) or direct (listed by the owner). Omit for both. |
| `building_age_min` | integer | No | Minimum building age in years since use approval. Example: 0. |
| `building_age_max` | integer | No | Maximum building age in years since use approval. Example: 10. |
| `household_min` | integer | No | Minimum household count of the complex. Only with property_type apartment. |
| `household_max` | integer | No | Maximum household count of the complex. Only with property_type apartment. |
| `parking_num_min` | integer | No | Minimum parking spaces. Only with property_type officetel or apartment. |
| `elevator` | boolean | No | true for listings with an elevator. |
| `parking` | boolean | No | true for listings with parking. |
| `short_lease` | boolean | No | true for short lease listings. |
| `duplex` | boolean | No | true for duplex listings. |
| `pano` | boolean | No | true for listings with a panorama view. |
| `has_take_tenant` | boolean | No | true for apartments sold with the tenant in place. Only with property_type apartment. |
| `page` | integer | No | One-based page number, 1 to 1000. 24 listings per page. Default 1. |

## Example response

```json
{
    "data": {
        "meta": {
            "page": 1,
            "has_more": true,
            "page_size": 24,
            "total_count": 624,
            "filtered_out": 0,
            "location_mode": "bbox"
        },
        "results": [
            {
                "id": "69aa437a89300d7e5b7251a9",
                "seq": 55861462,
                "url": "https://www.dabangapp.com/room/69aa437a89300d7e5b7251a9",
                "title": "+\uc5ed\uc0bc\uc5ed \uadfc\ucc98 \uc138\ubbf8\ubd84\ub9ac \ud480\uc635\uc158\uc785\ub2c8\ub2e4",
                "images": [
                    "https://d1774jszgerdmk.cloudfront.net/512/lszVwkIyb6rIeEDjo_ScC",
                    "https://d1774jszgerdmk.cloudfront.net/512/yKxuo6kaz3fHSpwp9EIDA",
                    "https://d1774jszgerdmk.cloudfront.net/512/zN_cKdeUVyglr0ekcbB0l",
                    "https://d1774jszgerdmk.cloudfront.net/512/U8XkOvOrq6BNV7Zsv81Qw",
                    "https://d1774jszgerdmk.cloudfront.net/512/Oa212OdApQi7anz-n2pUD"
                ],
                "area_m2": 29.75,
                "is_quick": true,
                "latitude": 37.4967235385392,
                "rent_krw": 800000,
                "is_direct": false,
                "longitude": 127.035974066246,
                "room_type": "\uc6d0\ub8f8 \u2022 \ub2e8\uae30",
                "region_gid": 10063,
                "sales_type": "\uc6d4\uc138",
                "deposit_krw": 800000,
                "description": "\uc911\uce35, 29.75m\u00b2, \uad00\ub9ac\ube44 9\ub9cc",
                "floor_label": "\uc911\uce35",
                "price_title": "80/80",
                "rent_manwon": 80,
                "has_panorama": false,
                "neighborhood": "\uc5ed\uc0bc\ub3d9",
                "deposit_manwon": 80,
                "maintenance_krw": 90000,
                "sales_type_code": "monthly_rent",
                "is_naver_verified": false,
                "is_owner_verified": false,
                "location_is_approximate": true
            },
            {
                "id": "6ad6ebe2ae6a3c1ef95e3656",
                "seq": 59466491,
                "url": "https://www.dabangapp.com/room/6ad6ebe2ae6a3c1ef95e3656",
                "title": "+ \ubaa8\ub358 \uc778\ud14c\ub9ac\uc5b4 \ud480\uc635\uc158 \uc6d0\ub8f8",
                "images": [
                    "https://d1774jszgerdmk.cloudfront.net/512/CN7OfPykFl1KTBDK0pYKf",
                    "https://d1774jszgerdmk.cloudfront.net/512/13LLINYnd2mbYXk9vAsT0",
                    "https://d1774jszgerdmk.cloudfront.net/512/KaSt94AkVsXELFiw6c1DI",
                    "https://d1774jszgerdmk.cloudfront.net/512/WO3qzycgszFk4UG-qmzMZ",
                    "https://d1774jszgerdmk.cloudfront.net/512/oQcdrJiRl8hS74t6g0zSg"
                ],
                "area_m2": 31.3,
                "is_quick": true,
                "latitude": 37.5077732084894,
                "rent_krw": 900000,
                "is_direct": false,
                "longitude": 127.042585901777,
                "room_type": "\uc6d0\ub8f8 \u2022 \ub2e8\uae30",
                "region_gid": 10063,
                "sales_type": "\uc6d4\uc138",
                "deposit_krw": 900000,
                "description": "\uace0\uce35, 31.3m\u00b2, \uad00\ub9ac\ube44 10\ub9cc",
                "floor_label": "\uace0\uce35",
                "price_title": "90/90",
                "rent_manwon": 90,
                "has_panorama": false,
                "neighborhood": "\uc5ed\uc0bc\ub3d9",
                "deposit_manwon": 90,
                "maintenance_krw": 100000,
                "sales_type_code": "monthly_rent",
                "is_naver_verified": false,
                "is_owner_verified": false,
                "location_is_approximate": true
            }
        ]
    },
    "meta": {
        "billable": true,
        "filtered_out": 0,
        "endpoint_family": "search"
    },
    "success": true
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A query parameter is missing or invalid, for example no place, two places, a point outside South Korea, deposit filters with sales_type sale, one_two_room with sale, or region_code with apartment. No upstream request is made. This response is not billable. |
| 422 | Unknown Location | Dabang does not know the region_code, subway_id or university_id. Find valid values with the autocomplete endpoint. This response is not billable. |
| 503 | Service Unavailable | Dabang could not be reached, blocked every attempt, or answered with a shape that no longer matches the documented contract (error code PARSER_DRIFT). This response is not billable. |

## 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)
