{"uid":"cap_3Itb1Gj0lbxEz1bFws3jj","slug":"laevitas-spot-candle-history-558a8c11","name":"Laevitas Spot Candle History","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/spot/candle-history?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","required":["end","start","exchange","resolution","instrument_name"],"properties":{"end":{"type":"string","description":"Inclusive ISO-8601 instant with timezone, truncated to seconds. Not an exclusive boundary or an implicit full UTC day."},"page":{"type":"integer","description":"One-based output-row page. A liquidation page can split the long and short rows at one timestamp."},"limit":{"type":"integer","description":"Output rows per page, not timestamps. Default 10; maximum 1440."},"start":{"type":"string","description":"Inclusive ISO-8601 instant with timezone, truncated to seconds. Spot edge candles use only source observations inside the requested bounds."},"exchange":{"type":"string","description":"Lowercase exchange selector. Liquidations also accept aggregated, meaning all retained markets."},"resolution":{"enum":["1m","5m","15m","30m","1h","1d"],"type":"string","description":"UTC candle period. OHLC and volume aggregate selected source observations; incomplete edge buckets are not full-period candles."},"instrument_name":{"type":"string","description":"Retained spot pair identifier, e.g. BTC-USDT on coinbase. Compared case-insensitively, but separators are not rewritten. Not an option or derivative instrument."}}},"responseSchema":{"type":"object","required":["dataset_id","items","meta"],"properties":{"meta":{"type":"object","required":["total","items","page","total_pages","limit","availability","count_basis"],"properties":{"page":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"One-based page number.","exclusiveMinimum":true},"items":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"Number of rows actually returned on this page."},"limit":{"type":"integer","maximum":9007199254740991,"minimum":0,"exclusiveMinimum":true},"total":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"Total matching source rows for this window, not this page; instrument rows may share a timestamp."},"count_basis":{"enum":["candles"],"type":"string","description":"What total, limit and pagination count; liquidation long/short rows may occupy separate pages."},"total_pages":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"Declared page count. Compatibility aliases preserve legacy omitted-limit accounting; send page and limit explicitly."},"availability":{"type":"object","required":["empty_reason","coverage","completeness"],"properties":{"coverage":{"type":"object","required":["source_id","exchange_supported","instrument_eligible","earliest_observed_at","latest_observed_at"],"properties":{"source_id":{"enum":["spot.retained_candles"],"type":"string"},"exchange_supported":{"enum":[true],"type":"boolean","nullable":true},"latest_observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","nullable":true},"instrument_eligible":{"enum":[null],"type":"string","nullable":true},"earliest_observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","nullable":true}},"additionalProperties":false},"completeness":{"type":"object","required":["status","certification","complete_from","complete_through","complete_from_inclusive","complete_through_inclusive","monotonic","monotonic_boundary","revisions_possible","certified_at","updated_at","unavailable_reason","scope"],"properties":{"scope":{"type":"object","required":["endpoint_id","source_ids","exchange","instrument_name","currency"],"properties":{"currency":{"type":"string","nullable":true},"exchange":{"type":"string","nullable":true},"source_ids":{"type":"array","items":{"type":"string"}},"endpoint_id":{"enum":["spot.retained_candles"],"type":"string"},"instrument_name":{"type":"string","nullable":true}},"additionalProperties":false},"status":{"enum":["unavailable"],"type":"string"},"monotonic":{"enum":[false],"type":"boolean"},"updated_at":{"enum":[null],"type":"string","nullable":true},"certified_at":{"enum":[null],"type":"string","nullable":true},"certification":{"enum":[null],"type":"string","nullable":true},"complete_from":{"enum":[null],"type":"string","nullable":true},"complete_through":{"enum":[null],"type":"string","nullable":true},"monotonic_boundary":{"enum":["complete_through"],"type":"string"},"revisions_possible":{"enum":[true],"type":"boolean"},"unavailable_reason":{"enum":["not_supported"],"type":"string"},"complete_from_inclusive":{"enum":[true],"type":"boolean"},"complete_through_inclusive":{"enum":[false],"type":"boolean"}},"additionalProperties":false},"empty_reason":{"enum":["classification_unavailable"],"type":"string","nullable":true}},"additionalProperties":false}},"additionalProperties":false},"items":{"type":"array","items":{"type":"object","required":["date","open","high","low","close","volume_base","volume_quote"],"properties":{"low":{"type":"number","nullable":true,"description":"Minimum selected source low, in quote currency per base unit."},"date":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"Unix epoch milliseconds, UTC. From 2024-01-01: UTC candle start, which can precede the requested start for a clipped edge bucket. Before 2024-01-01: the published candle label; its start-versus-close convention is not independently verified."},"high":{"type":"number","nullable":true,"description":"Maximum selected source high, in quote currency per base unit."},"open":{"type":"number","nullable":true,"description":"Quote-currency units per one base unit; earliest selected source open. Not necessarily the full candle open when start clips the bucket."},"close":{"type":"number","nullable":true,"description":"Latest selected source close, in quote currency per base unit. Not mark/index price."},"volume_base":{"type":"number","nullable":true,"description":"Sum of traded base-asset quantity from selected source candles; not USD notional or rolling 24-hour volume. Old-generation candles retain their stored volume."},"volume_quote":{"type":"number","nullable":true,"description":"Quote-asset volume under the historical venue convention, not universally an executed-notional total. Coinbase, Kraken and Hyperliquid history can carry base volume multiplied by that candle's close. When minute candles are combined into a longer period, their estimates are summed, not recalculated as total base volume multiplied by the final close. Other generations can preserve a quote volume reported by the venue or a zero when unavailable. Do not equate it with modern spot.ohlcvt quote_volume without checking the selected history. Quote assets are not converted to USD."}},"additionalProperties":false}},"dataset_id":{"enum":["spot.retained_candles"],"type":"string"}},"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_Pa2IB9hbOcH78lIG08zVr","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 paginated OHLCV candlestick history for a retained spot trading pair on a specified exchange over a given time range and resolution.","exampleAgentPrompt":"Pull 1-hour candle history for BTC-USDT on Coinbase from January 1, 2025 to January 31, 2025, showing 100 candles per page, using the Laevitas spot candle history endpoint.","exampleUseCases":[{"title":"Backtesting a crypto trading strategy","prompt":"Fetch daily OHLCV candles for ETH-USDT on Binance from July 1, 2024 to December 31, 2024 — I need the full price history to backtest my momentum strategy, 500 rows per page."},{"title":"Charting intraday spot price movements","prompt":"Get 5-minute candles for SOL-USDT on Kraken for yesterday, January 14, 2025, starting at midnight UTC and ending at 11:59 PM UTC, with up to 1440 rows per page."},{"title":"Monitoring recent weekly price trends","prompt":"Retrieve 1-day candles for BTC-USDT on Coinbase from January 1, 2025 through today January 15, 2025 — I want to see how Bitcoin's daily open, high, low, close, and volume have trended this month."}],"resultDescription":"A paginated JSON object containing: an array of OHLCV candle rows for the requested spot pair, resolution, and time range; pagination metadata (total rows, current page, total pages, limit, count basis); and data availability/coverage details including the earliest and latest observed timestamps for the instrument on the exchange.","failureModes":["Invalid or unsupported exchange name returns an error or empty coverage","Instrument name not found or not retained for the exchange","start or end not valid ISO-8601 with timezone causes validation error","Resolution value not in allowed enum causes bad request","Requested date range has no data coverage (empty_reason field populated)","Page number beyond total_pages returns empty items array","Limit exceeding 1440 causes a validation error","Expired or missing API key / insufficient x402 credits returns 401/402"],"whenToPreferThis":"Use this endpoint when you need structured historical OHLCV candlestick data for a specific crypto spot pair on a supported exchange, especially for backtesting, charting, or time-series analysis. It supports multiple resolutions from 1-minute to 1-day, handles pagination for large date ranges, and provides coverage metadata so you know exactly how far back data is available. Prefer this over generic market data providers when you need reliable, professionally curated spot candle data with clear pagination controls and coverage transparency.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-31T18:42:16.610Z","isFirstParty":false,"canonicalSlug":"laevitas-spot-candle-history-558a8c11"}