train-schedule-query
列車時刻表・残券照会
出発駅、到着駅、旅行日をもとに、全国の列車番号、到着時刻、各座席の価格、きっぷの残状況のスナップショットを確認でき、旅行計画やきっぷ情報の表示に最適です。
利用料金
10 コイン/回
クイックスタート
統一レスポンス形式のまま、バックエンドから直接呼び出せます。
https://openapi.toolkk.com/v1/train-schedule-querycURL 例
curl --request POST \
--url 'https://openapi.toolkk.com/v1/train-schedule-query' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--data '{\n "start": "北京南",\n "end": "上海虹桥",\n "ishigh": "1",\n "date": "2026-07-20"\n}'Python 例
import os
import requests
url = "https://openapi.toolkk.com/v1/train-schedule-query"
payload = {
"start": "北京南",
"end": "上海虹桥",
"ishigh": "1",
"date": "2026-07-20"
}
headers = {
"Content-Type": "application/json",
"X-API-Key": os.getenv("TOOLKK_API_KEY", "YOUR_API_KEY"),
}
response = requests.request("POST", url, headers=headers, json=payload, timeout=30)
response.raise_for_status()
print(response.json())Go 例
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
endpoint := "https://openapi.toolkk.com/v1/train-schedule-query"
payload := []byte("{\n \"start\": \"北京南\",\n \"end\": \"上海虹桥\",\n \"ishigh\": \"1\",\n \"date\": \"2026-07-20\"\n}")
req, err := http.NewRequest("POST", endpoint, bytes.NewBuffer(payload))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-API-Key", "YOUR_API_KEY")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(string(body))
}Java 例
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class ToolkkExample {
public static void main(String[] args) throws Exception {
String payload = "{\n \"start\": \"北京南\",\n \"end\": \"上海虹桥\",\n \"ishigh\": \"1\",\n \"date\": \"2026-07-20\"\n}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://openapi.toolkk.com/v1/train-schedule-query"))
.method("POST", HttpRequest.BodyPublishers.ofString(payload))
.header("Content-Type", "application/json")
.header("X-API-Key", "YOUR_API_KEY")
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}PHP 例
<?php
$endpoint = 'https://openapi.toolkk.com/v1/train-schedule-query';
$payload = "{\n \"start\": \"北京南\",\n \"end\": \"上海虹桥\",\n \"ishigh\": \"1\",\n \"date\": \"2026-07-20\"\n}";
$ch = curl_init($endpoint);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'X-API-Key: YOUR_API_KEY',
],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException(curl_error($ch));
}
curl_close($ch);
echo $response;レスポンス例
{
"code": 200,
"msg": "成功",
"taskNo": "example",
"data": {
"date": "2026-07-20",
"start": "北京南",
"end": "上海虹桥",
"list": [
{
"trainno": "G1",
"departuretime": "07:00",
"arrivaltime": "11:30",
"ze": {
"price": "553.0",
"num": "有"
}
}
]
}
}例はレスポンスの構造を示しています。実際の結果はAPIの応答によって異なります。
- 認証方式
- リクエストヘッダーに X-API-Key を設定
- レート制限
- 毎分 30 回
- タイムアウト
- 15000 ms
サーバー側から呼び出す際は、X-API-Key ヘッダーに API Key を設定します。
HTTP ステータスと業務フィールドの両方で成功判定するのがおすすめです。
高頻度利用ではレート制限と再試行戦略を併用してください。
リクエスト項目
サーバーからリクエストを送信し、X-API-Keyヘッダーにキーを設定してください。
リクエスト項目
以下の項目はサンプル JSON から自動抽出した参考情報です。
| パス | 型 | 必須 | 説明 | サンプル値 |
|---|---|---|---|---|
| start | string | 未指定 | 未指定 | 北京南 |
| end | string | 未指定 | 未指定 | 上海虹桥 |
| ishigh | string | 未指定 | 未指定 | 1 |
| date | string | 未指定 | 未指定 | 2026-07-20 |
リクエスト例
{
"start": "北京南",
"end": "上海虹桥",
"ishigh": "1",
"date": "2026-07-20"
}- 認証方式
- リクエストヘッダーに X-API-Key を設定
- レート制限
- 毎分 30 回
- タイムアウト
- 15000 ms
レスポンス項目
例はレスポンスの構造を示しています。実際の結果はAPIの応答によって異なります。
レスポンス項目
以下の項目はサンプル JSON から自動抽出した参考情報です。
| パス | 型 | 必須 | 説明 | サンプル値 |
|---|---|---|---|---|
| code | number | 未指定 | 未指定 | 200 |
| msg | string | 未指定 | 未指定 | 成功 |
| taskNo | string | 未指定 | 未指定 | example |
| data | object | 未指定 | 未指定 | {...} |
| data.date | string | 未指定 | 未指定 | 2026-07-20 |
| data.start | string | 未指定 | 未指定 | 北京南 |
| data.end | string | 未指定 | 未指定 | 上海虹桥 |
| data.list | array | 未指定 | 未指定 | [{"trainno":"G1","departuretime":"07:00","arrivaltime":"11:30","ze":{"price":"553.0","num":"有"}}] |
| data.list[] | object | 未指定 | 未指定 | {...} |
レスポンス例
{
"code": 200,
"msg": "成功",
"taskNo": "example",
"data": {
"date": "2026-07-20",
"start": "北京南",
"end": "上海虹桥",
"list": [
{
"trainno": "G1",
"departuretime": "07:00",
"arrivaltime": "11:30",
"ze": {
"price": "553.0",
"num": "有"
}
}
]
}
}$.code == 200APIの概要
機能、利用シーン、制約、よくある質問。
インターフェース機能
このインターフェイスは、全国の鉄道時刻表と残りのチケットのステータスに対するクエリ サービスを提供します。出発駅、到着駅、指定日を入力すると、対象となる列車の一覧、出発・到着時刻、所要時間、座席別(2等席、1等席など)の価格や残券情報を取得できます。
リクエストと返却
- リクエスト パラメーター: 出発駅 (
start)、到着駅 (end)、および乗車日 (date、形式 YYYY-MM-DD) を指定する必要があります。また、ishighパラメーターを使用して、高速鉄道/自動車列車のみをクエリするかどうかをフィルターできます。 - 戻り結果: 列車情報を含むリストを返します。各レコードには、列車番号 (
trainno)、出発時刻 (deliverytime)、到着時刻 (deliverytime) に加えて、各座席の価格 (price) および残りのチケットの枚数/ステータス (num) が含まれます。
使用シナリオ
- 旅行計画アプリケーション: 旅行、カレンダー、または旅程管理ツールに統合して、ユーザーに便利な列車クエリ サービスを提供します。
- チケット情報表示: 企業の旅行システムや地域の生活サービス プラットフォームで、電車の時刻やチケットのおおよその残数を表示するために使用されます。