EODHD Global Market Data
End-of-day prices, fundamentals, dividends and splits for 60+ exchanges worldwide — London, Frankfurt, Toronto, Tokyo, Sydney, Mumbai and more, as well as US markets — from EODHD.
This is the tool for holdings that are not US-listed, which is where polygon, finnhub and
tiingo stop. Every endpoint was verified against the live API (2026-08-17): a real path answers
401 Unauthenticated without a key, a made-up path answers 404. All nine returned 401; two
nonsense paths returned 404.
Get a key
- Sign up at https://eodhd.com/cp/dashboard.
- Credentials → New → API Key, name it (e.g.
EODHD), paste the key. - Name it on the task:
"credentialName": "EODHD".
Auth caveat, stated plainly: EODHD takes the key as the api_token query parameter. A bogus
key in an Authorization header produced exactly the same response as sending no key at all, so
there is no evidence the header is read and this tool does not pretend otherwise. The key therefore
travels in the request URL. It never appears in your workflow, the activity log, or this tool's
error output — the URL it reports on failure has the key stripped.
Symbols carry their exchange
AAPL.US · VOD.LSE · BMW.XETRA · 7203.TSE · CBA.AU · RELIANCE.NSE
A bare ticker returns 404. Use search or exchange_symbols to find the right suffix.
Operations
| operation | returns | required |
|---|---|---|
eod |
daily/weekly/monthly OHLCV history | symbol (+ from, to, period) |
real_time |
latest price (delayed on most plans) | symbol |
fundamentals |
company financials and profile | symbol |
dividends |
dividend history | symbol |
splits |
split history | symbol |
search |
find a symbol across exchanges | query |
exchanges |
every exchange EODHD covers | — |
exchange_symbols |
every symbol on one exchange | exchange |
news |
headlines, filterable by symbol | — |
raw |
anything else in EODHD's docs | path |
Examples
A European holding's recent closes:
{"name":"vodafone","tool":"eodhd","credentialName":"EODHD",
"properties":{"operation":"eod","symbol":"VOD.LSE","from":"2026-07-01","period":"d"}}
Find a symbol, then list an exchange:
{"properties":{"operation":"search","query":"vodafone"}}
{"properties":{"operation":"exchange_symbols","exchange":"XETRA"}}
Notes
402/403mean the dataset is not in your plan;404usually means a missing exchange suffix.- Real-time is delayed on most plans — check yours before building an alert on it.
- Verified: validation, auth wiring and key redaction tested live (bogus key →
401 Unauthenticated; a test key never appeared in the reported URL). No 200-level response recorded — that needs a real key.
Publishes
The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.
resultstatus
Input Properties
Every property this tool accepts, from its own tool.iml.
| Property | Type | Required | Default | Description |
|---|---|---|---|---|
operation |
string | yes | — | One of: eod, real_time, fundamentals, dividends, splits, search, exchanges, exchange_symbols, news, raw |
symbol |
string | no | — | Symbol WITH its exchange suffix: AAPL.US, BMW.XETRA, VOD.LSE, 7203.TSE, CBA.AU. The suffix is required — a bare ticker returns 404. |
exchange |
string | no | — | exchange_symbols only: an exchange code such as LSE, XETRA, TSE, AU, NSE. |
query |
string | no | — | search only: a company name or partial symbol. |
from |
string | no | — | YYYY-MM-DD — start of the range. |
to |
string | no | — | YYYY-MM-DD — end of the range. |
period |
string | no | — | eod: d (daily), w (weekly) or m (monthly). |
order |
string | no | — | a (ascending) or d (descending). |
limit |
string | no | — | Row cap where the endpoint supports one. |
s |
string | no | — | news only: the symbol to filter on, e.g. AAPL.US. |
query_json |
string | no | — | Any extra query parameters as a JSON object string, e.g. {"filter":"General::Code"}. |
path |
string | no | — | raw only: a path from EODHD's docs. The escape hatch for anything not named above. |