SK Telecom Puzzle Place Congestion API

Place congestion and visitor analytics derived from SK Telecom mobile network data, keyed to TMAP points of interest and to commercial AREA identifiers. Sixteen documented operations covering POI/area metadata, real-time congestion, hourly congestion statistics, and daily visitor counts, travel distance and segment statistics.

OpenAPI Specification

sk-telecom-puzzle-place-congestion-openapi.json Raw ↑
{"openapi":"3.1.0","info":{"title":"장소 혼잡도","version":"1.0"},"servers":[{"url":"https://apis.openapi.sk.com/puzzle/place"}],"components":{"securitySchemes":{"sec0":{"type":"apiKey","in":"header","x-default":"e8wHh2tya84M88aReEpXCa5XTQf3xgo01aZG39k5","name":"appkey"}},"parameters":{"ContentTypeJson":{"name":"Content-Type","description":"application/json","in":"header","required":true,"schema":{"type":"string","default":"application/json"}},"AppKey":{"name":"appKey","in":"header","description":"<a href=\"https://openapi.sk.com/mypage/project/\" target=\"_blank\">대시보드>앱</a>>앱키(appKey) 탭에서 조회","required":true,"schema":{"type":"string"}},"Lat":{"name":"lat","in":"query","description":"주변 혼잡도를 구할 중심 위도값","schema":{"type":"number","default":37.568085523663385}},"Lng":{"name":"lng","in":"query","description":"주변 혼잡도를 구할 중심 경도값","schema":{"type":"number","default":126.98605733268329}},"Dow":{"name":"dow","in":"query","description":"요일","schema":{"type":"string","default":"MON","enum":["MON","TUE","WED","THU","FRI","SAT","SUN"]}},"Hh":{"name":"hh","in":"query","description":"시간","schema":{"type":"string","default":"08"}},"Date":{"name":"date","in":"query","description":"기준 일자(YYYYMMDD) 또는 어제(ystday)를 지정, startDate, endDate 입력이 우선합니다.","schema":{"type":"string","default":"ystday"}},"StartDate":{"name":"startDate","in":"query","description":"기준 시작 일자(YYYYMMDD)","schema":{"type":"string"}},"EndDate":{"name":"endDate","in":"query","description":"기준 종료 일자(YYYYMMDD)","schema":{"type":"string"}},"Range":{"name":"range","in":"query","description":"기준일로부터 조회되는 날짜 범위","schema":{"type":"string","default":"30days","enum":["0days","7days","30days"]}},"Gender":{"name":"gender","in":"query","description":"조회 대상 성별","schema":{"type":"string","default":"male","enum":["male","female","all"]}},"AgeGrp":{"name":"ageGrp","in":"query","description":"조회 대상 연령대","schema":{"type":"string","default":"30","enum":["0","10","20","30","40","50","60","70","80","90","100_over","all"]}},"PoiId":{"name":"poiId","in":"path","description":"관심장소(POI) ID","schema":{"type":"string","default":"10067845"},"required":true},"AreaId":{"name":"areaId","in":"path","description":"상권(AREA) ID","schema":{"type":"string","default":"9195"},"required":true}},"schemas":{"ResponseStatus":{"type":"object","description":"응답 상태입니다.","properties":{"code":{"type":"string","description":"응답 코드입니다.\n00: 성공\n"},"message":{"type":"string","description":"요청(request) 성공 여부 메시지입니다.\nsuccess: 성공.\n"},"totalCount":{"type":"integer","description":"검색 결과 데이터 건수입니다."}},"required":["code","message","totalCount"]},"Poi":{"type":"object","properties":{"poiId":{"type":"string","description":"장소 id"},"poiName":{"type":"string","description":"장소 이름"}},"required":["poiId","poiName"]},"CongestionStatHourly":{"type":"object","properties":{"congestion":{"type":"number","description":"혼잡도"},"congestionLevel":{"type":"number","description":"혼잡도 레벨 (1~4)"},"dow":{"type":"string","description":"요일 (MON,TUE,WED,THU,FRI,SAT,SUN)","enum":["MON","TUE","WED","THU","FRI","SAT","SUN"]},"hh":{"type":"string","description":"시 (00~23)"}},"required":["congestion","congestionLevel","dow","hh"]},"PoiCongestionStatHourly":{"type":"object","properties":{"poiId":{"type":"string","description":"장소 id"},"poiName":{"type":"string","description":"장소 이름"},"stat":{"description":"통계 데이터","type":"array","items":{"$ref":"#/components/schemas/CongestionStatHourly"}},"statStartDate":{"type":"string","description":"통계 시작일"},"statEndDate":{"type":"string","description":"통계 종료일"}},"required":["poiId","poiName","stat","statStartDate","statEndDate"]},"CongestionDatetime":{"type":"object","properties":{"congestion":{"type":"number","description":"혼잡도"},"congestionLevel":{"type":"number","description":"혼잡도 레벨 (1~4)"},"datetime":{"type":"string","description":"날짜 (YYYYMMDDHHmmss)"}},"required":["congestion","congestionLevel","datetime"]},"PoiCongestionRawHourly":{"type":"object","properties":{"poiId":{"type":"string","description":"장소 id"},"poiName":{"type":"string","description":"장소 이름"},"raw":{"description":"raw 데이터","type":"array","items":{"$ref":"#/components/schemas/CongestionDatetime"}}},"required":["poiId","poiName","raw"]},"PoiCongestionRltm":{"type":"object","properties":{"poiId":{"type":"string","description":"장소 id"},"poiName":{"type":"string","description":"장소 이름"},"rltm":{"description":"실시간 데이터","allOf":[{"$ref":"#/components/schemas/CongestionDatetime"}]}},"required":["poiId","poiName","rltm"]},"VisitorCountDate":{"type":"object","properties":{"approxVisitorCount":{"type":"number","description":"추정 방문자수"},"date":{"type":"string","description":"날짜 (YYYYMMDD)"}},"required":["approxVisitorCount","date"]},"PoiVisitorCountRawDaily":{"type":"object","properties":{"poiId":{"type":"string","description":"장소 id"},"poiName":{"type":"string","description":"장소 이름"},"gender":{"type":"string","description":"성별 (male:남성, female:여성, all:전체)"},"ageGrp":{"type":"string","description":"연령대 (0:10대 미만, 10:10대, 20:20대, 30:30대, 40:40대, 50:50대, 60:60대, 70:70대, 80:80대, 90:90대, 100:100대이상, all:전체)"},"raw":{"description":"raw 데이터","type":"array","items":{"$ref":"#/components/schemas/VisitorCountDate"}}},"required":["poiId","poiName","gender","ageGrp","raw"]},"PoiVisitorDistance":{"type":"object","properties":{"poiId":{"type":"string","description":"장소 id"},"poiName":{"type":"string","description":"장소 이름"},"stat":{"description":"통계 데이터","type":"object","properties":{"visitorDistance":{"type":"number","description":"유입력"}}},"statStartDate":{"type":"string","description":"통계 시작일"},"statEndDate":{"type":"string","description":"통계 종료일"}},"required":["poiId","poiName","stat","statStartDate","statEndDate"]},"VisitorSeg":{"type":"object","properties":{"gender":{"type":"string","description":"성별"},"ageGrp":{"type":"string","description":"연령대"},"rate":{"type":"number","description":"방문자 성별, 연령대가 전체에서 차지하는 비율입니다."}},"required":["gender","ageGrp","rate"]},"VisitorType":{"type":"object","properties":{"visitorType":{"type":"string","description":"방문자 유형(home, work, visitor)"},"rate":{"type":"number","description":"방문자 유형이 전체에서 차지하는 비율입니다."}},"required":["gender","ageGrp","rate"]},"PoiVisitorSeg":{"type":"object","properties":{"poiId":{"type":"string","description":"장소 id"},"poiName":{"type":"string","description":"장소 이름"},"stat":{"description":"통계 데이터","type":"array","items":{"$ref":"#/components/schemas/VisitorSeg"}},"statStartDate":{"type":"string","description":"통계 시작일"},"statEndDate":{"type":"string","description":"통계 종료일"}},"required":["poiId","poiName","stat","statStartDate","statEndDate"]},"Area":{"type":"object","properties":{"areaId":{"type":"string","description":"상권 id"},"areaName":{"type":"string","description":"상권 이름"}},"required":["areaId","areaName"]},"AreaCongestionStatHourly":{"type":"object","properties":{"areaId":{"type":"string","description":"상권 id"},"areaName":{"type":"string","description":"상권 이름"},"stat":{"description":"통계 데이터","type":"array","items":{"$ref":"#/components/schemas/CongestionStatHourly"}},"statStartDate":{"type":"string","description":"통계 시작일"},"statEndDate":{"type":"string","description":"통계 종료일"}},"required":["areaId","areaName","stat","statStartDate","statEndDate"]},"AreaCongestionRawHourly":{"type":"object","properties":{"areaId":{"type":"string","description":"상권 id"},"areaName":{"type":"string","description":"상권 이름"},"raw":{"description":"raw 데이터","type":"array","items":{"$ref":"#/components/schemas/CongestionDatetime"}}},"required":["areaId","areaName","raw"]},"AreaCongestionRltm":{"type":"object","properties":{"areaId":{"type":"string","description":"상권 id"},"areaName":{"type":"string","description":"상권 이름"},"rltm":{"description":"실시간 데이터","allOf":[{"$ref":"#/components/schemas/CongestionDatetime"}]}},"required":["areaId","areaName","rltm"]},"AreaVisitorCountRawDaily":{"type":"object","properties":{"areaId":{"type":"string","description":"상권 id"},"areaName":{"type":"string","description":"상권 이름"},"gender":{"type":"string","description":"성별 (male:남성, female:여성, all:전체)"},"ageGrp":{"type":"string","description":"연령대 (0:10대 미만, 10:10대, 20:20대, 30:30대, 40:40대, 50:50대, 60:60대, 70:70대, 80:80대, 90:90대, 100:100대이상, all:전체)"},"raw":{"description":"raw 데이터","type":"array","items":{"$ref":"#/components/schemas/VisitorCountDate"}}},"required":["areaId","areaName","gender","ageGrp","raw"]},"AreaVisitorDistance":{"type":"object","properties":{"areaId":{"type":"string","description":"상권 id"},"areaName":{"type":"string","description":"상권 이름"},"stat":{"description":"통계 데이터","type":"object","properties":{"visitorDistance":{"type":"number","description":"유입력"}}},"statStartDate":{"type":"string","description":"통계 시작일"},"statEndDate":{"type":"string","description":"통계 종료일"}},"required":["areaId","areaName","stat","statStartDate","statEndDate"]},"AreaVisitorSeg":{"type":"object","properties":{"areaId":{"type":"string","description":"상권 id"},"areaName":{"type":"string","description":"상권 이름"},"stat":{"description":"통계 데이터","type":"array","items":{"$ref":"#/components/schemas/VisitorSeg"}},"statStartDate":{"type":"string","description":"통계 시작일"},"statEndDate":{"type":"string","description":"통계 종료일"}},"required":["areaId","areaName","stat","statStartDate","statEndDate"]},"BizCategory":{"type":"object","properties":{"cat1":{"type":"string","description":"업종 대분류"},"cat2":{"type":"string","description":"업종 소분류"},"count":{"type":"number","description":"업체수"}},"required":["cat1","cat2","count"]},"AreaBizCategory":{"type":"object","properties":{"areaId":{"type":"string","description":"상권 id"},"areaName":{"type":"string","description":"상권 이름"},"stat":{"description":"통계 데이터","type":"array","items":{"$ref":"#/components/schemas/BizCategory"}},"yearMonth":{"type":"string","description":"통계 대상 연월"},"statStartDate":{"type":"string","description":"통계 시작일"},"statEndDate":{"type":"string","description":"통계 종료일"}},"required":["areaId","areaName","stat","yearMonth","statStartDate","statEndDate"]},"AreaVisitorType":{"type":"object","properties":{"areaId":{"type":"string","description":"상권 id"},"areaName":{"type":"string","description":"상권 이름"},"stat":{"description":"통계 데이터","type":"array","items":{"$ref":"#/components/schemas/VisitorType"}},"statStartDate":{"type":"string","description":"통계 시작일"},"statEndDate":{"type":"string","description":"통계 종료일"}},"required":["areaId","areaName","stat","statStartDate","statEndDate"]}}},"security":[{"sec0":[]}],"paths":{"/meta/pois":{"get":{"tags":["Place"],"summary":"데이터 제공 가능 장소","description":"* 장소 혼잡도 데이터를 조회할 수 있는 관심 장소(POI)의 ID 및 장소 이름을 제공합니다.\n","operationId":"pois","parameters":[{"$ref":"#/components/parameters/ContentTypeJson"},{"$ref":"#/components/parameters/AppKey"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/ResponseStatus"},"contents":{"type":"array","items":{"$ref":"#/components/schemas/Poi"}}}},"examples":{"Result":{"value":"{\n  \"status\": {\n    \"code\": \"00\",\n    \"message\": \"success\",\n    \"totalCount\": 1\n  },\n  \"contents\": [\n    {\n      \"poiId\": \"7493463\",\n      \"poiName\": \"신세계백화점스타필드하남점\"\n    }\n  ]\n}"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"examples":{"InvalidParameter":{"value":{"error":{"code":"400","message":"INVALID_PARAMETER_NAME"}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"id":{"type":"string"},"category":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"}}}}},"examples":{"Unauthorized":{"value":{"error":{"id":"401","category":"gw","code":"UNAUTHORIZED","message":"Unauthorized"}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/paths/~1meta~1pois/get/responses/401/content/application~1json/schema"},"examples":{"ForbiddenAppKey":{"value":{"error":{"id":"403","category":"gw","code":"INVALID_API_KEY","message":"Forbidden"}}},"ForbiddenIP":{"value":{"error":{"id":"403","category":"gw","code":"ACCESS_DENIED","message":"Authorized IP Address only"}}},"ForbiddenURL":{"value":{"error":{"id":"403","category":"gw","code":"MISSING_AUTHENTICATION_TOKEN","message":"Missing Authentication Token"}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/paths/~1meta~1pois/get/responses/400/content/application~1json/schema"},"examples":{"NotFound":{"value":{"error":{"code":"404","message":"NOT_FOUND_DATA"}}}}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/paths/~1meta~1pois/get/responses/401/content/application~1json/schema"},"examples":{"Throttled":{"value":{"error":{"id":"429","category":"gw","code":"THROTTLED","message":"Too Many Requests"}}},"QuataExceeded":{"value":{"error":{"id":"429","category":"gw","code":"QUOTA_EXCEEDED","message":"Limit Exceeded"}}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/paths/~1meta~1pois/get/responses/401/content/application~1json/schema"},"examples":{"InternalServerError":{"value":{"error":{"id":"500","category":"gw","code":"API_CONFIGURATION_ERROR","message":"Internal server error"}}}}}}},"504":{"description":"Gateway Timeout","content":{"application/json":{"schema":{"$ref":"#/paths/~1meta~1pois/get/responses/401/content/application~1json/schema"},"examples":{"GatewayTimeout":{"value":{"error":{"id":"504","category":"gw","code":"INTEGRATION_FAILURE","message":"Network error communicating with endpoint"}}}}}}}},"deprecated":false}},"/meta/areas":{"get":{"tags":["Place"],"summary":"데이터 제공 가능 상권","description":"* 혼잡도 데이터를 조회할 수 있는 상권(AREA)의 ID 및 상권 이름을 제공합니다.\n","operationId":"areas","parameters":[{"$ref":"#/components/parameters/ContentTypeJson"},{"$ref":"#/components/parameters/AppKey"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/ResponseStatus"},"contents":{"type":"array","items":{"$ref":"#/components/schemas/Area"}}}},"examples":{"Result":{"value":"{\n  \"status\": {\n    \"code\": \"00\",\n    \"message\": \"success\",\n    \"totalCount\": 1\n  },\n  \"contents\": [\n    {\n      \"areaId\": \"10098\",\n      \"areaName\": \"초지동주민센터\"\n    }\n  ]\n}"}}}}},"400":{"$ref":"#/paths/~1meta~1pois/get/responses/400"},"401":{"$ref":"#/paths/~1meta~1pois/get/responses/401"},"403":{"$ref":"#/paths/~1meta~1pois/get/responses/403"},"404":{"$ref":"#/paths/~1meta~1pois/get/responses/404"},"429":{"$ref":"#/paths/~1meta~1pois/get/responses/429"},"500":{"$ref":"#/paths/~1meta~1pois/get/responses/500"},"504":{"$ref":"#/paths/~1meta~1pois/get/responses/504"}},"deprecated":false}},"/congestion/rltm/pois/{poiId}":{"get":{"tags":["Congestion"],"summary":"실시간 장소 혼잡도","description":"특정 장소의 실시간 혼잡도를 제공합니다.\n* 조회 시점으로부터 가장 최근에 집계된 혼잡도 정보를 제공합니다.\n* 조회 시점 기준 1시간 동안의 혼잡도(1㎡ 단위 면적당 추정 방문자 수)와 1~4 단계로 구분된 혼잡도 레벨 정보를 제공합니다.\n* 데이터 제공 가능 장소의 poiId로 요청할 경우 특정 장소의 혼잡도 정보를 조회할 수 있습니다. 위경도 좌표를 요청 정보에 추가하면, 특정 좌표 주변의 혼잡도를 조회할 수 있습니다.\n","operationId":"poicongestionrltm","parameters":[{"$ref":"#/components/parameters/ContentTypeJson"},{"$ref":"#/components/parameters/AppKey"},{"$ref":"#/components/parameters/PoiId"},{"$ref":"#/components/parameters/Lat"},{"$ref":"#/components/parameters/Lng"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PoiCongestionRltm"},"examples":{"Result":{"value":"{\n  \"status\": {\n    \"code\": \"00\",\n    \"message\": \"success\",\n    \"totalCount\": 1\n  },\n  \"contents\": {\n    \"poiId\": \"1172091\",\n    \"poiName\": \"타임스퀘어\",\n    \"rltm\": [\n      {\n        \"type\": 1,\n        \"congestion\": 0.03126,\n        \"congestionLevel\": 1,\n        \"datetime\": \"20220915160000\"\n      },\n      {\n        \"type\": 2,\n        \"congestion\": 0.26231,\n        \"congestionLevel\": 2,\n        \"datetime\": \"20220915160000\"\n      }\n    ]\n  }\n}"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"유효성 여부"},"code":{"type":"number","description":"응답 코드 번호 (0이상: 정상, 0미만: 비정상)"},"msg":{"type":"string","description":"응답 메시지"}}}}}},"401":{"$ref":"#/paths/~1meta~1pois/get/responses/401"},"403":{"$ref":"#/paths/~1meta~1pois/get/responses/403"},"404":{"$ref":"#/paths/~1meta~1pois/get/responses/404"},"429":{"$ref":"#/paths/~1meta~1pois/get/responses/429"},"500":{"$ref":"#/paths/~1meta~1pois/get/responses/500"},"504":{"$ref":"#/paths/~1meta~1pois/get/responses/504"}},"deprecated":false}},"/congestion/stat/raw/hourly/pois/{poiId}":{"get":{"tags":["Congestion"],"summary":"시간대별 장소 혼잡도","description":"특정 장소의 시간대별 혼잡도를 제공합니다.\n* 검색 기준 일자의 시간대별 혼잡도(1 ㎡ 단위 면적당 추정 방문자 수)와 4단계로 구분된 혼잡도 레벨 정보를 제공합니다.\n* 기준 일자(date)를 입력하지 않으면 요청 시간을 기준으로 하루 전(D-1일) 일자의 장소 혼잡도 값을 반환합니다.\n* 기준 일자가 오늘(today)이거나 30일 이상 경과된 일자인 경우 응답에 실패하며 400 에러가 발생합니다.\n","operationId":"poicongestionraw","parameters":[{"$ref":"#/components/parameters/ContentTypeJson"},{"$ref":"#/components/parameters/AppKey"},{"$ref":"#/components/parameters/Date"},{"$ref":"#/components/parameters/PoiId"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/ResponseStatus"},"contents":{"$ref":"#/components/schemas/PoiCongestionRawHourly"}}},"examples":{"Result":{"value":"{\n  \"status\": {\n    \"code\": \"00\",\n    \"message\": \"success\",\n    \"totalCount\": 1\n  },\n  \"contents\": {\n    \"poiId\": \"10067845\",\n    \"poiName\": \"더현대서울\",\n    \"raw\": [\n      {\n        \"congestion\": 0.00048,\n        \"congestionLevel\": 1,\n        \"datetime\": \"20220914000000\"\n      },\n      {\n        \"congestion\": 0.0003,\n        \"congestionLevel\": 1,\n        \"datetime\": \"20220914010000\"\n      }\n    ]\n  }\n}"}}}}},"400":{"$ref":"#/paths/~1meta~1pois/get/responses/400"},"401":{"$ref":"#/paths/~1meta~1pois/get/responses/401"},"403":{"$ref":"#/paths/~1meta~1pois/get/responses/403"},"404":{"$ref":"#/paths/~1meta~1pois/get/responses/404"},"429":{"$ref":"#/paths/~1meta~1pois/get/responses/429"},"500":{"$ref":"#/paths/~1meta~1pois/get/responses/500"},"504":{"$ref":"#/paths/~1meta~1pois/get/responses/504"}},"deprecated":false}},"/congestion/stat/hourly/pois/{poiId}":{"get":{"tags":["Congestion"],"summary":"통계성 장소 혼잡도","description":"특정 장소의 요일 및 시간대별 통계성 혼잡도를 제공합니다.\n* 평일인 공휴일과 해당 장소의 휴무일을 제외한 최근 30일 동안의 요일 및 시간대별 평균 혼잡도(1㎡ 단위 면적당 추정 방문자 수)와 4단계로 구분된 혼잡도 레벨 정보를 제공합니다.\n","operationId":"poicongestionstat","parameters":[{"$ref":"#/components/parameters/ContentTypeJson"},{"$ref":"#/components/parameters/AppKey"},{"$ref":"#/components/parameters/Dow"},{"$ref":"#/components/parameters/PoiId"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/ResponseStatus"},"contents":{"$ref":"#/components/schemas/PoiCongestionStatHourly"}}},"examples":{"Result":{"value":"{\n  \"status\": {\n    \"code\": \"00\",\n    \"message\": \"success\",\n    \"totalCount\": 1\n  },\n  \"contents\": {\n    \"poiId\": \"5799875\",\n    \"poiName\": \"롯데월드몰\",\n    \"stat\": [\n      {\n        \"congestion\": 0.0008,\n        \"congestionLevel\": 1,\n        \"dow\": \"MON\",\n        \"hh\": \"00\"\n      },\n      {\n        \"congestion\": 0.000486666,\n        \"congestionLevel\": 1,\n        \"dow\": \"MON\",\n        \"hh\": \"01\"\n      }\n    ]\n  }\n}"}}}}},"400":{"$ref":"#/paths/~1meta~1pois/get/responses/400"},"401":{"$ref":"#/paths/~1meta~1pois/get/responses/401"},"403":{"$ref":"#/paths/~1meta~1pois/get/responses/403"},"404":{"$ref":"#/paths/~1meta~1pois/get/responses/404"},"429":{"$ref":"#/paths/~1meta~1pois/get/responses/429"},"500":{"$ref":"#/paths/~1meta~1pois/get/responses/500"},"504":{"$ref":"#/paths/~1meta~1pois/get/responses/504"}},"deprecated":false}},"/congestion/rltm/areas/{areaId}":{"get":{"tags":["Congestion"],"summary":"실시간 상권 혼잡도","description":"특정 상권의 실시간 혼잡도를 제공합니다.\n* 조회 시점으로부터 가장 최근에 집계된 혼잡도 정보를 제공합니다.\n* 조회 시점 기준 1시간 동안의 혼잡도(1㎡ 단위 면적당 추정 방문자 수)와 1~4 단계로 구분된 혼잡도 레벨 정보를 제공합니다.\n* 데이터 제공 가능 상권의 areaId로 요청할 경우 특정 상권의 혼잡도 정보를 조회할 수 있습니다.\n","operationId":"areacongestionrltm","parameters":[{"$ref":"#/components/parameters/ContentTypeJson"},{"$ref":"#/components/parameters/AppKey"},{"$ref":"#/components/parameters/AreaId"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AreaCongestionRltm"},"examples":{"Result":{"value":"{\n  \"status\": {\n    \"code\": \"00\",\n    \"message\": \"success\",\n    \"totalCount\": 1\n  },\n  \"contents\": {\n    \"areaId\": \"9195\",\n    \"areaName\": \"명동\",\n    \"rltm\": {\n      \"congestion\": 0.07426,\n      \"congestionLevel\": 9,\n      \"datetime\": \"20230517110000\"\n    }\n  }\n}"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"유효성 여부"},"code":{"type":"number","description":"응답 코드 번호 (0이상: 정상, 0미만: 비정상)"},"msg":{"type":"string","description":"응답 메시지"}}}}}},"401":{"$ref":"#/paths/~1meta~1pois/get/responses/401"},"403":{"$ref":"#/paths/~1meta~1pois/get/responses/403"},"404":{"$ref":"#/paths/~1meta~1pois/get/responses/404"},"429":{"$ref":"#/paths/~1meta~1pois/get/responses/429"},"500":{"$ref":"#/paths/~1meta~1pois/get/responses/500"},"504":{"$ref":"#/paths/~1meta~1pois/get/responses/504"}},"deprecated":false}},"/congestion/stat/raw/hourly/areas/{areaId}":{"get":{"tags":["Congestion"],"summary":"시간대별 상권 혼잡도","description":"특정 상권의 시간대별 혼잡도를 제공합니다.\n* 검색 기준 일자의 시간대별 혼잡도(1 ㎡ 단위 면적당 추정 방문자 수)와 4단계로 구분된 혼잡도 레벨 정보를 제공합니다.\n* 기준 일자(date)를 입력하지 않으면 요청 시간을 기준으로 하루 전(D-1일) 일자의 상권 혼잡도 값을 반환합니다.\n* 기준 일자가 오늘(today)이거나 30일 이상 경과된 일자인 경우 응답에 실패하며 400 에러가 발생합니다.\n","operationId":"areacongestionraw","parameters":[{"$ref":"#/components/parameters/ContentTypeJson"},{"$ref":"#/components/parameters/AppKey"},{"$ref":"#/components/parameters/Date"},{"$ref":"#/components/parameters/AreaId"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/ResponseStatus"},"contents":{"$ref":"#/components/schemas/AreaCongestionRawHourly"}}},"examples":{"Result":{"value":"{\n  \"status\": {\n    \"code\": \"00\",\n    \"message\": \"success\",\n    \"totalCount\": 1\n  },\n  \"contents\": {\n    \"areaId\": \"9195\",\n    \"areaName\": \"명동\",\n    \"raw\": [\n      {\n        \"congestion\": 0.01463,\n        \"congestionLevel\": 4,\n        \"datetime\": \"20230516000000\"\n      },\n      {\n        \"congestion\": 0.0133,\n        \"congestionLevel\": 4,\n        \"datetime\": \"20230516010000\"\n      }\n    ]\n  }\n}"}}}}},"400":{"$ref":"#/paths/~1meta~1pois/get/responses/400"},"401":{"$ref":"#/paths/~1meta~1pois/get/responses/401"},"403":{"$ref":"#/paths/~1meta~1pois/get/responses/403"},"404":{"$ref":"#/paths/~1meta~1pois/get/responses/404"},"429":{"$ref":"#/paths/~1meta~1pois/get/responses/429"},"500":{"$ref":"#/paths/~1meta~1pois/get/responses/500"},"504":{"$ref":"#/paths/~1meta~1pois/get/responses/504"}},"deprecated":false}},"/congestion/stat/hourly/areas/{areaId}":{"get":{"tags":["Congestion"],"summary":"통계성 상권 혼잡도","description":"특정 상권의 요일 및 시간대별 통계성 혼잡도를 제공합니다.\n* 평일인 공휴일과 해당 장소의 휴무일을 제외한 최근 30일 동안의 요일 및 시간대별 평균 혼잡도(1㎡ 단위 면적당 추정 방문자 수)와 4단계로 구분된 혼잡도 레벨 정보를 제공합니다.\n","operationId":"areacongestionstat","parameters":[{"$ref":"#/components/parameters/ContentTypeJson"},{"$ref":"#/components/parameters/AppKey"},{"$ref":"#/components/parameters/Dow"},{"$ref":"#/components/parameters/AreaId"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/ResponseStatus"},"contents":{"$ref":"#/components/schemas/AreaCongestionStatHourly"}}},"examples":{"Result":{"value":"{\n  \"status\": {\n    \"code\": \"00\",\n    \"message\": \"success\",\n    \"totalCount\": 1\n  },\n  \"contents\": {\n    \"areaId\": \"9195\",\n    \"areaName\": \"명동\",\n    \"stat\": [\n      {\n        \"congestion\": 0.014202,\n        \"congestionLevel\": 4,\n        \"dow\": \"MON\",\n        \"hh\": \"00\"\n      },\n      {\n        \"congestion\": 0.013114,\n        \"congestionLevel\": 3,\n        \"dow\": \"MON\",\n        \"hh\": \"01\"\n      }\n    ]\n  }\n}"}}}}},"400":{"$ref":"#/paths/~1meta~1pois/get/responses/400"},"401":{"$ref":"#/paths/~1meta~1pois/get/responses/401"},"403":{"$ref":"#/paths/~1meta~1pois/get/responses/403"},"404":{"$ref":"#/paths/~1meta~1pois/get/responses/404"},"429":{"$ref":"#/paths/~1meta~1pois/get/responses/429"},"500":{"$ref":"#/paths/~1meta~1pois/get/responses/500"},"504":{"$ref":"#/paths/~1meta~1pois/get/responses/504"}},"deprecated":false}},"/visit/count/raw/daily/pois/{poiId}":{"get":{"tags":["Visit"],"summary":"일자별 장소 방문자 수","description":"특정 장소 주변에 10분 이상 체류한 SK텔레콤 회선 사용자 중 거주 인구 및 직장 인구를 제외한 사용자 수에 보정 계수를 곱해 추정 방문자 수를 산출합니다.\n","operationId":"poivisitcount","parameters":[{"$ref":"#/components/parameters/ContentTypeJson"},{"$ref":"#/components/parameters/AppKey"},{"$ref":"#/components/parameters/Gender"},{"$ref":"#/components/parameters/AgeGrp"},{"$ref":"#/components/parameters/StartDate"},{"$ref":"#/components/parameters/EndDate"},{"$ref":"#/components/parameters/Date"},{"$ref":"#/components/parameters/Range"},{"$ref":"#/components/parameters/PoiId"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/ResponseStatus"},"contents":{"$ref":"#/components/schemas/PoiVisitorCountRawDaily"}}},"examples":{"Result":{"value":"{\n  \"status\": {\n    \"code\": \"00\",\n    \"message\": \"success\",\n    \"totalCount\": 1\n  },\n  \"contents\": {\n    \"poiId\": \"10067845\",\n    \"poiName\": \"더현대서울\",\n    \"gender\": \"all\",\n    \"ageGrp\": \"all\",\n    \"raw\": [\n      {\n        \"approxVisitorCount\": 26284.4,\n        \"date\": \"20230201\"\n      },\n      {\n        \"approxVisitorCount\": 27706.7,\n        \"date\": \"20230202\"\n      }\n    ]\n  }\n}"}}}}},"400":{"$ref":"#/paths/~1meta~1pois/get/responses/400"},"401":{"$ref":"#/paths/~1meta~1pois/get/responses/401"},"403":{"$ref":"#/paths/~1meta~1pois/get/responses/403"},"404":{"$ref":"#/paths/~1meta~1pois/get/responses/404"},"429":{"$ref":"#/paths/~1meta~1pois/get/responses/429"},"500":{"$ref":"#/paths/~1meta~1pois/get/responses/500"},"504":{"$ref":"#/paths/~1meta~1pois/get/responses/504"}},"deprecated":false}},"/visit/distance/stat/daily/pois/{poiId}":{"get":{"tags":["Visit"],"summary":"장소 유입력","description":"특정 장소 주변에 10분 이상 체류한 SK텔레콤 회선 사용자 중 거주 인구 및 직장 인구를 제외한 방문자가 얼마나 멀리서 오는지 알 수 있는 중위값을 제공합니다.\n","operationId":"poivisitdistance","parameters":[{"$ref":"#/components/parameters/ContentTypeJson"},{"$ref":"#/components/parameters/AppKey"},{"$ref":"#/components/parameters/PoiId"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/ResponseStatus"},"contents":{"$ref":"#/components/schemas/PoiVisitorDistance"}}},"examples":{"Result":{"value":"{\n  \"status\": {\n    \"code\": \"00\",\n    \"message\": \"success\",\n    \"totalCount\": 1\n  },\n  \"contents\": {\n    \"poiId\": \"219475\",\n    \"poiName\": \"롯데백화점본점\",\n    \"stat\": {\n      \"visitorDistance\": 10.2218\n    },\n    \"statStartDate\": \"20230416\",\n    \"statEndDate\": \"20230515\"\n  }\n}"}}}}},"400":{"$ref":"#/paths/~1meta~1pois/get/responses/400"},"401":{"$ref":"#/paths/~1meta~1pois/get/responses/401"},"403":{"$ref":"#/paths/~1meta~1pois/get/responses/403"},"404":{"$ref":"#/paths/~1meta~1pois/get/responses/404"},"429":{"$ref":"#/paths/~1meta~1pois/get/responses/429"},"500":{"$ref":"#/paths/~1meta~1pois/get/responses/500"},"504":{"$ref":"#/paths/~1meta~1pois/get/responses/504"}},"deprecated":false}},"/visit/seg/stat/daily/pois/{poiId}":{"get":{"tags":["Visit"],"summary":"장소 방문자 연령 분포","description":"특정 장소 주변에 10분 이상 체류한 SK텔레콤 회선 사용자 중 거주 인구 및 직장 인구를 제외한 방문자의 연령 분포를 제공합니다.\n","operationId":"poivisitseg","parameters":[{"$ref":"#/components/parameters/ContentTypeJson"},{"$ref":"#/components/parameters/AppKey"},{"$ref":"#/components/parameters/PoiId"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/ResponseStatus"},"contents":{"$ref":"#/components/schemas/PoiVisitorSeg"}}},"examples":{"Result":{"value":"{\n  \"status\": {\n    \"code\": \"00\",\n    \"message\": \"success\",\n    \"totalCount\": 1\n  },\n  \"contents\": {\n    \"poiId\": \"219475\",\n    \"poiName\": \"롯데백화점본점\",\n    \"stat\": [\n      {\n        \"gender\": \"male\",\n        \"ageGrp\": \"0\",\n        \"rate\": 0.1074\n      },\n      {\n        \"gender\": \"male\",\n        \"ageGrp\": \"10\",\n        \"rate\": 1.0081\n      }\n    ],\n    \"statStartDa

# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sk-telecom/refs/heads/main/openapi/sk-telecom-puzzle-place-congestion-openapi.json