1gateway Realestate API

The Realestate API from 1gateway — 2 operation(s) for realestate.

Operations 2

GET /v1/realestate/apartment-trades Korea apartment sale transactions (MOLIT) — English JSON with KRW & USD #
GET /v1/realestate/apartment-trades/summary Korea apartment price summary for a district-month (count, median/avg price and… #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/1gateway-dev:1gateway-dev-realestate-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

1gateway-dev-realestate-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 1gateway Realestate API
  version: 0.1.1
  description: '1gateway lets AI agents buy the data and APIs they need, one call at a time: no signup, no API key, paid per request with USDC on Base or Solana via x402. Coverage: company and compliance checks (sanctions, KYB, SEC filings, Korean companies), Korean real estate, trade and macro data, onchain and market data, and agent utilities such as document-to-Markdown. Every response names its source. Failed calls are never charged.'
  x-guidance: 'Use this API when an agent needs data as English JSON with pay-per-call access and no signup. Common tasks: Korea apartment sale transactions and district price summaries, Korean public holidays, Korea company KYB (company resolve, profile, NTS business status, DART filings, supplier check), Korean HWP/HWPX to Markdown, web page to Markdown (web read), and document extract (PDF, DOCX, HWP/HWPX or web page to structured JSON). Current coverage is South Korea: apartment sale prices (MOLIT), exports/imports and 10-day export flash (Korea Customs), Bank of Korea statistics (ECOS), weather forecast by lat/lon (KMA), holidays (KASI); more APIs and countries are coming. Base onchain reads: token risk, wallet balances, token info, transaction status. Also: document → Markdown conversion for web pages, PDF, DOCX and Korean HWP/HWPX (price by detected type, decided before payment). Every /v1 endpoint is paid: call it, receive HTTP 402 with PAYMENT-REQUIRED, pay with an x402 client (USDC on Base or Solana, same price) and retry. No charge on failure: settlement happens only on 2xx; 4xx/5xx are never charged. Agent guide: https://1gateway.dev/agents.md. Status: https://1gateway.dev/status. MCP (Streamable HTTP) is available at https://1gateway.dev/mcp: initialize and tools/list are free, tools/call is paid via x402 _meta.'
  contact:
    email: contact@1gateway.dev
servers:
- url: https://1gateway.dev
tags:
- name: Realestate
paths:
  /v1/realestate/apartment-trades:
    get:
      operationId: kr_apartment_trades
      summary: Korea apartment sale transactions (MOLIT) — English JSON with KRW & USD
      description: 'Use when you need actual apartment sale prices in a South Korean district for a month (property research, valuation, comps). Data: MOLIT (Korea land ministry) reported deals since 2006, updated daily. Input: region (5-digit LAWD_CD, e.g. 11680 Gangnam-gu), month (YYYYMM). Output: JSON trades with contract date, complex (Korean + romanized), area m2, floor, build year, price in KRW and USD, price per m2, deal type, cancelled flag. Example: ?region=11680&month=202609'
      x-payment-info:
        price:
          mode: fixed
          currency: USD
          amount: '0.004500'
        protocols:
        - x402: {}
      x-x402:
        price: $0.0045
        scheme: exact
        network: eip155:8453
        networks:
        - eip155:8453
        - solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
        asset: USDC
        kind: single
        source: 'MOLIT via data.go.kr #15126469'
      parameters:
      - name: region
        in: query
        required: true
        description: 5-digit 시군구 code (LAWD_CD), e.g. 11680 = Seoul Gangnam-gu, 11110 = Jongno-gu, 41135 = Seongnam Bundang-gu. Unknown codes → 400 (not charged).
        schema:
          type: string
          pattern: ^\d{5}$
          example: '11680'
      - name: month
        in: query
        required: true
        description: Contract month YYYYMM, 200601 to the current month (KST)
        schema:
          type: string
          pattern: ^(19|20)\d{2}(0[1-9]|1[0-2])$
          example: '202609'
      responses:
        '200':
          description: OK (payment settled). Example is a trimmed real output.
          content:
            application/json:
              schema:
                type: object
                properties:
                  region:
                    type: object
                    properties:
                      code:
                        type: string
                      provinceKo:
                        type: string
                      provinceEn:
                        type: string
                      districtKo:
                        type: string
                      districtEn:
                        type: string
                      known:
                        type: boolean
                  month:
                    type: string
                  count:
                    type: integer
                  currency:
                    type: object
                    properties:
                      base:
                        type: string
                      converted:
                        type: string
                      krwPerUsd:
                        type: number
                      fxAsOf:
                        type: string
                      fxSource:
                        type: string
                  notes:
                    type: array
                    items:
                      type: string
                  attribution:
                    type: string
                  cache:
                    type: string
                  trades:
                    type: array
                    items:
                      type: object
                      properties:
                        contractDate:
                          type: string
                        regionCode:
                          type: string
                        neighborhoodKo:
                          type: string
                        neighborhoodEn:
                          type: string
                        complexNameKo:
                          type: string
                        complexNameEn:
                          type: string
                        lotNumber:
                          type: string
                        buildingDong:
                          type:
                          - string
                          - 'null'
                        floor:
                          type: integer
                        exclusiveAreaM2:
                          type: number
                        buildYear:
                          type: integer
                        priceManwon:
                          type: integer
                        priceKrw:
                          type: integer
                        priceUsd:
                          type: integer
                        pricePerM2Krw:
                          type: integer
                        pricePerM2Usd:
                          type: number
                        dealType:
                          type: string
                        dealTypeKo:
                          type: string
                        brokerLocationKo:
                          type:
                          - string
                          - 'null'
                        sellerType:
                          type: string
                        buyerType:
                          type: string
                        cancelled:
                          type: boolean
                        cancellationDate:
                          type:
                          - string
                          - 'null'
                        registrationDate:
                          type:
                          - string
                          - 'null'
                        landLeasehold:
                          type: boolean
                required:
                - region
                - month
                - count
                - currency
                - notes
                - attribution
                - cache
                - trades
              example:
                region:
                  code: '11680'
                  provinceKo: 서울특별시
                  provinceEn: Seoul
                  districtKo: 강남구
                  districtEn: Gangnam-gu
                  known: true
                month: 2026-09
                count: 94
                currency:
                  base: KRW
                  converted: USD
                  krwPerUsd: 1337.9
                  fxAsOf: '2026-09-10'
                  fxSource: ecos:731Y001/0000001
                notes:
                - priceKrw = dealAmount(만원) × 10,000. Area is exclusive-use area (전용면적, m²).
                attribution: 'Source: Ministry of Land, Infrastructure and Transport (국토교통부) apartment sale transaction data via data.go.kr (dataset 15126469, no usage restriction). Normali…'
                cache: miss
                trades:
                - contractDate: '2026-09-01'
                  regionCode: '11680'
                  neighborhoodKo: 개포동
                  neighborhoodEn: Gaepo-dong
                  complexNameKo: 개포주공6단지
                  complexNameEn: Gaepojugong6danji
                  lotNumber: '185'
                  buildingDong: '603'
                  floor: 4
                  exclusiveAreaM2: 60.13
                  buildYear: 1983
                  priceManwon: 310000
                  priceKrw: 3100000000
                  priceUsd: 2317064
                  pricePerM2Krw: 51554964
                  pricePerM2Usd: 38534.24
                  dealType: brokered
                  dealTypeKo: 중개거래
                  brokerLocationKo: 서울 강남구, 서울 강동구
                  sellerType: individual
                  buyerType: individual
                  cancelled: false
                  cancellationDate: null
                  registrationDate: '2026-09-22'
                  landLeasehold: false
        '400':
          description: Invalid or missing parameters, or URL/domain not allowed (validated before payment where possible; not charged)
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code, e.g. bad_request, not_found, upstream_error, upstream_unreachable, upstream_not_configured
                    examples:
                    - bad_request
                  message:
                    type: string
                    description: Human-readable explanation
                    examples:
                    - month must be YYYYMM (e.g. 202409)
                required:
                - error
        '402':
          description: Payment Required (x402 v2). Returned for every unpaid request. PAYMENT-REQUIRED response header carries base64 JSON PaymentRequired; retry with PAYMENT-SIGNATURE.
        '500':
          description: Unexpected server error (not charged)
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code, e.g. bad_request, not_found, upstream_error, upstream_unreachable, upstream_not_configured
                    examples:
                    - bad_request
                  message:
                    type: string
                    description: Human-readable explanation
                    examples:
                    - month must be YYYYMM (e.g. 202409)
                required:
                - error
        '502':
          description: Upstream source returned an error or an unreadable response (not charged)
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code, e.g. bad_request, not_found, upstream_error, upstream_unreachable, upstream_not_configured
                    examples:
                    - bad_request
                  message:
                    type: string
                    description: Human-readable explanation
                    examples:
                    - month must be YYYYMM (e.g. 202409)
                required:
                - error
        '503':
          description: Endpoint temporarily disabled or upstream not configured on this server; no 402 is issued (not charged). Check /status, retry later
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code, e.g. bad_request, not_found, upstream_error, upstream_unreachable, upstream_not_configured
                    examples:
                    - bad_request
                  message:
                    type: string
                    description: Human-readable explanation
                    examples:
                    - month must be YYYYMM (e.g. 202409)
                required:
                - error
        '504':
          description: Upstream source timed out or was unreachable (not charged). Retry after 1-5 min with backoff
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code, e.g. bad_request, not_found, upstream_error, upstream_unreachable, upstream_not_configured
                    examples:
                    - bad_request
                  message:
                    type: string
                    description: Human-readable explanation
                    examples:
                    - month must be YYYYMM (e.g. 202409)
                required:
                - error
      tags:
      - Realestate
  /v1/realestate/apartment-trades/summary:
    get:
      operationId: kr_apartment_trades_summary
      summary: Korea apartment price summary for a district-month (count, median/avg price and…
      description: 'Use when you need a quick housing-market snapshot for a South Korean district-month instead of raw trades. Data: MOLIT reported apartment sales, cancelled deals excluded. Input: region (5-digit LAWD_CD, e.g. 11680), month (YYYYMM). Output: JSON count, median/average/min/max price and price per m2 and per pyeong in KRW and USD, breakdown by size class, top complexes by volume. Example: ?region=11680&month=202609'
      x-payment-info:
        price:
          mode: fixed
          currency: USD
          amount: '0.004500'
        protocols:
        - x402: {}
      x-x402:
        price: $0.0045
        scheme: exact
        network: eip155:8453
        networks:
        - eip155:8453
        - solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
        asset: USDC
        kind: aggregate
        source: 'MOLIT via data.go.kr #15126469 (aggregated)'
      parameters:
      - name: region
        in: query
        required: true
        description: 5-digit 시군구 code (LAWD_CD), e.g. 11680 = Seoul Gangnam-gu. Unknown codes → 400 (not charged).
        schema:
          type: string
          pattern: ^\d{5}$
          example: '11680'
      - name: month
        in: query
        required: true
        description: Contract month YYYYMM, 200601 to the current month (KST)
        schema:
          type: string
          pattern: ^(19|20)\d{2}(0[1-9]|1[0-2])$
          example: '202609'
      responses:
        '200':
          description: OK (payment settled). Example is a trimmed real output.
          content:
            application/json:
              schema:
                type: object
                properties:
                  region:
                    type: object
                    properties:
                      code:
                        type: string
                      provinceKo:
                        type: string
                      provinceEn:
                        type: string
                      districtKo:
                        type: string
                      districtEn:
                        type: string
                      known:
                        type: boolean
                  month:
                    type: string
                  currency:
                    type: object
                    properties:
                      base:
                        type: string
                      converted:
                        type: string
                      krwPerUsd:
                        type: number
                      fxAsOf:
                        type: string
                      fxSource:
                        type: string
                  attribution:
                    type: string
                  cache:
                    type: string
                  methodology:
                    type: string
                  summary:
                    type: object
                    properties:
                      totalReported:
                        type: integer
                      cancelledExcluded:
                        type: integer
                      overall:
                        type: object
                        properties:
                          count:
                            type: integer
                          medianPriceKrw:
                            type: integer
                          medianPriceUsd:
                            type: integer
                          avgPriceKrw:
                            type: integer
                          avgPriceUsd:
                            type: integer
                          minPriceKrw:
                            type: integer
                          maxPriceKrw:
                            type: integer
                          medianPricePerM2Krw:
                            type: integer
                          medianPricePerM2Usd:
                            type: number
                          avgPricePerM2Krw:
                            type: integer
                          avgPricePerM2Usd:
                            type: number
                          medianPricePerPyeongKrw:
                            type: integer
                      byArea:
                        type: array
                        items:
                          type: object
                          properties:
                            bucket:
                              type: string
                            label:
                              type: string
                            count:
                              type: integer
                            medianPriceKrw:
                              type: integer
                            medianPriceUsd:
                              type: integer
                            avgPriceKrw:
                              type: integer
                            avgPriceUsd:
                              type: integer
                            minPriceKrw:
                              type: integer
                            maxPriceKrw:
                              type: integer
                            medianPricePerM2Krw:
                              type: integer
                            medianPricePerM2Usd:
                              type: number
                            avgPricePerM2Krw:
                              type: integer
                            avgPricePerM2Usd:
                              type: number
                            medianPricePerPyeongKrw:
                              type: integer
                      dealTypeShare:
                        type: object
                        properties:
                          brokered:
                            type: integer
                          direct:
                            type: integer
                      topComplexes:
                        type: array
                        items:
                          type: object
                          properties:
                            complexNameKo:
                              type: string
                            complexNameEn:
                              type: string
                            trades:
                              type: integer
                            medianPricePerM2Krw:
                              type: integer
                required:
                - region
                - month
                - currency
                - attribution
                - cache
                - methodology
                - summary
              example:
                region:
                  code: '11680'
                  provinceKo: 서울특별시
                  provinceEn: Seoul
                  districtKo: 강남구
                  districtEn: Gangnam-gu
                  known: true
                month: 2026-09
                currency:
                  base: KRW
                  converted: USD
                  krwPerUsd: 1337.9
                  fxAsOf: '2026-09-10'
                  fxSource: ecos:731Y001/0000001
                attribution: 'Source: Ministry of Land, Infrastructure and Transport (국토교통부) apartment sale transaction data via data.go.kr (dataset 15126469, no usage restriction). Normali…'
                cache: miss
                methodology: Excludes cancelled deals. Median/mean over priceKrw and priceKrw/exclusiveAreaM2. 1 pyeong = 3.305785 m². Area buckets follow common Korean housing classes.
                summary:
                  totalReported: 94
                  cancelledExcluded: 1
                  overall:
                    count: 93
                    medianPriceKrw: 2765000000
                    medianPriceUsd: 2066672
                    avgPriceKrw: 2791677419
                    avgPriceUsd: 2086611
                    minPriceKrw: 195000000
                    maxPriceKrw: 10000000000
                    medianPricePerM2Krw: 38829152
                    medianPricePerM2Usd: 29022.46
                    avgPricePerM2Krw: 34190607
                    avgPricePerM2Usd: 25555.43
                    medianPricePerPyeongKrw: 128360827
                  byArea:
                  - bucket: under60
                    label: < 60 m²
                    count: 27
                    medianPriceKrw: 1555000000
                    medianPriceUsd: 1162269
                    avgPriceKrw: 1602074074
                    avgPriceUsd: 1197454
                    minPriceKrw: 195000000
                    maxPriceKrw: 3000000000
                    medianPricePerM2Krw: 38483067
                    medianPricePerM2Usd: 28763.78
                    avgPricePerM2Krw: 32659449
                    avgPricePerM2Usd: 24410.98
                    medianPricePerPyeongKrw: 127216747
                  dealTypeShare:
                    brokered: 87
                    direct: 6
                  topComplexes:
                  - complexNameKo: 은마
                    complexNameEn: Eunma
                    trades: 11
                    medianPricePerM2Krw: 41151192
        '400':
          description: Invalid or missing parameters, or URL/domain not allowed (validated before payment where possible; not charged)
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code, e.g. bad_request, not_found, upstream_error, upstream_unreachable, upstream_not_configured
                    examples:
                    - bad_request
                  message:
                    type: string
                    description: Human-readable explanation
                    examples:
                    - month must be YYYYMM (e.g. 202409)
                required:
                - error
        '402':
          description: Payment Required (x402 v2). Returned for every unpaid request. PAYMENT-REQUIRED response header carries base64 JSON PaymentRequired; retry with PAYMENT-SIGNATURE.
        '500':
          description: Unexpected server error (not charged)
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code, e.g. bad_request, not_found, upstream_error, upstream_unreachable, upstream_not_configured
                    examples:
                    - bad_request
                  message:
                    type: string
                    description: Human-readable explanation
                    examples:
                    - month must be YYYYMM (e.g. 202409)
                required:
                - error
        '502':
          description: Upstream source returned an error or an unreadable response (not charged)
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code, e.g. bad_request, not_found, upstream_error, upstream_unreachable, upstream_not_configured
                    examples:
                    - bad_request
                  message:
                    type: string
                    description: Human-readable explanation
                    examples:
                    - month must be YYYYMM (e.g. 202409)
                required:
                - error
        '503':
          description: Endpoint temporarily disabled or upstream not configured on this server; no 402 is issued (not charged). Check /status, retry later
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code, e.g. bad_request, not_found, upstream_error, upstream_unreachable, upstream_not_configured
                    examples:
                    - bad_request
                  message:
                    type: string
                    description: Human-readable explanation
                    examples:
                    - month must be YYYYMM (e.g. 202409)
                required:
                - error
        '504':
          description: Upstream source timed out or was unreachable (not charged). Retry after 1-5 min with backoff
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code, e.g. bad_request, not_found, upstream_error, upstream_unreachable, upstream_not_configured
                    examples:
                    - bad_request
                  message:
                    type: string
                    description: Human-readable explanation
                    examples:
                    - month must be YYYYMM (e.g. 202409)
                required:
                - error
      tags:
      - Realestate
x-x402-network: eip155:8453
x-billing-policy: 'No charge on failure: payment is settled only after the endpoint returns a 2xx response. Any 4xx or 5xx (bad input, no data, upstream error, timeout, disabled endpoint) is not settled, so the signed payment is never collected. Input is validated before the 402 wherever possible. Over MCP, a tool result with isError is not settled either.'
x-error-codes:
- status: 400
  codes:
  - bad_request
  - url_not_allowed
  - bad_checksum
  - not_a_contract
  meaning: Invalid or missing parameters, or a URL/domain that is not allowed.
  retry: Fix the input; do not retry as is.
- status: 402
  codes: []
  meaning: Payment required (x402 v2). The PAYMENT-REQUIRED header holds the exact price.
  retry: Pay with an x402 client and retry with PAYMENT-SIGNATURE.
- status: 403
  codes:
  - not_bok_authored
  meaning: Requested table/resource is not served (e.g. statistics not authored by the Bank of Korea).
  retry: Do not retry.
- status: 404
  codes:
  - not_found
  - tx_not_found
  - tx_not_mined
  meaning: No data for the requested period/code yet.
  retry: Try an earlier period or another code.
- status: 413
  codes:
  - too_large
  meaning: Document is larger than this server's conversion cap (checked before payment).
  retry: Send a smaller document.
- status: 415
  codes:
  - unsupported_type
  - type_mismatch
  meaning: Document type not supported or not matching the declared type (before payment).
  retry: Do not retry as is.
- status: 502
  codes:
  - upstream_error
  - upstream_bad_response
  - upstream_http_error
  - rpc_unavailable
  - source_http_error
  meaning: The upstream source (government API, RPC, target site) returned an error or unreadable data.
  retry: Retry after 30-60 s with backoff.
- status: 503
  codes:
  - endpoint_disabled
  - upstream_not_configured
  - payment_not_configured
  meaning: Endpoint temporarily disabled on this server, or its upstream is not configured. No 402 is issued.
  retry: Check /status; retry later.
- status: 504
  codes:
  - upstream_unreachable
  meaning: The upstream source timed out or was unreachable (Korean public data APIs have occasional outages, esp. holidays).
  retry: Retry after 1-5 min with backoff.