본문바로가기

1. 우리말샘 오픈 API 서비스 소개

우리말샘 오픈 API는 검색 플랫폼을 외부에 공개하여 다양하고 재미있는 서비스 및 애플리케이션을 개발할 수 있도록 외부 개발자와 사용자들이 공유하는 프로그램입니다. 우리말샘에 구축된 양질의 사전 정보를 개인 또는 기관에서 오픈 API를 이용해 자유롭게 이용할 수 있도록 제공합니다.

오픈 API란?

하나의 웹 사이트에서 자신이 가진 기능을 이용할 수 있도록 공개한 프로그래밍 인터페이스를 오픈 API라고 합니다.

2. 우리말샘 오픈 API 서비스 인증키 발급

오픈 API 서비스를 이용하기 위해서는 먼저 인증키를 발급받아야 합니다. 인증키가 올바르지 않은 경우에는 서비스 이용이 제한됩니다. 인증키가 유효하지 않거나 인증키를 분실한 경우에는 인증키를 재발급받아야 합니다.

3. 우리말샘 오픈 API 서비스 이용 안내

연계 표준 서비스를 이용하기 위한 XML, JSON 기반의 데이터 형식, 갱신 데이터 요청 변수, 반환되는 코드값을 제공합니다.
  • 오픈 API 요청 URL

    https://opendict.korean.go.kr/api/view

    검색 요청 변수(Request Parameters)

    검색 요청 변수 목록
    요청 변수 타입 허용값 필수/선택 설명
    key string 16진수 32자리 필수 인증키
    method string

    word_info

    target_code

    필수

    -검색 방식(기본값 word_info)

    word_info: 표제어 정보(표제어 + 의미 번호)

    target_code: *대상 코드(target_code)

    req_type string

    xml

    json

    선택

    요청 타입(기본값 xml)

    q string - 필수

    -검색어(UTF-8 인코딩)

    method 입력 값이 'word_info 경우 어휘 정보 입력

    method 입력 값이 'target_code'일 경우 대상 코드 입력

    검색 출력 결과 필드(Response field)

    검색 출력 결과 필드 설명
    상위 필드 필드 타입 필수/선택 설명
    - channel - 필수 결과를 포함하는 컨테이너
    channel title string 필수 우리말샘 오픈 API 제목 (고정값: 우리말샘 개발 지원(Open API) - 사전 검색)
    channel link string 필수 우리말샘 사전 내용 URL
    channel description string 필수 오픈 API 서비스 설명 (고정값: 우리말샘 개발 지원(Open API) – 사전 내용 검색 결과)
    channel lastBuildDate integer 필수 검색 결과를 생성한 시간
    channel total integer 필수 검색 건수(1: 결과 있음, 0이면 결과 없음)
    channel item - 필수 검색 결과를 포함하는 컨테이너
    item target_code integer 필수 대상 코드
    item group_code integer 필수 다의어 번호(고유한 구분 KEY 값 – 다의어 묶음 정보로 사용)
    item group_order integer 필수 다의어 순번(다의어 묶음 정보로 사용)
    item word_info string 필수 형태 항목을 포함하는 컨테이너
    word_info word string 필수 표제어
    word_info word_unit string 필수 구성 단위
    word_info word_type string 필수 고유어 여부
    word_info original_language_info string 선택 원어 항목을 포함하는 컨테이너(반복)
    original_language_info original_language string 필수 원어
    original_language_info language_type string 필수 언어
    word_info pronunciation_info string 선택 표제어 발음 항목을 포함하는 컨테이너(반복)
    pronunciation_info pronunciation string 필수 발음
    word_info conju_info string 선택 활용,준말 항목을 포함하는 컨테이너(반복)
    conju_info conjugation_info string 선택 활용 항목을 포함하는 컨테이너
    conjugation_info conjugation string 필수 활용
    conjugation_info pronunciation_info string 선택 활용의 발음 항목을 포함하는 컨테이너(반복)
    pronunciation_info pronunciation string 필수 발음
    conju_info abbreviation_info string 선택 준말 항목을 포함하는 컨테이너
    abbreviation_info abbreviation string 필수 준말
    abbreviation_info pronunciation_info string 선택 준말의 발음 항목을 포함하는 컨테이너(반복)
    pronunciation_info pronunciation string 필수 발음
    word_info origin string 선택 어원
    word_info allomorph string 선택 이형태
    item sense_info - 필수 의미 항목을 포함하는 컨테이너
    sense_info sense_no string 필수 의미번호(3자리 정수)
    sense_info pos string 선택 품사. 구, 속담, 관용구는 품사가 없음
    sense_info type string 필수 범주(일반어, 지역어(방언), 북한어, 옛말)
    sense_info definition string 필수 뜻풀이(태그 정보: IN-미확정, DR-방언 지역, FL-비규범)
    sense_info definition_original string 필수 뜻풀이(어휘링크 포함)
    sense_info scientific_name string 선택 학명
    sense_info pattern_info string 선택 문형 항목을 포함하는 컨테이너(반복)
    pattern_info pattern string 필수 문형
    sense_info grammar_info string 선택 문법 항목을 포함하는 컨테이너(반복)
    grammar_info grammar string 필수 문법
    sense_info cat_info string 선택 전문 분야 항목을 포함하는 컨테이너(반복)
    cat_info cat string 필수 전문 분야
    sense_info region_info string 선택 방언 지역 항목을 포함하는 컨테이너(반복)
    region_info region string 필수 방언 지역
    sense_info example_info string 선택 용례 항목을 포함하는 컨테이너(반복)
    example_info example string 필수 용례(태그 정보: IN-미확정, FL-비규범)
    example_info source string 선택 출처
    example_info origin string 선택 원문
    example_info translation string 선택 번역
    example_info region string 선택 방언 지역
    sense_info relation_info string 선택 관련 어휘 항목을 포함하는 컨테이너(반복)
    relation_info word string 필수 표제어(예: 나무001)
    relation_info type string 필수 유형
    relation_info link_target_code string 필수 링크 대상 코드
    relation_info link string 필수 링크
    sense_info translation_info string 선택 대역어 항목을 포함하는 컨테이너(반복)
    translation_info translation string 필수 대역
    translation_info language_type string 필수 언어
    sense_info history_info string 선택 역사 정보 항목을 포함하는 컨테이너
    history_info word_form string 선택 어형 변화/시기
    history_info desc string 선택 설명
    history_info allomorph string 선택 이형태/이표기
    history_info remark string 선택 관련 정보
    history_info history_sense_info string 선택 역사정보 의미 항목을 포함하는 컨테이너(반복)
    history_sense_info definition string 선택 뜻풀이(태그 정보: IN-미확정, DR-방언 지역, FL-비규범)
    history_sense_info history_century_info string 선택 역사 정보 세기 항목을 포함하는 컨테이너(반복)
    history_century_info century string 선택 세기
    history_century_info mark string 선택 표기
    history_century_info history_example_info string 선택 역사정보 용례 항목을 포함하는 컨테이너(반복)
    history_example_info example string 선택 용례(태그 정보: IN-미확정, FL-비규범)
    history_example_info source string 선택 출전
    history_example_info origin string 선택 원문
    history_example_info translation string 선택 번역
    sense_info multimedia_info string 선택 멀티미디어 항목을 포함하는 컨테이너(반복)
    multimedia_info label string 필수 제목
    multimedia_info type string 필수 유형
    multimedia_info link string 필수 링크
    sense_info norm_info string 선택 규범 정보 항목을 포함하는 컨테이너(반복)
    norm_info type string 필수 규범 정보 유형
    norm_info role string 선택 관련 조항
    norm_info desc string 선택 설명
    sense_info proverb_info string 선택 관용구/속담 항목을 포함하는 컨테이너(반복)
    proverb_info word string 필수 표제어
    proverb_info definition string 필수 뜻풀이
    proverb_info type string 필수 유형(관용구/속담)
    proverb_info link_target_code string 필수 링크 대상 코드
    proverb_info link string 필수 링크
    sense_info sl_info_link string 선택 수어 정보 링크

    검색 에러 메시지(error message)

    검색 에러 메시지 설명
    에러 코드 에러 메시지 설명
    000 System error 시스템 에러
    020 Unregistered key 등록되지 않은 키
    021 Your key is temporary unavailable 일시적으로 사용 중지된 인증키
    100 Incorrect query request 부적절한 쿼리 요청. query 필드 자체가 없는 경우에 발생하는 에러 메시지
    102 Invalid method value 부적절한 검색 방식

    검색 출력 메시지 XML 예시

    <?xml version="1.0" encoding="UTF-8" ?>

    <channel>

    <title>우리말샘 개발 지원(Open API) - 사전 내용 검색</title>

    <link>http://opendict.korean.go.kr/dictionary/view?sense_no=645721</link>

    <description>우리말샘 개발 지원(Open API) - 사전 내용 검색 결과</description>

    <lastBuildDate>20171009133403</lastBuildDate>

    <total>1</total>

    <item>

    <target_code>645721</target_code>

    <group_code>79596</group_code>

    <group_order>1</group_order>

    <wordInfo>

    <word>공공^기관</word>

    <word_unit>구</word_unit>

    <word_type>한자어</word_type>

    <original_language_info>

    <original_language>公共機關</original_language>

    <language_type>한자</language_type>

    </original_language_info>

    </wordInfo>

    <senseInfo>

    <sense_no>001</sense_no>

    <type>일반어</type>

    <definition>국가나 사회의 구성원에게 두루 관계되는 기관.</definition>

    <cat_info>

    <cat>행정</cat>

    </cat_info>

    <example_info>

    <example>건설부는 정부 및 {공공 기관에서} 시행하는 시설 공사의 합리적 공사비 산정과 정부 예산의 효율적 집행을 위해 올해 적용될 표준 품셈 71개 항목을 개정했다.</example>

    <source>연합뉴스 1990년 1월</source>

    </example_info>

    <example_info>

    <example>국외 취업 정보는 {공공 기관이} 운영하는 인터넷 누리집에서 찾을 수 있다.</example>

    <source>한겨레 2010년 10월</source>

    </example_info>

    <sl_info_link>http://sldict.korean.go.kr/front/sign/signContentsView.do?origin_no=4052</sl_info_link>

    </sense_info>

    </item>

    </channel>

    검색 출력 메시지 XML 예시

    검색 에러 메시지 설명
    에러 메시지 XML 구조 에러 메시지 XML 예시

    <?xml version="1.0" encoding="UTF-8" ?>

    <error>

    <error_code>에러 코드</error_code>

    <message>에러 메시지</message>

    </error>

    <?xml version="1.0" encoding="UTF-8" ?>

    <error>

    <error_code>020</error_code>

    <message>Unregistered key</message>

    </error>

    검색 출력 메시지 JSON 예시

    {

    "channel": {

    "title": "우리말샘 개발 지원(Open API) - 사전 내용 검색",

    "link": "http://opendict.korean.go.kr/dictionary/view?sense_no=645721",

    "description": "우리말샘 개발 지원(Open API) - 사전 내용 검색 결과",

    "lastbuilddate": 20171009133403,

    "total": 1,

    "item": {

    "target_code": 645721,

    "group_code": 79596,

    "group_order": 1,

    "wordinfo": {

    "word": "공공^기관",

    "word_unit": "구",

    "word_type": "한자어",

    "original_language_info": {

    "original_language": "公共機關",

    "language_type": "한자"

    }

    },

    "senseinfo": {

    "sense_no": 1,

    "type": "일반어",

    "definition": "국가나 사회의 구성원에게 두루 관계되는 기관.",

    "cat_info": {

    "cat": "행정"

    }

    "example_info": [

    {

    "example": "건설부는 정부 및 {공공 기관에서} 시행하는 시설 공사의 합리적 공사비 산정과 정부 예산의 효율적 집행을 위해 올해 적용될 표준 품셈 71개 항목을 개정했다.",

    "source": "연합뉴스 1990년 1월"

    },

    {

    "example": "국외 취업 정보는 {공공 기관이} 운영하는 인터넷 누리집에서 찾을 수 있다.",

    "source": "한겨레 2010년 10월"

    }

    ],

    "sl_info_link": "http://sldict.korean.go.kr/front/sign/signContentsView.do?origin_no=4052"

    }

    }

    }

    }

    검색 출력 메시지 JSON 예시

    검색 에러 메시지 설명
    에러 메시지 JSON 구조 에러 메시지 JSON 예시

    {

    "error": {

    "error_code": "에러 코드",

    "message": "에러 메시지"

    }

    }

    {

    "error": {

    "error_code": 20,

    "message": "Unregistered key"

    }

    }

위로