Benzinga WebSocket Streaming API

Real-time WebSocket streams over wss://api.benzinga.com for news, earnings, analyst ratings, consensus ratings, analyst insights, bulls/bears cases, and sentence-by-sentence earnings-call transcripts, with session replay actions and token auth.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/benzinga-websocket-streaming-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

AsyncAPI Specification

benzinga-news-stream-asyncapi.yml Raw ↑
asyncapi: '3.0.0'
info:
  title: Benzinga News Stream API
  version: 1.0.0
  description: |
    Real-time streaming of Benzinga news articles and updates.

    **Authentication**
    - Clients must provide their API token as a query parameter:
      ```
      wss://api.benzinga.com/api/v1/news/stream?token=YOUR_API_TOKEN
      ```
    - Upon connect, you'll receive status messages for connection and authentication.

    **Filtering**
    - Filter by tickers: Use `tickers` query parameter (comma-separated)
    - Filter by channels: Use `channels` query parameter (comma-separated)

    **Actions**
    - `ping`: Keeps the WebSocket connection alive
    - `replay`: Replays up to the last 100 messages (cache-dependent)

servers:
  production:
    host: api.benzinga.com/api/v1/news
    protocol: wss
    description: Real-time news stream endpoint
    security:
      - $ref: '#/components/securitySchemes/tokenAuth'

channels:
  news:
    address: stream
    messages:
      publish:
        $ref: '#/components/messages/ActionRequest'
      subscribe:
        $ref: '#/components/messages/NewsMessage'
    description: Send action commands; receive real-time news updates

operations:
  news.publish:
    action: receive
    channel:
      $ref: '#/channels/news'
    summary: Send commands to the server
    messages:
      - $ref: '#/channels/news/messages/publish'
  news.subscribe:
    action: send
    channel:
      $ref: '#/channels/news'
    summary: Receive real-time news updates
    messages:
      - $ref: '#/channels/news/messages/subscribe'

components:
  securitySchemes:
    tokenAuth:
      type: httpApiKey
      name: token
      in: query
      description: Benzinga WebSocket API token (bz.production***)

  messages:
    ActionRequest:
      summary: Send action commands (ping, replay)
      contentType: text/plain
      payload:
        type: string
        enum: [ping, replay]
        description: Action to perform (ping for heartbeat, replay for message history)

    NewsMessage:
      name: NewsMessage
      title: News Update
      summary: A news article or update message
      contentType: application/json
      payload:
        type: object
        properties:
          id:
            type: string
            description: Unique message identifier
          api_version:
            type: string
            description: API version
            example: "websocket/v1"
          kind:
            type: string
            description: Message type
            example: "news"
          data:
            type: object
            properties:
              action:
                type: string
                description: Action type
                enum: [created, updated, deleted]
              id:
                type: integer
                description: News article ID
              timestamp:
                type: string
                format: date-time
                description: Message timestamp
              content:
                type: object
                properties:
                  id:
                    type: integer
                    description: Article ID
                  author:
                    type: string
                    description: Article author
                  created:
                    type: string
                    description: Article creation timestamp
                  updated:
                    type: string
                    description: Article update timestamp
                  title:
                    type: string
                    description: Article headline
                  teaser:
                    type: string
                    description: Article teaser text
                  body:
                    type: string
                    description: Full article body
                  url:
                    type: string
                    description: Article URL
                  image:
                    type: array
                    items:
                      type: object
                      properties:
                        size:
                          type: string
                        url:
                          type: string
                  channels:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                  stocks:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        cusip:
                          type: string
                        isin:
                          type: string
                        exchange:
                          type: string
                  tags:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string