marketstack
DATA · DATA & ANALYTICS
End-of-day and intraday stock prices, exchanges, tickers, and splits on their own key.
Acts as the person, not as itself
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Credentials never touch the agent
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Every call on the record
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
What an agent can do
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
marketstack_get_v2_bondREADCurrent and historical detail for a country's benchmark government bond -- primarily 10-year treasury notes: coupon rate, maturity date and yield. `country` is REQUIRED. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers bond data.
marketstack_get_v2_bondlistREADGovernment bonds in the marketstack database, optionally filtered by country of issuance, with coupon rate, maturity date and yield. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers bond data.
marketstack_get_v2_cik_codeREADFind SEC Central Index Keys by company name or a fragment of one (three letters minimum): searching `APP` returns every company whose name contains it. This is the entry point to the SEC endpoints -- everything else there takes a CIK. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers SEC company fundamentals.
marketstack_get_v2_commoditiesREADThe current price of one of 70+ energy, metal, industrial, agricultural and livestock commodities. `commodity_name` is REQUIRED (for example `aluminum`). Rate-limited by marketstack to ONE call per minute independently of any plan quota. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers commodity data.
marketstack_get_v2_commoditieshistoryREADHistorical prices for one commodity over a date range, at daily, weekly, monthly, quarterly or yearly `frequency`. `commodity_name` is REQUIRED. Rate-limited to ONE call per minute independently of any plan quota. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers commodity data.
marketstack_get_v2_company_factsREADThe full set of XBRL financial facts a company has reported to the SEC, by CIK code, across the US-GAAP, IFRS and DEI taxonomies with historical values per filing period. The raw material for fundamental analysis. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers SEC company fundamentals.
marketstack_get_v2_company_nameREADResolve an SEC Central Index Key to the company's name. The CIK must be the full 10 digits INCLUDING leading zeros -- marketstack validates the format and refuses a short one rather than padding it. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers SEC company fundamentals.
marketstack_get_v2_companyratingsREADAnalyst buy/sell/hold ratings and consensus price targets for one ticker, with 15+ years of history. Filter by `rated` and by date range. Rate-limited by marketstack to ONE call per minute independently of any plan quota. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers analyst ratings.
marketstack_get_v2_concept_accounts_payableREADEvery SEC disclosure of the US-GAAP accounts-payable-current concept for one company, by CIK code, grouped by unit of measure and carrying the filing period, form type and reported value. One metric across a company's whole filing history. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers SEC company fundamentals.
marketstack_get_v2_currenciesREADThe currencies marketstack quotes prices in, each with its ISO code, name and symbol. Reference data for reading a price record's `price_currency`; takes no filter beyond paging.
marketstack_get_v2_dividendsREADDividend history for one or more symbols in a single call: amount, ex-date, record date, payment date, declaration date and frequency. `symbols` is REQUIRED. Coverage is NASDAQ, NYSE, NYSE ARCA, PINK, SHG, OTCQB and BATS.
marketstack_get_v2_eodREADEnd-of-day OHLCV across exchanges for one or more symbols -- the general-purpose price read, and the one to reach for first. `symbols` is REQUIRED and is a comma-separated list (`AAPL,MSFT`). Optionally pin an exchange by MIC, bound the window with `date_from`/`date_to`, and page with `limit`/`offset`. Each record carries raw and split/dividend-adjusted values plus the split factor and dividend for that day.
marketstack_get_v2_eod_by_dateREADEnd-of-day records for the requested symbols on a SINGLE date, as YYYY-MM-DD or full ISO-8601. A weekend or market holiday returns no data. `symbols` is REQUIRED.
marketstack_get_v2_eod_latestREADThe most recent end-of-day record for each requested symbol, for the last available trading day. `symbols` is REQUIRED.
marketstack_get_v2_etfholdingsREADThe constituent breakdown of one ETF by ticker -- each holding's name, weight and share count -- optionally over a date range to track composition drift. `ticker` is REQUIRED. QUOTA WARNING: ETF calls cost 20x against the request allowance. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers ETF data.
marketstack_get_v2_etflistREADThe exchange-traded funds in the marketstack database, with name, symbol and exchange. QUOTA WARNING: marketstack charges ETF calls at a 20x multiplier against the account's request allowance -- one call spends twenty. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers ETF data.
marketstack_get_v2_exchangesREADList the 2,800+ stock exchanges marketstack covers, each with its ISO 10383 MIC, operating MIC, acronym, city, country, website, legal entity name, LEI and operating status. START HERE when a call needs a `mic`: this is where one comes from. Use `search` for autocomplete-style lookups. Being listed here does NOT mean price data exists for an exchange's instruments -- check each ticker's `has_eod` and `has_intraday` flags for that.
marketstack_get_v2_exchanges_by_micREADRead one exchange by its ISO 10383 MIC (`XNAS` for NASDAQ, `XNYS` for NYSE): full legal name, LEI, market category code, operating status, country and city. A MIC that does not exist answers 404 with the message "Not Found" -- which is a different failure from an unmounted route, whose message is "Route not found".
marketstack_get_v2_exchanges_by_mic_eodREADEnd-of-day OHLCV for named tickers on one exchange, with both raw and split/dividend-adjusted values. `symbols` is REQUIRED and is a comma-separated list. Narrow with `date_from`/`date_to`; `sort` controls ordering (newest first by default). Paginated -- `limit` defaults to 100 and caps at 1,000.
marketstack_get_v2_exchanges_by_mic_eod_by_dateREADEnd-of-day records for named tickers on one exchange for a SINGLE date, as YYYY-MM-DD or full ISO-8601. A weekend or market holiday returns no data rather than an error -- ask for the nearest prior trading day instead. `symbols` is REQUIRED.
marketstack_get_v2_exchanges_by_mic_eod_latestREADThe most recent end-of-day record for each named ticker on one exchange -- the last available trading day, with no date arithmetic. Equivalent to the dated form with no range. `symbols` is REQUIRED.
marketstack_get_v2_exchanges_by_mic_intradayREADIntraday bars for named tickers on one exchange at intervals from 1 minute to 24 hours, with OHLC, volume and bid/ask. `after_hours` includes pre-market and post-close trading. `symbols` is REQUIRED. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers intraday data.
marketstack_get_v2_exchanges_by_mic_intraday_by_dateREADIntraday bars for named tickers on one exchange for a SINGLE date, at the configured interval. A weekend or market holiday returns no data. `symbols` is REQUIRED. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers intraday data.
marketstack_get_v2_exchanges_by_mic_intraday_latestREADThe most recent intraday bar for each named ticker on one exchange, at the configured interval. `symbols` is REQUIRED. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers intraday data.
marketstack_get_v2_exchanges_by_mic_tickersREADThe instruments listed on one exchange, each with its symbol, name and the `has_eod`/`has_intraday` flags that say what price data actually exists for it. Use `search` to filter by name or symbol. Note the response shape: the tickers arrive under a `tickers` member INSIDE the exchange object, not as a bare list.
marketstack_get_v2_frames_accounts_payable_by_unitREADThe SEC frames view of US-GAAP accounts-payable-current: one fact per reporting entity for the requested calendrical period, so companies can be compared against each other rather than against their own history. `frame` is REQUIRED (for example `CY2023Q1I`) and the path carries the unit of measure (for example `USD`). PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers SEC company fundamentals.
marketstack_get_v2_indexinfoREADDetail for one market index by its identifier: name, symbol, exchange, component count and current value. Get the identifier from the index list first. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers market index data.
marketstack_get_v2_indexlistREADThe market indices marketstack covers -- S&P 500, Dow Jones, NASDAQ Composite and the rest -- with name, symbol, exchange and current value. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers market index data.
marketstack_get_v2_intradayREADIntraday bars across exchanges for the requested symbols, at intervals from 1 minute to 24 hours. `after_hours` includes pre-market and post-close trades (US equity markets close at 16:00 ET). Intervals under 15 minutes need a Professional plan or higher. `symbols` is REQUIRED. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers intraday data.
marketstack_get_v2_intraday_by_dateREADIntraday bars for the requested symbols on a SINGLE date, at the configured interval. `symbols` is REQUIRED. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers intraday data.
marketstack_get_v2_intraday_latestREADThe most recent intraday bar for each requested symbol. `symbols` is REQUIRED. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers intraday data.
marketstack_get_v2_splitsREADShare-split history for one or more symbols in a single call, with the split factor and effective date. `symbols` is REQUIRED. Coverage is NASDAQ, NYSE, NYSE ARCA, PINK, SHG, OTCQB and BATS.
marketstack_get_v2_stockpriceREADA live price snapshot for one ticker across major world exchanges -- current bid, ask, last trade and volume. This is the real-time lane; use the end-of-day or intraday reads for historical bars. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers real-time prices.
marketstack_get_v2_submissionsREADSEC filing submissions for a company, by CIK code or name: form type (10-K, 10-Q, 8-K and the rest), filing date, acceptance date and accession number. Filter by filing or report date range. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers SEC company fundamentals.
marketstack_get_v2_tickerinfoREADExtended company detail for one ticker beyond the symbol record: sector, industry, exchange code, employee count, IPO date and named key executives. Use this for company context; use the ticker read for data-availability flags.
marketstack_get_v2_tickers_by_symbolREADRead one instrument by symbol: name, its listing exchange (with MIC and country) and the `has_eod`/`has_intraday` availability flags. Call this to confirm a symbol exists and that the data you want is published for it BEFORE spending requests on a price endpoint. An unknown symbol answers 404 with the message "Not Found" -- distinct from "Route not found", which means the endpoint itself does not exist; the status is 404 either way, so read the message.
marketstack_get_v2_tickers_by_symbol_dividendsREADDividend distributions for one symbol: amount in the trading currency, ex-dividend date, record date, payment date, declaration date and distribution frequency.
marketstack_get_v2_tickers_by_symbol_eodREADHistorical end-of-day OHLCV for one symbol, raw and split/dividend-adjusted, back to 2000 for most major instruments. Bound the window with `date_from`/`date_to`. Sorted newest-first by default and paginated (`limit` defaults to 100, caps at 1,000). NOTE the free tier carries one year of history regardless of what `date_from` asks for.
marketstack_get_v2_tickers_by_symbol_eod_by_dateREADThe end-of-day record for one symbol on a SINGLE date, as YYYY-MM-DD or full ISO-8601. A weekend or market holiday returns no data rather than an error -- ask for the nearest prior trading day instead.
marketstack_get_v2_tickers_by_symbol_eod_latestREADThe single most recent end-of-day record for one symbol: open, high, low, close, volume and the adjusted values, for the last available trading day. The cheapest way to get a closing snapshot -- no date, no paging. NOTE the response is a BARE price object, not the usual `{data: [...]}` envelope.
marketstack_get_v2_tickers_by_symbol_intradayREADIntraday bars for one symbol over a date range, at intervals from 1 minute to 24 hours, with OHLC, volume and bid/ask. Intervals under 15 minutes need a Professional plan or higher even where intraday itself is enabled. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers intraday data.
marketstack_get_v2_tickers_by_symbol_intraday_by_dateREADIntraday bars for one symbol on a SINGLE date at the configured interval. A weekend or market holiday returns no data. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers intraday data.
marketstack_get_v2_tickers_by_symbol_intraday_latestREADThe most recent intraday bar for one symbol at the configured interval -- the fastest live-ish snapshot without a date or paging. PAID PLAN REQUIRED, measured rather than assumed: on the free tier this endpoint answers 403 function_access_restricted -- "Your current subscription plan does not support this API function" -- before it looks at any argument. That is an account entitlement, not a broken tool: it starts working the moment the marketstack subscription covers intraday data.
marketstack_get_v2_tickers_by_symbol_splitsREADHistorical share-split events for one symbol: the effective date and the numeric split factor (4.0 for a 4-for-1). Splits are why raw and adjusted prices diverge, so read this before comparing prices across a split boundary.
marketstack_get_v2_tickerslistREADEvery instrument in the marketstack database across all exchanges -- 680,000+ rows -- each with its exchange, and the `has_eod`/`has_intraday` flags. Use `search` for autocomplete-style lookups and `exchange` to restrict to one MIC. This is the broad symbol search; the per-exchange listing is the narrow one.
marketstack_get_v2_timezonesREADThe timezones marketstack recognises, each with its abbreviation and its daylight-saving abbreviation. Reference data for interpreting the timestamps on price records; takes no filter beyond paging.
Often connected alongside
Put marketstack behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.