株価データの取得に使える無料APIサービス4選

自分でマーケットの様子を管理する場合や、マーケットレポートを作成する場合、まだ自動トレードBOTの作成などでも、非常に便利に使えます。

もちろん無料版で利用できる範囲がありますので、ご自身のニーズに合ったものを選んでください。

1. Alpha Vantage

  • Alpha Vantageは、金融データ(株価、為替、仮想通貨など)を提供するAPIサービスです。
  • 無料プランでは、APIリクエストの回数に制限がありますが、基本的なデータ取得には十分です。
  • 日次、週次、月次の株価データが取得可能。
  • テクニカルインジケーターや経済指標もサポート。

利用方法:

  1. Alpha Vantageのウェブサイトで無料のAPIキーを取得します。
  2. 以下のPython基本コードでデータを取得できます。
import requests

api_key = 'YOUR_ALPHA_VANTAGE_API_KEY'
symbol = 'AAPL'  # 取得したい株のシンボル
url = f'https://www.alphavantage.co/query?function=TIME_SERIES_DAILY_ADJUSTED&symbol={symbol}&apikey={api_key}'

response = requests.get(url)
data = response.json()
print(data)

Alpha Vantageは、日本の株式市場(例えば、日経平均株価など)のデータを提供しています。東京証券取引所(TSE)のシンボルも利用可能です。

import requests

api_key = 'YOUR_ALPHA_VANTAGE_API_KEY'
symbol = '6758.T'  # Sony Corporation (Tokyo)
url = f'https://www.alphavantage.co/query?function=TIME_SERIES_DAILY_ADJUSTED&symbol={symbol}&apikey={api_key}'

response = requests.get(url)
data = response.json()
print(data)

また、外国為替(FX)のリアルタイムデータを提供しています。

主要通貨ペアだけでなく、マイナー通貨ペアのデータも取得可能です。

import requests

api_key = 'YOUR_ALPHA_VANTAGE_API_KEY'

# FXデータ(USD/JPY)の取得
fx_symbol = 'USD/JPY'
fx_url = f'https://www.alphavantage.co/query?function=CURRENCY_EXCHANGE_RATE&from_currency=USD&to_currency=JPY&apikey={api_key}'

response_fx = requests.get(fx_url)
fx_data = response_fx.json()
print(fx_data)

# 暗号通貨データ(BTC/USD)の取得
crypto_symbol = 'BTC'
crypto_url = f'https://www.alphavantage.co/query?function=DIGITAL_CURRENCY_DAILY&symbol={crypto_symbol}&market=USD&apikey={api_key}'

response_crypto = requests.get(crypto_url)
crypto_data = response_crypto.json()
print(crypto_data)

2. Finnhub

  • Finnhubは、リアルタイムの株価データ、ニュース、企業の基本情報などを提供するAPIサービスです。
  • 無料プランでも一定のAPIコールが可能です。
  • リアルタイムデータの取得が可能。
  • 経済カレンダー、ニュース、社会的センチメントなど、多岐にわたるデータが取得可能。

利用方法:

  1. Finnhubのウェブサイトで無料のAPIキーを取得します。
  2. 以下のPython基本コードでデータを取得できます。
import requests

api_key = 'YOUR_FINNHUB_API_KEY'
symbol = 'AAPL'
url = f'https://finnhub.io/api/v1/quote?symbol={symbol}&token={api_key}'

response = requests.get(url)
data = response.json()
print(data)

Finnhubも日本の市場データを提供しています。証券コードと市場を指定することで、東京証券取引所のデータを取得できます。

import requests

api_key = 'YOUR_FINNHUB_API_KEY'
symbol = '6758.T'  # Sony Corporation (Tokyo)
url = f'https://finnhub.io/api/v1/quote?symbol={symbol}&token={api_key}'

response = requests.get(url)
data = response.json()
print(data)

リアルタイムのFXデータを提供しています。

主要通貨ペアのスプレッド情報も取得できます。

import requests

api_key = 'YOUR_FINNHUB_API_KEY'

# FXデータ(USD/JPY)の取得
fx_symbol = 'OANDA:USD_JPY'
fx_url = f'https://finnhub.io/api/v1/forex/rates?base=USD&token={api_key}'

response_fx = requests.get(fx_url)
fx_data = response_fx.json()
print(fx_data)

# 暗号通貨データ(BTC/USD)の取得
crypto_symbol = 'BINANCE:BTCUSDT'
crypto_url = f'https://finnhub.io/api/v1/crypto/candle?symbol={crypto_symbol}&resolution=1&count=1&token={api_key}'

response_crypto = requests.get(crypto_url)
crypto_data = response_crypto.json()
print(crypto_data)

3. IEX Cloud

  • IEX Cloudは、金融市場のデータを提供するAPIサービスです。
  • 無料プランではいくつかの基本的なデータが取得できます。
  • 株価データだけでなく、ニュースや市場の統計情報も取得可能。
  • リアルタイムでないデータも提供。

利用方法:

  1. IEX Cloudのウェブサイトで無料のAPIキーを取得します。
  2. 以下のPython基本コードでデータを取得できます。
import requests

api_key = 'YOUR_IEX_CLOUD_API_KEY'
symbol = 'AAPL'
url = f'https://cloud.iexapis.com/stable/stock/{symbol}/quote?token={api_key}'

response = requests.get(url)
data = response.json()
print(data)

IEX Cloudは主に米国市場のデータに特化しており、日本市場のデータ提供は限定的です。

そのため、日本の個別株式データを取得するには他のサービスを使う方が良いでしょう。

4. Yahoo Finance API(RapidAPIを使用)

  • Yahoo Financeのデータを提供するAPIが、RapidAPIを通じて利用可能です。
  • 無料プランでも一定数のリクエストが可能。
  • 幅広い金融データの取得が可能。
  • 歴史的な株価データやリアルタイムデータも取得可能。

利用方法:

  1. RapidAPIのウェブサイトでアカウントを作成し、Yahoo Finance APIにアクセスします。
  2. RapidAPIから提供されるAPIキーを使用してデータを取得します。
import requests

url = "https://apidojo-yahoo-finance-v1.p.rapidapi.com/market/get-summary"
querystring = {"region":"US"}
headers = {
    "X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
    "X-RapidAPI-Host": "apidojo-yahoo-finance-v1.p.rapidapi.com"
}

response = requests.get(url, headers=headers, params=querystring)
data = response.json()
print(data)

まとめ

  • Alpha VantageFinnhub は、FXと暗号通貨の両方のデータを提供しています。特にFinnhubはリアルタイムデータに強みがあります。
  • IEX Cloud は暗号通貨に対応していますが、FXデータの提供は少ないです。
  • Yahoo Finance API は、RapidAPIを介してFXと暗号通貨の両方のデータを取得でき、広範なデータを提供します。

これらのAPIサービスを使用することで、無料で株価データを取得することができます。

どのサービスも無料プランがあり、一定のAPIリクエスト数が可能ですが、使用制限があることもあります。

APIキーの取得後、提供したコードを使ってテストを行い、最も使いやすいものを選んでください。

APIを利用する際には、各サービスのドキュメントを確認して、適切な利用方法や制限について理解することが重要です。