本文へスキップ
AllTick
導入チュートリアルPython 3.11 · requests 2.32

Python で株式最新相場を取得:リクエストからパースまで

Python の requests を使って株式の最新約定(trade-tick)REST API を呼び出し、JSON クエリ作成、エラー処理、UTC タイムスタンプ変換までを実装します。

更新日時:
保守運営:AllTick 公式エンジニアリングチーム
対象読者:初めて Python から相場 REST API を呼び出す開発者

要約 · 30秒開発サマリー

Python で株式の最新相場を取得する手順は3ステップです:(1) 照会条件を JSON 文字列として query パラメータに格納する、(2) API Token を付与して GET リクエストを送信する、(3) レスポンスの ret コードを検証して tick_list をパースする。以下のサンプルではテンセント(700.HK)と Apple(AAPL.US)を一括取得します。

01

環境準備

1Python 3.9 以上をインストールする。
2HTTP クライアントをインストール:pip install requests
3API Token を環境変数 ALLTICK_API_TOKEN に設定する(ソースコードへの直書きは避ける)。
ターミナルコマンドbash
pip install requests
export ALLTICK_API_TOKEN="あなたの_API_Token"

02

リクエスト構造

AllTick の REST API は、検索条件を query という名前の URL パラメータに JSON 文字列として渡します。株式エンドポイントのベース URL は https://quote.alltick.co/quote-stock-b-api、最新約定のパスは /trade-tick です。

パラメータ場所説明
tokenURL クエリ発行された API Token
queryURL クエリtrace と data を含む JSON 文字列
tracequery 内部リクエスト追跡用 ID(リクエストごとに一意の UUID を推奨)
data.symbol_listquery 内部銘柄配列(例:[{"code": "700.HK"}])

03

完全な実行可能コード

stock_quote.pypython
import json, os, uuid
from datetime import datetime, timezone
import requests
BASE_URL = "https://quote.alltick.co/quote-stock-b-api"
def latest_trades(codes: list[str]) -> list[dict]:
token = os.getenv("ALLTICK_API_TOKEN", "YOUR_API_TOKEN")
query = {
"trace": str(uuid.uuid4()),
"data": {"symbol_list": [{"code": c} for c in codes]},
}
resp = requests.get(
f"{BASE_URL}/trade-tick",
params={"token": token, "query": json.dumps(query)},
timeout=10,
)
body = resp.json() if resp.content else {}
if body.get("ret") != 200:
raise RuntimeError(f"API エラー ret={body.get('ret')} msg={body.get('msg')}")
resp.raise_for_status()
return body.get("data", {}).get("tick_list", [])
def to_local_time(ms: str) -> str:
return datetime.fromtimestamp(int(ms) / 1000, tz=timezone.utc).astimezone().isoformat()
if __name__ == "__main__":
for tick in latest_trades(["700.HK", "AAPL.US"]):
print(tick.get("code"), tick.get("price"), to_local_time(tick.get("tick_time", "0")))

04

レスポンスの解釈

正常時は ret が 200 となり、data.tick_list に各銘柄の最新約定データが格納されます。主なフィールドは code(銘柄コード)、price(約定価格、文字列)、volume(出来高)、tick_time(ミリ秒タイムスタンプ、文字列)です。

  • price は文字列として返されます。浮動小数点誤差を防ぐため、計算時は Decimal に変換してください。
  • tick_time は UTC ミリ秒タイムスタンプです。画面表示時は取引所のタイムゾーンへ変換します。
  • 休場中は直近の最終約定が返され、タイムスタンプは更新されません。

05

よくあるエラーと対処法

現象考えられる原因対処法
ALLTICK_API_TOKEN 未設定環境変数が設定されていないターミナルで export してから再実行する
ret が 200 以外Token 無効、レート制限、パラメータ不正msg を確認し、401/429 診断ガイドを参照する
tick_list が空銘柄コード表記ミスまたは権限外700.HK など正確なコード表記を確認する
リクエストタイムアウトネットワークまたはプロキシの問題通信経路を確認し timeout 指定を維持する

仕様出典と検証記録 · 2026-10-13

以下の一次資料で関連するエンドポイント、フィールド、取引所規則を確認しました。

Python コードは Python 3.14.0 の ast.parse で構文解析を通過しました。依存関係、実行互換性、ネットワーク応答の検証は含みません。

今回の確認では実際の Token による AllTick 要求や本番エンドツーエンド試験は実行していません。再現時にプラン、ライブラリ版、取引時間、ret/trace、結果を記録してください。

導入前に再現する項目

  • 対応銘柄、不明コード、失効 Token、タイムアウトを試し、HTTP と ret を別々に確認します。Token をログから除き、要求・返却コードを照合します。
  • /trade-tick は最新値であり過去 Tick ではありません。tick_time はミリ秒から UTC へ変換し、休場中は最後の既知約定と表示します。