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

Zigbang Property Search API Documentation

GET https://scrappa.co/api/zigbang/search

Zigbang Property Search API Documentation Search Zigbang (직방) listings in South Korea for monthly rent (월세), jeonse (전세) and sale (매매) of one-rooms (원룸), villas (빌라) and officetels (오피스텔). Pick a place with lat and lng (use the autocomplete endpoint to find them) or a subway_id with a radius of up to 2 km. Filter by deposit, rent, sale price, maintenance fee, exclusive area, floor, room type, bathrooms, elevator, parking, pets, CCTV, south facing, immediate move-in and loan lease. Each listing returns the id, public Zigbang url, Korean title, property and sales type (Korean text and a code), prices in man-won and in KRW, maintenance fee, area in square metres and pyeong, floor, address parts, coordinates, thumbnail, registration time (ISO 8601, UTC) and the agency id. Prices are in man-won (10,000 KRW) next to the exact KRW value. Korean text is returned as Zigbang shows it. Apartment listings are not available on Zigbang's web search, so apartments are not covered. There is no sort parameter because Zigbang offers no sort: listings keep Zigbang's own ranking, with promoted listings first. Zigbang returns a whole map cell without paging, so Scrappa pages it for you: page N is slice N of that list, page labels always match your request and a page past the end is empty. total_count is the number of listings in the cell before the row check. Every row is checked again against your filters and rows that fail are dropped and counted in filtered_out. A valid search with no matches is a successful response with an empty list.

Zigbang Property Search API Documentation 1 credit/request

Endpoint

