메뉴 열기
공공데이터
공공데이터
공공데이터
인기그룹데이터
새로 개방한 데이터
인기데이터
Linked Open Data
자치구 열린데이터
통계
통계
통계표
통계목록
통계소식
서울의하루
서울통계간행물
서울의 인기통계
서울의 100대통계
서울빅데이터
서울빅데이터
서울 생활인구
수도권 생활이동
서울 시민생활 데이터
서울 실시간 도시데이터
서울 생활물류
AI학습데이터
소식&참여
소식&참여
데이터소식
공지사항
FAQ
문의하기
활용사례(갤러리)
데이터 수요창구
열광 뉴스레터
서울 데이터 펠로우십
경진대회
이용안내
이용안내
열광소개
Open API 소개
공공데이터 제공신청
로그인
회원가입
사이트맵
서울데이터광장 menu
메뉴 닫기
로그인
회원가입
검색
공공데이터
공공데이터
인기그룹데이터
새로 개방한 데이터
인기데이터
Linked Open Data
자치구 열린데이터
통계
통계표
통계목록
통계분석
서울의하루
서울통계간행물
서울의 인기통계
서울의 100대통계
서울빅데이터
서울 생활인구
수도권 생활이동
서울 시민생활 데이터
서울 실시간 도시데이터
서울 생활물류
AI학습데이터
소식&참여
데이터소식
공지사항
FAQ
문의하기
활용사례(갤러리)
데이터 수요창구
열광 뉴스레터
서울 데이터 펠로우십
경진대회
이용안내
열린소개
Open API 소개
공공데이터 제공신청
Open API 소개
Home
이용안내
Open API 소개
서브메뉴 열기
열광소개
Open API 소개
공공데이터 제공신청
열린데이터광장에서 제공하는 오픈API를 사용하기 위해서는 먼저 인증키를 발급받으셔야 합니다.
오픈API는 다양한 서비스와 데이터를 좀 더 쉽게 이용할 수 있도록 공개한 개발자를 위한 인터페이스입니다.
Open API 이용방법
열린데이터광장 접속
01
Open API
인증키 신청
02
Open API
검색 / 확인
03
Open API 활용 /
애플리케이션 제작
04
애플리케이션 등록
05
인증키 발급
열린데이터광장에서 제공하는 오픈API를 사용하기 위해서는 먼저 인증키를 발급 받으셔야 합니다.
오픈API는 다양한 서비스와 데이터를 좀 더 쉽게 이용할 수 있도록 공개한 개발자를 위한 인터페이스입니다.
인증키 사용
오픈API를 통해서 1회 호출시 최대 1,000건만 요청이 가능하며, 1,000건이 넘는 경우 횟수를 나누어 호출하시면 됩니다.(호출 횟수 제한은 없습니다.)
실시간 지하철 오픈API는 1일 1,000회만 호출이 가능합니다.(인증키 1개당)
실시간 지하철 오픈API는 활용사례(갤러리)에 인증키와 함께 서비스를 등록하고 승인 후 호출 제한없이 사용이 가능합니다.
일반 인증키 신청
실시간 지하철 인증키 신청
Open API 샘플 코드
PDF
가이드 다운로드
Java
Javascript
cURL
Python
Node.js
/* Java 1.8 샘플 코드 */ package test; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; import java.io.BufferedReader; import java.io.IOException; public class ApiExplorer { public static void main(String[] args) throws IOException { StringBuilder urlBuilder = new StringBuilder("http://openapi.seoul.go.kr:8088"); /*URL*/ urlBuilder.append("/" + URLEncoder.encode("sample","UTF-8") ); /*인증키 (sample사용시에는 호출시 제한됩니다.)*/ urlBuilder.append("/" + URLEncoder.encode("xml","UTF-8") ); /*요청파일타입 (xml,xmlf,xls,json) */ urlBuilder.append("/" + URLEncoder.encode("CardSubwayStatsNew","UTF-8")); /*서비스명 (대소문자 구분 필수입니다.)*/ urlBuilder.append("/" + URLEncoder.encode("1","UTF-8")); /*요청시작위치 (sample인증키 사용시 5이내 숫자)*/ urlBuilder.append("/" + URLEncoder.encode("5","UTF-8")); /*요청종료위치(sample인증키 사용시 5이상 숫자 선택 안 됨)*/ // 상위 5개는 필수적으로 순서바꾸지 않고 호출해야 합니다. // 서비스별 추가 요청 인자이며 자세한 내용은 각 서비스별 '요청인자'부분에 자세히 나와 있습니다. urlBuilder.append("/" + URLEncoder.encode("20220301","UTF-8")); /* 서비스별 추가 요청인자들*/ URL url = new URL(urlBuilder.toString()); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setRequestProperty("Content-type", "application/xml"); System.out.println("Response code: " + conn.getResponseCode()); /* 연결 자체에 대한 확인이 필요하므로 추가합니다.*/ BufferedReader rd; // 서비스코드가 정상이면 200~300사이의 숫자가 나옵니다. if(conn.getResponseCode() >= 200 && conn.getResponseCode() <= 300) { rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); } else { rd = new BufferedReader(new InputStreamReader(conn.getErrorStream())); } StringBuilder sb = new StringBuilder(); String line; while ((line = rd.readLine()) != null) { sb.append(line); } rd.close(); conn.disconnect(); System.out.println(sb.toString()); } }
/* Javascript 샘플 코드 */ <!DOCTYPE html> <html lang="kr"> <head> <meta charset="UTF-8"> <title>서울시 열린데이터 광장 OpenAPI 샘플(Javascript)</title> </head> <body> <script> var xhr = new XMLHttpRequest(); var url = 'http://openapi.seoul.go.kr:8088/sample/xml/CardSubwayStatsNew/1/5/20220301'; /* URL */ xhr.open('GET', url); xhr.onreadystatechange = function () { if (this.readyState == xhr.DONE) { // <== 정상적으로 준비되었을때 if(xhr.status == 200||xhr.status == 201){ // <== 호출 상태가 정상적일때 alert('Status: '+this.status+ '\nHeaders: '+JSON.stringify(this.getAllResponseHeaders())+ '\nBody: '+this.responseText); } } }; xhr.send(''); </script> </body> </html>
/* cURL 샘플 코드 */ curl --include --request GET 'http://openapi.seoul.go.kr:8088/sample/xml/CardSubwayStatsNew/1/5/20220301'
/* Python3 샘플 코드 */ import requests url = 'http://openapi.seoul.go.kr:8088/sample/xml/CardSubwayStatsNew/1/5/20220301' response = requests.get(url) print(response.content)
/* Node.js 12 샘플 코드 */ var request = require('request'); var url = 'http://openapi.seoul.go.kr:8088/sample/xml/CardSubwayStatsNew/1/5/20220301'; request({ url: url, method: 'GET' }, function (error, response, body) { //console.log('Status', response.statusCode); //console.log('Headers', JSON.stringify(response.headers)); //console.log('Reponse received', body); });
서울열린데이터광장 OPEN API 사용법
서울시민을 위한 공공데이터가 다모여있는 곳
서울시 열린데이터광장(https://data.seoul.go.kr/)에서 Open API 활용방법을 보다 쉽게 이해할수 있도록 동영상으로 제작하였습니다.
공공데이터, OpenAPI 설명부터 인증키 신청방법, 프로그램 사용방법까지 꼼꼼히 설명하고 있으니 많이 보시고 활용해 주시기 바랍니다.
00:00 동영상 제작 취지
00:14 공공데이터 설명
00:47 OpenAPI 설명
01:20 열린데이터광장에서 OpenAPI 사용방법
02:12 일반 인증키 신청방법
02:52 실시간 지하철 인증키 신청방법
03:23 서비스화면 설명
04:23 프로그램 사용 방법(java, javascript, cURL, Python, Node.js)
video
API 동영상 가이드
서울 열린데이터광장
공공데이터
공공데이터
인기그룹데이터
새로 개방한 데이터
인기데이터
Linked Open Data
자치구 열린데이터
통계
통계표
통계목록
통계소식
서울의하루
서울통계간행물
서울의 인기통계
서울의 100대통계
서울빅데이터
서울 생활인구
수도권 생활이동
서울 시민생활 데이터
서울 실시간 도시데이터
서울 생활물류
AI학습데이터
소식&참여
데이터소식
공지사항
FAQ
문의하기
활용사례(갤러리)
데이터 수요창구
열광 뉴스레터
서울 데이터 펠로우쉽
경진대회
이용안내
열광소개
Open API 소개
공공데이터 제공신청
메뉴 닫기