1. 우리말샘 오픈 API 서비스 소개
오픈 API란?
하나의 웹 사이트에서 자신이 가진 기능을 이용할 수 있도록 공개한 프로그래밍 인터페이스를 오픈 API라고 합니다.2. 우리말샘 오픈 API 서비스 인증키 발급
3. 우리말샘 오픈 API 서비스 이용 안내
-
오픈 API 요청 URL
https://opendict.korean.go.kr/api/search검색 요청 변수(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) part string word
exam
선택 - 검색 대상(기본값 word)
word: 어휘
exam: 용례
※ 자세히 찾기(advanced 값이 'n')인 경우 적용 된다.
sort string dict
popular
date
선택 - 정렬 방식(기본값 dict)
dict: 우리말샘순
popular: 많이 찾은 순
date: 새로 올린 순
※ 검색 대상이 어휘(word), 자세히 찾기(advanced값이 'y')인 경우 적용 된다.
advanced string n
y
선택 - 자세히 찾기 여부(기본값 n)
※ ‘y’일 경우, ‘advanced’ 요청 변수 아래(요청 변수‘target’부터)가 적용된다.
※ 하단의 요청 변수들을 사용하시려면 자세히 찾기 여부(기본값 n)인 "advanced" 요청 변수를 'y'로 하셔야 합니다.target integer 1 ~ 15 선택 - 찾을 대상(기본값 1)
1: 어휘(표제어)
2: 원어
3: 어원
4: 발음
5: 활용
6: 활용의 준말
7: 문형
8: 문법
9: 뜻풀이
10: 용례
11: 용례 출처
12: 대역어
13: 학명
14: 수어 정보
15: 규범 정보
※ ‘원어(2)’ 또는 ‘대역어(12)’ 선택 시 요청 변수 ‘lang(언어)’를 설정할 수 있다.
※ ‘수어 정보(14)’ 선택 시 요청 변수 ‘method(검색 방식)’은 ‘yes(내용 있음)’ 또는 ‘no(내용 없음)’만 선택할 수 있다. 요청 변수 ‘q(검색어)’는 무시되며 수어 정보가 있거나 혹은 없는 어휘 검색 결과를 제공한다.
※ ‘규범정보(15)’ 선택 시 요청 변수 ‘norm(규범 유형)’을 설정할 수 있다.
method string exact
include
start
end
yes
no
선택 - 검색 방식(기본값: exact)
exact: 일치 검색
include: 포함 검색
start: 시작
end: 끝
yes: 내용 있음
no: 내용 없음
※ ‘target(찾을 대상)’이 ‘수어정보(14)’일 경우 ‘yes(내용 있음), no(내용 없음)’중 하나를 선택한다.
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: 혼종어
type3 array of string all
general
dialect
nkorean
ancient
선택 - 구분 3(기본값 all)
all: 전체
- 아래 값을 다중 선택할 수 있도록 콤마(,)로 구분하여 나열한다.
general: 일반어
dialect: 지역어(방언)
nkorean: 북한어
ancient: 옛말
type4 array of string all
general
technical
선택 - 구분 4(기본값 all)
all: 전체
- 아래 값을 다중 선택할 수 있도록 콤마(,)로 구분하여 나열한다.
general: 일상어
technical: 전문어
※ ‘general(일상어)’ 선택 시, 요청 변수 ‘cat(전문 분야)’는 무시된다.
pos array of integer 0~27 선택 - 품사(기본값 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: 품사 없음
region array of integer 0~23 선택 - 방언 지역(기본값 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: 중앙아시아
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: 환경
※ ‘cat(전문 분야)’를 설정하려면 요청 변수 ‘type4(구분 4)’가 ‘all(전체)’ 또는 ‘technical(전문어)’로 설정되어야 한다.
lang Integer 0~48 선택 - 언어(기본값 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: 덴마크어
※ 요청변수 ‘target(찾을 대상)’이 ‘원어(2)’, ‘대역어(12)’일 경우, 요청변수 ‘lang(언어)’를 설정할 수 있다.
norm Integer 0~13 선택 - 규범 유형(기본값 0)
0: 전체
1: 없음
2: 한글 맞춤법
3: 띄어쓰기
4: 표준어
5: 문장 부호
6: 외래어 표기
7: 로마자 표기
8: 발음
9: 문법
10: 어휘
11: 언어 예절
12: 순화
13: 기타
※ 요청변수 ‘target(찾을 대상)’이 ‘규범정보(15)’일 경우, 요청변수 ‘norm(규범 유형)’을 설정할 수 있다.
multimedia array of integer 0~6 선택 - 다중 매체(멀티미디어)(기본값 0)
0: 전체
- 아래 값을 다중 선택할 수 있도록 콤마(,)로 구분하여 나열한다.
1: 사진
2: 삽화
3: 동영상
4: 애니메이션
5: 소리
6: 없음
letter_s integer 1 ~ 80 선택 - 음절수 시작(기본값 1) letter_e integer 1 ~ 80 선택 - 음절수 끝(기본값 80) date_s integer yyyymmdd 선택 - 올린 날짜 시작일 date_e integer yyyymmdd 선택 - 올린 날짜 종료일 update_s integer yyyymmdd 선택 - 고친 날짜 시작일 update_e integer yyyymmdd 선택 - 고친 날짜 종료일 검색 출력 결과 필드(Response field)
검색 출력 결과 필드 설명 필드 타입 필수/선택 설명 channel - 필수 결과를 포함하는 컨테이너 title string 필수 우리말샘 오픈 API 제목 (고정값: 우리말샘 개발 지원(Open API) - 사전 검색) link string 필수 우리말샘 URL(고정값: http://opendict.korean.go.kr) description string 필수 오픈 API 서비스 설명 (고정값: 우리말샘 개발 지원(Open API) – 사전 검색 결과) lastBuildDate integer 필수 검색 결과를 생성한 시간 total integer 필수 검색된 전체 어휘 개수 start integer 필수 검색 결과 시작 번호 num integer 필수 검색 결과로 제공하는 어휘 개수 item - 필수 개별 검색 결과를 포함하는 컨테이너. ‘num’ 만큼 반복함 word string 필수 표제어 sense - 필수 개별 의미를 포함하는 컨테이너 sense_no string 필수 의미번호(3자리 정수) definition string 필수 뜻풀이 pos string 선택 품사. 구, 속담, 관용구는 품사가 없음 link string 필수 사전 내용 보기 URL type string 필수 범주(일반어, 지역어(방언), 북한어, 옛말) cat string 선택 전문 분야 origin string 선택 원어 syntacticArgument string 선택 문형 syntacticAnnotation string 선택 문법 target_code integer 필수 대상 코드 검색 에러 메시지
검색 에러 메시지 설명 에러 코드 에러 메시지 설명 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 부적절한 자세히 찾기 여부 107 Invalid lang value 부적절한 언어 값 108 Invalid norm value 부적절한 규범 유형 값 109 Invalid part value 부적절한 검색 대상 값 200 Invalid type1 value 부적절한 type1 값 201 Invalid type2 value 부적절한 type2 값 202 Invalid type3 value 부적절한 type3 값 203 Invalid type4 value 부적절한 type4 값 210 Invalid pos value 부적절한 품사 211 Invalid region value 부적절한 방언 지역 212 Invalid cat value 부적절한 전문 분야 213 Invalid multimedia value 부적절한 다중 매체(멀티미디어) 214 Invalid letter_s value 부적절한 음절수 시작 215 Invalid letter_e value 부적절한 음절수 종료 216 Invalid date_s value 부적절한 올린 날짜 시작일 217 Invalid date_e value 부적절한 올린 날짜 종료일 검색 출력 메시지 XML 예시(어휘)
<?xml version="1.0" encoding="UTF-8" ?>
<channel>
<title> 우리말샘 개발 지원(Open API) - 사전 검색 </title>
<link> http://opendict.korean.go.kr/search </link>
<description> 우리말샘 개발 지원(Open API) - 사전 검색 결과 </description>
<total>2</total>
<start>1</start>
<num>2</num>
<item>
<word>나무</word>
<sense>
<target_code>368281</target_code>
<sense_no>001</sense_no>
<definition> 줄기나 가지가 목질로 된 여러해살이 식물.</definition>
<pos>명사</pos>
<link>http://opendict.korean.go.kr/dictionary/view?sense_no=368281</link>
<type>일반어</type>
</sense>
</item>
<item>
<word>나무</word>
<sense>
<target_code>490250</target_code>
<sense_no>004</sense_no>
<definition> 소 장수들의 은어로, 팔백 냥을 이르던 말.</definition>
<pos>명사</pos>
<link>http://opendict.korean.go.kr/dictionary/view?sense_no=490250</link>
<type>일반어</type>
</sense>
</item>
</channel>
검색 출력 메시지 XML 예시(용례)
<?xml version="1.0" encoding="UTF-8" ?>
<channel>
<title> 우리말샘 개발 지원(Open API) - 사전 검색 </title>
<link> http://opendict.korean.go.kr/search </link>
<description> 우리말샘 개발 지원(Open API) - 사전 검색 결과 </description>
<total>2</total>
<start>1</start>
<num>2</num>
<item>
<target_code>72651</target_code>
<word>가구</word>
<sense_no>002</sense_no>
<example>나무다리 윗부분은 고건축에서 보이는 가구 수법대로 시공되었다.</example>
<link>http://opendict.korean.go.kr/dictionary/view?sense_no=72651</link>
</item>
<item>
<target_code>375410</target_code>
<word>가끔-가다가</word>
<sense_no>001</sense_no>
<example>원숭이도 가끔가다가 나무에서 떨어질 때가 있다.</example>
<link>http://opendict.korean.go.kr/dictionary/view?sense_no=375410</link>
</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/search ",
"description": " 우리말샘 개발 지원(Open API) - 사전 검색 결과 ",
"total": 2,
"start": 1,
"num": 2,
"item": [
{
"word": "나무",
"sense": {
"target_code": 368281,
"sense_no": 1,
"definition": " 줄기나 가지가 목질로 된 여러해살이 식물.",
"pos": "명사",
"link": "http://opendict.korean.go.kr/dictionary/view?sense_no=368281",
"type": "일반어"
}
},
{
"word": "나무",
"sense": {
"target_code": 490250,
"sense_no": 4,
"definition": " 소 장수들의 은어로, 팔백 냥을 이르던 말.",
"pos": "명사",
"link": "http://opendict.korean.go.kr/dictionary/view?sense_no=490250",
"type": "일반어"
}
}
]
}
}
검색 출력 메시지 JSON 예시(용례)
{
"channel": {
"title": " 우리말샘 개발 지원(Open API) - 사전 검색 ",
"link": " http://opendict.korean.go.kr/search ",
"description": " 우리말샘 개발 지원(Open API) - 사전 검색 결과 ",
"total": 2,
"start": 1,
"num": 2,
"item": [
{
"target_code": 72651,
"word": "가구",
"sense_no": 2,
"example": "나무다리 윗부분은 고건축에서 보이는 가구 수법대로 시공되었다.",
"link": "http://opendict.korean.go.kr/dictionary/view?sense_no=72651"
},
{
"target_code": 375410,
"word": "가끔-가다가",
"sense_no": 1,
"example": "원숭이도 가끔가다가 나무에서 떨어질 때가 있다.",
"link": "http://opendict.korean.go.kr/dictionary/view?sense_no=375410"
}
]
}
}
검색 출력 메시지 JSON 예시
검색 에러 메시지 설명 에러 메시지 JSON 구조 에러 메시지 JSON 예시 {
"error": {
"error_code": "에러 코드",
"message": "에러 메시지"
}
}
{
"error": {
"error_code": 20,
"message": "Unregistered key"
}
}