API reference
Company data
Profiles, standardised financials, KPIs like revenue by segment or Uber trips, valuation metrics, earnings, ownership, short interest and filings with full-text search.
Earnings, IPO and economic calendars
/v1/calendar/{type} Events in a range of up to 90 days, in date order, from 10 years back to 1 ahead. Each event has the object named after its calendar.
Path parameters
typestring RequiredOne of
earningsiposeconomic
Query parameters
fromdate RequiredFirst day, YYYY-MM-DD
todate RequiredLast day, at most 90 days after from
regionsarray of strings RequiredComma-separated MICs for ipos, and countries for earnings and economic
Up to 50 items
freshbooleanSkip our cache and get the latest data. Items refreshed this way cost double
formatstringResponse format
One of
jsoncsvDefaults to json
Response
dataarray of objectsShowHide 8 fields
datedateThe exchange's local date, the UTC date for economic releases
earningsobjectOnly on earnings
ShowHide 5 fields
currencystring or nullepsActualnumber or nullepsEstimatenumber or nullperiodEnddate or nullreportTimestring or nullOne of
before_openafter_closeduring_market
economicobjectOnly on economic
ShowHide 7 fields
actualnumber or nullforecastnumber or nullimportancestring or nullOne of
lowmediumhighperiodstring or nullThe period the figure covers, as published, like Aug or Q2
previousnumber or nulltimetimestamp or nullunitstring or null
instrumentobjectOnly on earnings, once we know the listing
ShowHide 8 fields
countrystringcurrencystringidstringmicstringLeft out for instruments that don't trade on an exchange, like tokens
namestringsymbolstringtickerstring or nullThe code it's known by, like a listing's ticker, a token's symbol or an unlisted fund's APIR code. Null when it has none
typestringOne of
equityetffundindexfxcryptotokenratefuturecommoditybondnftoptionwarrant
ipoobjectOnly on ipos
ShowHide 7 fields
currencystring or nullpricenumber or nullpriceHighnumber or nullpriceLownumber or nullsharesnumber or nullstatusstring or nullOne of
expectedpricedwithdrawntickerstring or nullnull until the exchange assigns one
namestringThe company, or the release
regionstringThe MIC or country the event belongs to
symbolstringOnly on earnings, as EXCHANGE:TICKER once we know the listing and the bare ticker until then
metaobjectShowHide 3 fields
creditsintegerCredits this call cost
nextCursorstring or nullPass as cursor to get the next page, null on the last page
requestIdstring
Errors
400 Bad Request401 Unauthorized402 Payment Required403 Forbidden422 Unprocessable Entity429 Too Many Requests500 Internal Server Error503 Service Unavailable
Every error body is problem+json with a stable code. See errors.
Earnings
/v1/earnings Reported and upcoming results per period, EPS and revenue against the consensus estimate, oldest first. Actuals are null until the report is out. The from and to parameters bound period ends.
Query parameters
symbolsarray of strings RequiredComma-separated identifiers, up to 100, like ASX:VAS, isin:AU000000VAS1 or ins_...
Up to 100 items
listedOndateResolves tickers as the listing that traded on this day, for tickers that have since been reused. A symbol can carry its own day instead, like ASX:CCL@2021-05-10, which overrides this
fromdateFirst day, YYYY-MM-DD
todateLast day, YYYY-MM-DD
freshbooleanSkip our cache and get the latest data. Items refreshed this way cost double
formatstringResponse format
One of
jsoncsvDefaults to json
Response
dataarray of objectsShowHide 4 fields
asOftimestampThe point in time this data describes. For history and events it's the date of the newest record, or the end of your range when there are none. Live values give when they were observed, and reference data gives when we last confirmed it
earningsarray of objectsShowHide 10 fields
currencystringepsActualnumber or nullepsEstimatenumber or nullfiscalPeriodstringOne of
FYH1H2Q1Q2Q3Q4fiscalYearintegerperiodEnddate or nullreportDatedate or nullreportTimestring or nullWhen on the report date, relative to the exchange's session
One of
before_openafter_closeduring_marketrevenueActualnumber or nullrevenueEstimatenumber or null
instrumentobjectWhat the symbol resolved to
ShowHide 8 fields
countrystringcurrencystringidstringmicstringLeft out for instruments that don't trade on an exchange, like tokens
namestringsymbolstringtickerstring or nullThe code it's known by, like a listing's ticker, a token's symbol or an unlisted fund's APIR code. Null when it has none
typestringOne of
equityetffundindexfxcryptotokenratefuturecommoditybondnftoptionwarrant
symbolstringThe symbol as sent
errorsarray of objectsShowHide 3 fields
codestringOne of
invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingdata_failedmessagestringsymbolstring
metaobjectShowHide 2 fields
creditsintegerCredits this call cost
requestIdstring
Errors
400 Bad Request401 Unauthorized402 Payment Required403 Forbidden422 Unprocessable Entity429 Too Many Requests500 Internal Server Error503 Service Unavailable
Every error body is problem+json with a stable code. See errors.
Filings and announcements
/v1/filings Every filing and announcement a company made, oldest first. Document URLs are ours, so they're stable. The from and to parameters bound the publish date in UTC.
Query parameters
symbolsarray of strings RequiredComma-separated identifiers, up to 100, like ASX:VAS, isin:AU000000VAS1 or ins_...
Up to 100 items
listedOndateResolves tickers as the listing that traded on this day, for tickers that have since been reused. A symbol can carry its own day instead, like ASX:CCL@2021-05-10, which overrides this
fromdateFirst day, YYYY-MM-DD
todateLast day, YYYY-MM-DD
freshbooleanSkip our cache and get the latest data. Items refreshed this way cost double
formatstringResponse format
One of
jsoncsvDefaults to json
typesarray of stringsComma-separated filing types, every type when empty
formsarray of stringsComma-separated forms as the regulator names them, like 10-K or Appendix 3Y
Up to 50 items
Response
dataarray of objectsShowHide 4 fields
asOftimestampThe point in time this data describes. For history and events it's the date of the newest record, or the end of your range when there are none. Live values give when they were observed, and reference data gives when we last confirmed it
filingsarray of objectsShowHide 11 fields
accessionstringThe regulator's own id for the filing
documentsarray of objectsShowHide 4 fields
mediaTypestring or nullnull until we've downloaded the document
namestring or nullnull until we've downloaded the document, which a large one waits for until someone opens it
rolestringThe data role marks a machine-readable part, like XBRL
One of
primaryexhibitdataurlstring or nullThe original document, served by us. The link works for an hour, and one given before we've downloaded the document keeps working after
formstringidstringperiodEnddate or nullThe period a report covers
priceSensitivebooleanThe exchange's flag on announcements it expects to move the price, only where the exchange flags
publishedAttimestampregulatorstringstatusstringOne of
filedrevisedcancelledtitlestringtypestringOne of
annual_reportinterim_reportquarterly_reportcurrent_reportproxyregistrationinsiderownershipannouncementother
instrumentobjectWhat the symbol resolved to
ShowHide 8 fields
countrystringcurrencystringidstringmicstringLeft out for instruments that don't trade on an exchange, like tokens
namestringsymbolstringtickerstring or nullThe code it's known by, like a listing's ticker, a token's symbol or an unlisted fund's APIR code. Null when it has none
typestringOne of
equityetffundindexfxcryptotokenratefuturecommoditybondnftoptionwarrant
symbolstringThe symbol as sent
errorsarray of objectsShowHide 3 fields
codestringOne of
invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingdata_failedmessagestringsymbolstring
metaobjectShowHide 2 fields
creditsintegerCredits this call cost
requestIdstring
Errors
400 Bad Request401 Unauthorized402 Payment Required403 Forbidden422 Unprocessable Entity429 Too Many Requests500 Internal Server Error503 Service Unavailable
Every error body is problem+json with a stable code. See errors.
Full-text search across filings
/v1/filings/search Filings whose documents match q, best first. The q parameter takes quoted phrases, OR, and a leading minus to leave a word out. Reports and announcements from the last three years can be searched as soon as we hold them. Older or very large filings become searchable once someone opens them with filings.get. Each symbol costs the weight, and a search without symbols costs it once.
Query parameters
qstring RequiredUp to 500 characters
symbolsarray of stringsComma-separated identifiers to search the filings of. Any of their filings in the date range that we don't hold yet are added first. Leave it empty to search every filing we hold
Up to 100 items
limitintegerFrom 1 to 100. Defaults to 20
fromdateFirst day, YYYY-MM-DD
todateLast day, YYYY-MM-DD
freshbooleanSkip our cache and get the latest data. Items refreshed this way cost double
formatstringResponse format
One of
jsoncsvDefaults to json
typesarray of stringsComma-separated filing types, every type when empty
formsarray of stringsComma-separated forms as the regulator names them, like 10-K or Appendix 3Y
Up to 50 items
Response
dataarray of objectsShowHide 13 fields
accessionstringThe regulator's own id for the filing
documentsarray of objectsShowHide 4 fields
mediaTypestring or nullnull until we've downloaded the document
namestring or nullnull until we've downloaded the document, which a large one waits for until someone opens it
rolestringThe data role marks a machine-readable part, like XBRL
One of
primaryexhibitdataurlstring or nullThe original document, served by us. The link works for an hour, and one given before we've downloaded the document keeps working after
formstringidstringperiodEnddate or nullThe period a report covers
priceSensitivebooleanThe exchange's flag on announcements it expects to move the price, only where the exchange flags
publishedAttimestampranknumberHigher is a better match, only comparable within one search
regulatorstringsnippetstringWhere the match is in the text
statusstringOne of
filedrevisedcancelledtitlestringtypestringOne of
annual_reportinterim_reportquarterly_reportcurrent_reportproxyregistrationinsiderownershipannouncementother
metaobjectShowHide 3 fields
creditsintegerCredits this call cost
nextCursorstring or nullPass as cursor to get the next page, null on the last page
requestIdstring
Errors
400 Bad Request401 Unauthorized402 Payment Required403 Forbidden422 Unprocessable Entity429 Too Many Requests500 Internal Server Error503 Service Unavailable
Every error body is problem+json with a stable code. See errors.
One filing with its full text
/v1/filings/{id} A filing with the text of every document, and links to the originals.
Path parameters
idstring RequiredFrom filings.list or filings.search
Matches ^fil_[0-9A-Za-z]{21}$
Response
dataobjectShowHide 12 fields
accessionstringThe regulator's own id for the filing
documentsarray of objectsShowHide 4 fields
mediaTypestring or nullnull until we've downloaded the document
namestring or nullnull until we've downloaded the document, which a large one waits for until someone opens it
rolestringThe data role marks a machine-readable part, like XBRL
One of
primaryexhibitdataurlstring or nullThe original document, served by us. The link works for an hour, and one given before we've downloaded the document keeps working after
formstringidstringperiodEnddate or nullThe period a report covers
priceSensitivebooleanThe exchange's flag on announcements it expects to move the price, only where the exchange flags
publishedAttimestampregulatorstringstatusstringOne of
filedrevisedcancelledtextstringText of every document in order, separated by blank lines
titlestringtypestringOne of
annual_reportinterim_reportquarterly_reportcurrent_reportproxyregistrationinsiderownershipannouncementother
metaobjectShowHide 3 fields
asOftimestamp or nullThe point in time this data describes, like when a filing was published. Null where that doesn't apply, as with account data
creditsintegerCredits this call cost
requestIdstring
Errors
400 Bad Request401 Unauthorized402 Payment Required403 Forbidden404 Not Found422 Unprocessable Entity429 Too Many Requests500 Internal Server Error503 Service Unavailable
Every error body is problem+json with a stable code. See errors.
Financial statements
/v1/financials One standardised statement per company, oldest period first. Values are in full units of the period's currency, never thousands, and carry the sign they have on the statement, except cash outflows, which are negative. The from and to parameters bound period ends.
Query parameters
symbolsarray of strings RequiredComma-separated identifiers, up to 100, like ASX:VAS, isin:AU000000VAS1 or ins_...
Up to 100 items
listedOndateResolves tickers as the listing that traded on this day, for tickers that have since been reused. A symbol can carry its own day instead, like ASX:CCL@2021-05-10, which overrides this
fromdateFirst day, YYYY-MM-DD
todateLast day, YYYY-MM-DD
freshbooleanSkip our cache and get the latest data. Items refreshed this way cost double
formatstringResponse format
One of
jsoncsvDefaults to json
statementstring RequiredOne of
incomebalancecash_flowperiodstringA ttm period is labelled by the quarter it ends with
One of
annualhalfquarterlyttmDefaults to annual
Response
dataarray of objectsShowHide 7 fields
asOftimestampThe point in time this data describes. For history and events it's the date of the newest record, or the end of your range when there are none. Live values give when they were observed, and reference data gives when we last confirmed it
instrumentobjectWhat the symbol resolved to
ShowHide 8 fields
countrystringcurrencystringidstringmicstringLeft out for instruments that don't trade on an exchange, like tokens
namestringsymbolstringtickerstring or nullThe code it's known by, like a listing's ticker, a token's symbol or an unlisted fund's APIR code. Null when it has none
typestringOne of
equityetffundindexfxcryptotokenratefuturecommoditybondnftoptionwarrant
lineItemsarray of objectsThe lines present, in display order
ShowHide 3 fields
codestringnamestringunitstringOne of
moneyper_shareshares
periodstringOne of
annualhalfquarterlyttmperiodsarray of objectsShowHide 5 fields
currencystringLeft out when the period only holds share counts
fiscalPeriodstringOne of
FYH1H2Q1Q2Q3Q4fiscalYearintegerperiodEnddatevaluesarray of objectsShowHide 2 fields
lineItemstringCode from lineItems
valuenumber
statementstringOne of
incomebalancecash_flowsymbolstringThe symbol as sent
errorsarray of objectsShowHide 3 fields
codestringOne of
invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingdata_failedmessagestringsymbolstring
metaobjectShowHide 2 fields
creditsintegerCredits this call cost
requestIdstring
Errors
400 Bad Request401 Unauthorized402 Payment Required403 Forbidden422 Unprocessable Entity429 Too Many Requests500 Internal Server Error503 Service Unavailable
Every error body is problem+json with a stable code. See errors.
KPIs
/v1/kpis Revenue, gross profit, operating income and net income for each period, also broken down by segment, region and product where the company reports them that way. Some of the largest companies have figures of their own too, like trips at Uber. Each series runs oldest period first, with values in full units, never thousands. The from and to parameters bound period ends.
Query parameters
symbolsarray of strings RequiredComma-separated identifiers, up to 100, like ASX:VAS, isin:AU000000VAS1 or ins_...
Up to 100 items
listedOndateResolves tickers as the listing that traded on this day, for tickers that have since been reused. A symbol can carry its own day instead, like ASX:CCL@2021-05-10, which overrides this
fromdateFirst day, YYYY-MM-DD
todateLast day, YYYY-MM-DD
freshbooleanSkip our cache and get the latest data. Items refreshed this way cost double
formatstringResponse format
One of
jsoncsvDefaults to json
periodstringHalves are only given by companies that report no quarters
One of
annualhalfquarterlyDefaults to quarterly
kpisarray of stringsComma-separated KPI codes, like revenue or trips, every KPI the company has when empty
Up to 50 items
Response
dataarray of objectsShowHide 5 fields
asOftimestampThe point in time this data describes. For history and events it's the date of the newest record, or the end of your range when there are none. Live values give when they were observed, and reference data gives when we last confirmed it
instrumentobjectWhat the symbol resolved to
ShowHide 8 fields
countrystringcurrencystringidstringmicstringLeft out for instruments that don't trade on an exchange, like tokens
namestringsymbolstringtickerstring or nullThe code it's known by, like a listing's ticker, a token's symbol or an unlisted fund's APIR code. Null when it has none
typestringOne of
equityetffundindexfxcryptotokenratefuturecommoditybondnftoptionwarrant
periodstringOne of
annualhalfquarterlyseriesarray of objectsEach KPI's total first, then its breakdowns with the largest members first
ShowHide 8 fields
breakdownstringHow the KPI is split, left out for its total
One of
segmentgeographyproductkpistringmemberstringThe part of the breakdown this series is, stable across periods
memberNamestringWhat the company calls the member
namestringpointsarray of objectsShowHide 5 fields
currencystringLeft out for units that aren't money
fiscalPeriodstringOne of
FYH1H2Q1Q2Q3Q4fiscalYearintegerperiodEnddatevaluenumber
scopestringWhether any company can have the KPI, or it was curated for this one
One of
sharedcompanyunitstringPercentages are in points, 12.5 for 12.5%
One of
moneycountpercentper_shareshares
symbolstringThe symbol as sent
errorsarray of objectsShowHide 3 fields
codestringOne of
invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingdata_failedmessagestringsymbolstring
metaobjectShowHide 2 fields
creditsintegerCredits this call cost
requestIdstring
Errors
400 Bad Request401 Unauthorized402 Payment Required403 Forbidden422 Unprocessable Entity429 Too Many Requests500 Internal Server Error503 Service Unavailable
Every error body is problem+json with a stable code. See errors.
Market cap
/v1/metrics Market cap with the share count or coin supply behind it. Without date it's as of the latest price, with date as it stood at the close on or before that day, which leaves out price, fdv and the supply figures only tracked live. Share counts are on listed lines and supplies on crypto, each only when known.
Query parameters
symbolsarray of strings RequiredComma-separated identifiers, up to 100, like ASX:VAS, isin:AU000000VAS1 or ins_...
Up to 100 items
listedOndateResolves tickers as the listing that traded on this day, for tickers that have since been reused. A symbol can carry its own day instead, like ASX:CCL@2021-05-10, which overrides this
currencystringConvert every price into this ISO currency, or count it in any instrument, like CRYPTO:BTC for how many bitcoin it's worth
Up to 100 characters
freshbooleanSkip our cache and get the latest data. Items refreshed this way cost double
formatstringResponse format
One of
jsoncsvDefaults to json
datedateMarket cap at the close on or before this day, the latest when empty
Response
dataarray of objectsShowHide 12 fields
asOftimestampThe point in time this data describes. For history and events it's the date of the newest record, or the end of your range when there are none. Live values give when they were observed, and reference data gives when we last confirmed it
circulatingSupplynumberCoins in circulation, for crypto
currencystringOf price, marketCap and fdv
datedateThe day the figures are for
fdvnumberFully diluted valuation for crypto, left out with date
instrumentobjectWhat the symbol resolved to
ShowHide 8 fields
countrystringcurrencystringidstringmicstringLeft out for instruments that don't trade on an exchange, like tokens
namestringsymbolstringtickerstring or nullThe code it's known by, like a listing's ticker, a token's symbol or an unlisted fund's APIR code. Null when it has none
typestringOne of
equityetffundindexfxcryptotokenratefuturecommoditybondnftoptionwarrant
marketCapnumbermaxSupplynumberFor crypto, left out with date
pricenumberWhat each share or coin was valued at, left out with date
sharesOutstandingnumberThe company-wide share count, or a fund's units on issue
symbolstringThe symbol as sent
totalSupplynumberFor crypto, left out with date
errorsarray of objectsShowHide 3 fields
codestringOne of
invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingdata_failedmessagestringsymbolstring
metaobjectShowHide 2 fields
creditsintegerCredits this call cost
requestIdstring
Errors
400 Bad Request401 Unauthorized402 Payment Required403 Forbidden422 Unprocessable Entity429 Too Many Requests500 Internal Server Error503 Service Unavailable
Every error body is problem+json with a stable code. See errors.
Institutional and substantial holders
/v1/ownership/holders Holders of companies that file with the SEC, largest first. The institutional type is the latest quarterly 13F report, and substantial is each holder's latest Schedule 13D or 13G, leaving out holders who have dropped to 5% or less. Other markets get not_supported.
Query parameters
symbolsarray of strings RequiredComma-separated identifiers, up to 100, like ASX:VAS, isin:AU000000VAS1 or ins_...
Up to 100 items
listedOndateResolves tickers as the listing that traded on this day, for tickers that have since been reused. A symbol can carry its own day instead, like ASX:CCL@2021-05-10, which overrides this
freshbooleanSkip our cache and get the latest data. Items refreshed this way cost double
formatstringResponse format
One of
jsoncsvDefaults to json
typestringOne of
institutionalsubstantialDefaults to institutional
datedateHolders as they stood on this day, the latest when empty
Response
dataarray of objectsShowHide 6 fields
asOftimestampThe point in time this data describes. For history and events it's the date of the newest record, or the end of your range when there are none. Live values give when they were observed, and reference data gives when we last confirmed it
datedateThe day the holdings stand at
instrumentobjectWhat the symbol resolved to
ShowHide 8 fields
countrystringcurrencystringidstringmicstringLeft out for instruments that don't trade on an exchange, like tokens
namestringsymbolstringtickerstring or nullThe code it's known by, like a listing's ticker, a token's symbol or an unlisted fund's APIR code. Null when it has none
typestringOne of
equityetffundindexfxcryptotokenratefuturecommoditybondnftoptionwarrant
positionsarray of objectsShowHide 7 fields
changenumber or nullShares bought or sold since the holder's previous report
currencystring or nullOf value
holderobjectShowHide 3 fields
cikstring or nullkindstringOne of
institutionfundpersoncompanyothernamestring
percentnumber or nullOf shares outstanding, 0 to 100
reportDatedateThe date the holder reported the position at
sharesnumbervaluenumber or nullWhat the holder reported the position worth. Substantial holders don't report one, so theirs is the shares at the last close on or before the report date
symbolstringThe symbol as sent
typestringOne of
institutionalsubstantial
errorsarray of objectsShowHide 3 fields
codestringOne of
invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingdata_failedmessagestringsymbolstring
metaobjectShowHide 2 fields
creditsintegerCredits this call cost
requestIdstring
Errors
400 Bad Request401 Unauthorized402 Payment Required403 Forbidden422 Unprocessable Entity429 Too Many Requests500 Internal Server Error503 Service Unavailable
Every error body is problem+json with a stable code. See errors.
Insider trades
/v1/ownership/insider-trades Directors' and officers' trades of companies that file Form 4 with the SEC, oldest first. Other markets get not_supported, though their notices, like the ASX's Appendix 3Y, are in filings.list. The shares field is always positive and acquired says which way the trade went. The from and to parameters bound the trade date.
Query parameters
symbolsarray of strings RequiredComma-separated identifiers, up to 100, like ASX:VAS, isin:AU000000VAS1 or ins_...
Up to 100 items
listedOndateResolves tickers as the listing that traded on this day, for tickers that have since been reused. A symbol can carry its own day instead, like ASX:CCL@2021-05-10, which overrides this
fromdateFirst day, YYYY-MM-DD
todateLast day, YYYY-MM-DD
freshbooleanSkip our cache and get the latest data. Items refreshed this way cost double
formatstringResponse format
One of
jsoncsvDefaults to json
Response
dataarray of objectsShowHide 4 fields
asOftimestampThe point in time this data describes. For history and events it's the date of the newest record, or the end of your range when there are none. Live values give when they were observed, and reference data gives when we last confirmed it
instrumentobjectWhat the symbol resolved to
ShowHide 8 fields
countrystringcurrencystringidstringmicstringLeft out for instruments that don't trade on an exchange, like tokens
namestringsymbolstringtickerstring or nullThe code it's known by, like a listing's ticker, a token's symbol or an unlisted fund's APIR code. Null when it has none
typestringOne of
equityetffundindexfxcryptotokenratefuturecommoditybondnftoptionwarrant
symbolstringThe symbol as sent
tradesarray of objectsShowHide 14 fields
acquiredbooleancodestring or nullThe form's own transaction code, like P or S on a Form 4
currencystring or nullOf price
derivativebooleanTrue for options, rights and other contracts on the shares
filedDatedate or nullindirectbooleanTrue when held through someone else, like a family trust
insiderstringpricenumber or nullrelationstring or nullsecuritystring or nullWhat changed hands, as the form names it
sharesnumbersharesAfternumber or nulltradeDatedatetypestringOne of
buysellawardexercisegiftother
errorsarray of objectsShowHide 3 fields
codestringOne of
invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingdata_failedmessagestringsymbolstring
metaobjectShowHide 2 fields
creditsintegerCredits this call cost
requestIdstring
Errors
400 Bad Request401 Unauthorized402 Payment Required403 Forbidden422 Unprocessable Entity429 Too Many Requests500 Internal Server Error503 Service Unavailable
Every error body is problem+json with a stable code. See errors.
Company profiles
/v1/profiles Who a company is: its name, country, where it sits in our sector taxonomy, its logo and its identifiers. Unknown fields are null, and the industry is known once the company's exchange listing has been screened.
Query parameters
symbolsarray of strings RequiredComma-separated identifiers, up to 100, like ASX:VAS, isin:AU000000VAS1 or ins_...
Up to 100 items
listedOndateResolves tickers as the listing that traded on this day, for tickers that have since been reused. A symbol can carry its own day instead, like ASX:CCL@2021-05-10, which overrides this
freshbooleanSkip our cache and get the latest data. Items refreshed this way cost double
formatstringResponse format
One of
jsoncsvDefaults to json
Response
dataarray of objectsShowHide 10 fields
asOftimestampThe point in time this data describes. For history and events it's the date of the newest record, or the end of your range when there are none. Live values give when they were observed, and reference data gives when we last confirmed it
cikstring or nullSEC Central Index Key, for SEC registrants
countrystring or nullindustrystring or nullIndustry id from /v1/sectors
instrumentobjectWhat the symbol resolved to
ShowHide 8 fields
countrystringcurrencystringidstringmicstringLeft out for instruments that don't trade on an exchange, like tokens
namestringsymbolstringtickerstring or nullThe code it's known by, like a listing's ticker, a token's symbol or an unlisted fund's APIR code. Null when it has none
typestringOne of
equityetffundindexfxcryptotokenratefuturecommoditybondnftoptionwarrant
leistring or nullLegal Entity Identifier
logostring or nullURL of the logo, served by us
namestringsectorstring or nullSector id from /v1/sectors
symbolstringThe symbol as sent
errorsarray of objectsShowHide 3 fields
codestringOne of
invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingdata_failedmessagestringsymbolstring
metaobjectShowHide 2 fields
creditsintegerCredits this call cost
requestIdstring
Errors
400 Bad Request401 Unauthorized402 Payment Required403 Forbidden422 Unprocessable Entity429 Too Many Requests500 Internal Server Error503 Service Unavailable
Every error body is problem+json with a stable code. See errors.
Short interest
/v1/short-interest The aggregate short position as the regulator publishes it: daily for ASIC, each settlement date for FINRA. Regulators that only publish a percentage leave shares null. When a regulator leaves out the shares on issue or the volume, we work them out from our own market data, and a published figure always wins. Without from it covers the 31 days up to to, or up to today.
Query parameters
symbolsarray of strings RequiredComma-separated identifiers, up to 100, like ASX:VAS, isin:AU000000VAS1 or ins_...
Up to 100 items
listedOndateResolves tickers as the listing that traded on this day, for tickers that have since been reused. A symbol can carry its own day instead, like ASX:CCL@2021-05-10, which overrides this
fromdateFirst day, YYYY-MM-DD
todateLast day, YYYY-MM-DD
freshbooleanSkip our cache and get the latest data. Items refreshed this way cost double
formatstringResponse format
One of
jsoncsvDefaults to json
Response
dataarray of objectsShowHide 4 fields
asOftimestampThe point in time this data describes. For history and events it's the date of the newest record, or the end of your range when there are none. Live values give when they were observed, and reference data gives when we last confirmed it
instrumentobjectWhat the symbol resolved to
ShowHide 8 fields
countrystringcurrencystringidstringmicstringLeft out for instruments that don't trade on an exchange, like tokens
namestringsymbolstringtickerstring or nullThe code it's known by, like a listing's ticker, a token's symbol or an unlisted fund's APIR code. Null when it has none
typestringOne of
equityetffundindexfxcryptotokenratefuturecommoditybondnftoptionwarrant
positionsarray of objectsShowHide 6 fields
averageVolumenumber or nullAverage daily volume. If the regulator publishes none, the average over the 10 trading sessions up to and including the date, which is about one FINRA reporting period
datedatedaysToCovernumber or nullShares short divided by averageVolume, to two decimals
percentnumber or nullShares short as a percentage of sharesOutstanding, 0 to 100
sharesnumber or nullsharesOutstandingnumber or nullThe shares on issue the regulator measured against. If it publishes none, the company's shares outstanding as last filed before the date, adjusted for any split since
symbolstringThe symbol as sent
errorsarray of objectsShowHide 3 fields
codestringOne of
invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingdata_failedmessagestringsymbolstring
metaobjectShowHide 2 fields
creditsintegerCredits this call cost
requestIdstring
Errors
400 Bad Request401 Unauthorized402 Payment Required403 Forbidden422 Unprocessable Entity429 Too Many Requests500 Internal Server Error503 Service Unavailable
Every error body is problem+json with a stable code. See errors.