{"openapi":"3.1.0","info":{"title":"Marketstack (BYOK) API","version":"0.1.0","description":"Marketstack (BYOK) lets an AI assistant read your own Marketstack data through the Marketstack API with a key you supply (Marketstack access key). Read-only: 11 tools (get_eod_prices, get_latest_eod_prices, get_intraday_prices, get_ticker, list_tickers, get_splits, get_dividends, list_exchanges, get_ticker_info, get_realtime_stock_price, get_commodity_prices). The BYOK key travels with each...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-marketstack.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-marketstack/docs"},"termsOfService":"https://connectorbay.com/byok-marketstack/terms"},"servers":[{"url":"https://byok-marketstack.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-marketstack/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_eod_prices":{"post":{"operationId":"get_eod_prices","summary":"Get historical end-of-day prices (open, high, low, close, volume, adjusted close, splits, dividends) for one or more tic","description":"Get historical end-of-day prices (open, high, low, close, volume, adjusted close, splits, dividends) for one or more tickers, newest first by default. Each call counts against the plan's monthly request quota. Use for \"Show Apple's end-of-day prices for the first week of October 2026\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"symbols":{"description":"Comma-separated ticker symbols, for example 'AAPL,MSFT'.","maxLength":300,"title":"Symbols","type":"string"},"exchange":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Only this exchange, by MIC code such as XNAS or XNYS.","title":"Exchange"},"sort":{"anyOf":[{"enum":["ASC","DESC"],"type":"string"},{"type":"null"}],"default":null,"description":"Order by date: DESC (newest first, default) or ASC.","title":"Sort"},"date_from":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Earliest date to include, YYYY-MM-DD.","title":"Date From"},"date_to":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Latest date to include, YYYY-MM-DD.","title":"Date To"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Rows per page (1 to 1000).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Rows to skip, for paging.","title":"Offset"}},"required":["symbols"],"title":"get_eod_pricesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_latest_eod_prices":{"post":{"operationId":"get_latest_eod_prices","summary":"Get the most recent end-of-day price record for one or more tickers. Use for \"What was the last close of MSFT and NVDA\".","description":"Get the most recent end-of-day price record for one or more tickers. Use for \"What was the last close of MSFT and NVDA\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"symbols":{"description":"Comma-separated ticker symbols, for example 'AAPL,MSFT'.","maxLength":300,"title":"Symbols","type":"string"},"exchange":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Only this exchange, by MIC code such as XNAS or XNYS.","title":"Exchange"},"sort":{"anyOf":[{"enum":["ASC","DESC"],"type":"string"},{"type":"null"}],"default":null,"description":"Order by date: DESC (newest first, default) or ASC.","title":"Sort"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Rows per page (1 to 1000).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Rows to skip, for paging.","title":"Offset"}},"required":["symbols"],"title":"get_latest_eod_pricesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_intraday_prices":{"post":{"operationId":"get_intraday_prices","summary":"Get intraday price bars (1 minute up to 24 hours) with bid and ask where available for one or more tickers. Intraday dat","description":"Get intraday price bars (1 minute up to 24 hours) with bid and ask where available for one or more tickers. Intraday data may need a paid plan. Use for \"Show hourly prices for AAPL today\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"symbols":{"description":"Comma-separated ticker symbols, for example 'AAPL,MSFT'.","maxLength":300,"title":"Symbols","type":"string"},"exchange":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Only this exchange, by MIC code such as XNAS or XNYS.","title":"Exchange"},"interval":{"anyOf":[{"enum":["1min","5min","10min","15min","30min","1hour","3hour","6hour","12hour","24hour"],"type":"string"},{"type":"null"}],"default":"1hour","description":"Bar size: 1min, 5min, 10min, 15min, 30min, 1hour, 3hour, 6hour, 12hour or 24hour (default 1hour).","title":"Interval"},"after_hours":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to include after-hours bars.","title":"After Hours"},"sort":{"anyOf":[{"enum":["ASC","DESC"],"type":"string"},{"type":"null"}],"default":null,"description":"Order by date: DESC (newest first, default) or ASC.","title":"Sort"},"date_from":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Earliest date to include, YYYY-MM-DD.","title":"Date From"},"date_to":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Latest date to include, YYYY-MM-DD.","title":"Date To"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Rows per page (1 to 1000).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Rows to skip, for paging.","title":"Offset"}},"required":["symbols"],"title":"get_intraday_pricesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_ticker":{"post":{"operationId":"get_ticker","summary":"Get listing details for one ticker: company name, identifiers (CIK, ISIN, CUSIP), sector, industry and the exchange it t","description":"Get listing details for one ticker: company name, identifiers (CIK, ISIN, CUSIP), sector, industry and the exchange it trades on. Use for \"What company is ticker AAPL and which exchange is it listed on\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"symbol":{"description":"Ticker symbol, for example 'AAPL'.","maxLength":200,"title":"Symbol","type":"string"}},"required":["symbol"],"title":"get_tickerArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_tickers":{"post":{"operationId":"list_tickers","summary":"List or search the tickers in the Marketstack database (name, symbol, whether EOD and intraday data exist), optionally f","description":"List or search the tickers in the Marketstack database (name, symbol, whether EOD and intraday data exist), optionally for one exchange. Use for \"Search Marketstack for tickers with 'tesla' in the name\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Text to match against company names or symbols.","title":"Search"},"exchange":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Only this exchange, by MIC code such as XNAS or XNYS.","title":"Exchange"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Rows per page (1 to 1000).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Rows to skip, for paging.","title":"Offset"}},"title":"list_tickersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_splits":{"post":{"operationId":"get_splits","summary":"Get stock split history (date, split factor, ratio text) for one or more tickers. Use for \"When did Nvidia split its sto","description":"Get stock split history (date, split factor, ratio text) for one or more tickers. Use for \"When did Nvidia split its stock\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"symbols":{"description":"Comma-separated ticker symbols, for example 'AAPL,MSFT'.","maxLength":300,"title":"Symbols","type":"string"},"sort":{"anyOf":[{"enum":["ASC","DESC"],"type":"string"},{"type":"null"}],"default":null,"description":"Order by date: DESC (newest first, default) or ASC.","title":"Sort"},"date_from":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Earliest date to include, YYYY-MM-DD.","title":"Date From"},"date_to":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Latest date to include, YYYY-MM-DD.","title":"Date To"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Rows per page (1 to 1000).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Rows to skip, for paging.","title":"Offset"}},"required":["symbols"],"title":"get_splitsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_dividends":{"post":{"operationId":"get_dividends","summary":"Get dividend history (amount, ex-date, record, declaration and payment dates, frequency) for one or more tickers. Use fo","description":"Get dividend history (amount, ex-date, record, declaration and payment dates, frequency) for one or more tickers. Use for \"What dividends did Microsoft pay this year\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"symbols":{"description":"Comma-separated ticker symbols, for example 'AAPL,MSFT'.","maxLength":300,"title":"Symbols","type":"string"},"sort":{"anyOf":[{"enum":["ASC","DESC"],"type":"string"},{"type":"null"}],"default":null,"description":"Order by date: DESC (newest first, default) or ASC.","title":"Sort"},"date_from":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Earliest date to include, YYYY-MM-DD.","title":"Date From"},"date_to":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Latest date to include, YYYY-MM-DD.","title":"Date To"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Rows per page (1 to 1000).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Rows to skip, for paging.","title":"Offset"}},"required":["symbols"],"title":"get_dividendsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_exchanges":{"post":{"operationId":"list_exchanges","summary":"List or search stock exchanges (name, MIC code, country, city, website, status), 2,700+ in total. Use for \"Which exchang","description":"List or search stock exchanges (name, MIC code, country, city, website, status), 2,700+ in total. Use for \"Which exchanges does Marketstack cover in Germany\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Text to match, for example an exchange name or country.","title":"Search"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Rows per page (1 to 1000).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Rows to skip, for paging.","title":"Offset"}},"title":"list_exchangesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_ticker_info":{"post":{"operationId":"get_ticker_info","summary":"Get extended company information for one ticker: sector, industry, employees, IPO and founding dates, fiscal year and ex","description":"Get extended company information for one ticker: sector, industry, employees, IPO and founding dates, fiscal year and executives (may need a paid plan). Use for \"Give me company details for AAPL\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ticker":{"description":"Ticker symbol, for example 'AAPL'.","maxLength":20,"title":"Ticker","type":"string"}},"required":["ticker"],"title":"get_ticker_infoArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_realtime_stock_price":{"post":{"operationId":"get_realtime_stock_price","summary":"Get the current price of a ticker on the exchanges that list it worldwide, with currency and last trade time (may need a","description":"Get the current price of a ticker on the exchanges that list it worldwide, with currency and last trade time (may need a paid plan). Use for \"What is Shell's stock price right now on each exchange\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ticker":{"description":"Ticker symbol, for example 'AAPL'.","maxLength":20,"title":"Ticker","type":"string"},"exchange":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Only this exchange MIC, for example XNYS.","title":"Exchange"}},"required":["ticker"],"title":"get_realtime_stock_priceArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_commodity_prices":{"post":{"operationId":"get_commodity_prices","summary":"Get the current price and recent percentage changes of a commodity (energy, metals, industrial, agricultural, livestock)","description":"Get the current price and recent percentage changes of a commodity (energy, metals, industrial, agricultural, livestock) by name (may need a paid plan). Use for \"What is the price of aluminum today\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"commodity_name":{"description":"Commodity name in lower case, for example 'aluminum', 'gold' or 'crude oil'.","maxLength":60,"title":"Commodity Name","type":"string"}},"required":["commodity_name"],"title":"get_commodity_pricesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}