Skip to content

nmc

국립중앙의료원(NMC) 병원 정보 API입니다. 병원 목록 조회와 기관 ID(hpid) 기반 상세 조회를 제공합니다.

접근 권한 안내

이 데이터는 정부데이터 원본(공공데이터포털)을 캐싱한 자료입니다. 현재는 공개되어 있으나, 추후 허가받은 사용자만 접근할 수 있도록 제한될 예정입니다.

특징

  • 공공데이터포털의 데이터를 빠르게 접근할 수 있습니다.
  • 필터 조건을 세분화하고 검색 성능을 개선했습니다.

데이터 출처

  • 국립중앙의료원(NMC)에 등록된 정보입니다. — https://www.nmc.or.kr
  • 대한민국 공공데이터포털에서 제공한 원본 데이터를 캐싱하여 제공합니다.
  • 원본 데이터포털과 하루 한 번 재동기화됩니다.

데이터 정확성

데이터가 잘못된 경우, 원본 제공처(국립중앙의료원 또는 공공데이터포털)의 원본 데이터 오류일 수 있습니다.

TIP

  • 값이 없는(null) 필드는 응답에서 생략됩니다.

병원 목록 조회

GET
/data-go-kr/nmc/hospitals

로컬 DB 에 미러링한 NMC 병원 목록. 응답 구조는 원본 API 와 동일하다.

Request

🔒 Bearer 인증 필요 · 인증 방법
GET/data-go-kr/nmc/hospitals

Query Parameters

NameTypeRequiredConstraintsDescription
pagenumber-default 1페이지 번호
sizenumber-min 1 · max 100 · default 20페이지 크기

Response

200

NmcHospitalFullDownResponse

FieldTypeRequiredDescription
responseNmcHospitalFullDownResult-

NmcHospitalFullDownResult

FieldTypeRequiredDescription
headerNmcResultHeader-
└─resultCodestring-결과코드 (정상: 00)
└─resultMsgstring-결과메시지
bodyNmcHospitalFullDownBody-
└─numOfRowsinteger-한 페이지 결과 수
└─pageNointeger-현재 페이지 번호
└─totalCountinteger-전체 결과 수
└─itemsNmcHospitalFullDownItems-
└─itemNmcHospitalFullDownItem[]-
└─rnuminteger-일련번호
└─hpidstring-기관ID
└─dutyNamestring-기관명
└─dutyAddrstring-주소
└─dutyDivNmcDutyDiv-
└─dutyDivNamstring-병원분류명
└─dutyEmclsstring-응급의료기관코드
└─dutyEmclsNamestring-응급의료기관코드명
└─dutyErynstring-응급실운영여부 (1:운영, 2:미운영)
└─dutyEtcstring-비고
└─dutyInfstring-기관설명상세
└─dutyMapimgstring-간이약도
└─dutyTel1string-대표전화1
└─dutyTel3string-응급실전화
└─postCdn1string-우편번호1
└─postCdn2string-우편번호2
└─wgs84Lonstring-병원경도
└─wgs84Latstring-병원위도
└─dutyTime1sstring-진료시간(월요일) 시작
└─dutyTime2sstring-진료시간(화요일) 시작
└─dutyTime3sstring-진료시간(수요일) 시작
└─dutyTime4sstring-진료시간(목요일) 시작
└─dutyTime5sstring-진료시간(금요일) 시작
└─dutyTime6sstring-진료시간(토요일) 시작
└─dutyTime7sstring-진료시간(일요일) 시작
└─dutyTime8sstring-진료시간(공휴일) 시작
└─dutyTime1cstring-진료시간(월요일) 종료
└─dutyTime2cstring-진료시간(화요일) 종료
└─dutyTime3cstring-진료시간(수요일) 종료
└─dutyTime4cstring-진료시간(목요일) 종료
└─dutyTime5cstring-진료시간(금요일) 종료
└─dutyTime6cstring-진료시간(토요일) 종료
└─dutyTime7cstring-진료시간(일요일) 종료
└─dutyTime8cstring-진료시간(공휴일) 종료
└─sidoNmstring-시도명 (예: 서울특별시). **원본 API 가 주지 않는 파생 필드다.** dutyAddr 의 첫 토큰에서 계산한다. NMC 는 지역을 코드로 주지 않고 검색 파라미터(Q0)도 주소 문자열의 부분 일치라, 지역으로 검색·집계하려면 주소에서 뽑아내는 수밖에 없다. 축약 표기(서울)는 정식 명칭(서울특별시)으로 정규화한다.
└─sgguNmstring-시군구명 (예: 강남구). **원본 API 가 주지 않는 파생 필드다.** dutyAddr 의 둘째 토큰에서 계산한다. 시 아래 구가 있으면 두 토큰을 합친다 (예: 수원시 팔달구). 세종특별자치시처럼 시군구가 없는 지역은 값이 없다.
{
  "response": {
    "header": {
      "resultCode": "string",
      "resultMsg": "string"
    },
    "body": {
      "numOfRows": 0,
      "pageNo": 0,
      "totalCount": 0,
      "items": {
        "item": [
          {
            "rnum": 0,
            "hpid": "string",
            "dutyName": "string",
            "dutyAddr": "string",
            "dutyDiv": "string",
            "dutyDivNam": "string",
            "dutyEmcls": "string",
            "dutyEmclsName": "string",
            "dutyEryn": "string",
            "dutyEtc": "string",
            "dutyInf": "string",
            "dutyMapimg": "string",
            "dutyTel1": "string",
            "dutyTel3": "string",
            "postCdn1": "string",
            "postCdn2": "string",
            "wgs84Lon": "string",
            "wgs84Lat": "string",
            "dutyTime1s": "string",
            "dutyTime2s": "string",
            "dutyTime3s": "string",
            "dutyTime4s": "string",
            "dutyTime5s": "string",
            "dutyTime6s": "string",
            "dutyTime7s": "string",
            "dutyTime8s": "string",
            "dutyTime1c": "string",
            "dutyTime2c": "string",
            "dutyTime3c": "string",
            "dutyTime4c": "string",
            "dutyTime5c": "string",
            "dutyTime6c": "string",
            "dutyTime7c": "string",
            "dutyTime8c": "string",
            "sidoNm": "서울특별시",
            "sgguNm": "강남구"
          }
        ]
      }
    }
  }
}

