メインコンテンツへスキップ
Benzinga の ウェブソケット API は、低レイテンシのプッシュ型金融データをアプリケーションへ直接配信します。REST エンドポイントを繰り返しポーリングする代わりに、単一の永続接続を開いておくだけで、アナリストのレーティング、決算結果、ニュース、トランスクリプトなどのイベントを、利用可能になった瞬間に受信できます。 すべてのストリームは同じベースエンドポイント、認証モデル、メッセージエンベロープを共有しているため、あるストリームで習得したパターンは他のすべてのストリームにも適用できます。

動作概要

1

認証

Benzinga Console から Benzinga API トークンを取得し、接続を開く際に token クエリパラメータとして付与します。
2

接続

必要なデータ用のストリーム URL に対してウェブソケット接続を開きます。たとえば wss://api.benzinga.com/api/v1/analyst/insights/stream?token=YOUR_TOKEN などです。
3

イベントの受信

メッセージは一貫した構造の JSON オブジェクトとして送信されます。idapi_versionkind と、アクション (createdupdateddeleted のいずれか) およびペイロードを含む data ブロックで構成されます。
4

接続を維持する

ping プレーンテキストフレームを定期的に (30~60 秒ごとに) 送信します。サーバーは pong で応答します。サーバー側からも 10 秒ごとに ping が送信されますが、ほとんどのウェブソケットライブラリが自動的に処理します。

利用可能なストリーム

メッセージエンベロープ

すべてのストリームメッセージは、同一のトップレベル構造を持ちます。
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "api_version": "websocket/v1",
  "kind": "<stream-type>",
  "data": {
    "action": "created",
    "id": "<record-id>",
    "timestamp": "2024-10-08T10:00:00Z",
    "content": { ... }
  }
}
FieldDescription
id一意のメッセージ ID — 再接続時の重複排除に使用します
api_versionメッセージのプロトコルのバージョン
kindメッセージがどのストリームから来たかを識別します
data.actioncreatedupdateddeleted のいずれか
data.contentストリーム固有のペイロード

リファレンスページ