# US Options Chain Lookup (x402stock)

> US Options Chain Lookup (x402stock) is a paid API for AI agents from agents.x402stock.xyz, paid per call via MPP, $0.02/call, status unknown (last checked 2026-09-13).

Returns every listed options contract for a US-listed underlying, including strike, expiration, call/put type, exercise style, contract ticker, and shares per contract, with filters for expiration date, contract type, strike price, and expiry status.

## Facts

- Endpoint: GET https://agents.x402stock.xyz/api/v1/options/{ticker}
- Price: $0.02/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Provider: agents.x402stock.xyz
- Website: https://agents.x402stock.xyz
- Canonical page: https://www.zero.xyz/c/agents-x402stock-xyz-us-options-chain-lookup-x402stock-c0d74918
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_w966qy3fqZSkCzz2V5eDs

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 agents-x402stock-xyz-us-options-chain-lookup-x402stock-c0d74918
```

Example prompt: Pull the full options chain for AAPL — show me all call contracts expiring on 2025-06-20, limit to 100 results.

## When to prefer this

Use this endpoint when you need to discover which options contracts exist for a US-listed equity or ETF before fetching price or Greeks data. It is the right first step in any options workflow — retrieve contract tickers here, then use those tickers with price-history endpoints. Prefer this over manual contract ticker construction when you are unsure of exact expiration dates, available strikes, or exercise styles for a given underlying.

## Known failure modes

- Invalid or unrecognized ticker returns empty contract list or error
- Unsupported expiration_date format causes a validation error
- Strike price of zero or negative rejected by exclusiveMinimum constraint
- Limit exceeding 1000 rejected by schema maximum
- No contracts match the combined filters — returns count:0 with empty array
- Network or upstream x402stock outage returns a 5xx error
- Payment failure via x402 prevents the request from completing

## How this service works

The options chain for a US-listed underlying: every listed contract with its strike price, expiration date, call or put type, exercise style, contract ticker, and shares per contract. Filter with ?expiration_date=YYYY-MM-DD, ?contract_type=call|put, ?strike_price=, ?expired=true|false, and ?limit=. Use to discover which option contracts exist before pulling price history. From x402stock

## Output

A JSON object containing the underlying ticker, an as-of timestamp, the source ('x402stock'), and a data object with a count and array of contracts. Each contract includes its contract ticker symbol, type (call/put), strike price, expiration date, exercise style (American/European), shares per contract, primary exchange, and CFI classification code.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "ticker"
 ],
 "properties": {
  "limit": {
   "type": "integer",
   "default": 50,
   "maximum": 1000,
   "exclusiveMinimum": 0
  },
  "order": {
   "enum": [
    "asc",
    "desc"
   ],
   "type": "string",
   "default": "asc"
  },
  "ticker": {
   "type": "string",
   "description": "US-listed ticker symbol (uppercase), e.g. AAPL."
  },
  "expired": {
   "type": "boolean"
  },
  "strike_price": {
   "type": "number",
   "exclusiveMinimum": 0
  },
  "contract_type": {
   "enum": [
    "call",
    "put"
   ],
   "type": "string"
  },
  "expiration_date": {
   "type": "string"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "ticker",
  "data",
  "source",
  "as_of"
 ],
 "properties": {
  "data": {
   "type": "object",
   "required": [
    "count",
    "contracts"
   ],
   "properties": {
    "count": {
     "type": "number"
    },
    "contracts": {
     "type": "array",
     "items": {
      "type": "object",
      "required": [
       "contract_ticker",
       "type",
       "strike",
       "expiration_date",
       "exercise_style",
       "shares_per_contract",
       "primary_exchange",
       "cfi"
      ],
      "properties": {
       "cfi": {
        "anyOf": [
         {
          "type": "string"
         },
         {
          "type": "null"
         }
        ]
       },
       "type": {
        "anyOf": [
         {
          "type": "string"
         },
         {
          "type": "null"
         }
        ]
       },
       "strike": {
        "anyOf": [
         {
          "type": "number"
         },
         {
          "type": "null"
         }
        ]
       },
       "exercise_style": {
        "anyOf": [
         {
          "type": "string"
         },
         {
          "type": "null"
         }
        ]
       },
       "contract_ticker": {
        "anyOf": [
         {
          "type": "string"
         },
         {
          "type": "null"
         }
        ]
       },
       "expiration_date": {
        "anyOf": [
         {
          "type": "string"
         },
         {
          "type": "null"
         }
        ]
       },
       "primary_exchange": {
        "anyOf": [
         {
          "type": "string"
         },
         {
          "type": "null"
         }
        ]
       },
       "shares_per_contract": {
        "anyOf": [
         {
          "type": "number"
         },
         {
          "type": "null"
         }
        ]
       }
      },
      "additionalProperties": false
     }
    }
   },
   "additionalProperties": false
  },
  "as_of": {
   "type": "string"
  },
  "source": {
   "type": "string",
   "const": "x402stock"
  },
  "ticker": {
   "type": "string"
  },
  "feedback": {
   "type": "object",
   "required": [
    "endpoint",
    "method",
    "free",
    "note"
   ],
   "properties": {
    "free": {
     "type": "boolean"
    },
    "note": {
     "type": "string"
    },
    "method": {
     "type": "string",
     "const": "POST"
    },
    "endpoint": {
     "type": "string"
    }
   },
   "additionalProperties": false
  }
 },
 "additionalProperties": false
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agents-x402stock-xyz-us-options-chain-lookup-x402stock-c0d74918/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agents.x402stock.xyz](https://www.zero.xyz/host/agents.x402stock.xyz/llms.txt)
