Returns daily end-of-day closing-price history for one US-listed ticker (stocks, ETFs, mutual funds — including delisted tickers, so historical analysis is survivorship-bias-free)

Returns daily end-of-day closing-price history for one US-listed ticker (stocks, ETFs, mutual funds — including delisted tickers, so historical analysis is survivorship-bias-free). Coverage extends back as far as 1962 for the oldest names, subject to plan history limits. PAID PLANS ONLY. Each row: date, close (as-traded), adj_close (split+dividend adjusted — use THIS for charts and return calculations), div_cash (dividend with that ex-date), split_factor (e.g. 4 = 4:1 split that session). include_ohlc=true adds the session's open / high / low / volume and their adjusted variants — the day's RANGE, which is what a stop or a target is actually tested against. On weekly/monthly these are aggregated over the period (first open, highest high, lowest low, summed volume), not the last session's values. Omit the flag and the response is unchanged. At most 5,000 rows per call (5,000 daily rows is about 20 years). When the window holds more, the response says truncated=true. Without since, you get the NEWEST 5,000 and prev_until: call again with until=prev_until for the page before. With since, you get the 5,000 from since onward and next_since: call again with since=next_since for the page after. Rows are never dropped silently. For multi-year ranges prefer frequency='weekly' or 'monthly' (last bar per period; dividends summed, split factors compounded), which never page: 10 years daily ≈ 2,500 rows vs ~120 monthly. One call = one ticker. Compare securities with multiple calls. Close Prices from Tiingo.com.

get/v1/daily-prices

Request

  • Base URL: https://api.keyvex.com
  • URL: https://api.keyvex.com/v1/daily-prices
  • Auth: API key in header x-api-key

Query parameters

tickerstring required

Ticker symbol, e.g. 'AAPL', 'SPY', 'BRK-B' (hyphen for share classes).

sincestring

ISO date YYYY-MM-DD inclusive. Default: earliest your plan allows. Setting since pages FORWARD from it: to read the next page of a long window, pass the previous response's next_since.

untilstring

ISO date YYYY-MM-DD inclusive. Default: latest available. Without since a long window returns its newest 5,000 rows; to read the page before, pass the previous response's prev_until here.

frequency'daily' | 'weekly' | 'monthly'

Downsampling. Default daily. Use weekly/monthly for multi-year charts.

include_ohlcboolean

Add open/high/low/volume (+ adjusted variants) to each row. Default false. Aggregated per period on weekly/monthly.

Response

JSON envelope: { results: [...], count, has_more }.

Changes

No recorded changes to this operation across all 1 revision of this API.