APIリファレンス
防災DBの災害リスク評価API。住所または緯度経度を渡すと、地震・洪水・津波・土砂災害・高潮・液状化の6種のリスクスコアと関連情報をまとめて返します。
ベースURL・認証
APIは防災DB本体(bousaidb.jp)でホストされています。APIキーの発行はai.bousaidb.jp/developersで行い、発行したキーをこのベースURLに対して送信してください。
| ベースURL | https://bousaidb.jp |
|---|---|
| 認証ヘッダー | X-API-Key: brdb_あなたのキー |
| キー未指定の場合 | 匿名リクエストとして通ります(レスポンスは同じですが、利用量はベータプランのカウントに乗らず、レート上限は低め = 100回/日)。継続利用にはAPIキーの利用を推奨します。 |
キーの発行・失効・利用状況の確認は/developersと/developers/dashboardで行えます。
GET /v1/risk
GEThttps://bousaidb.jp/v1/risk
住所または緯度経度で指定した地点の統合災害リスクを返します。
パラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
address | string | addressまたはlat+lngのいずれか必須 | 日本語の住所(例: 東京都葛飾区金町五丁目14番8号)。施設名(学校名・駅名・ビル名等)ではなく町名・番地までの住所を指定してください。 |
lat | number | lngとセットで必須 | 緯度(WGS84)。日本国内の範囲(北緯20〜46度)外は400エラーになります。 |
lng | number | latとセットで必須 | 経度(WGS84)。日本国内の範囲(東経122〜154度)外は400エラーになります。 |
source | string | 任意 | auto(既定、Gold層キャッシュ優先・無ければ外部API補完)/ gold(市区町村単位、外部API呼び出しなし・高速)/ api(座標ピンポイント、外部API呼び出しあり・やや低速) |
リクエスト例
# 住所指定
curl "https://bousaidb.jp/v1/risk?address=%E6%9D%B1%E4%BA%AC%E9%83%BD%E8%91%9B%E9%A3%BE%E5%8C%BA%E9%87%91%E7%94%BA%E4%BA%94%E4%B8%81%E7%9B%AE14%E7%95%AA8%E5%8F%B7" \
-H "X-API-Key: brdb_あなたのキー"
# 緯度経度指定
curl "https://bousaidb.jp/v1/risk?lat=35.768208&lng=139.865997" \
-H "X-API-Key: brdb_あなたのキー"
レスポンス例(一部抜粋、200 OK)
実際のレスポンスは避難所一覧・被害想定の詳細・地域防災計画からの抜粋・関連記事リンク等を含む大きなJSONです。以下は主要フィールドのみを抜粋した実例(curl "https://bousaidb.jp/v1/risk?address=東京都葛飾区金町五丁目14番8号"の実測、2026-08-02)です。
{
"address": "東京都葛飾区金町五丁目14番8号",
"lat": 35.768208,
"lng": 139.865997,
"prefecture_name": "東京都",
"municipality_name": "葛飾区",
"municipality_code": "13122",
"elevation_m": 1.4,
"overall_risk_score": 65,
"risk_level": "高い",
"risks": {
"earthquake": {
"score": 88,
"collapse_prob": 0.7226,
"estimated_si": 7.3,
"amplification_factor": 2.0,
"seismic_intensity_probability": {
"6lower_30yr": 0.7488065,
"6upper_30yr": 0.2327232
},
"source": "J-SHIS 125mメッシュ(BQ Gold層)+ 内閣府被害関数"
},
"flood": {
"score": 96,
"max_scale_depth_m": 3.0,
"source": "国土数値情報 A31a/b + MLIT治水経済調査マニュアル被害関数"
},
"tsunami": { "score": 0, "coverage": "outside_designated_area" },
"landslide": { "score": 0, "coverage": "outside_designated_area" },
"storm_surge": { "score": 58, "max_depth_m": 1.0 },
"liquefaction": { "score": 37, "avs30": 176.9, "estimated_lpi": 6.2 }
},
"comments": {
"overall": "総合的に災害リスクが高めの地域です。優先度の高いリスクから対策を進めてください。最も注意すべきは洪水(スコア96)です。"
},
"nearby_shelters_map": {
"counts": { "5min": 1, "10min": 6, "20min": 11 }
},
"sources": [
{
"source_id": "j-shis",
"name": "地震動予測地図・表層地盤・深部地盤・活断層(J-SHIS)",
"provider": "防災科研",
"license": "J-SHIS利用規約",
"commercial_use": true,
"attribution_required": true
}
]
}
主要レスポンスフィールド
| フィールド | 型 | 説明 |
|---|---|---|
overall_risk_score | integer | 統合リスクスコア(0〜100)。6種のハザードスコアをINFORM方式(幾何平均・最大値・複合ボーナス)で合成した値です。 |
risk_level | string | overall_risk_scoreを5段階に区分した日本語ラベル。極めて低い(0〜19)/ 低い(20〜39)/ やや高い(40〜59)/ 高い(60〜79)/ 極めて高い(80〜100)。 |
risks.{type}.score | integer | ハザード種別(earthquake / flood / tsunami / landslide / storm_surge / liquefaction)ごとのスコア(0〜100)。区域指定外の場合は0になります。 |
risks.{type}.source | string | そのハザードスコアの算出根拠(データソース + 被害関数)。 |
comments | object | 各ハザードおよび総合スコアの日本語コメント(対策の優先度を含む)。 |
elevation_m | number | 標高(メートル、国土地理院データ)。 |
nearby_shelters_map | object | 徒歩5分・10分・20分圏内の指定緊急避難場所の件数・一覧。 |
historical_events | array | 周辺で発生した過去の地震・災害の履歴(震源・年・距離)。 |
sources | array | 算出に用いた一次データの出典一覧。license / commercial_use / attribution_required 等のライセンス情報を含みます。 |
レスポンスの形は防災DB本体サイトが一般利用者に返すものと同一です(AI向けに絞り込んだ簡易版ではありません)。上記の表にない詳細フィールド(近隣活断層・世帯構成別の推奨対策・関連記事リンク等)も同じレスポンスに含まれます。
GET /v1/health
GEThttps://bousaidb.jp/v1/health
サービスの死活監視用エンドポイントです。認証不要。
{
"status": "ok",
"service": "disaster-risk-db",
"cache": {
"loaded": true,
"municipalities": 1747,
"snapshot": { "ready": true, "serve_mode": "snapshot" }
}
}
エラーコード
| ステータス | error | 発生条件 |
|---|---|---|
| 400 | - | addressもlat+lngも指定していない、または指定した住所が地名として解決できない("住所が見つかりません: ...")。 |
| 403 | Invalid or revoked API key | X-API-Keyヘッダーの値が無効、または失効済みのキー。キーを付けずに送る(匿名リクエスト)場合はこのエラーになりません。 |
| 429 | rate_limit_exceeded | 1日または1ヶ月のリクエスト上限に到達(ベータプランは1,000回/日・30,000回/月)。message・hint・contact・upgrade_urlを含みます。 |
| 429 | burst_limit_exceeded | 短時間(1分間)に同一キーで60回を超えるリクエストを送った場合のバースト制限。 |
| 503 | quota_service_unavailable | 利用量カウンタの同期が一時的に不健全な場合のfail-close応答。Retry-Afterヘッダー付きで再試行を促します。 |
レート制限とヘッダー
| プラン | 1日上限 | 1ヶ月上限 |
|---|---|---|
| 匿名(キーなし) | 100回 | —(IP単位の簡易制限のみ) |
| Beta(/developersで発行) | 1,000回 | 30,000回 |
全レスポンスに以下のヘッダーが付与されます。
X-RateLimit-Limit | そのプランの1日あたり上限 |
X-RateLimit-Remaining | 当日の残りリクエスト数(キー未指定時はN/A) |
X-RateLimit-Reset | カウンタがリセットされるUnixタイムスタンプ |