🚃

駅・路線情報API

鉄道・駅情報API。174社、10,937駅、622路線の詳細データを提供。緯度経度の地理情報付き。

2015年〜運用 開発者向けAPI train.teraren.com

サービス概要

駅・路線情報APIは、日本全国の鉄道駅・路線データを無料で提供するAPIサービスです。2015年の提供開始以来、不動産サイト、交通費精算システム、地域情報アプリなど、多様な分野でご利用いただいています。

国内の174鉄道事業者、622路線、10,937駅という膨大なデータを、完全無料・無制限でご利用いただけます。各駅の緯度経度情報も含まれているため、距離計算やマップ表示との連携も容易です。

駅名や路線名で検索できるのはもちろん、緯度経度から最寄り駅を検索する逆引き機能も実装可能。あらゆる鉄道データ活用シーンに対応します。

なぜ無料で提供しているのか

鉄道は日本の重要な社会インフラであり、駅・路線情報は多くのサービスで必要とされます。しかし、包括的な鉄道データAPIは高額であったり、利用制限が厳しかったりするのが現状でした。

テラレンは「テクノロジーで人々の体験を最適化する」というミッションのもと、誰もが自由に使える鉄道データを提供すべきだと考えました。開発者が鉄道データを活用した革新的なサービスを生み出せるよう、完全無料で提供しています。

データの規模と網羅性

対応鉄道事業者(174社)

  • JR各社: JR東日本、JR西日本、JR東海、JR北海道、JR九州、JR四国
  • 大手私鉄: 東武、西武、京成、京王、小田急、東急、京急、相鉄、名鉄、近鉄、南海、京阪、阪急、阪神など
  • 地下鉄: 東京メトロ、都営地下鉄、大阪メトロ、名古屋市営地下鉄、福岡市営地下鉄など
  • 地方鉄道: 第三セクター鉄道、路面電車、モノレールなど

路線データ(622路線)

各路線の以下の情報を提供:

  • 路線名(正式名称・略称)
  • 路線カラー(HTML/HEXコード)
  • 運営事業者
  • 路線タイプ(在来線・新幹線・地下鉄・モノレールなど)

駅データ(10,937駅)

各駅の以下の情報を提供:

  • 駅名(漢字・かな・ローマ字)
  • 所在地(都道府県・市区町村)
  • 緯度経度(WGS84)
  • 所属路線
  • 駅番号(路線記号)

使い方

駅名で検索

// JavaScript (Fetch API)
const stationName = '東京';

fetch(`https://train.teraren.com/stations.json?name=${encodeURIComponent(stationName)}`)
  .then(response => response.json())
  .then(data => {
    console.log(data);
    // [
    //   {
    //     "id": "1130101",
    //     "name": "東京",
    //     "kana": "とうきょう",
    //     "lat": 35.681236,
    //     "lon": 139.767125,
    //     "prefecture": "東京都",
    //     "lines": ["山手線", "中央線", "東海道線", ...]
    //   }
    // ]
  });

路線から駅一覧を取得

const lineId = '11302'; // 山手線のID

fetch(`https://train.teraren.com/lines/${lineId}/stations.json`)
  .then(response => response.json())
  .then(data => {
    console.log(data);
    // [
    //   { "name": "東京", "lat": 35.681236, "lon": 139.767125 },
    //   { "name": "有楽町", "lat": 35.675441, "lon": 139.763806 },
    //   { "name": "新橋", "lat": 35.665498, "lon": 139.758749 },
    //   ...
    // ]
  });

緯度経度から最寄り駅を検索

const lat = 35.681236;
const lon = 139.767125;
const radius = 1000; // 半径1km

fetch(`https://train.teraren.com/stations.json?lat=${lat}&lon=${lon}&radius=${radius}`)
  .then(response => response.json())
  .then(data => {
    console.log(data);
    // [
    //   {
    //     "name": "東京",
    //     "distance": 0,
    //     "lat": 35.681236,
    //     "lon": 139.767125
    //   },
    //   {
    //     "name": "京橋",
    //     "distance": 650,
    //     "lat": 35.679190,
    //     "lon": 139.770883
    //   },
    //   ...
    // ]
  });

不動産サイトでの実装例(React)

import { useState, useEffect } from 'react';

function NearestStation({ propertyLat, propertyLon }) {
  const [stations, setStations] = useState([]);
  const [loading, setLoading] = useState(true);

  useEffect(() => {
    const fetchStations = async () => {
      const response = await fetch(
        `https://train.teraren.com/stations.json?lat=${propertyLat}&lon=${propertyLon}&radius=1000`
      );
      const data = await response.json();
      setStations(data.slice(0, 3)); // 最寄り3駅
      setLoading(false);
    };

    fetchStations();
  }, [propertyLat, propertyLon]);

  if (loading) return <div>読み込み中...</div>;

  return (
    <div>
      <h3>最寄り駅</h3>
      <ul>
        {stations.map((station, index) => (
          <li key={index}>
            {station.name}駅 徒歩約{Math.ceil(station.distance / 80)}分
            ({station.distance}m)
          </li>
        ))}
      </ul>
    </div>
  );
}

レスポンス形式

駅検索の成功時(200 OK)

