QVeris
Stock Data API Guide

Free Intraday Stock Data API
Options, Limits & Setup

Find a free API for intraday OHLCV data, understand what “free” really includes, and build a prototype that can survive rate limits and stale bars.

Hand-drawn workflow for evaluating a free intraday stock data API from request and rate limits to OHLCV validation

TL;DR

Best use

A free intraday stock data API is usually best for prototypes, education, research, and low-frequency dashboards.

Check freshness

“Intraday” describes bar frequency, not necessarily real-time delivery. Verify delay and exchange entitlement.

Budget requests

One symbol at a five-minute interval can consume hundreds of calls per day without batching or caching.

Validate output

Reject duplicate timestamps, missing bars, invalid OHLC relationships, and data outside the intended session.

Use intraday bars when the decision depends on activity inside the trading day but does not require every quote or trade event. Five- or fifteen-minute bars can support charting, signal research, and low-frequency screening; one-minute or second bars need tighter definitions, greater history, and more rigorous correction handling. If the strategy models order placement, queue position, or spread crossing, aggregated OHLCV alone is insufficient and quote or trade data is required.

Define the intraday data you actually need

Before choosing a provider, write down the market, symbols, bar interval, session, history depth, acceptable delay, and expected request volume. These requirements determine whether a free plan is viable.

Bars, quotes, and trades are different

OHLCV bars summarize activity over an interval. A latest quote exposes bid and ask. Trades expose individual executions. Do not choose an endpoint before deciding which object the product needs.

Delay matters more than interval

A one-minute bar can still arrive many minutes late. Treat interval, publication delay, and polling frequency as separate fields.

Define interval boundaries

Specify whether a timestamp marks bar start or end, how events exactly on a boundary are assigned, whether intervals are fixed in exchange time, and how early closes or session breaks shorten the series.

Choose the session explicitly

Separate pre-market, regular, closing auction, and after-hours activity. A daily chart assembled from all sessions can differ materially from one based only on regular trading hours.

Document bar construction

Confirm which trades are eligible, how corrections and late reports are handled, whether empty intervals are emitted, how volume is counted, and whether bars are adjusted for splits.

Plan historical retention

Free APIs often retain daily data longer than minute data. Calculate the earliest required date, intervals, symbols, rows, pagination, and whether expired or delisted tickers remain queryable.

Preserve time lineage

Store exchange event time, bar publication or revision time, provider retrieval time, timezone, session, delay class, and dataset version so a historical signal can be reproduced.

A fixed bar-construction example makes provider differences visible. Assume a regular-session five-minute interval is defined as [09:30:00, 09:35:00) in America/New_York, so the start is included and the end is excluded. Four eligible trades arrive inside that interval:

Exchange timePriceSizeBar role
09:30:12$100.00100Open and first eligible trade
09:31:40$100.2050High
09:33:05$99.90200Low
09:34:58$100.10150Close and final eligible trade

Expected bar: O=100.00, H=100.20, L=99.90, C=100.10, V=500. Trade-weighted VWAP is (100.00×100 + 100.20×50 + 99.90×200 + 100.10×150) ÷ 500 = 100.01. A trade stamped exactly 09:35:00 belongs to the next interval under this convention. If the provider uses end-labelled timestamps, the returned timestamp may be 09:35 even though the underlying interval began at 09:30; the response must state which convention applies.

Missing-looking stateEvidence to checkSafe representation
No eligible tradeMarket open, symbol active, feed healthy, but no qualifying trade occurred.Omit the bar or emit an explicitly empty bar according to the documented contract; never invent volume.
Trading haltExchange status shows a halt covering the interval.Preserve a halt state and its effective times, not a generic data error.
Market closedExchange calendar shows a holiday, weekend, session break, or early close.No expected slot; do not create a missing-data alert.
Feed or backfill gapThe calendar expects a bar and nearby activity exists, but the requested page or stream segment is absent.Mark incomplete, retry safely, and block research release until reconciled.
Current partial barThe interval end has not occurred or the provider has not finalized corrections.Expose is_final=false; do not let it trigger a confirmed historical signal.

