ApexVol Options flow API

The Options flow API from ApexVol — 2 operation(s) for options flow.

Operations 2

GET /api/mcp/data/flow/{ticker} Options flow and unusual activity #
GET /api/mcp/data/smart-money/{ticker} Smart-money / institutional flow #

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/apexvol-com:apexvol-com-options-flow-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

apexvol-com-options-flow-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: 'Options-analytics API (token surface). Auth: `Authorization: Bearer avmcp_` on every request; tokens are issued to any paid or trial plan from Basic, and each endpoint follows the same tier as the web app. Rate limits: 60/min and 1,000/hr per token, plus a monthly allowance per account measured in upstream data requests, by plan. The remaining counts come back in the X-RateLimit-* and X-Monthly-Budget-Remaining headers on every response, and GET /api/mcp/data/me/usage returns the month''s meter with a per-endpoint breakdown. IV values are percentage points unless a payload says otherwise (`iv_units`). The same endpoints power the ApexVol MCP server for AI assistants: `pipx install apexvol-mcp` (PyPI), setup at https://apexvol.com/mcp. Docs: https://apexvol.com/docs/api.'
  title: ApexVol Options flow API
  version: '1.30'
servers:
- url: https://apexvol.com
security:
- bearerAuth: []
tags:
- name: Options flow
paths:
  /api/mcp/data/flow/{ticker}:
    get:
      description: 'Options flow and unusual activity. Under compact detail the row lists are capped; window says what was trimmed. The summary block is never trimmed. **Query parameters:** detail (compact | full; default compact for MCP clients, full for REST) · limit (all_flow rows under compact, default 25; largest_flows and unusual_activity capped at 10)


        **Response shape:**

        ```json

        {

        "success": true,

        "data": {

        "all_flow": [

        {

        "ask": 10.15,

        "bid": 10.05,

        "delta": -0.4599,

        "dte": 38,

        "expiration": "2026-10-16",

        "is_unusual": false,

        "mid": 10.100000000000001,

        "moneyness": "OTM",

        "oi": 6669,

        "premium": 11948300.000000002,

        "strike": 230.0,

        "ticker": "NVDA",

        "timestamp": "2026-09-08T08:07:24.681049",

        "type": "PUT",

        "volume": 11830,

        "volume_oi_ratio": 1.773879142300195

        },

        {

        "ask": 4.0,

        "bid": 3.95,

        "delta": 0.5173,

        "dte": 3,

        "expiration": "2026-09-11",

        "is_unusual": false,

        "mid": 3.975,

        "moneyness": "ITM",

        "oi": 32787,

        "premium": 10783380.0,

        "strike": 230.0,

        "ticker": "NVDA",

        "timestamp": "2026-09-08T08:07:24.542239",

        "type": "CALL",

        "volume": 27128,

        "volume_oi_ratio": 0.8274011040961357

        },

        {

        "ask": 6.05,

        "bid": 5.95,

        "delta": 0.5225,

        "dte": 10,

        "expiration": "2026-09-18",

        "is_unusual": false,

        "mid": 6.0,

        "moneyness": "ITM",

        "oi": 57448,

        "premium": 10345800.0,

        "strike": 230.0,

        "ticker": "NVDA",

        "timestamp": "2026-09-08T08:07:24.600692",

        "type": "CALL",

        "volume": 17243,

        "volume_oi_ratio": 0.3001497005988024

        }

        ],

        "data_freshness": "EOD",

        "is_market_hours": false,

        "largest_flows": [

        {

        "ask": 10.15,

        "bid": 10.05,

        "delta": -0.4599,

        "dte": 38,

        "expiration": "2026-10-16",

        "is_unusual": false,

        "mid": 10.1,

        "moneyness": "OTM",

        "oi": 6669,

        "premium": 11948300.0,

        "strike": 230.0,

        "ticker": "NVDA",

        "timestamp": "2026-09-08T08:07:24.681049",

        "type": "PUT",

        "volume": 11830,

        "volume_oi_ratio": 1.7739

        },

        {

        "ask": 4.0,

        "bid": 3.95,

        "delta": 0.5173,

        "dte": 3,

        "expiration": "2026-09-11",

        "is_unusual": false,

        "mid": 3.975,

        "moneyness": "ITM",

        "oi": 32787,

        "premium": 10783380.0,

        "strike": 230.0,

        "ticker": "NVDA",

        "timestamp": "2026-09-08T08:07:24.542239",

        "type": "CALL",

        "volume": 27128,

        "volume_oi_ratio": 0.8274

        },

        {

        "ask": 6.05,

        "bid": 5.95,

        "delta": 0.5225,

        "dte": 10,

        "expiration": "2026-09-18",

        "is_unusual": false,

        "mid": 6.0,

        "moneyness": "ITM",

        "oi": 57448,

        "premium": 10345800.0,

        "strike": 230.0,

        "ticker": "NVDA",

        "timestamp": "2026-09-08T08:07:24.600692",

        "type": "CALL",

        "volume": 17243,

        "volume_oi_ratio": 0.3001

        }

        ],

        "message": "Market is closed.'
      operationId: get_flow_by_ticker
      parameters:
      - in: path
        name: ticker
        required: true
        schema:
          type: string
      - description: 'Capped lists or everything. Range: compact or full. Default: full for REST, compact for MCP clients.'
        in: query
        name: detail
        required: false
        schema:
          enum:
          - compact
          - full
          type: string
      - description: 'Row cap. Range: rows in all_flow under compact.'
        in: query
        name: limit
        required: false
        schema:
          default: 25
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/GetFlowByTickerResponse'
                  success:
                    type: boolean
                type: object
          description: 'Success: payload under `data` with `success: true`.'
        '400':
          description: A parameter is malformed; the error names it.
        '401':
          description: Missing, invalid, expired or revoked token.
        '403':
          description: The endpoint needs a higher plan than the token's owner has (required_tier in the body).
        '404':
          description: Unknown path (did_you_mean in the body) or a symbol with no listed options.
        '424':
          description: The data feed did not answer for this symbol; retry.
        '429':
          description: Per-token rate limit or the monthly allowance (budget_exceeded). Retry-After says how long, in seconds.
      summary: Options flow and unusual activity
      tags:
      - Options flow
  /api/mcp/data/smart-money/{ticker}:
    get:
      description: 'Smart-money / institutional flow.


        **Query parameters:** —


        **Response shape:**

        ```json

        {

        "success": true,

        "data": {

        "smart_money_trades": [

        {

        "ask": 4.0,

        "bid": 3.95,

        "criteria": [

        "Large Premium",

        "Opening Position",

        "OTM with Time"

        ],

        "delta": 0.2642,

        "dte": 38,

        "expiration": "2026-10-16",

        "is_unusual": false,

        "mid": 3.975,

        "moneyness": "OTM",

        "oi": 69150,

        "premium": 5400037.5,

        "smart_money_score": 8,

        "strike": 250.0,

        "ticker": "NVDA",

        "timestamp": "2026-09-08T08:07:26.352058",

        "type": "CALL",

        "volume": 13585,

        "volume_oi_ratio": 0.1965

        },

        {

        "ask": 0.74,

        "bid": 0.72,

        "criteria": [

        "Large Premium",

        "Opening Position",

        "Aggressive Entry"

        ],

        "delta": 0.104,

        "dte": 10,

        "expiration": "2026-09-18",

        "is_unusual": false,

        "mid": 0.73,

        "moneyness": "OTM",

        "oi": 87596,

        "premium": 2234457.0,

        "smart_money_score": 7,

        "strike": 250.0,

        "ticker": "NVDA",

        "timestamp": "2026-09-08T08:07:26.279270",

        "type": "CALL",

        "volume": 30609,

        "volume_oi_ratio": 0.3494

        },

        {

        "ask": 2.25,

        "bid": 2.19,

        "criteria": [

        "Large Premium",

        "Opening Position",

        "OTM with Time"

        ],

        "delta": 0.1801,

        "dte": 38,

        "expiration": "2026-10-16",

        "is_unusual": false,

        "mid": 2.22,

        "moneyness": "OTM",

        "oi": 31871,

        "premium": 1314240.0,

        "smart_money_score": 8,

        "strike": 260.0,

        "ticker": "NVDA",

        "timestamp": "2026-09-08T08:07:26.352193",

        "type": "CALL",

        "volume": 5920,

        "volume_oi_ratio": 0.1857

        }

        ],

        "ticker": "NVDA",

        "timestamp": "2026-09-08T08:07:26.381762",

        "total_smart_trades": 99

        }

        }

        ```'
      operationId: get_smart_money_by_ticker
      parameters:
      - in: path
        name: ticker
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/GetSmartMoneyByTickerResponse'
                  success:
                    type: boolean
                type: object
          description: 'Success: payload under `data` with `success: true`.'
        '400':
          description: A parameter is malformed; the error names it.
        '401':
          description: Missing, invalid, expired or revoked token.
        '403':
          description: The endpoint needs a higher plan than the token's owner has (required_tier in the body).
        '404':
          description: Unknown path (did_you_mean in the body) or a symbol with no listed options.
        '424':
          description: The data feed did not answer for this symbol; retry.
        '429':
          description: Per-token rate limit or the monthly allowance (budget_exceeded). Retry-After says how long, in seconds.
      summary: Smart-money / institutional flow
      tags:
      - Options flow
components:
  schemas:
    GetFlowByTickerResponse:
      properties:
        all_flow:
          items:
            properties:
              ask:
                type: number
              bid:
                type: number
              delta:
                type: number
              dte:
                type: integer
              expiration:
                type: string
              is_unusual:
                type: boolean
              mid:
                type: number
              moneyness:
                type: string
              oi:
                type: integer
              premium:
                type: number
              strike:
                type: number
              ticker:
                type: string
              timestamp:
                type: string
              type:
                type: string
              volume:
                type: integer
              volume_oi_ratio:
                type: number
            type: object
          type: array
        data_freshness:
          type: string
        is_market_hours:
          type: boolean
        largest_flows:
          items:
            properties:
              ask:
                type: number
              bid:
                type: number
              delta:
                type: number
              dte:
                type: integer
              expiration:
                type: string
              is_unusual:
                type: boolean
              mid:
                type: number
              moneyness:
                type: string
              oi:
                type: integer
              premium:
                type: number
              strike:
                type: number
              ticker:
                type: string
              timestamp:
                type: string
              type:
                type: string
              volume:
                type: integer
              volume_oi_ratio:
                type: number
            type: object
          type: array
        message:
          type: string
        stock_price:
          type: number
        success:
          type: boolean
        summary:
          properties:
            call_put_ratio:
              type: number
            net_premium:
              type: number
            put_call_ratio:
              type: number
            sentiment:
              type: string
            total_call_premium:
              type: number
            total_call_volume:
              type: number
            total_flow_count:
              type: integer
            total_put_premium:
              type: number
            total_put_volume:
              type: number
          type: object
        ticker:
          type: string
        timestamp:
          type: string
        top_expirations:
          items:
            items:
              type: string
            type: array
          type: array
        top_strikes:
          items:
            items:
              type: number
            type: array
          type: array
        unusual_activity:
          items:
            properties:
              ask:
                type: number
              bid:
                type: number
              delta:
                type: number
              dte:
                type: integer
              expiration:
                type: string
              is_unusual:
                type: boolean
              mid:
                type: number
              moneyness:
                type: string
              oi:
                type: integer
              premium:
                type: number
              strike:
                type: number
              ticker:
                type: string
              timestamp:
                type: string
              type:
                type: string
              volume:
                type: integer
              volume_oi_ratio:
                type: number
            type: object
          type: array
        window:
          properties:
            detail:
              type: string
            limit:
              type: integer
            lists:
              properties:
                all_flow:
                  properties:
                    rows_returned:
                      type: integer
                    rows_total:
                      type: integer
                    truncated:
                      type: boolean
                  type: object
                largest_flows:
                  properties:
                    rows_returned:
                      type: integer
                    rows_total:
                      type: integer
                    truncated:
                      type: boolean
                  type: object
                unusual_activity:
                  properties:
                    rows_returned:
                      type: integer
                    rows_total:
                      type: integer
                    truncated:
                      type: boolean
                  type: object
              type: object
          type: object
      type: object
    GetSmartMoneyByTickerResponse:
      properties:
        smart_money_trades:
          items:
            properties:
              ask:
                type: number
              bid:
                type: number
              criteria:
                items:
                  type: string
                type: array
              delta:
                type: number
              dte:
                type: integer
              expiration:
                type: string
              is_unusual:
                type: boolean
              mid:
                type: number
              moneyness:
                type: string
              oi:
                type: integer
              premium:
                type: number
              smart_money_score:
                type: integer
              strike:
                type: number
              ticker:
                type: string
              timestamp:
                type: string
              type:
                type: string
              volume:
                type: integer
              volume_oi_ratio:
                type: number
            type: object
          type: array
        ticker:
          type: string
        timestamp:
          type: string
        total_smart_trades:
          type: integer
      type: object
  securitySchemes:
    bearerAuth:
      description: ApexVol API token (avmcp_...) from apexvol.com/account, API Access.
      scheme: bearer
      type: http