[
  {
    "id": "1130101",
    "name": "東京",
    "kana": "とうきょう",
    "romaji": "tokyo",
    "lat": 35.681236,
    "lon": 139.767125,
    "prefecture": "東京都",
    "city": "千代田区",
    "postal_code": "1000005",
    "lines": [
      {
        "name": "山手線",
        "operator": "JR東日本",
        "color": "#9ACD32"
      },
      {
        "name": "中央線",
        "operator": "JR東日本",
        "color": "#FF6600"
      }
    ]
  }
]

最寄り駅検索の成功時(200 OK)

[
  {
    "name": "東京",
    "distance": 120,
    "lat": 35.681236,
    "lon": 139.767125,
    "lines": ["山手線", "中央線", "東海道線"]
  }
]

データの信頼性と更新

駅・路線情報APIは、以下の公的データソースを使用しています:

  • 国土交通省 国土数値情報: 鉄道データの基礎情報
  • 各鉄道事業者の公式サイト: 路線図、駅一覧、駅番号
  • 地理院地図: 緯度経度の正確性検証

新駅開業や駅名変更があった場合、通常1〜2ヶ月以内にデータを更新します。大規模な路線開業(新幹線延伸など)は早期対応します。

パフォーマンスとインフラ

  • Cloudflare Workers: エッジコンピューティングで高速レスポンス
  • PostGIS: 地理空間データベースで高精度な距離計算
  • インデックス最適化: 10,937駅を高速検索

緯度経度による最寄り駅検索は、PostGISの空間インデックスを活用し、1km圏内の駅を数十ミリ秒で検索できます。

活用事例

不動産業界

  • 物件詳細ページでの最寄り駅表示
  • 駅からの徒歩時間自動計算
  • 沿線検索機能

交通費精算

  • 駅名入力の自動補完
  • 経路検索APIとの連携
  • 定期券区間の管理

地域情報サービス

  • 駅周辺のグルメ・観光スポット検索
  • 商圏分析
  • 駅前再開発情報

観光アプリ

  • 観光地の最寄り駅案内
  • 駅を起点とした周遊ルート
  • 路線図の可視化

トラブルシューティング

検索しても結果が出ない

  • 駅名は正式名称で検索してください(例: 東京駅 → 東京)
  • 旧駅名では検索できない場合があります
  • あいまい検索を利用すると候補が表示されます

緯度経度が正確でない

  • 駅の代表点(改札口付近)を基準としています
  • 大規模駅では実際の改札口と数十メートル異なる場合があります
  • より高精度な位置情報が必要な場合はお問い合わせください

最寄り駅検索で期待した駅が出ない

  • 検索半径(radius)を大きくしてみてください
  • 駅が非常に近い場合、同じ距離で複数の駅が返ることがあります

競合サービスとの比較

項目駅・路線情報API某APIサービスA某APIサービスB
料金完全無料月額15,000円〜無料枠あり(月1万回)
駅数10,937駅約9,000駅約11,000駅
路線数622路線約500路線約650路線
緯度経度×
最寄り駅検索×
認証不要APIキー必須APIキー必須

今後の予定

  • 駅の乗降客数データ追加
  • バリアフリー情報(エレベーター・エスカレーター)
  • 駅周辺の施設情報(コンビニ・ATMなど)
  • 廃線・廃駅の歴史データ
  • GraphQL対応

皆様のサービス開発にお役立ていただけるよう、今後も機能拡充を続けていきます。ご要望やフィードバックをお待ちしています。

主な機能

  • 174鉄道会社対応
  • 10,937駅の詳細情報
  • 622路線のデータ
  • 緯度経度情報付き
  • JSON形式のレスポンス
  • あいまい検索対応
  • 路線図データ提供

技術情報

APIエンドポイント
https://train.teraren.com/stations.json
技術スタック
Cloudflare WorkersCloudflare KVTypeScriptPostGIS
データソース

国土交通省国土数値情報、各鉄道事業者公式データ

利用シーン

💡

不動産サイトの最寄り駅検索

物件から最寄り駅を検索し、駅名・路線名・徒歩時間を表示。緯度経度情報を使って、距離計算も簡単に実装できます。

🚀

交通費精算システムの駅名入力補助

駅名を入力すると候補を絞り込み表示。路線情報も同時に取得できるため、経路検索との連携もスムーズです。

🎯

地域情報アプリのスポット検索

駅を中心とした周辺スポット検索、商圏分析、観光アプリなど、位置情報を活用したサービス開発に最適です。

よくある質問

全国の駅に対応していますか?

はい、JR・私鉄・地下鉄など、日本国内のほぼすべての駅(10,937駅)に対応しています。

緯度経度情報の精度は?

駅の代表点(改札口付近)の位置を基準としており、誤差は数メートル程度です。

廃線・廃駅の情報はありますか?

現在は営業中の駅・路線のみを提供しています。廃線情報は今後の追加を検討中です。

時刻表や運行情報は取得できますか?

現在は駅・路線の基本情報のみです。時刻表APIは各鉄道会社の公式APIをご利用ください。

新駅の追加はいつ反映されますか?

新駅開業から通常1〜2ヶ月以内に反映します。重要な新駅は早期対応します。

駅・路線情報APIを今すぐ試す

無料・無制限でご利用いただけます。まずはお気軽にお試しください。