API リファレンス¶
Koriyama Open Data Hub API は、郡山市が公開しているオープンデータと公式サイト RSS を読み取り専用で返す非公式 API です。認証は不要です。
非公式 API です
この API は郡山市公式サービスではありません。データの正確性、完全性、最新性、可用性は保証しません。正確な内容は郡山市公式ウェブサイトで確認してください。
エントリポイント¶
URL |
挙動 |
|---|---|
|
ドキュメントへリダイレクトします。 |
|
このドキュメントを表示します。 |
|
API のサービス情報を JSON で返します。 |
API のベースパスは /api/v2 です。このページの例では、ベース URL を https://koriyama-open-data-hub.alflag.org/api/v2 として記載します。
共通仕様¶
HTTP メソッド¶
公開 API は GET のみを使います。CORS は全 origin からの GET と OPTIONS を許可しています。
JSON レスポンス¶
JSON エンドポイントは、基本的に meta と data を持つオブジェクトを返します。
{
"meta": {
"api_version": "2.0",
"generated_at": "2026-01-01T00:00:00.000Z",
"source_name": "郡山市オープンデータ",
"license": "CC BY 4.0",
"attribution_required": true,
"unofficial": true,
"disclaimer": "This API is not affiliated with Koriyama City."
},
"data": []
}
meta.generated_at は API がレスポンスを生成した日時です。配列を返すエンドポイントでは meta.result_count が付きます。ページング対象の一覧では meta.limit と meta.offset も返ります。
GeoJSON レスポンス¶
GET /places.geojson は application/geo+json; charset=utf-8 の GeoJSON FeatureCollection を返します。このエンドポイントは meta / data の envelope を使いません。
ページング¶
一覧系エンドポイントでは limit と offset を指定できます。
パラメータ |
説明 |
既定値 |
|---|---|---|
|
取得件数です。 |
エンドポイントにより |
|
取得開始位置です。負の値は |
|
レート制限¶
API は、同一クライアント IP アドレスからのリクエストを 60 秒あたり 30 件までに制限します。上限を超えた場合は HTTP 429 と data.error = "rate_limited" を返し、Retry-After ヘッダーで再試行までの目安秒数を示します。
エラー¶
存在しないリソースは HTTP ステータスと data.error で区別します。
{
"meta": {
"api_version": "2.0",
"generated_at": "2026-01-01T00:00:00.000Z",
"source_name": "郡山市オープンデータ",
"license": "CC BY 4.0",
"attribution_required": true,
"unofficial": true,
"disclaimer": "This API is not affiliated with Koriyama City."
},
"data": {
"error": "dataset_not_found"
}
}
HTTP ステータス |
|
主な原因 |
|---|---|---|
|
バリデーションエラー |
必須 query がない、query の形式が合わない |
|
|
指定した |
|
|
指定した |
|
|
パスが存在しない |
|
|
同一クライアント IP アドレスからのリクエスト数が多すぎる |
エンドポイント一覧¶
メソッド |
パス |
説明 |
|---|---|---|
|
|
API のサービス情報 |
|
|
データ件数、取得ログ、状態 |
|
|
公開データセット一覧 |
|
|
データセット詳細 |
|
|
データセットの元データ行 |
|
|
正規化済み地点データ一覧 |
|
|
地点データ 1 件 |
|
|
地点データの GeoJSON |
|
|
地点データ検索 |
|
|
取得・正規化時に検出した変更履歴 |
|
|
郡山市公式サイト RSS の記事情報 |
サービス情報¶
GET /api/v2¶
API 名、ベースパス、ドキュメント URL、主要エンドポイントを返します。
curl https://koriyama-open-data-hub.alflag.org/api/v2
主な data フィールド:
フィールド |
説明 |
|---|---|
|
API 名 |
|
API の説明 |
|
API ベース URL |
|
API ベースパス |
|
ドキュメント URL |
|
主要エンドポイントのパス |
データセット¶
データセット系 API の詳細な request / response、フィールド仕様、警告値は データセット API リファレンス を確認してください。
GET /api/v2/datasets¶
公開 API で利用できるデータセット一覧を返します。
curl https://koriyama-open-data-hub.alflag.org/api/v2/datasets
主な data[] フィールド:
フィールド |
説明 |
|---|---|
|
データセット ID |
|
データセット名 |
|
API 側のカテゴリ |
|
出典ページ URL |
|
出典ファイルの配列 |
|
|
|
API で有効かどうか |
|
公開 API の対象かどうか |
|
注意事項 |
GET /api/v2/datasets/{dataset_id}¶
データセット 1 件の詳細を返します。
curl https://koriyama-open-data-hub.alflag.org/api/v2/datasets/aed
指定した dataset_id が見つからない場合は 404 dataset_not_found を返します。
GET /api/v2/datasets/{dataset_id}/records¶
データセットの元データ行を返します。data[].raw には、郡山市の公開ファイルから読み取った行データが入ります。
Query |
説明 |
|---|---|
|
取得件数。既定値は |
|
取得開始位置です。 |
curl "https://koriyama-open-data-hub.alflag.org/api/v2/datasets/aed/records?limit=10"
主な data[] フィールド:
フィールド |
説明 |
|---|---|
|
API 内部の元データ行 ID |
|
データセット ID |
|
元データ側の識別キー。ない場合は |
|
元データ行のハッシュ |
|
元データ行 |
|
取得日時 |
地点データ¶
GET /api/v2/places¶
正規化済みの地点データを返します。施設、AED、公衆無線 LAN、公衆トイレ、子育て施設、医療機関、学校などを同じ形で取得できます。
Query |
説明 |
|---|---|
|
データセット ID で絞り込みます。 |
|
カテゴリで絞り込みます。 |
|
名称または住所を部分一致で検索します。 |
|
|
|
取得件数。既定値は |
|
取得開始位置です。 |
curl "https://koriyama-open-data-hub.alflag.org/api/v2/places?category=facility&limit=20"
地点データの主なフィールド:
フィールド |
説明 |
|---|---|
|
地点 ID |
|
元データセット ID |
|
施設名などの名称 |
|
API 側のカテゴリ |
|
細分類。ない場合は |
|
住所 |
|
緯度・経度。未取得または不正な場合は |
|
連絡先 |
|
公式 URL |
|
元ファイル URL |
|
元データや正規化時の警告 |
|
API 側で確認した日時 |
|
削除済みの場合の日時。通常は |
GET /api/v2/places/{place_id}¶
地点データを 1 件返します。
curl https://koriyama-open-data-hub.alflag.org/api/v2/places/place_aed_example
指定した place_id が見つからない場合は 404 place_not_found を返します。
GET /api/v2/places.geojson¶
地点データを GeoJSON FeatureCollection で返します。/api/v2/places と同じ絞り込み query を使えます。
curl "https://koriyama-open-data-hub.alflag.org/api/v2/places.geojson?dataset_id=public_wifi"
geometry.coordinates は [経度, 緯度] です。緯度・経度がない地点は GeoJSON には含まれません。
検索¶
GET /api/v2/search¶
地点データを名称または住所で検索します。q は必須です。
Query |
説明 |
|---|---|
|
検索キーワード |
|
取得件数。既定値は |
|
取得開始位置です。 |
curl "https://koriyama-open-data-hub.alflag.org/api/v2/search?q=図書館&limit=10"
レスポンスの data.places に地点データの配列、data.count に返却件数が入ります。
変更履歴¶
GET /api/v2/changes¶
取得・正規化時に検出した変更履歴を返します。
Query |
説明 |
|---|---|
|
指定日時以降の変更だけを返します。ISO 8601 形式の文字列を指定できます。 |
|
取得件数。既定値は |
|
取得開始位置です。 |
curl "https://koriyama-open-data-hub.alflag.org/api/v2/changes?since=2026-06-01T00:00:00.000Z"
主な data[] フィールド:
フィールド |
説明 |
|---|---|
|
変更 ID |
|
データセット ID |
|
対象レコード ID |
|
|
|
変更検出日時 |
|
変更前の値。ない場合は |
|
変更後の値。ない場合は |
RSS¶
GET /api/v2/rss/entries¶
郡山市公式サイト RSS の記事情報を返します。
Query |
説明 |
|---|---|
|
API 側で分類した RSS カテゴリで絞り込みます。 |
|
取得件数。既定値は |
|
取得開始位置です。 |
curl "https://koriyama-open-data-hub.alflag.org/api/v2/rss/entries?category=disaster&limit=10"
主な data[] フィールド:
フィールド |
説明 |
|---|---|
|
RSS 記事 ID |
|
フィード ID |
|
記事タイトル |
|
記事 URL |
|
公開日時。RSS にない場合は |
|
取得日時 |
|
API 側のカテゴリ |
|
分類タグ |
|
元記事情報のハッシュ |
RSS カテゴリは disaster、childcare、life、business、event、city_admin です。
ヘルスチェック¶
GET /api/v2/health¶
データ件数、RSS の取得状況、直近の取得ログを返します。データベースが空の場合や直近取得に失敗がある場合は、data.status が degraded になります。
curl https://koriyama-open-data-hub.alflag.org/api/v2/health
主な data フィールド:
フィールド |
説明 |
|---|---|
|
|
|
データセット数 |
|
有効なデータセット数 |
|
元データ行数 |
|
地点データ数 |
|
変更履歴数 |
|
直近のオープンデータ取得ログ |
|
直近の失敗ログ |
|
RSS 記事数 |
|
直近の RSS 取得ログ |
|
直近の RSS 取得失敗ログ |
利用時の注意¶
出典表示が必要です。利用するデータの出典とライセンスは、データセット詳細や 出典・ライセンス・注意事項 を確認してください。