{
  "openapi": "3.0.1",
  "info": {
    "title": "R114 Korea Apartment Price & Jeonse API – 부동산114 아파트 시세·실거래가",
    "description": "South Korea apartment price API from R114 (부동산114), no login: sale & jeonse valuation per unit type, 10-year weekly price history, real transaction deals, jeonse ratio & gap, district complex lists, presale calendar. 아파트 시세·실거래가·분양. 50 complexes free/month.",
    "version": "0.2",
    "x-build-id": "yt2A7c9dfe3Pneoi9"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/k-data-lab~r114-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-k-data-lab-r114-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/k-data-lab~r114-scraper/runs": {
      "post": {
        "operationId": "runs-sync-k-data-lab-r114-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/k-data-lab~r114-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-k-data-lab-r114-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "title": "모드",
            "enum": [
              "complexes",
              "area",
              "regions",
              "presale"
            ],
            "type": "string",
            "description": "complexes(기본값) = 단지·평형별 R114 시세, 주간 시세 추이, 실거래가, 단지 정보. area = 지역(구·동)의 모든 단지를 시세 요약과 함께 한 줄씩 (가볍고 저렴). regions = 시도·시군구·읍면동 평균 실거래가 + R114 주간 시세(59㎡·84㎡, 주간 변동률). presale = 분양 청약 일정·분양가·납부 일정. (English: complexes = per-unit-type R114 sale/jeonse valuation, weekly price history and real transaction deals for each apartment complex; area = every complex in a Korean district, one cheap row each; regions = average prices per province/district/neighbourhood; presale = new-apartment subscription calendar and list prices.)",
            "default": "complexes"
          },
          "searchKeywords": {
            "title": "단지명 검색어",
            "type": "array",
            "description": "부동산114 검색창처럼 단지명·브랜드로 찾습니다. 예: 은마, 래미안, 헬리오시티. 검색어마다 부동산114가 보여 주는 상위 결과(보통 10~20개)까지, 같은 이름이 먼저 옵니다. complexes 모드 전용. (English: apartment complex name keywords in Korean, e.g. [\"은마\"] for Eunma, [\"헬리오시티\"] for Helio City; complexes mode only.)",
            "items": {
              "type": "string"
            }
          },
          "complexIds": {
            "title": "단지 코드 또는 URL",
            "type": "array",
            "description": "부동산114 단지 코드(예: A01011352800003) 또는 단지 페이지 주소(예: https://r114.com/prop/A01011352800003). 결과의 complexCode를 다시 넣으면 정기 모니터링에 쓸 수 있습니다. complexes 모드 전용. (R114 complex codes or URLs.)",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "regions": {
            "title": "지역 (구·동의 모든 단지)",
            "type": "array",
            "description": "시군구 또는 읍면동. 예: 강남구 대치동, 성남시 분당구, 마포구, 서울 중구. 같은 이름이 여러 곳이면 시도를 앞에 붙여 주세요(예: 서울 중구). 10자리 법정동코드도 됩니다. complexes 모드에서는 세대수 큰 단지부터 최대 단지 수만큼 상세 시세를, area 모드에서는 모든 단지를 한 줄씩 줍니다. (English: Korean district or neighbourhood names in Hangul, e.g. [\"강남구 대치동\"] for Daechi-dong, Gangnam-gu, [\"성남시 분당구\"] for Bundang; romanised names are not matched.)",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "propertyTypes": {
            "title": "종류",
            "type": "array",
            "description": "아파트, 오피스텔 중에서 고릅니다. 기본값: 둘 다. 예: [\"아파트\"]. (English: 아파트 = apartment, 오피스텔 = officetel. Send the Korean values.)",
            "items": {
              "type": "string",
              "enum": [
                "아파트",
                "오피스텔"
              ],
              "enumTitles": [
                "아파트",
                "오피스텔"
              ]
            },
            "default": [
              "아파트",
              "오피스텔"
            ]
          },
          "maxComplexes": {
            "title": "최대 단지 수",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "complexes 모드에서 가져올 최대 단지 수(1~1000). 결과는 단지의 평형마다 한 줄입니다(예: 평형 3개 = 3줄). 예: 10. (English: max complexes in complexes mode; one output row per unit type. Keep it small (3) for a cheap first run.)",
            "default": 10
          },
          "historyWeeks": {
            "title": "주간 시세 추이 (주)",
            "minimum": 0,
            "maximum": 520,
            "type": "integer",
            "description": "평형마다 R114 주간 매매·전세 시세 추이를 최근 몇 주까지 넣을지(0~520, 약 10년). 0이면 넣지 않습니다(변동률 필드는 그대로 계산). 예: 52 = 최근 1년. (English: weeks of R114 weekly sale/jeonse price history per unit type, 0–520 = up to 10 years; included in the complex price.)",
            "default": 52
          },
          "maxDeals": {
            "title": "평형별 실거래 건수",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "평형마다 최근 실거래(매매·전세·월세)를 몇 건까지 넣을지(0~5000). 0이면 목록은 빼고 최근 실거래 요약 필드만 남깁니다. 예: 20. (English: max real transaction records (sale, jeonse, monthly rent) per unit type, 0–5000.)",
            "default": 20
          },
          "dealTypes": {
            "title": "실거래 종류",
            "type": "array",
            "description": "실거래 목록에 넣을 거래 종류. 기본값: 매매, 전세, 월세. 예: [\"매매\"]. (English: 매매 = sale, 전세 = jeonse (lump-sum deposit lease), 월세 = monthly rent. Send the Korean values.)",
            "items": {
              "type": "string",
              "enum": [
                "매매",
                "전세",
                "월세"
              ],
              "enumTitles": [
                "매매",
                "전세",
                "월세"
              ]
            },
            "default": [
              "매매",
              "전세",
              "월세"
            ]
          },
          "exclusiveAreas": {
            "title": "전용면적만 (㎡)",
            "type": "array",
            "description": "특정 평형만 원할 때 전용면적(㎡)을 넣습니다(±3㎡). 비워 두면 모든 평형. 예: [\"59\", \"84\"]. (English: keep only unit types with this exclusive area in ㎡, ±3㎡, e.g. [\"84\"]. Empty = all.)",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "minHouseholds": {
            "title": "최소 세대수 (area 모드)",
            "minimum": 0,
            "type": "integer",
            "description": "area 모드에서 이 세대수 미만인 단지는 뺍니다. 0이면 모두. 예: 300. (English: area mode only, skip complexes with fewer households.)",
            "default": 0
          },
          "maxResults": {
            "title": "최대 결과 줄 수 (area · regions · presale)",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "area, regions, presale 모드에서 가져올 최대 줄 수(1~10000). 예: 200. (English: max rows in area, regions and presale modes.)",
            "default": 200
          },
          "regionLevel": {
            "title": "지역 단위 (regions 모드)",
            "enum": [
              "sido",
              "sigungu",
              "dong"
            ],
            "type": "string",
            "description": "sido = 시도 17곳, sigungu = 시군구 약 270곳(R114 주간 시세 59㎡·84㎡ 포함), dong = 읍면동(지역 필터 필요). 기본값: sigungu. (English: sido = 17 provinces, sigungu = ~270 districts incl. R114 weekly 59㎡/84㎡ prices, dong = neighbourhoods, needs regionFilter.)",
            "default": "sigungu"
          },
          "regionFilter": {
            "title": "지역 필터 (regions · presale 모드)",
            "type": "array",
            "description": "regions 모드: 이 시도·시군구만(예: 서울, 강남구, 성남시 분당구; dong 단위에서는 필수). presale 모드: 주소에 이 단어가 들어간 분양 단지만(예: 서울, 경기, 수원). 비워 두면 전국. (English: regions mode = only these provinces/districts in Korean, e.g. [\"서울\"], [\"강남구\"]; presale mode = address contains this word. Empty = nationwide.)",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "presaleStatus": {
            "title": "분양 상태 (presale 모드)",
            "type": "array",
            "description": "UPCOMING = 청약 예정, IMMINENT = 청약 임박, OPEN = 청약 중, CLOSED = 마감(최근 공고). 기본값: 예정·임박·청약 중. (English: UPCOMING, IMMINENT, OPEN (subscription open now), CLOSED.)",
            "items": {
              "type": "string",
              "enum": [
                "UPCOMING",
                "IMMINENT",
                "OPEN",
                "CLOSED"
              ],
              "enumTitles": [
                "청약 예정",
                "청약 임박",
                "청약 중",
                "청약 마감"
              ]
            },
            "default": [
              "UPCOMING",
              "IMMINENT",
              "OPEN"
            ]
          },
          "includePresaleDetails": {
            "title": "분양 상세 (분양가·청약 일정)",
            "type": "boolean",
            "description": "켜면 단지마다 평형별 분양가, 1순위·2순위·당첨자 발표·계약 일정, 시행사·시공사, 입주 예정월을 넣습니다. 기본값: 켬. (English: add list price per unit type, subscription/winner/contract dates, developer and move-in month.)",
            "default": true
          },
          "proxyConfiguration": {
            "title": "프록시",
            "type": "object",
            "description": "보통은 필요 없습니다(직접 연결, 막히면 자동으로 Apify Proxy 사용). 기본값 그대로 두면 됩니다. (English: not needed; leave the default.)",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}