# Bullflow GEX Alerts

> Bullflow GEX Alerts is a paid API for AI agents from api.bullflow.io, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-29).

Retrieves gamma exposure (GEX) alerts for a given ticker, including node proximity, largest node moved higher, and largest node moved lower events over a specified date range.

## Facts

- Endpoint: GET https://api.bullflow.io/v1/data/gexAlerts?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/bullflow-gex-alerts-87636f43
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_5udsj_6qopL_qMuyO6qs2

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability bullflow-gex-alerts-87636f43
```

Example prompt: Pull the GEX node proximity alerts for SPY from Bullflow for today, and show me up to 50 results.

## When to prefer this

Use this endpoint when you need structured gamma exposure alert data for a specific ticker over a date range, particularly for GEX node proximity events or tracking the largest gamma node shifts. Prefer this over generic options flow endpoints when your analysis is specifically centered on gamma exposure dynamics and dealer hedging behavior.

## Known failure modes

- Invalid ticker symbol returns empty alerts array
- Date range exceeding 30 calendar days may result in an error or truncated results
- Missing required query parameters (type or method) returns a validation error
- Invalid date format (not YYYY-MM-DD) causes a schema validation error
- Expired or invalid cursor causes pagination failure
- Payment failure (402) if USDC payment is not properly attached

## How this service works

Bullflow.io is a real-time unusual options flow and dark pool tracker with advanced tools to view, filter, and analyze market activity as it happens.

## Output

Returns a paginated list of GEX alert objects for the specified ticker and date range, including alert type (gex_node_proximity, largest_node_moved_higher, or largest_node_moved_lower), count, limit, timezone, version, hasMore flag, and a nextCursor for pagination.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [],
     "properties": {
      "to": {
       "type": "string",
       "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
       "description": "Inclusive end date. Supply with from; maximum range is 30 calendar days."
      },
      "date": {
       "type": "string",
       "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
       "description": "Trading date in YYYY-MM-DD format."
      },
      "from": {
       "type": "string",
       "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
       "description": "Inclusive start date. Supply with to; do not combine with date."
      },
      "type": {
       "enum": [
        "gex_node_proximity",
        "largest_node_moved_higher",
        "largest_node_moved_lower"
       ],
       "type": "string"
      },
      "limit": {
       "type": "integer",
       "default": 500,
       "maximum": 5000,
       "minimum": 1,
       "description": "Maximum number of records in this page."
      },
      "cursor": {
       "type": "string",
       "description": "Use nextCursor from the previous page with the same filters."
      },
      "ticker": {
       "type": "string",
       "examples": [
        "SPY"
       ],
       "description": "Underlying stock, ETF, or supported index ticker."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "$schema": "https://json-schema.org/draft/2020-12/schema",
     "required": [
      "version",
      "from",
      "to",
      "timezone",
      "ticker",
      "type",
      "count",
      "limit",
      "hasMore",
      "nextCursor",
      "alerts"
     ],
     "properties": {
      "to": {
       "type": "string",
       "description": "Trading date in YYYY-MM-DD format."
      },
      "from": {
       "type": "string",
       "description": "Trading date in YYYY-MM-DD format."
      },
      "type": {
       "anyOf": [
        {
         "enum": [
          "gex_node_proximity",
          "largest_node_
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "to": "2026-10-14",
  "from": "2026-10-14",
  "type": null,
  "count": 0,
  "limit": 10,
  "alerts": [],
  "ticker": "SPY",
  "hasMore": false,
  "version": 1,
  "timezone": "America/New_York",
  "nextCursor": null
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/bullflow-gex-alerts-87636f43/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.bullflow.io](https://www.zero.xyz/host/api.bullflow.io/llms.txt)