Store both UTC and an IANA exchange timezone such as America/New_York. The local 09:30 open maps to different UTC times before and after daylight-saving changes, while the local session definition remains stable. Do not hard-code one UTC offset for an entire history; generate expected slots from the exchange calendar and timezone database.

Free intraday stock data API options

OptionIntraday capabilityFree-tier fitVerify before use
Alpha VantageIntraday OHLCV intervals from 1 to 60 minutes; recent compact output is documented.Useful for small prototypes under a low daily request ceiling.Realtime and delayed U.S. entitlements, daily quota, history depth.
Twelve DataUnified time-series API with intraday intervals and broad instrument coverage.Good for testing a normalized schema and multi-market discovery.Current plan credits, exchange access, delay, and commercial rights.
Broker sandboxQuotes and bars may be bundled with a paper-trading or brokerage account.Best when the eventual product also submits orders.Account eligibility, market subscriptions, redistribution, uptime.
MarketstackIntraday endpoints exist, but its official FAQ places intraday access above the free end-of-day plan.Free plan is better treated as an end-of-day evaluation path.Do not assume a “free API” marketing label includes intraday access.

After shortlisting providers, run a fixed acceptance backfill rather than comparing documentation alone. Request the same liquid stock, thin stock, recent IPO, ticker change, split date, early-close session, and after-hours period at two intervals. Reconcile expected versus returned bars, timestamps, session membership, OHLC relationships, volume, duplicates, revisions, pagination, and quota consumed.

Ingest immutable raw pages

Fingerprint request parameters and store untouched responses, headers, retrieval times, cursors, and provider version before normalization.

Normalize by stable listing ID

Map ticker, exchange, share class, currency, and effective dates to one listing identity; do not merge same-text symbols across venues.

Apply bar quality gates

Check high ≥ open and close, low ≤ open and close, nonnegative volume, unique timestamps, expected calendar slots, currency, session, and split continuity.

Handle partial backfills

Checkpoint by symbol and bounded date window, retry only safe failures, preserve missing-page evidence, and mark an incomplete series instead of silently analyzing it.

Freeze the research dataset

Record source versions, revisions, normalization code, adjustment method, session policy, and exclusions beside every model or backtest result.

Use QVeris to discover market data capabilities

Provider plans change. QVeris gives agents and developers a discovery layer for inspecting market data tools and routing requests through callable capabilities instead of hardcoding one vendor too early.

  • Search for stock, quote, and intraday time-series capabilities by outcome.
  • Inspect inputs, provider metadata, and response shape before wiring an agent workflow.
  • Keep validation, caching, licensing checks, and production monitoring in your application.

QVeris can simplify discovery and request routing across intraday capabilities. The application still owns interval definitions, session policy, stable identifiers, historical backfill, bar validation, adjustment choices, data versioning, licensing, and production monitoring.

FAQ

Is free intraday stock data real time?

Not necessarily. Intraday refers to intervals within a trading day; delivery may be historical, delayed, or real time depending on the plan and exchange entitlement.

What fields should an intraday API return?

At minimum: symbol, timestamp, interval, open, high, low, close, and volume, plus timezone or exchange context.

Why are intraday bars missing?

The security may not have traded, the provider may omit empty intervals, the market may be closed or halted, the symbol may be wrong, or the backfill may be incomplete. Use calendar and status data before filling gaps.

Should missing bars be forward-filled?

Not automatically. Forward filling creates a synthetic price and may invent liquidity. Preserve the missing state; if a model requires filling, document the rule and keep a flag.

Are intraday bars adjusted for splits?

Policies vary. Some providers adjust history, some return raw bars, and some expose a separate factor. Retain corporate-action events and test a known split across every interval used.

Can minute bars model trade execution?

Only approximately. They hide quote spreads, event order, available size, and within-bar path. Execution-sensitive research usually needs quote or trade events and explicit fill assumptions.

External references