Playground

Server
Authorization
Variables
Key
Value

Samples

Powered by VitePress OpenAPI

병원 상세 조회

GET
/data-go-kr/nmc/hospitals/{hpid}

기관ID 로 1건 조회. 없으면 items 가 빈 배열이고 totalCount 가 0 이다(원본 API 와 동일).

Request

🔒 Bearer 인증 필요 · 인증 방법
GET/data-go-kr/nmc/hospitals/{hpid}

Path Parameters

NameTypeRequiredConstraintsDescription
hpidstring필수기관ID

Response

200

NmcHospitalFullDownResponse

FieldTypeRequiredDescription
responseNmcHospitalFullDownResult-

NmcHospitalFullDownResult

FieldTypeRequiredDescription
headerNmcResultHeader-
└─resultCodestring-결과코드 (정상: 00)
└─resultMsgstring-결과메시지
bodyNmcHospitalFullDownBody-
└─numOfRowsinteger-한 페이지 결과 수
└─pageNointeger-현재 페이지 번호
└─totalCountinteger-전체 결과 수
└─itemsNmcHospitalFullDownItems-
└─itemNmcHospitalFullDownItem[]-
└─rnuminteger-일련번호
└─hpidstring-기관ID
└─dutyNamestring-기관명
└─dutyAddrstring-주소
└─dutyDivNmcDutyDiv-
└─dutyDivNamstring-병원분류명
└─dutyEmclsstring-응급의료기관코드
└─dutyEmclsNamestring-응급의료기관코드명
└─dutyErynstring-응급실운영여부 (1:운영, 2:미운영)
└─dutyEtcstring-비고
└─dutyInfstring-기관설명상세
└─dutyMapimgstring-간이약도
└─dutyTel1string-대표전화1
└─dutyTel3string-응급실전화
└─postCdn1string-우편번호1
└─postCdn2string-우편번호2
└─wgs84Lonstring-병원경도
└─wgs84Latstring-병원위도
└─dutyTime1sstring-진료시간(월요일) 시작
└─dutyTime2sstring-진료시간(화요일) 시작
└─dutyTime3sstring-진료시간(수요일) 시작
└─dutyTime4sstring-진료시간(목요일) 시작
└─dutyTime5sstring-진료시간(금요일) 시작
└─dutyTime6sstring-진료시간(토요일) 시작
└─dutyTime7sstring-진료시간(일요일) 시작
└─dutyTime8sstring-진료시간(공휴일) 시작
└─dutyTime1cstring-진료시간(월요일) 종료
└─dutyTime2cstring-진료시간(화요일) 종료
└─dutyTime3cstring-진료시간(수요일) 종료
└─dutyTime4cstring-진료시간(목요일) 종료
└─dutyTime5cstring-진료시간(금요일) 종료
└─dutyTime6cstring-진료시간(토요일) 종료
└─dutyTime7cstring-진료시간(일요일) 종료
└─dutyTime8cstring-진료시간(공휴일) 종료
└─sidoNmstring-시도명 (예: 서울특별시). **원본 API 가 주지 않는 파생 필드다.** dutyAddr 의 첫 토큰에서 계산한다. NMC 는 지역을 코드로 주지 않고 검색 파라미터(Q0)도 주소 문자열의 부분 일치라, 지역으로 검색·집계하려면 주소에서 뽑아내는 수밖에 없다. 축약 표기(서울)는 정식 명칭(서울특별시)으로 정규화한다.
└─sgguNmstring-시군구명 (예: 강남구). **원본 API 가 주지 않는 파생 필드다.** dutyAddr 의 둘째 토큰에서 계산한다. 시 아래 구가 있으면 두 토큰을 합친다 (예: 수원시 팔달구). 세종특별자치시처럼 시군구가 없는 지역은 값이 없다.
{
  "response": {
    "header": {
      "resultCode": "string",
      "resultMsg": "string"
    },
    "body": {
      "numOfRows": 0,
      "pageNo": 0,
      "totalCount": 0,
      "items": {
        "item": [
          {
            "rnum": 0,
            "hpid": "string",
            "dutyName": "string",
            "dutyAddr": "string",
            "dutyDiv": "string",
            "dutyDivNam": "string",
            "dutyEmcls": "string",
            "dutyEmclsName": "string",
            "dutyEryn": "string",
            "dutyEtc": "string",
            "dutyInf": "string",
            "dutyMapimg": "string",
            "dutyTel1": "string",
            "dutyTel3": "string",
            "postCdn1": "string",
            "postCdn2": "string",
            "wgs84Lon": "string",
            "wgs84Lat": "string",
            "dutyTime1s": "string",
            "dutyTime2s": "string",
            "dutyTime3s": "string",
            "dutyTime4s": "string",
            "dutyTime5s": "string",
            "dutyTime6s": "string",
            "dutyTime7s": "string",
            "dutyTime8s": "string",
            "dutyTime1c": "string",
            "dutyTime2c": "string",
            "dutyTime3c": "string",
            "dutyTime4c": "string",
            "dutyTime5c": "string",
            "dutyTime6c": "string",
            "dutyTime7c": "string",
            "dutyTime8c": "string",
            "sidoNm": "서울특별시",
            "sgguNm": "강남구"
          }
        ]
      }
    }
  }
}

