{"uid":"cap_H-FNhwA7U3-xa17JtBabd","slug":"laevitas-historical-options-put-call-ratio-bbaf9e08","name":"Laevitas Historical Options Put/Call Ratio","description":"Professional market data API for crypto derivatives, spot markets, prediction markets, Hyperliquid HyperCore data, proprietary volatility surfaces, and analytics.\n\n## Authentication\n\nUse an API key for authenticated REST requests:\n\n```http\nX-API-Key: your-api-key-here\n```\n\nData and history endpoints also accept x402 without an API key: 1, 5 or 10 credits ($0.001 each) for data up to 1 year, 1–3 years or older.\n\n**Subscriptions with USDC:** Premium and Enterprise can be purchased on Base or Solana for a month, a quarter, six months or a year. Access is prepaid, with no automatic renewal. [Buy a subscription](https://v3.laevitas.ch/profile/subscription/wallet) or read the [USDC subscription guide](/x402#subscriptions).\n\nThe subscription belongs to your signed-in Laevitas account; wallet sign-in does not require an email. Enterprise users generate an API key in V3 after activation. Plan and billing-period limits still apply. Subscription purchases are separate from API credit bundles.\n\nFor Claude MCP, add `https://apiv2.laevitas.ch/api/v1/mcp`, select **Sign in now → Register automatically**\nwith no custom headers, and authorize with your API key on the Laevitas page.\nDo not enter a client ID or secret manually. All OAuth clients require PKCE S256.\nConnection guide: [MCP setup](/mcp). CIMD / published client identity is not supported.\n\n| Resource | Path |\n| --- | --- |\n| OpenAPI JSON | `GET /openapi.json` |\n| x402 discovery | `GET /.well-known/x402` |\n| Changelog | `GET /api/v1/changelog` |\n| WebSocket docs | `GET /websocket` |\n\n## REST Surfaces\n\n| Surface | Examples |\n| --- | --- |\n| Instruments | Cross-market contract reference data |\n| Futures | OHLCVT, trades, tickers, orderbook, liquidations, carry |\n| Perpetuals | OHLCVT, trades, funding, open interest, orderbook, liquidations |\n| Options | OHLCVT, trades, Greeks, volatility, flow, dealer GEX |\n| Options Backtests | Strategy templates, asynchronous submission, status, combined results, cancellation |\n| Vol Surface | Proprietary surface snapshots, slices, strikes, term structure, risk |\n| Spot | OHLCVT, ticker, trades, volume, L2 orderbook, snapshots |\n| Predictions | Polymarket instruments, categories, trades, ticker history |\n| Hyperliquid - HyperCore | Node-derived fills, liquidations, positions, funding, TWAPs, resting orders, L2 books |\n| Analytics | Realized volatility and derived metrics |\n\n## Pagination\n\nBacktests are asynchronous jobs, not paginated market-data queries. Start with\n`GET /api/v1/options/backtests/strategies`, submit with `POST /api/v1/options/backtests`,\nthen poll `/{id}` and retrieve `/{id}/result`. These responses have no data/meta wrapper.\n\nPaginated endpoints return the cursor at `meta.next_cursor`. Pass that value back as the `cursor` query parameter to fetch the next page.\n\n## WebSocket Streaming\n\nReal-time streams are documented at `/websocket`.\n\n| Data | Channel pattern |\n| --- | --- |\n| Trades | `trades.{market}.{exchange}.{instrument}` |\n| OHLC ticker | `ohlc.ticker.{market}.{exchange}.{instrument}.{timeframe}` |\n| OHLCVT | `ohlc.vt.{market}.{exchange}.{instrument}.{timeframe}` |\n\nVariables: `market` is one of `perpetuals`, `futures`, `options`, or `spot`; `timeframe` is one of `1m`, `5m`, `15m`, `1h`, `4h`, or `1d`.\n\n## Quick Start\n\n```bash\ncurl \"https://apiv2.laevitas.ch/api/v1/futures/ohlcvt?exchange=deribit&instrument_name=BTC-PERPETUAL\" \\\n  -H \"X-API-Key: your-api-key-here\"\n```","url":"https://apiv2.laevitas.ch/api/v1/historical/options/oi_pc_ratio/%7Bmarket%7D/%7Bcurrency%7D?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","required":["start"],"properties":{"end":{"type":"string","description":"Date-only includes the whole UTC day. Omitted end is end of tomorrow UTC."},"page":{"type":"integer","description":"Default query page 1; omitted meta.page matches v1."},"limit":{"type":"integer","description":"Default query 10 rows unless stated otherwise; otherwise omitted meta.total_pages uses divisor 1 as in v1. Max pain counts maturity rows. Daily (1d) options_oi_by_currency, options_volume_by_currency and options_volume_total with exchange=aggregate use at most 2 rows per page, default 2. Larger limits return 400 POSITIONING_DAILY_PAGE_TOO_LARGE. Use limit=2 from page=1 and follow total_pages; the date range and totals are unchanged. Other series and resolutions keep their existing limits."},"start":{"type":"string","description":"Legacy ISO/date-only or 10/13-digit epoch."},"granularity":{"type":"string","description":"UTC sample grid, not interval aggregation; omitted or -- means native."}}},"responseSchema":{"type":"object","required":["meta","items"],"properties":{"meta":{"type":"object","required":["total","items","total_pages"],"properties":{"page":{"type":"integer","maximum":9007199254740991,"minimum":0,"exclusiveMinimum":true},"items":{"type":"integer","maximum":9007199254740991,"minimum":0},"total":{"type":"integer","maximum":9007199254740991,"minimum":0},"total_pages":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"items":{"type":"array","items":{"type":"object","required":["date","p","c","pc","p_p","c_p","pc_p","p_notional","c_notional"],"properties":{"c":{"type":"number","nullable":true,"description":"Corresponding total call quantity, rounded to four decimals. Not USD."},"p":{"type":"number","nullable":true,"description":"Total put open-interest quantity (OI series) or retained volume quantity (volume series), rounded to four decimals. Not USD."},"pc":{"type":"number","nullable":true,"description":"Put/call quantity ratio p / c, dimensionless, rounded to three decimals. A nonfinite ratio is null, not zero."},"c_p":{"type":"number","nullable":true,"description":"USD-equivalent premium valuation of call quantity, rounded to four decimals. Null when required valuation inputs are unavailable."},"p_p":{"type":"number","nullable":true,"description":"USD-equivalent premium valuation of put quantity, rounded to four decimals. Second p means premium, not probability. Volume valuation is not realized traded premium."},"date":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"Observation time in Unix milliseconds, UTC. Resolution samples timestamps, not interval totals."},"pc_p":{"type":"number","nullable":true,"description":"Put/call premium-valuation ratio p_p / c_p, dimensionless, rounded to two decimals; not the quantity ratio pc."},"c_notional":{"type":"number","nullable":true,"description":"Call quantity times underlying reference price, summed at this timestamp in USD-equivalent units. Not premium valuation. Volume quantities are converted from contracts to base units where required before valuation. Null if any contributing positive quantity lacks a valid reference price; zero quantity retains zero. Independent of premium availability."},"p_notional":{"type":"number","nullable":true,"description":"Put quantity times underlying reference price, summed at this timestamp in USD-equivalent units. Not premium valuation. Volume quantities are converted from contracts to base units where required before valuation. Null if any contributing positive quantity lacks a valid reference price; zero quantity retains zero. Independent of premium availability."}},"additionalProperties":false}}},"additionalProperties":false},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.1","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.1/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.1","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.1","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_BjouqBQinbs46Co96tEya","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.1","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns historical put/call open-interest and volume ratios (quantity and premium-weighted) for crypto options markets over a specified date range.","exampleAgentPrompt":"Pull me the historical daily put/call open interest ratio for BTC options on Deribit from January 1 2025 to March 31 2025, showing 10 rows per page starting from page 1.","exampleUseCases":[{"title":"Options sentiment trend analysis","prompt":"Give me the daily put/call open interest ratio for ETH options on Deribit from February 1 2025 to April 30 2025 so I can see how bearish or bullish the market was during that period — show 10 rows per page, page 1."},{"title":"Pre-expiry options positioning review","prompt":"Pull the put/call ratio history for BTC options on Deribit from March 1 2025 to March 28 2025, with daily granularity and 10 rows per page starting at page 1, so I can check how positioning shifted heading into the March expiry."},{"title":"Long-range options market sentiment backtest","prompt":"Fetch the historical put/call open interest ratio for BTC options on OKX from January 1 2024 to December 31 2024 with daily granularity, 10 rows per page from page 1, so I can backtest a sentiment strategy over the full year."}],"resultDescription":"A paginated list of timestamped data points, each containing: put quantity (p), call quantity (c), put/call quantity ratio (pc), USD premium valuation of puts (p_p) and calls (c_p), premium-weighted put/call ratio (pc_p), and notional USD value of puts and calls (p_notional, c_notional). Accompanied by pagination metadata including total records, total pages, and current page.","failureModes":["Missing required 'start' parameter returns 400 error","Invalid date format for start/end returns 400 error","Limit exceeding max for daily aggregated series returns 400 POSITIONING_DAILY_PAGE_TOO_LARGE","Unsupported market or currency combination returns 404 or empty results","Invalid granularity value returns 400 error","Requesting data beyond subscription plan history limit returns 402 or access denied","Invalid or missing API key returns 401 unauthorized"],"whenToPreferThis":"Use this endpoint when you need time-series historical data on options put/call open interest or volume ratios for a specific crypto market and currency pair. Prefer this over real-time endpoints when performing backtesting, trend analysis, or sentiment research over a defined historical window. Best suited for crypto derivatives analysts, quant researchers, and trading strategy developers who need premium-weighted and quantity-weighted put/call metrics with flexible pagination and granularity control.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-31T18:41:38.575Z","isFirstParty":false,"canonicalSlug":"laevitas-historical-options-put-call-ratio-bbaf9e08"}