気象庁の天気予報API
書式
$ https://www.jma.go.jp/bosai/forecast/data/forecast/:officeId.json
✅️
指定した気象台の今日、明日、明後日の天気予報を得る
引数
:officeId: 気象庁気象台のIDのうち、全国区か府県予報区のもの
例
https://www.jma.go.jp/bosai/forecast/data/forecast/010000.json
全国の天気予報(6日先まで) | 気象庁|天気予報で使われている情報
全国の複数の予報区の予報情報
010000は全国区のコード
https://www.jma.go.jp/bosai/forecast/data/forecast/020000.json
青森県の天気予報 | 気象庁|天気予報で使われている情報
青森地方気象台
0番目は(明日までの詳細)、1番目は(6日先まで)に該当する
0番目は気象庁のエリアコード取得APIで取得できるエリアコード
1番目はエリアコードなのかわからない
https://www.jma.go.jp/bosai/forecast/data/forecast/130000.json
東京都の天気予報 | 気象庁|天気予報で使われるAPI
東京都の今日・明日・明後日の天気予報
葛飾区の天気予報 | 気象庁|天気予報
予報内容が130000にリダイレクトされている
二次細分区域のコードは、対応する府県予報区に変換されるようだ
areasのうち、二次細分区域のコードが含まれる地域のみ表示する
一部気象台のデータが取得不能なようで、代替コードにredirectされている
気象庁のAPIと予報区のコード | WebAPI | あんこエデュケーションにも記述あり
code:ts
const getPathCode = (t) =>
"014030" === t ? "014100" : "460040" === t ? "460100" : t;
$ https://www.jma.go.jp/bosai/forecast/data/overview_forecast/:offceId.json
天気概況
✅️
code:ts
export interface OverviewForecast {
publishingOffice: string;
/** ISO8601 (timezoneつき) */
reportDatetime: string;
targetArea: string;
headlineText: string;
text: string;
}
textに全文、headlineTextに見出しが表示される……はずなのだが、headlineTextは現在空になっているみたい
$ https://www.jma.go.jp/bosai/forecast/data/overview_week/:offceId.json
✅️
週間天気概況
2023か2022あたりを最後に更新されていない
code:ts
export interface OverviewWeek {
publishingOffice: string;
/** ISO8601 (timezoneつき) */
reportDatetime: string;
headTitle: string;
text: string;
}
$ https://www.jma.go.jp/bosai/warning/data/warning/:officeId.json
✅️
発令されている注意報・警報
$ https://www.jma.go.jp/bosai/probability/data/probability/:officeId.json
✅️
東京都の早期警戒情報
いくつかのコードの対応はhtmlにhard codingされている
weatherCodeの意味など
例
https://www.jma.go.jp/bosai/season/data/P1M/130000.json
季節予報
https://www.jma.go.jp/bosai/season/data/P1M/010300.json
https://www.jma.go.jp/bosai/season/data/P3M/010300.json
https://www.jma.go.jp/bosai/season/data/P6M/010300.json
References
気象庁公式の天気予報API(?)が発見 ~Twitterの開発者界隈に喜びの声が満ちる - やじうまの杜 - 窓の杜
#気象庁のAPI
#2024-08-22 17:52:48 Open API Specificationへ書き起こす
#2024-02-16 11:54:59
#2023-07-22 21:51:55
#2021-10-01 11:14:50