Playground

Server
Authorization
Variables
Key
Value

Samples

Powered by VitePress OpenAPI

코드마스터 목록 조회

GET
/data-go-kr/nmc/codes

로컬 DB 에 미러링한 NMC 코드마스터. 응답 구조는 원본 API 와 동일하다.

Request

🔒 Bearer 인증 필요 · 인증 방법
GET/data-go-kr/nmc/codes

Query Parameters

NameTypeRequiredConstraintsDescription
pagenumber-default 1페이지 번호
sizenumber-min 1 · max 100 · default 20페이지 크기
cmMidstring-대분류코드(cmMid). 예: H010=설립구분. 생략하면 전체 코드를 반환한다.

Response

200

NmcCodeInfoResponse

FieldTypeRequiredDescription
responseNmcCodeInfoResult-

NmcCodeInfoResult

FieldTypeRequiredDescription
headerNmcResultHeader-
└─resultCodestring-결과코드 (정상: 00)
└─resultMsgstring-결과메시지
bodyNmcCodeInfoBody-
└─numOfRowsinteger-한 페이지 결과 수
└─pageNointeger-현재 페이지 번호
└─totalCountinteger-전체 결과 수
└─itemsNmcCodeInfoItems-
└─itemNmcCodeInfoItem[]-
└─cmMidstring-대분류코드 (예: H010)
└─cmMnmstring-코드명 (예: 설립구분)
└─cmSidstring-소분류코드 (예: F001)
└─cmSnmstring-코드약어 (예: 국립)
{
  "response": {
    "header": {
      "resultCode": "string",
      "resultMsg": "string"
    },
    "body": {
      "numOfRows": 0,
      "pageNo": 0,
      "totalCount": 0,
      "items": {
        "item": [
          {
            "cmMid": "string",
            "cmMnm": "string",
            "cmSid": "string",
            "cmSnm": "string"
          }
        ]
      }
    }
  }
}

