오픈 API

1. 표준국어대사전 오픈 API 서비스 소개

표준국어대사전 오픈 API는 검색 플랫폼을 외부에 공개하여 다양하고 재미있는 서비스 및 애플리케이션을 개발할 수 있도록 외부 개발자와 사용자들이 공유하는 프로그램입니다. 표준국어대사전에 구축된 양질의 사전 정보를 개인 또는 기관에서 오픈 API를 이용해 자유롭게 이용할 수 있도록 제공합니다.
※ 오픈 API란?
하나의 웹 사이트에서 자신이 가진 기능을 이용할 수 있도록 공개한 프로그래밍 인터페이스를 오픈 API라고 합니다.

2. 표준국어대사전 오픈 API 서비스 인증 키 발급

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

3. 표준국어대사전 오픈 API 서비스 이용 안내

연계 표준 서비스를 이용하기 위한 XML, JSON 기반의 데이터 형식, 갱신 데이터 요청 변수, 반환되는 코드값을 제공합니다.
- 오픈 API 요청 URL
https://stdict.korean.go.kr/api/search.do
- 검색 요청 변수(Request Parameters)
검색요청 정보
요청 변수 타입 허용값 필수/선택 설명
key string 16진수 32자리 필수 인증 키
q string - 필수 검색어(UTF-8 인코딩)
req_type string xml
json
선택 요청 타입(기본값 xml)
start integer 1~1000 선택 검색의 시작 번호(기본값 1)
num integer 10~100 선택 결과 출력 건수(기본값 10)
advanced string

n

y

선택

- 자세히 찾기 여부(기본값 n)

y: 자세히 찾기 사용

n: 자세히 찾기 미사용


※ 하단의 요청 변수들을 사용하시려면 자세히 찾기 여부(기본값 n)인 "advanced" 요청 변수를 'y'로 하셔야 합니다.
target integer 1 ~ 11 선택

- 찾을 대상(기본값 1)

1: 표제어

2: 원어

3: 어원

4: 발음

5: 활용

6: 문형

7: 문법

8: 뜻풀이

9: 용례

10: 용례 출전

11: 용례 번역

method string

exact

include

start

end

wildcard

선택

- 검색 방식(기본값: exact)

exact: 일치 검색

include: 포함 검색

start: 시작

end: 끝

wildcard: 와일드카드 검색

type1 array of string

all

word

phrase

idiom

proverb

선택

- 구분 1(기본값 all)

all: 전체

- 아래 값을 다중 선택할 수 있도록 콤마(,)로 구분하여 나열한다.

word: 어휘

phrase: 구

idiom: 관용구

proverb: 속담

type2 array of string

all

native

chinese

loanword

hybrid

선택

- 구분 2(기본값 all)

all: 전체

- 아래 값을 다중 선택할 수 있도록 콤마(,)로 구분하여 나열한다.

native: 고유어

chinese: 한자어

loanword: 외래어

hybrid: 혼종어

pos array of integer 0~15 선택

- 품사(기본값 0)

0: 전체

- 아래 값을 다중 선택할 수 있도록 콤마(,)로 구분하여 나열한다.

1: 명사

2: 대명사

3: 수사

4: 조사

5: 동사

6: 형용사

7: 관형사

8: 부사

9: 감탄사

10: 접사

11: 의존 명사

12: 보조 동사

13: 보조 형용사

14: 어미

15: 품사 없음

cat array of integer 0~67 선택

- 전문 분야(기본값 0)

0: 전체

- 아래 값을 다중 선택할 수 있도록 콤마(,)로 구분하여 나열한다.

1: 언어

2: 문학

3: 역사

4: 철학

5: 교육

6: 민속

7: 인문 일반

8: 법률

9: 군사

10: 경영

11: 경제

12: 복지

13: 정치

14: 매체

15: 행정

16: 심리

17: 사회 일반

18: 지구

19: 지리

20: 해양

21: 천문

22: 환경

23: 생명

24: 동물

25: 식물

26: 천연자원

27: 수학

28: 물리

29: 화학

30: 자연 일반

31: 농업

32: 수산업

33: 임업

34: 광업

35: 공업

36: 서비스업

37: 산업 일반

38: 의학

39: 약학

40: 한의

41: 수의

42: 식품

43: 보건 일반

44: 건설

45: 교통

46: 기계

47: 전기·전자

48: 재료

49: 정보·통신

50: 공학 일반

51: 체육

52: 연기

53: 영상

54: 무용

55: 음악

56: 미술

57: 복식

58: 공예

59: 예체능 일반

60: 가톨릭

61: 기독교

62: 불교

63: 종교 일반

64: 인명

65: 지명

66: 책명

67: 고유명 일반

multimedia array of integer 0~6 선택

- 멀티미디어(기본값 0)

0: 전체

- 아래 값을 다중 선택할 수 있도록 콤마(,)로 구분하여 나열한다.

1: 사진

2: 삽화

3: 동영상

4: 애니메이션

5: 소리

6: 없음

