[API] 기상청 단기 예보 API 사용하기

2025. 5. 19. 15:22·개발 | 프로젝트/API

학교 전공 강의 프로젝트로 개발 중인 앱에서 날씨 예보 정보가 필요해 기상청 단기 예보 API를 사용하려고 합니다.

 

1. API 신청 및 인증키 발급

https://www.data.go.kr/data/15084084/openapi.do

 

기상청_단기예보 ((구)_동네예보) 조회서비스

초단기실황, 초단기예보, 단기((구)동네)예보, 예보버전 정보를 조회하는 서비스입니다. 초단기실황정보는 예보 구역에 대한 대표 AWS 관측값을, 초단기예보는 예보시점부터 6시간까지의 예보를,

www.data.go.kr

위 포털에서 활용 신청을 한 후 인증키를 발급받습니다.

 

2. API 요청 URL 구성 방법

기상청 단기예보 API는 HTTP GET 방식으로 요청하며, 다음과 같은 기본 URL을 사용합니다.

http://apis.data.go.kr/1360000/VilageFcstInfoService_2.0/getVilageFcst

 

여기서 http://apis.data.go.kr/1360000/VilageFcstInfoService_2.0/을 BASE_URL로 설정하고,

object WeatherAPI {
    private const val BASE_URL = "https://apis.data.go.kr/1360000/VilageFcstInfoService_2.0/"

    val api: WeatherService by lazy {
        Retrofit.Builder()
            .baseUrl(BASE_URL)
            .addConverterFactory(GsonConverterFactory.create())
            .build()
            .create(WeatherService::class.java)
    }
}

 

참고 문서의 활용가이드를 보면 필수적으로 포함해야 하는 요청 메세지 명세는 다음과 같습니다.

 

이 요청 메세지 명세를 확인하며 날씨 정보를 요청하면

interface WeatherService {
    @GET("/getVilageFcst")
    suspend fun getForecast(
        @Query("serviceKey") serviceKey: String,
        @Query("numOfRows") numOfRows: Int,
        @Query("pageNo") pageNo: Int,
        @Query("dataType") dataType: String,
        @Query("base_date") baseDate: String,
        @Query("base_time") baseTime: String,
        @Query("nx") nx: Int,
        @Query("ny") ny: Int
    ): Response<WeatherResponse>
}

 

아래와 같은 응답 데이터를 받을 수 있습니다.

 

JSON 형식의 응답 예시

{
  "response": {
    "body": {
      "items": {
        "item": [
          {
            "fcstDate": "20250519",
            "fcstTime": "0900",
            "category": "TMP",
            "fcstValue": "21"
          },
          {
            "category": "SKY",
            "fcstValue": "3"
          }
        ]
      }
    }
  }
}

'개발 | 프로젝트 > API' 카테고리의 다른 글

FastAPI로 RESTful API 구현하기  (1) 2024.09.22
Fast API란 / Fast API 설치  (0) 2024.09.21
카카오맵 API / Kakao Map API 사용하기  (1) 2024.05.25
'개발 | 프로젝트/API' 카테고리의 다른 글
  • FastAPI로 RESTful API 구현하기
  • Fast API란 / Fast API 설치
  • 카카오맵 API / Kakao Map API 사용하기
seulll
seulll
개인 공부 / 정리 블로그입니다 https://github.com/seul1009
  • seulll
    seulll
    seulll
  • 전체
    오늘
    어제
    • 분류 전체보기 (341) N
      • 코딩테스트 (233) N
        • programmers (python) (156)
        • 백준 (python) (75) N
      • 자료구조 | 알고리즘 (14)
      • 개발 | 프로젝트 (43)
        • Python (4)
        • Java | Spring (7)
        • Android (5)
        • Unity (3)
        • API (4)
      • CS (15)
        • Network (5)
        • SQL (2)
        • OS (4)
      • 데이터 분석 (14)
      • 기타 (13)
  • 블로그 메뉴

    • 홈
    • 태그
    • 글쓰기
    • 설정
  • 링크

    • GitHub
  • 인기 글

  • 태그

    solving environment
    asterisk
    대입 표현식
    야근 지수
    프렌즈4블록
    2 x n 타일링
    Boxplot
    데이터분석
    카카오맵 api
    바다코끼리
    그리디 알고리즘
    train_test_split
    백엔드 개발자
    Greedy
    백엔드 개발자 역량
    카카오맵
    코딩테스트
    Python
    오블완
    오차행렬
    프로그래머스
    confusion matrix
    API
    백엔드
    웹크롤링
    티스토리챌린지
    파이썬
    모델 성능 평가
    kakao map api
    박스플롯
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
seulll
[API] 기상청 단기 예보 API 사용하기
상단으로

티스토리툴바