Playground

Server
Authorization
Variables
Key
Value

Samples

Powered by VitePress OpenAPI

지역 목록 조회

GET
/data-go-kr/nmc/regions

병원 데이터에서 집계한 시도·시군구 목록. 병원이 1건 이상 있는 지역만 나온다.

Request

🔒 Bearer 인증 필요 · 인증 방법
GET/data-go-kr/nmc/regions

Query Parameters

NameTypeRequiredConstraintsDescription
pagenumber-default 1페이지 번호
sizenumber-min 1 · max 100 · default 20페이지 크기

Response

200

NmcRegionResponse

FieldTypeRequiredDescription
responseNmcRegionResult필수

NmcRegionResult

FieldTypeRequiredDescription
headerKrDataHeader필수
└─resultCodestring필수결과 코드. 정상은 00
└─resultMsgstring필수결과 메시지
bodyNmcRegionBody필수
└─itemsNmcRegionItems필수
└─itemNmcRegionItem[]필수
└─sidoNmstring필수시도명
└─sgguNmstring-시군구명. 세종특별자치시처럼 시군구가 없는 지역은 값이 없다.
└─hospitalCountnumber필수이 지역의 병원 수
└─numOfRowsnumber필수한 페이지 결과 수
└─pageNonumber필수페이지 번호
└─totalCountnumber필수전체 결과 수
{
  "response": {
    "header": {
      "resultCode": "00",
      "resultMsg": "NORMAL SERVICE."
    },
    "body": {
      "items": {
        "item": [
          {
            "sidoNm": "서울특별시",
            "sgguNm": "강남구",
            "hospitalCount": 3045
          }
        ]
      },
      "numOfRows": 100,
      "pageNo": 1,
      "totalCount": 263
    }
  }
}

Playground

Server
Authorization
Variables
Key
Value

Samples

Powered by VitePress OpenAPI

병원 진료과목 조회

GET
/data-go-kr/nmc/hospitals/{hpid}/subjects

해당 병원이 진료하는 과목 목록. 코드마스터 D000 기준이다.

Request

🔒 Bearer 인증 필요 · 인증 방법
GET/data-go-kr/nmc/hospitals/{hpid}/subjects

Path Parameters

NameTypeRequiredConstraintsDescription
hpidstring필수기관ID

Response

200

NmcSubjectResponse

FieldTypeRequiredDescription
responseNmcSubjectResult필수

NmcSubjectResult

FieldTypeRequiredDescription
headerKrDataHeader필수
└─resultCodestring필수결과 코드. 정상은 00
└─resultMsgstring필수결과 메시지
bodyNmcSubjectBody필수
└─itemsNmcSubjectItems필수
└─itemNmcSubjectItem[]필수
└─subjectCdstring필수진료과목 코드 (코드마스터 D000)
└─subjectNmstring-진료과목명
└─numOfRowsnumber필수한 페이지 결과 수
└─pageNonumber필수페이지 번호
└─totalCountnumber필수전체 결과 수
{
  "response": {
    "header": {
      "resultCode": "00",
      "resultMsg": "NORMAL SERVICE."
    },
    "body": {
      "items": {
        "item": [
          {
            "subjectCd": "D001",
            "subjectNm": "내과"
          }
        ]
      },
      "numOfRows": 25,
      "pageNo": 1,
      "totalCount": 25
    }
  }
}

Playground

Server
Authorization
Variables
Key
Value

Samples

Powered by VitePress OpenAPI

달빛어린이병원 목록 조회

GET
/data-go-kr/nmc/baby-hospitals

로컬 DB 에 미러링한 달빛어린이병원·소아전문센터. 응답 구조는 원본 API 와 동일하다.

Request

🔒 Bearer 인증 필요 · 인증 방법
GET/data-go-kr/nmc/baby-hospitals

Query Parameters

NameTypeRequiredConstraintsDescription
pagenumber-default 1페이지 번호
sizenumber-min 1 · max 100 · default 20페이지 크기

Response

200

NmcBabyHospitalListResponse

FieldTypeRequiredDescription
responseNmcBabyHospitalListResult-

NmcBabyHospitalListResult