Request preview
GET
https://scrappa.co/api/zigbang/search
Auth header
x-api-key
Cost
1 credit/request
property_type = example
Response preview
200 OK
{
    "data": {
        "meta": {
            "page": 1,
            "has_more": true,
            "page_size": 2,
            "total_count": 21,
            "total_pages": 11,
            "filtered_out": 0
        },
        "results": [
            {
                "id": 50626169,
                "url": "https://www.zigbang.com/home/villa/items/50626169",
...

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.

27 optional filters available.

property_type string Required

oneroom (one-room), villa or officetel. Apartments are not available. Example: villa.

Example value example
sales_type string Optional

monthly_rent (월세), jeonse (전세) or sale (매매). Omit it to get all types. One-rooms are never sold, so oneroom with sale returns 422. Required when you filter by deposit, rent or price.

Example value example
lat number Optional

Latitude of the search point in South Korea (33.0 to 38.7). Send it together with lng. Zigbang answers one map cell of about 5 km around the point, not a free radius. Example: 37.4979.

Example value 10
lng number Optional

Longitude of the search point in South Korea (124.5 to 132.0). Send it together with lat. Example: 127.0276.

Example value 10
subway_id integer Optional

Search around a subway station instead of lat and lng. Use the subway_id from the autocomplete endpoint. Example: 31 (Gangnam station).

Example value 1234567890
radius number Optional

Search radius in km around the subway station, 0.1 to 2. Defaults to 1. Only works with subway_id.

Example value 10
deposit_min integer Optional

Minimum deposit in man-won (10,000 KRW). Needs sales_type monthly_rent or jeonse.

Example value 10
deposit_max integer Optional

Maximum deposit in man-won (10,000 KRW). Needs sales_type monthly_rent or jeonse. Example: 1000 for 10,000,000 KRW.

Example value 10
rent_min integer Optional

Minimum monthly rent in man-won. Needs sales_type monthly_rent.

Example value 10
rent_max integer Optional

Maximum monthly rent in man-won. Needs sales_type monthly_rent. Example: 60.

Example value 10
price_min integer Optional

Minimum sale price in man-won. Needs sales_type sale.

Example value 10
price_max integer Optional

Maximum sale price in man-won. Needs sales_type sale. Example: 60000 for 600,000,000 KRW.

Example value 10
manage_cost_min integer Optional

Minimum monthly maintenance fee in man-won. Listings without a fee count as 0.

Example value 10
manage_cost_max integer Optional

Maximum monthly maintenance fee in man-won. Listings without a fee count as 0.

Example value 10
size_min number Optional

Minimum exclusive area in square metres.

Example value 10
size_max number Optional

Maximum exclusive area in square metres.

Example value 10
floor string Optional

One or more of first (1st floor), above_ground, semi_basement or rooftop, comma separated. Example: first,above_ground.

Example value example
room_type string Optional

One or more of open_studio, separate_studio, duplex_studio, two_room, three_room_plus or four_room_plus, comma separated.

Example value example
bathroom_count integer Optional

Number of bathrooms, 1 to 10.

Example value 10
elevator boolean Optional

Send true to keep only buildings with an elevator.

Example value true
parking boolean Optional

Send true to keep only listings with parking.

Example value true
pet boolean Optional

Send true to keep only listings that allow pets.

Example value true
cctv boolean Optional

Send true to keep only buildings with CCTV.

Example value true
south_facing boolean Optional

Send true to keep only south facing listings.

Example value true
immediate_move boolean Optional

Send true to keep only listings available for immediate move-in.

Example value true
loan_lease boolean Optional

Send true to keep only listings that allow a jeonse loan.

Example value true
page integer Optional

Page number, starting at 1. Defaults to 1. A page past the end returns an empty results list with the true total_count.

Example value 1
page_size integer Optional

Listings per page, 1 to 15. Defaults to 15.

Example value 10

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": {
        "meta": {
            "page": 1,
            "has_more": true,
            "page_size": 2,
            "total_count": 21,
            "total_pages": 11,
            "filtered_out": 0
        },
        "results": [
            {
                "id": 50626169,
                "url": "https://www.zigbang.com/home/villa/items/50626169",
                "floor": 4,
                "title": "\ub0b4\uc678\uad00 \uae54\ub054 \uc5d8\ubca0 \uc8fc\ucc28",
                "address": "\uc11c\ucd08\uad6c \ubc18\ud3ec\ub3d9",
                "size_m2": 36.4,
                "latitude": 37.5039057968036,
                "agency_id": 14118530,
                "longitude": 127.019767059757,
                "thumbnail": "https://ic.zigbang.com/ic/items/50626169/1.jpg",
                "sales_type": "\uc804\uc138",
                "deposit_krw": 230000000,
                "floor_label": "4",
                "size_pyeong": 11,
                "service_type": "\ube4c\ub77c",
                "property_type": "villa",
                "registered_at": "2026-10-13T03:36:17Z",
                "address_detail": {
                    "city": "\uc11c\ucd08\uad6c",
                    "district": "\ubc18\ud3ec\ub3d9",
                    "province": "\uc11c\uc6b8\uc2dc",
                    "full_text": "\uc11c\uc6b8\uc2dc \uc11c\ucd08\uad6c \ubc18\ud3ec\ub3d9",
                    "lot_number": "742-11"
                },
                "building_floor": 6,
                "deposit_manwon": 23000,
                "room_type_code": "04",
                "supply_size_m2": 36.4,
                "manage_cost_krw": 120000,
                "sales_type_code": "jeonse",
                "supply_size_pyeong": 11
            }
        ]
    },
    "meta": {
        "billable": true,
        "filtered_out": 0,
        "endpoint_family": "search"
    },
    "success": true
}

Errors

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

422

Validation Error

A query parameter is missing or invalid, for example no place, a point outside South Korea, deposit filters with sales_type sale, or oneroom with sale. No upstream request is made. This response is not billable.

{
    "errors": {
        "lat": [
            "The latitude must be inside South Korea (33.0 to 38.7)."
        ]
    },
    "message": "The request validation failed"
}
503

Service Unavailable

Zigbang 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.

{
    "meta": {
        "billable": false,
        "retryable": true,
        "endpoint_family": "search"
    },
    "error": {
        "code": "UPSTREAM_UNAVAILABLE",
        "message": "The Zigbang API is temporarily unavailable. Please retry."
    },
    "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.