Your key, the plans, coverage, bulk files.
/v1/me/v1/statusYour plan, rate, burst, daily quota and what is used, the first session you may ask for, your stream limits and your platform add-ons. Read it at start-up and pace yourself from it. /v1/status is free: never counted, never rate-limited.
namestringtierstringaccessstring[]rate, burstnumberstatusstring \| nullgrace_untilstring \| nullplan_untilstring \| nullhistory_fromstring \| nullexportbooleansymbolsstringaddonsstring[]multi_indicatorbooleannoticesstring[]limitsobjectplanstringplan_untilstring \| nullmodestringmode_labelstringaccount.name, attested, status, internalstring, boolean, string \| null, booleanusage.apiobjectusage.rateobjectusage.chatobject \| nullusage.streamobjectreachobjectproductsobject/v1/plansEvery plan on sale, in order, with its price, whether you can sign up now or join the waitlist, what it includes, Ask Marlon's questions a day and its limits. No parameters and no key needed; never counted against a key and not rate-limited by one.
plans[].tierstringplans[].namestringplans[].availabilitystringplans[].price.monthnumberUSDplans[].price.yearnumber \| nullUSDplans[].price.lifetimenumber \| nullUSDplans[].limits.rate, .burstnumberrequests per second; requestsplans[].limits.calls_per_dayinteger \| nullcallsplans[].limits.history, .history_reachstring \| null; stringplans[].limits.symbolsstringplans[].limits.exportbooleanplans[].products.dashboardstring \| nullplans[].products.terminalboolean \| nullplans[].products.api_mcpstring \| nullplans[].products.stream.symbols, .connectionsinteger \| nullsymbols; connectionsplans[].products.compatible_apisboolean \| nullplans[].products.bulk_exportbooleanplans[].products.supportstring \| nullplans[].chat_per_dayinteger \| nullquestionsplans[].includesstring[]currencystringnotesstringmeta.as_ofstringRFC 3339 UTC/v1/symbols/v1/symbols/{symbol}/expirations/v1/symbols/{symbol}/spotEvery symbol with listed options, each one's live expirations and its term set, and its spot price.
symbolstringrequired/expirations and /spot: the ticker.
symbolsstring[]countintegerexpirationsstring[]term_selectionstring[]pricenumberUSD/v1/reference/v1/symbols/{symbol}/referenceReference data: rates, dividend yields, the contract multiplier, expiry times and sectors; and one symbol's details.
symbolstringrequired/v1/symbols/{symbol}/reference: the ticker.
rates.points[][number, number][]years, fractionThe rate curve.
rates.ratenumberfractionA single rate, given instead of points.
rates.loadedAtintegerepoch sWhen the rates last updated.
dividend_yieldsobjectfractionDividend yield per symbol.
conventions.multiplierobjectshares100 shares per contract; adjusted series are flagged (adjusted on the symbol's reference).
conventions.expiry_timeobjectpm or am settlement, by root.
conventions.time_to_expiry, atm_band, spot, sectorsReference conventions for this data.
rates.points[][number, number][]years, fractionThe rate curve.
rates.ratenumberfractionA single rate, given instead of points.
rates.loadedAtintegerepoch sWhen the rates last updated.
dividend_yieldsobjectfractionDividend yield per symbol.
conventions.multiplierobjectshares100 shares per contract; adjusted series are flagged (adjusted on the symbol's reference).
conventions.expiry_timeobjectpm or am settlement, by root.
conventions.time_to_expiry, atm_band, spot, sectorsReference conventions for this data.
/v1/export/v1/export/{date}/v1/export/{date}/{dataset}Every finished session as Parquet files: levels, the exposure grid, net flow, trades and orders. List the sessions, read one session's manifest, then download each file.
datestringrequiredA session from /v1/export, YYYY-MM-DD.
datasetenumrequiredlevels, interval_map, netflow, trades, orders.