{"openapi":"3.1.0","info":{"title":"EODHD (BYOK) API","version":"0.1.0","description":"EODHD (BYOK) lets an AI assistant read your own EODHD data through the EODHD API with a key you supply (EODHD API token). Read-only: 8 tools (get_eod_prices, get_live_price, search_instruments, get_fundamentals, get_dividends, get_splits, list_exchanges, list_exchange_tickers). The BYOK key travels with each request, is used for that one call only and is never stored, logged or cached; it is only...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-eodhd.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-eodhd/docs"},"termsOfService":"https://connectorbay.com/byok-eodhd/terms"},"servers":[{"url":"https://byok-eodhd.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-eodhd/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 daily, weekly or monthly end-of-day price bars (open, high, low, close, adjusted close, volume) for a ticker between","description":"Get daily, weekly or monthly end-of-day price bars (open, high, low, close, adjusted close, volume) for a ticker between two dates. Shows at most 200 bars; narrow the dates for more. Each call uses 1 of the daily API calls. Use for \"Show Apple's daily closing prices for September 2026\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"symbol":{"description":"Ticker with exchange suffix, for example 'AAPL.US' or 'VOD.LSE'. For US stocks the '.US' suffix may be left out.","maxLength":30,"title":"Symbol","type":"string"},"fmt":{"anyOf":[{"const":"json","type":"string"},{"type":"null"}],"default":"json","description":"Response format; only json is supported here.","title":"Fmt"},"from_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"First date to include, YYYY-MM-DD (inclusive).","title":"From Date"},"to_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Last date to include, YYYY-MM-DD (inclusive).","title":"To Date"},"period":{"anyOf":[{"enum":["d","w","m"],"type":"string"},{"type":"null"}],"default":null,"description":"Bar size: d (daily, default), w (weekly) or m (monthly).","title":"Period"},"order":{"anyOf":[{"enum":["a","d"],"type":"string"},{"type":"null"}],"default":null,"description":"Order by date: a (ascending, default) or d (descending).","title":"Order"}},"required":["symbol"],"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_live_price":{"post":{"operationId":"get_live_price","summary":"Get a delayed (about 15 to 20 minutes for stocks) quote for a ticker: latest price, open, high, low, volume, previous cl","description":"Get a delayed (about 15 to 20 minutes for stocks) quote for a ticker: latest price, open, high, low, volume, previous close and change. Each ticker uses 1 API call. Use for \"What is Apple's price now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"symbol":{"description":"Ticker with exchange suffix, for example 'AAPL.US' or 'VOD.LSE'. For US stocks the '.US' suffix may be left out.","maxLength":30,"title":"Symbol","type":"string"},"fmt":{"anyOf":[{"const":"json","type":"string"},{"type":"null"}],"default":"json","description":"Response format; only json is supported here.","title":"Fmt"},"extra_symbols":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated further tickers to quote in the same call (about 15 to 20 at most), for example 'MSFT.US,TSLA.US'.","title":"Extra Symbols"}},"required":["symbol"],"title":"get_live_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/search_instruments":{"post":{"operationId":"search_instruments","summary":"Search active stocks, ETFs, funds, indices and crypto by ticker, company name or ISIN; returns code, exchange, name, typ","description":"Search active stocks, ETFs, funds, indices and crypto by ticker, company name or ISIN; returns code, exchange, name, type, country, currency and previous close. Use for \"Find the ticker for Tesla\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Ticker, company name or ISIN to search for.","maxLength":100,"title":"Query","type":"string"},"fmt":{"anyOf":[{"const":"json","type":"string"},{"type":"null"}],"default":"json","description":"Response format; only json is supported here.","title":"Fmt"},"limit":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":15,"description":"Number of results (1 to 500; provider default 15).","title":"Limit"},"type":{"anyOf":[{"enum":["all","stock","etf","fund","index","crypto"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this kind of instrument.","title":"Type"},"exchange":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Only this exchange code, for example US, LSE or FOREX.","title":"Exchange"}},"required":["query"],"title":"search_instrumentsArguments","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_fundamentals":{"post":{"operationId":"get_fundamentals","summary":"Get one section of a company's fundamentals (for example Highlights, Valuation, General, Earnings or Financials) for a t","description":"Get one section of a company's fundamentals (for example Highlights, Valuation, General, Earnings or Financials) for a ticker. Each call uses 10 API calls, so ask for one section. Large sections are shortened. Use for \"What are Apple's key financial highlights\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"symbol":{"description":"Ticker with exchange suffix, for example 'AAPL.US' or 'VOD.LSE'. For US stocks the '.US' suffix may be left out.","maxLength":30,"title":"Symbol","type":"string"},"section":{"description":"Which section: General, Highlights, Valuation, SharesStats, Technicals, SplitsDividends, Earnings, Financials, Holders or InsiderTransactions.","enum":["General","Highlights","Valuation","SharesStats","Technicals","SplitsDividends","Earnings","Financials","Holders","InsiderTransactions"],"title":"Section","type":"string"},"fmt":{"anyOf":[{"const":"json","type":"string"},{"type":"null"}],"default":"json","description":"Response format; only json is supported here.","title":"Fmt"}},"required":["symbol","section"],"title":"get_fundamentalsArguments","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 a ticker's dividend history: ex-dividend date, payment dates, amount per share and currency. Each call uses 1 API ca","description":"Get a ticker's dividend history: ex-dividend date, payment dates, amount per share and currency. Each call uses 1 API call. Use for \"What dividends did Apple pay since 2025\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"symbol":{"description":"Ticker with exchange suffix, for example 'AAPL.US' or 'VOD.LSE'. For US stocks the '.US' suffix may be left out.","maxLength":30,"title":"Symbol","type":"string"},"fmt":{"anyOf":[{"const":"json","type":"string"},{"type":"null"}],"default":"json","description":"Response format; only json is supported here.","title":"Fmt"},"from_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"First date to include, YYYY-MM-DD (inclusive).","title":"From Date"},"to_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Last date to include, YYYY-MM-DD (inclusive).","title":"To Date"}},"required":["symbol"],"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/get_splits":{"post":{"operationId":"get_splits","summary":"Get a ticker's stock split history: ex-split date and split ratio (new over old). Each call uses 1 API call. Use for \"Wh","description":"Get a ticker's stock split history: ex-split date and split ratio (new over old). Each call uses 1 API call. Use for \"When did Apple split its stock\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"symbol":{"description":"Ticker with exchange suffix, for example 'AAPL.US' or 'VOD.LSE'. For US stocks the '.US' suffix may be left out.","maxLength":30,"title":"Symbol","type":"string"},"fmt":{"anyOf":[{"const":"json","type":"string"},{"type":"null"}],"default":"json","description":"Response format; only json is supported here.","title":"Fmt"},"from_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"First date to include, YYYY-MM-DD (inclusive).","title":"From Date"},"to_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Last date to include, YYYY-MM-DD (inclusive).","title":"To Date"}},"required":["symbol"],"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/list_exchanges":{"post":{"operationId":"list_exchanges","summary":"List the exchanges EODHD supports with code, name, country, currency and operating MIC. Use for \"Which stock exchanges d","description":"List the exchanges EODHD supports with code, name, country, currency and operating MIC. Use for \"Which stock exchanges does EODHD cover\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"fmt":{"anyOf":[{"const":"json","type":"string"},{"type":"null"}],"default":"json","description":"Response format; only json is supported here.","title":"Fmt"}},"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/list_exchange_tickers":{"post":{"operationId":"list_exchange_tickers","summary":"List the tickers traded on one exchange with code, name, type, currency and ISIN. Large exchanges are shortened to 100 e","description":"List the tickers traded on one exchange with code, name, type, currency and ISIN. Large exchanges are shortened to 100 entries; use symbols to look up specific tickers. Use for \"List some tickers traded on the London exchange\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"exchange_code":{"description":"Exchange code from list_exchanges, for example US or LSE.","maxLength":20,"title":"Exchange Code","type":"string"},"fmt":{"anyOf":[{"const":"json","type":"string"},{"type":"null"}],"default":"json","description":"Response format; only json is supported here.","title":"Fmt"},"type":{"anyOf":[{"enum":["common_stock","preferred_stock","stock","etf","fund"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this instrument type.","title":"Type"},"symbols":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated tickers without exchange suffix to look up, for example 'AAPL,MSFT'.","title":"Symbols"},"delisted":{"anyOf":[{"maximum":1,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"1 for delisted tickers only; 0 (default) for active ones.","title":"Delisted"}},"required":["exchange_code"],"title":"list_exchange_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}}}}