Agentic Portal

KR Apartment Trades

finance
Serving

What apartments in a Korean district actually sold for, from MOLIT's real-transaction register: each reported sale with price in KRW, area, floor and cancellation flag, monthly medians and quartiles, trends, and one complex across months. Use GET /v1/trades, /v1/trend or /v1/complex; POST /v1/query answers district trend questions in Korean or English. Pay per request in USDC; no API key.

Endpoint
POST https://test.agent.pocket.network/v1/kr-apt-trades-v1/v1/query
Price per call
$0.005 USD
Networks payable on
Base Sepolia (eip155:84532)
Protocol
rest

Calling it

The first call returns 402 Payment Required with the terms. Sign for those terms and retry the same request with the payment attached.

Example request

A real, working call — the request the service card verifies against.

curl -X POST https://test.agent.pocket.network/v1/kr-apt-trades-v1/v1/query \
  -H 'content-type: application/json' \
  -d '{"question":"강남구 아파트 매매 시세 추이"}'
Example response

The response this call returned, captured 2026-10-15 12:12:58 UTC.

{
  "portal": {
    "provenance": "third-party-supplier",
    "serviceId": "kr-apt-trades-v1",
    "schemaCheck": "unchecked"
  },
  "data": {
    "schema": "kr-apt-answer/v1",
    "service": "kr-apt-trades-v1",
    "intent": "TREND",
    "question": "강남구 아파트 매매 시세 추이",
    "status": "OK",
    "data": {
      "schema": "kr-apt-trend/v1",
      "service": "kr-apt-trades-v1",
      "region": {
        "lawd_cd": "11680",
        "name": "강남구"
      },
      "apt_filter": null,
      "months": [
        {
          "count": 405,
          "cancelled": 24,
          "median_price_krw": 2680000000,
          "p25_price_krw": 1790000000,
          "p75_price_krw": 3665000000,
          "min_price_krw": 139000000,
          "max_price_krw": 11000000000,
          "median_price_per_m2_krw": 36056673,
          "direct_deal_share": 0.04,
          "low_sample": false,
          "month": "202604",
          "month_status": "COMPLETE",
          "mom_change_pct": null
        },
        {
          "count": 449,
          "cancelled": 25,
          "median_price_krw": 2700000000,
          "p25_price_krw": 2000000000,
          "p75_price_krw": 3540000000,
          "min_price_krw": 194000000,
          "max_price_krw": 21800000000,
          "median_price_per_m2_krw": 36517847,
          "direct_deal_share": 0.031,
          "low_sample": false,
          "month": "202605",
          "month_status": "COMPLETE",
          "mom_change_pct": 1.28
        },
        {
          "count": 215,
          "cancelled": 15,
          "median_price_krw": 2740000000,
          "p25_price_krw": 1705000000,
          "p75_price_krw": 3800000000,
          "min_price_krw": 180000000,
          "max_price_krw": 9770000000,
          "median_price_per_m2_krw": 36850921,
          "direct_deal_share": 0.037,
          "low_sample": false,
          "month": "202606",
          "month_status": "COMPLETE",
          "mom_change_pct": 0.91
        }
      ],
      "complete_months_change": {
        "from": "202604",
        "to": "202608",
        "median_price_per_m2_change_pct": -7.08
      },
      "unit": "KRW",
      "note": "Cancelled trades excluded from statistics. Months still inside the 30-day reporting window can grow. low_sample marks months under 30 trades, where the median reflects which complexes traded more than the market.",
      "source": "MOLIT RTMSDataSvcAptTrade via data.go.kr"
    }
  }
}

Try it

Make one real paid call from your own wallet — about $0.005 on Base Sepolia (eip155:84532). The wallet signs; nothing here holds a key. You'll see exactly what the service answers.

No browser wallet found. Install MetaMask, Rabby, or Coinbase Wallet to try a call here.

Supported methods

Methods the registry lists for this service. The portal forwards any call as sent; the supplier decides what it answers, and a delivered answer is settled.

Methods KR Apartment Trades accepts, and whether each reads or writes.
MethodEffect
GET /v1/complexread
GET /v1/healthread
GET /v1/regionsread
GET /v1/tradesread
GET /v1/trendread
GET /v1/versionread
POST /v1/queryread

Schemas

Published by the service itself. The example above is generated from these.

Request schema
{
  "type": "object",
  "description": "Fields for the GET routes, as query parameters: /v1/trades takes region (required), month, apt and limit (default 50); /v1/trend takes region (required), months (default 6, max 24) and apt; /v1/complex takes region and apt (required) and months (default 12). POST /v1/query reads only question and region: district trends, trade lists with a YYYYMM month, or a complex named with 아파트.",
  "properties": {
    "question": {
      "type": "string",
      "description": "POST /v1/query only. A question in Korean or English, e.g. 강남구 아파트 매매 시세 추이, 서초구 202608 거래 내역 or 은마아파트 실거래가."
    },
    "region": {
      "type": "string",
      "description": "A district as its 5-digit LAWD_CD (11680), Korean name (강남구) or English alias (gangnam)."
    },
    "month": {
      "type": "string",
      "pattern": "^\\d{6}$",
      "description": "YYYYMM month (GET /v1/trades; POST /v1/query ignores it)."
    },
    "apt": {
      "type": "string",
      "description": "Apartment complex name, in Korean (GET routes; POST /v1/query ignores it)."
    },
    "months": {
      "type": "integer",
      "description": "How many months of history to return."
    }
  }
}
Response schema
{
  "type": "object",
  "description": "A JSON object tagged with its own `schema` (kr-apt-trades/v1, kr-apt-trend/v1, kr-apt-complex/v1, kr-apt-regions/v1, kr-apt-answer/v1). Prices are KRW; statistics exclude cancelled trades, and a month still inside the 30-day reporting window is marked REPORTING_WINDOW_OPEN and can grow."
}