{ data, next_cursor, coverage } — see Pagination and Errors.
GET /v1/companies/{company_id}/market-data
One security’s daily series, newest first. The path accepts acmp_ id, ticker, CIK or ISIN; an unrecognised-but-plausible symbol is still tried as a symbol, since the series is keyed on the listing.
Plan: Professional and above · Credits: 1 per call
string
required
Canonical
cmp_ id, ticker, CIK or ISIN.string
default:"prices"
Which daily series:
prices or market_cap. They are different tables with different row shapes.string
Start date,
YYYY-MM-DD.string
End date,
YYYY-MM-DD.string
next_cursor from the previous page, passed back verbatim.integer
default:"100"
Rows per page, 1–1000.
market_cap series rows carry symbol, company_id, date, currency, and market_cap.
GET /v1/benchmarks
The benchmark registry — which indices and commodities exist and how they are spelled. 425 indices and 40 commodities. Plan: Professional and above · Credits: 1 per callstring
Symbol or a fragment of the name:
GCUSD, gold, Nikkei. Results are ranked so the headline instrument leads — “S&P 500” returns ^GSPC first, not a derivative index.string
index or commodity.integer
Max rows, 1–500.
GET /v1/benchmarks/{symbol}
One benchmark’s daily series, newest first. History reaches 2015-01-01 — ten years, where the company price series holds one. Plan: Professional and above · Credits: 1 per callstring
required
Benchmark symbol from the registry, e.g.
^GSPC, GCUSD.string
Start date,
YYYY-MM-DD.string
End date,
YYYY-MM-DD.string
next_cursor from the previous page, passed back verbatim.integer
default:"100"
Rows per page, 1–1000.
symbol, kind, name, date, open, high, low, close, volume, currency, and the unit-safe pair close_major / currency_major — equal to close / currency for everything that does not quote in cents.
Benchmark rows exist on weekends and are not dirty data: Saudi and Egyptian markets trade Sunday, CBOT grains run a Sunday-evening session, and a few calculated indices republish Friday’s value on Saturday.
A company identifier does not work on the benchmark routes and vice versa. Benchmarks carry no
company_id on purpose — an index is not an issuer — so there is no join between the two halves beyond the date.GET /v1/companies/{company_id}/short-interest
FINRA short interest for a US-listed security: shares sold short, the change since the prior settlement, and days to cover. Settled twice a month (mid-month and month-end), published about eight days later. History from 2017-12-29. Plan: Professional and above · Credits: 1 per callstring
required
Canonical
cmp_ id, ticker, CIK or ISIN.string
Earliest settlement date,
YYYY-MM-DD.string
Latest settlement date,
YYYY-MM-DD.string
next_cursor from the previous page, passed back verbatim.integer
default:"100"
Rows per page, 1–1000.
company_id, ticker, issue_name, category, market_class_code, settlement_date, current_short_position, previous_short_position, change_previous, change_percent, average_daily_volume, days_to_cover, float_shares, float_as_of, short_percent_float, short_percent_outstanding, revision_flag, and stock_split_flag, newest settlement first.
The newest row is never today: publication lags settlement by roughly eight days.
short_percent_float is computed against a share-count source that only covers recent settlements, so it is null across the older history while the reported position beside it is complete. Null there means no share count, not no shorts.