QVeris
Market Data API Guide

Free Short Interest Data API for US Stocks

Validate settlement dates, shares short, float, days-to-cover inputs, corporate actions, and revisions.

Free Short Interest Data API for US Stocks

TL;DR

Position, not transaction flow

Short interest is the open short position at a designated settlement date. Daily short-sale volume is trading activity and cannot replace it.

Three dates matter

Store settlement date, official publication date, and provider retrieval time separately. A value is not knowable in a backtest before publication.

Ratios need denominators

Days to cover depends on an average-volume window; short percent of float depends on a float estimate and effective date. Preserve both inputs.

History needs adjustments

Ticker changes, splits, mergers, delistings, corrections, and provider backfills can break naive comparisons. Keep raw and adjusted views explicit.

What a free short interest data API should return

A useful short interest API JSON response needs enough context to compare one reporting cycle with another. Do not treat a single percentage without its denominator, date, and source as analysis-ready data.

FINRA reporting is tied to designated settlement dates and later publication dates. A provider can deliver the published file quickly, but it cannot turn that official position snapshot into real-time open interest. If a product advertises “live short interest,” determine whether it is an estimate, securities-lending signal, daily short volume, or the most recently published official observation.

FieldMeaningValidation
tickerSecurity identifier used by the endpoint.Exchange and ticker mapping.
settlement_dateDate to which the reported position applies.Do not confuse it with publication time.
short_interestShares sold short and not yet covered.Units, adjustments, and missing values.
avg_daily_volumeVolume baseline used for comparison.Provider calculation window.
days_to_coverShort interest divided by average daily volume.Recalculate when both inputs exist.
publication_dateDate the reporting-cycle value became publicly available.Required for point-in-time research; do not substitute settlement date.
float_sharesProvider estimate of tradable public float used by short-percent-of-float.Source, as-of date, share-class scope, and split adjustment.
source_revisionVersion or correction state of the published observation.Whether history is overwritten, versioned, or backfilled.

Short interest ratio API and days to cover

Providers sometimes use “short interest ratio” to mean days to cover. Read the data dictionary instead of assuming every ratio is short interest as a percentage of float.

Even when two providers both publish days to cover, they may use different average-volume windows, venues, or adjusted volumes. Recompute the ratio from stored inputs when possible, label the window, and do not rank securities across providers until the formulas are aligned.

Short interest is not short volume

Short volume records reported short-sale activity during a period. Short interest measures open positions on a settlement date. The two datasets answer different questions and should not be substituted.

A short sale can be closed the same day and therefore appear in daily short volume without remaining in the next position snapshot. Conversely, a short position opened earlier can remain in short interest without generating new short-sale volume that day. Off-exchange daily files are also not automatically a consolidated view of all venues.

How to choose a historical short interest data API

1. Prove the free tier is usable

Check whether the free plan includes the short interest endpoint, which tickers are available, the request quota, history depth, and whether a credit card is required.

2. Verify coverage and cadence

Confirm exchanges, active and delisted securities, earliest settlement date, update timing, and how corrections are handled.

3. Inspect the schema

Look for stable names, explicit null handling, pagination, date filters, units, split treatment, and a documented error model.

4. Read the usage terms

A free API key does not automatically grant redistribution rights. Review caching, display, commercial-use, attribution, and retention terms.

5. Test corporate actions and identity

Use samples with a split, ticker change, multiple share classes, delisting, and merger. Determine whether historical short shares are raw or adjusted and whether the API keeps a stable security identifier beside ticker.

6. Validate point-in-time availability

For each observation, require settlement date, publication date, retrieval time, and correction state. Replay a historical date and prove that the API does not expose a later correction or backfill as though it were known earlier.

Authority source and reporting context

For US reporting context, consult FINRA’s Short Interest Reporting guidance. An API provider may normalize or enrich the data, so record both the original reporting date and the provider retrieval time.

Python short interest data API example

Replace the placeholder URL and authentication method with the provider’s documented values. The example deliberately validates HTTP status and required fields before analysis.

Pythonrequests
import os
import requests

response = requests.get(
    "https://api.example.com/v1/short-interest",
    params={"ticker": "AAPL", "limit": 24},
    headers={"Authorization": f"Bearer {os.environ['DATA_API_KEY']}"},
    timeout=20,
)
response.raise_for_status()
rows = response.json()["results"]

required = {"settlement_date", "short_interest",
            "avg_daily_volume", "days_to_cover"}
if rows and not required.issubset(rows[0]):
    raise ValueError("Provider response is missing required fields")

for row in rows[:3]:
    print(row["settlement_date"], row["days_to_cover"])

Validate historical short interest data by ticker

Sort by settlement date, detect duplicates, preserve nulls, and compare consecutive reports. If you calculate percentage change or days to cover yourself, store the exact input fields and calculation version.

A production validator should enforce uniqueness on stable security identifier plus settlement date and source version, not ticker alone. Check that short shares are non-negative integers, dates follow the expected reporting calendar, days to cover matches the documented volume window within tolerance, and split-era discontinuities are explained. Keep raw provider payloads so later corrections can be audited.

Use QVeris to find and call short interest data tools

QVeris can help an agent discover and inspect capabilities for official short-interest history, derived ratios, or short-volume data. Before a call, the agent should state which dataset it needs, the security identifier, settlement-date range, publication-time cutoff, adjustment policy, and required denominators. It must not substitute daily short volume for open short positions or describe a twice-monthly official snapshot as real time. The provider remains the source of the data and its terms.

FAQ

Is there a free short interest API?

Some providers offer a free plan or evaluation access, and FINRA publishes public reporting context and data resources. Verify that the endpoint contains position snapshots rather than only daily short volume, then check history, quota, licensing, and stable identifiers.

Where can I get short interest data?

Start with provider API documentation and compare it with the relevant exchange or FINRA reporting context. Choose an API only after validating the source and schema.

How often is short interest data updated?

FINRA member firms report positions for designated settlement dates twice each month, followed by due and publication dates. A provider’s ingestion time, later corrections, and estimated “live” signals are separate timestamps and should be labeled.

What fields should a short interest API return?

At minimum: ticker, settlement date, short interest shares, average daily volume, and days to cover, plus source and retrieval metadata when available.

Is short volume the same as short interest?

No. Short volume is trading activity during a period; short interest is an open position measured on a settlement date.

How do I get historical short interest data in Python?

Call a documented ticker endpoint, check the HTTP response, parse JSON, validate required fields, and sort the records by settlement date.

What is short interest percent of float?

It is short shares divided by a defined public-float share count. The ratio is only reproducible when the float source, effective date, share class, corporate-action adjustment, and short-interest settlement date are known.

Can I use short interest in a backtest?

Yes, but use publication time—not settlement date—as the earliest availability point, retain historical revisions, and avoid current float or adjusted values that were unavailable at the simulated date.

Sources and next steps

Free Short Interest Data API for US Stocks | QVeris Guides