letter_s integer 1 ~ 선택 - 음절 수 시작(기본값 1)
letter_e integer 1 ~ 선택 - 음절 수 끝(기본값 1)
update_s integer yyyymmdd 선택 - 고친 날짜 시작일
update_e integer yyyymmdd 선택 - 고친 날짜 종료일
- 검색 출력 결과 필드(Response field)
검색 출력 결과 필드
필드 타입 설명
channel - 결과를 포함하는 컨테이너
title string 표준국어대사전 오픈 API 제목 (고정값: 표준국어대사전 오픈 API - 사전 검색)
link string 표준국어대사전 URL(고정값: https://stdict.korean.go.kr)
description string 오픈 API 서비스 설명(고정값: 표준국어대사전 오픈 API – 사전 검색 결과)
lastBuildDate datetime 검색 결과를 생성한 시간
total integer 검색된 전체 어휘 개수
start integer 검색 결과 시작 번호
num integer 검색 결과로 제공하는 어휘 개수
num_sense integer 검색 결과로 제공하는 의미 개수
item - 개별 검색 결과를 포함하는 컨테이너. ‘num’만큼 반복함
word string 표제어
sup_no string 어깨번호
sense - 개별 의미를 포함하는 컨테이너
sense_no string 의미 번호
definition string 뜻풀이
pos string 품사
link string 사전 내용 보기 URL
type string 범주(일반어)
cat string 전문 분야
origin string 원어
syntacticArgument string 문형
syntacticAnnotation string 문법
- 검색 에러 메시지(error message)
검색 에러 메시지 설명
에러 코드 에러 메시지 설명
000 System error 시스템 에러
020 Unregistered key 등록되지 않은 키
021 Your key is temporary unavailable 일시적으로 사용 중지된 인증 키
100 Incorrect query request 부적절한 쿼리 요청. query 필드 자체가 없는 경우에 발생하는 에러 메시지
101 Invalid target value 부적절한 검색 필드
102 Invalid method value 부적절한 검색 방식
103 Invalid num value 부적절한 검색 개수
104 Invalid start value 부적절한 start 값
105 Invalid sort value 부적절한 정렬순
106 Invalid advanced value 부적절한 자세히 찾기 여부
200 Invalid type1 value 부적절한 type1 값
201 Invalid type2 value 부적절한 type2 값
202~209 - 예약
210 Invalid pos value 부적절한 품사
212 Invalid cat value 부적절한 전문 분야
213 Invalid multimedia value 부적절한 멀티미디어
214 Invalid letter_s value 부적절한 음절 수 시작
215 Invalid letter_e value 부적절한 음절 수 종료
216 Invalid update_s value 부적절한 고친 날짜 시작일
217 Invalid update_e value 부적절한 고친 날짜 종료일
- 검색 출력 메시지 XML 예시
	<?xml version="1.0" encoding="UTF-8" ?>
	<xml version="2.0">
		<channel>
			<title> 표준 국어 대사전 개발 지원(Open API) - 사전 검색 </title>
			<link> https://stdict.korean.go.kr </link>
			<description> 표준 국어 대사전 개발 지원(Open API) – 사전 검색 결과</description>
			<lastBuildDate> 20190115141020</lastBuildDate>
			<total>5</total>
			<start>1</start>
			<num>10</num>
			<item>
				<target_code>404765</target_code>
				<word>나무</word>
				<sup_no>1</sup_no>
				<pos>명사</pos>
				<sense>
					<definition> 줄기나 가지가 목질로 된 여러해살이 식물.</definition>
					<link><![CDATA[https://stdict.korean.go.kr/search/searchView.do?word_no=404765&searchKeywordTo=3]]></link>
					<type>일반어</type>
				</sense>
			</item>
			<item>
				<target_code>57033</target_code>	
				<word>나무</word>
				<sup_no>2</sup_no>
				<pos>명사</pos>
				<sense>
					<definition>소 장수들의 은어로, 팔백 냥을 이르던 말.</definition>
					<link><![CDATA[https://stdict.korean.go.kr/search/searchView.do?word_no=57033&searchKeywordTo=3]]></link>
					<type>일반어</type>
				</sense>
			</item>
		</channel>
	</xml> 
								
- 검색 출력 메시지 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": "https://stdict.korean.go.kr",
	        "description": "표준 국어 대사전 개발 지원(Open API) – 사전 검색 결과",
	        "lastbuilddate": "20190115141020",
	        "total": 5,
	        "start": 1,
	        "num": 10,
	        "item": [
	            {
	                "target_code": 404765,
	                "word": "나무",
	                "sup_no": 1,
	                "pos": "명사",
	                "sense": {
	                    "definition": "줄기나 가지가 목질로 된 여러해살이 식물.",
	                    "link": {
	                    	https://stdict.korean.go.kr/search/searchView.do?word_no=404765&searchKeywordTo=3
	                    },
	                    "type": "일반어"
	                }
	            },
	            {
	                "target_code": 57033,
	                "word": "나무",
	                "sup_no": 2,
	                "pos": "명사",
	                "sense": {
	                    "definition": "소 장수들의 은어로, 팔백 냥을 이르던 말.",
	                    "link": {
	                  	https://stdict.korean.go.kr/search/searchView.do?word_no=57033&searchKeywordTo=3
	                    },
	                    "type": "일반어"
	                }
	            }
	        ]
	    }
	}
							
- 검색 출력 메시지 JSON 예시
검색 에러 메시지 설명
에러 메시지 JSON 구조 에러 메시지 JSON 예시

{

"error": {

"error_code": "에러 코드",

"message": "에러 메시지 "

}

}

{

"error": {

"error_code": 20,

"message": "Unregistered key "

}

}