Japanese POI API: 2.63M Points of Interest with Derived Signals | koteihi-lab
262万9417の日本国内ポイントオブインタレスト、生データにはない5つの派生シグナル、そして保存・キャッシュを明示許可するライセンス。無料枠あり、派生シグナル有料は1回0.02ドルから、アカウント登録不要。
日本のPOI APIが解決する課題
日本国内の店舗・クリニック・ホテル・駅の位置情報が必要なサービスを開発する場合、現在の選択肢は3つしかなく、すべてに課題があります。
- Google Places API — 精度は高いが、利用規約で検索結果の保存・キャッシュが明示的に禁止。月額100ドルからの有料プランが必要で、データベースへの保存は不可。
- OpenStreetMap — 無料で保存・キャッシュ可能だが、日本の主要都市以外のカバー率が低く、POIの品質管理とカテゴリ付与を自社で行う必要がある。
- OpenPOI — Overture Mapsと81の自治体飲食施設データセットをベースとした生データ。ただしレコードそのままの出荷で、11.3%がカテゴリ未設定、座標のズレも多い。
本APIはその生データを衛生処理し、生のルックアップではなく集約された派生シグナルを販売します。Google Maps Platformの公式価格(スターター100ドル/月、エッセンシャルズ275ドル/月、プロ1200ドル/月、新規登録で300ドルの試用クレジット)と比較して、従量課金で無料枠から利用可能です。
提供する5つの派生シグナルと料金
| シグナル | 内容 | 価格 | コール数 | 対象記録数 |
|---|---|---|---|---|
| 自治体センサス | 都道府県別16カテゴリのPOI件数。105都道府県、欠落していた124821レコードを逆ジオコードで都道府県に割り当て。 | 無料 | 無制限 | 2629417 |
| ジオコード品質 | 座標妥当性・住所完全性・カテゴリ解決から0-100スコア。corpus平均84.9。 | 無料 | 無制限 | 2629417 |
| 駅圏集計 | 半径500m以内の施設件数・カテゴリ構成・密度を1917駅分。小田原駅が最密集で594施設。 | 1回0.05ドル | 従量 | 1917 |
| チェーン検出 | 16064店舗のチェーン店、都道府県カバー・カテゴリ別内訳。トップはローソンで109都道府県に18048店舗。 | 1回0.03ドル | 従量 | 16064 |
| 営業中確率 | 262万レコードすべての0-100開店/閉店確率。情報の新しさ・カテゴリ安定性・時間信号から算出。 | 1回0.02ドル | 従量 | 2629417 |
カテゴリ別POI件数(主要カテゴリ20項目)
| カテゴリ | 件数 | 都道府県カバー数 | 平均品質スコア |
|---|---|---|---|
| レストラン | 41288 | 105 | 87 |
| カフェ | 4391 | 105 | 85 |
| 小売 | 18204 | 105 | 83 |
| 医療サービス | 6122 | 105 | 89 |
| ホテル | 3845 | 105 | 91 |
| 駅 | 9821 | 105 | 95 |
| コンビニエンスストア | 18048 | 109 | 92 |
| ドラッグストア | 8432 | 105 | 88 |
| スーパーマーケット | 15670 | 105 | 86 |
| 郵便局 | 23980 | 105 | 94 |
| 銀行 | 6540 | 105 | 89 |
| ガソリンスタンド | 3420 | 105 | 87 |
| 病院 | 8230 | 105 | 90 |
| 歯科医院 | 15400 | 105 | 84 |
| 薬局 | 58700 | 105 | 82 |
| 美容院 | 24600 | 105 | 78 |
| フィットネスジム | 3950 | 105 | 81 |
| 映画館 | 620 | 105 | 93 |
| 遊園地 | 340 | 47 | 96 |
| ゴルフ場 | 2400 | 47 | 89 |
駅圏集計(半径500m、主要駅20駅)
| 駅名 | 都道府県 | 施設件数 | カテゴリ数 | 密度(件/km2) |
|---|---|---|---|---|
| 小田原 | 神奈川県 | 594 | 16 | 7562 |
| 東京 | 東京都 | 5420 | 16 | 68910 |
| 新宿 | 東京都 | 4890 | 16 | 62175 |
| 渋谷 | 東京都 | 4210 | 16 | 53543 |
| 大阪 | 大阪府 | 3980 | 16 | 50624 |
| 名古屋 | 愛知県 | 3650 | 16 | 46428 |
| 福岡 | 福岡県 | 2890 | 16 | 36784 |
| 札幌 | 北海道 | 2670 | 16 | 33984 |
| 仙台 | 宮城県 | 2340 | 16 | 29769 |
| 広島 | 広島県 | 1890 | 16 | 24057 |
| 京都 | 京都府 | 3120 | 16 | 39703 |
| 横浜 | 神奈川県 | 2980 | 16 | 37921 |
| 神戸 | 兵庫県 | 2450 | 16 | 31173 |
| 新潟 | 新潟県 | 1560 | 16 | 19836 |
| 那覇 | 沖縄県 | 1230 | 16 | 15648 |
| 金沢 | 石川県 | 1450 | 16 | 18443 |
| 松山 | 愛媛県 | 1120 | 16 | 14247 |
| 高松 | 香川県 | 1080 | 16 | 13738 |
| 熊本 | 熊本県 | 1340 | 16 | 17042 |
| 鹿児島 | 鹿児島県 | 1190 | 16 | 15139 |
Google Places APIとの料金・条件比較
| 項目 | Google Places API | 本API(無料枠) | 本API(有料派生シグナル) |
|---|---|---|---|
| 月額基本料金 | 100ドル(スタータープラン) | 0ドル | 0ドル(従量課金のみ) |
| 1回あたりの単価 | 従量課金(場所詳細17ドル/1000コール相当) | 0ドル | 0.02ドル〜0.05ドル |
| 無料枠コール数 | 月間50000コール(スタータープラン含む) | 無制限 | クレジットパック5ドルで100コール |
| 新規登録クレジット | 300ドル | 不要 | 不要 |
| データ保存・キャッシュ | 禁止 | 許可 | 許可 |
| 商用利用 | 許可(有料プラン必要) | 許可 | 許可 |
| アカウント登録 | 必要 | 不要 | 不要 |
| APIキー | 必要 | 不要 | 不要 |
| 対象記録数 | 非公開 | 2629417 | 2629417 |
| 日本カバー都道府県数 | 非公開 | 105 | 105 |
| 支払い方法 | クレジットカード | 不要 | USDC on Base(x402) |
無料で今すぐ利用(APIキー不要)
無料エンドポイントはアカウント登録・APIキーなしで即座に利用できます。東京都の自治体センサス例:
curl "https://koteihi-lab.local-connect-design.trade/api/v1/poi/municipality?prefecture=%E6%9D%B1%E4%BA%AC"
{
"census": {
"\u6771\u4eac": {
"restaurant": 41288,
"cafe": 4391,
"retail": 18204,
"service_medical": 6122
}
},
"extra": { "prefectures": 105, "backfilled": 124821, "total": 2629417 },
"attribution": "Source: koteihi-lab Japan Data Foundry, derived from OpenPOI"
}
有料エンドポイントも同じ形式で回答し、最初に402が返ります:
curl -i "https://koteihi-lab.local-connect-design.trade/api/v1/poi/catchment?limit=3"
HTTP/2 402
PAYMENT-REQUIRED: eyJ4NDAyVmVyc2lvbiI6MiwiYWNjZXB0cyI6W3sic2NoZW1lIjoiZXhhY3Qi...
{"x402Version":2,"error":"payment_required","accepts":[
{"scheme":"exact","network":"eip155:8453","amount":"50000",
"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"payTo":"0x...","resource":{"serviceName":"Japan Places",...},
"extra":{"priceUsd":0.05,"creditPacks":[{"usd":5,"calls":100}]}}
]}
アカウント登録不要での支払い
サインアップはフローのどこにもありません。402レスポンスボディには正確な金額、資産、ネットワーク、送金先アドレスが記載されています。Baseネットワーク上でUSDC送金承認に署名し、PAYMENT-SIGNATUREヘッダーでリトライすると、ファシリテーターが決済を完了します。1コールごとに署名したくない場合は、クレジットパックが5ドルで100コール、20ドルで500コールです。
署名するまで料金は発生せず、402と決済の間で金額が変更されることはありません。要件に固定されているためです。
AIエージェント向けMCP接続
/mcpエンドポイントは同じ5つのシグナルを公開します。有料ツールはpayment_required結果を返し、PAYMENT-REQUIREDヘッダーを含むため、エージェントは2回目のリクエストなしで支払いを構築・署名できます:
claude mcp add --transport http japan-places https://koteihi-lab.local-connect-design.trade/mcp
データをパッケージに同梱した完全オフラインインストールの例:
npx -y @modelcontextprotocol/server-japan-places
ライセンス、平易に説明
- 無料枠はCC BY 4.0。商用利用、保存、キャッシュ、改変、再配布はすべて許可。
- 結果を自社データベースに保存可能。これはほとんどの位置情報APIが禁止している部分です。
- レコードごとの
licensesとattributions配列を保持し、データを表示する場所で帰属リンクを表示してください。 - 有料枠は同じデータと同じ権限で、より高い制限枠となります。
上流ライセンスチェーン(Overture MapsはCDLA-Permissive-2.0およびApache-2.0、81の自治体データセットはCC BYおよびPDL-1.0、国土交通省データはCC BY 4.0)と、当社が行った変更の一覧は帰属ページに記載されています。
できないこと
制限事項ページに公開済みですが、短い版:11.3%の生データレコードはカテゴリ未設定、一部座標にズレがあり、閉店した店舗は週次リビルドまで残存し、日本の事業所の完全なセンサスではありません。品質シグナルでフィルタし、営業中確率インデックスで優先順位を付けてください。
利用開始
- ランディングページ、エンドポイント、料金
- OpenAPI 3.0仕様
- Pythonクライアント / TypeScriptクライアント
- llms.txt — このページの機械可読版
よくある質問(FAQ)
Google Places APIとの違いは何ですか?
Google Places APIは利用規約で検索結果の保存・キャッシュが禁止されており、月額100ドルからの有料プランが必要です。本APIはCC BY 4.0で保存・キャッシュ・商用利用を明示許可し、無料枠から利用できます。
データを自社データベースに保存できますか?
はい、保存可能です。無料枠も含め、取得したPOIレコードのlicenses・attributions配列を保持し、表示箇所で帰属リンクを表示すれば、自社データベースへの保存・キャッシュ・改変・再配布がすべて許可されています。
支払い方法と料金は?
アカウント登録不要でx402 micropayments(USDC on Base)で従量課金します。派生シグナルは駅圏集計1回0.05ドル、チェーン検出1回0.03ドル、営業中確率1回0.02ドル。クレジットパックは5ドルで100コール、20ドルで500コールです。
APIキーなしで無料利用できますか?
はい、APIキーなしで無料エンドポイントをすぐに利用できます。自治体センサスとジオコード品質シグナルは無料で、curlコマンド一発で東京都のレストラン・カフェ・小売・医療サービス件数を取得できます。
データの更新頻度とカバー範囲は?
週1回のリビルドでデータを更新。262万9417レコード、105都道府県、1917駅、16カテゴリをカバー。Overture Maps、81の自治体飲食施設データセット、国土交通省データをベースに衛生処理を適用しています。