FieldTypeRequiredDescription
headerNmcResultHeader-
└─resultCodestring-결과코드 (정상: 00)
└─resultMsgstring-결과메시지
bodyNmcBabyHospitalListBody-
└─numOfRowsinteger-한 페이지 결과 수
└─pageNointeger-현재 페이지 번호
└─totalCountinteger-전체 결과 수
└─itemsNmcBabyHospitalListItems-
└─itemNmcHospitalListItem[]-
└─rnuminteger-일련번호
└─hpidstring-기관ID
└─dutyNamestring-기관명
└─dutyAddrstring-주소
└─dutyDivNmcDutyDiv-
└─dutyDivNamstring-병원분류명
└─dutyEmclsstring-응급의료기관코드
└─dutyEmclsNamestring-응급의료기관코드명
└─dutyErynstring-응급실운영여부 (1:운영, 2:미운영)
└─dutyEtcstring-비고
└─dutyInfstring-기관설명상세
└─dutyMapimgstring-간이약도
└─dutyTel1string-대표전화1
└─dutyTel3string-응급실전화
└─postCdn1string-우편번호1
└─postCdn2string-우편번호2
└─wgs84Lonstring-병원경도
└─wgs84Latstring-병원위도
└─dutyTime1sstring-진료시간(월요일) 시작
└─dutyTime2sstring-진료시간(화요일) 시작
└─dutyTime3sstring-진료시간(수요일) 시작
└─dutyTime4sstring-진료시간(목요일) 시작
└─dutyTime5sstring-진료시간(금요일) 시작
└─dutyTime6sstring-진료시간(토요일) 시작
└─dutyTime7sstring-진료시간(일요일) 시작
└─dutyTime8sstring-진료시간(공휴일) 시작
└─dutyTime1cstring-진료시간(월요일) 종료
└─dutyTime2cstring-진료시간(화요일) 종료
└─dutyTime3cstring-진료시간(수요일) 종료
└─dutyTime4cstring-진료시간(목요일) 종료
└─dutyTime5cstring-진료시간(금요일) 종료
└─dutyTime6cstring-진료시간(토요일) 종료
└─dutyTime7cstring-진료시간(일요일) 종료
└─dutyTime8cstring-진료시간(공휴일) 종료
└─sidoNmstring-시도명 (예: 서울특별시). **원본 API 가 주지 않는 파생 필드다.** dutyAddr 의 첫 토큰에서 계산한다. NMC 는 지역을 코드로 주지 않고 검색 파라미터(Q0)도 주소 문자열의 부분 일치라, 지역으로 검색·집계하려면 주소에서 뽑아내는 수밖에 없다. 축약 표기(서울)는 정식 명칭(서울특별시)으로 정규화한다.
└─sgguNmstring-시군구명 (예: 강남구). **원본 API 가 주지 않는 파생 필드다.** dutyAddr 의 둘째 토큰에서 계산한다. 시 아래 구가 있으면 두 토큰을 합친다 (예: 수원시 팔달구). 세종특별자치시처럼 시군구가 없는 지역은 값이 없다.
{
  "response": {
    "header": {
      "resultCode": "string",
      "resultMsg": "string"
    },
    "body": {
      "numOfRows": 0,
      "pageNo": 0,
      "totalCount": 0,
      "items": {
        "item": [
          {
            "rnum": 0,
            "hpid": "string",
            "dutyName": "string",
            "dutyAddr": "string",
            "dutyDiv": "string",
            "dutyDivNam": "string",
            "dutyEmcls": "string",
            "dutyEmclsName": "string",
            "dutyEryn": "string",
            "dutyEtc": "string",
            "dutyInf": "string",
            "dutyMapimg": "string",
            "dutyTel1": "string",
            "dutyTel3": "string",
            "postCdn1": "string",
            "postCdn2": "string",
            "wgs84Lon": "string",
            "wgs84Lat": "string",
            "dutyTime1s": "string",
            "dutyTime2s": "string",
            "dutyTime3s": "string",
            "dutyTime4s": "string",
            "dutyTime5s": "string",
            "dutyTime6s": "string",
            "dutyTime7s": "string",
            "dutyTime8s": "string",
            "dutyTime1c": "string",
            "dutyTime2c": "string",
            "dutyTime3c": "string",
            "dutyTime4c": "string",
            "dutyTime5c": "string",
            "dutyTime6c": "string",
            "dutyTime7c": "string",
            "dutyTime8c": "string",
            "sidoNm": "서울특별시",
            "sgguNm": "강남구"
          }
        ]
      }
    }
  }
}

Playground

Server
Authorization
Variables
Key
Value

Samples

Powered by VitePress OpenAPI