無料API一覧(地図・位置情報・交通・SNS)
| 分野 | API名 | 主な機能 | 無料プラン概要 | 認証方式 | 備考 |
|---|
| 地図 | OpenStreetMap (OSM) | 世界中の地図データ(道路・建物・地形など) | 完全無料・API制限あり(大量アクセスはNG) | なし | Google Mapsの代替に人気 |
| 地図描画 | Leaflet.js | 軽量な地図描画ライブラリ(OSM等の地図を表示) | オープンソース・無料 | なし | APIではなくJSライブラリ |
| ジオコーディング | Nominatim (OSM) | 住所→緯度経度、緯度経度→住所変換 | 無料・1秒1リクエスト程度 | なし(User-Agent必須) | OSM公式の位置検索API |
| ジオコーディング | OpenCage Geocoder | 住所⇔座標変換(多言語対応) | 2,500回/日無料 | APIキー | 商用でも人気 |
| 交通情報 | TransportAPI(UK) | 英国の鉄道・バスの時刻表/運行情報 | 無料枠あり | APIキー | イギリス限定 |
| 交通(一般) | OpenTransit / TransitLand | 世界各地の公共交通データ(GTFS形式) | 無料 | APIキー | オープンデータ中心 |
| 経路探索 | OpenRouteService | 経路検索・距離計算・ルート案内 | 2,000回/日無料 | APIキー | OSMベース・徒歩や自転車にも対応 |
| 経路探索 | GraphHopper Directions API | 経路検索(車・徒歩・自転車) | 1,500回/日無料 | APIキー | 高速・軽量 |
| 位置情報 | ipapi / ipinfo.io | IPアドレスから位置情報(国・都市・緯度経度) | 1,000回/月〜無料 | APIキー(ipinfoは任意) | 簡単に使える |
| SNS | Twitter API (X) | 投稿取得・検索・投稿など | 基本無料(取得制限あり) | Bearer Token | 新仕様で制限多め |
| SNS | Mastodon API | 投稿・ユーザー情報・フォロー操作 | 無料 | アクセストークン | 各インスタンスで利用可能 |
| SNS分析 | Hacker News API | 技術系SNS(HN)の投稿データ取得 | 完全無料・制限なし | なし | Firebase経由で利用可能 |
各APIの詳しい説明
1. OpenStreetMap(OSM)
- 概要:世界中の地図データを無料で提供するオープンソースプロジェクト。
- 用途:地図表示、地理情報の可視化、ナビゲーション。
- 注意点:大量アクセスは禁止。自分のサーバーでタイルをキャッシュするのが推奨。
<!-- Leaflet+OSM地図例 -->
<div id="map" style="height:300px;"></div>
<script src="https://unpkg.com/leaflet/dist/leaflet.js"></script>
<script>
const map = L.map('map').setView([35.68, 139.76], 13);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);
</script>
HTML
2. Nominatim(OSM公式ジオコーダ)
https://nominatim.openstreetmap.org/search?q=Tokyo&format=json
- 注意:無料だが「1秒に1回」程度の制限あり。
User-Agent ヘッダ必須。
3. OpenRouteService
- 機能:経路検索・距離・到達時間計算(車・自転車・徒歩対応)
- URL例:
https://api.openrouteservice.org/v2/directions/driving-car?api_key=YOUR_KEY&start=139.76,35.68&end=139.70,35.69
- 無料枠:2,000回/日(APIキー必要)
- 特徴:バリアフリールート・標高データ対応なども。
4. ipinfo.io / ipapi
- 機能:アクセス中のユーザーの位置(国・都市・緯度経度など)を取得
- 例:
https://ipinfo.io/json
- 用途:ロケーション別のコンテンツ表示や、地域分析など。
- 無料枠:月1,000回前後
5. TransitLand / OpenTransit
- 機能:公共交通(鉄道・バス・地下鉄など)の時刻・停留所データ取得(GTFS形式)
- 用途:地図上にバスルート表示や時刻表検索を実装
- 特徴:全世界対応(都市による精度差あり)
6. SNS系(Mastodon / Hacker News / Twitter)
- Mastodon API:OAuth認証後に投稿やユーザー情報取得可能。分散型SNS向け。
- Hacker News API:プログラミング・テック系投稿をJSONで取得可能(Firebase経由)。
fetch('https://hacker-news.firebaseio.com/v0/topstories.json')
.then(r => r.json())
.then(ids => console.log(ids.slice(0, 10)));
JavaScript
まとめ(使い分けの目安)
| 目的 | おすすめAPI |
|---|
| 地図を表示したい | OpenStreetMap + Leaflet |
| 住所⇔座標を変換したい | Nominatim / OpenCage |
| 経路探索や距離計算 | OpenRouteService / GraphHopper |
| IPから地域を推定したい | ipapi / ipinfo.io |
| 交通データ(バス・鉄道)を扱いたい | TransitLand / OpenTransit |