---
type: "firecrawl-provider"
description: "Global fundamentals, end-of-day prices, dividends, splits, earnings and IPO calendars, and symbol lookup across 70+ exchanges."
use_when: "Company profile, highlights, valuation, holders, earnings, and financial statements for one stock, ETF, fund, or index on 70+ exchanges.\n\nDaily, weekly, or monthly OHLCV history with an adjusted close for one instrument.\n\nDividend and split history for one instrument.\n\nReported and upcoming earnings with EPS surprises, and IPO filings, expected listings, and priced deals.\n\nResolve a company name, ticker, or ISIN to the EODHD ticker in SYMBOL.EXCHANGE form.\n\nThe exchanges EODHD covers, and the active or delisted tickers on one of them."
categories: "Finance"
capabilities: 9
pricing: "10 credits per billed unit; see each capability for its unit and maximum."
---
# EODHD on Firecrawl Alexandria

Global fundamentals, end-of-day prices, dividends, splits, earnings and IPO calendars, and symbol lookup across 70+ exchanges.

- Categories: Finance
- Category index: [Finance category](https://alexandria.firecrawl.dev/agents/categories/finance)
- Provider key: `eodhd`
- Access: Firecrawl credits
- Cost (Company fundamentals): 10 credits per EODHD API call
- Cost (End-of-day prices): 10 credits per EODHD API call
- Cost (Dividend history): 10 credits per EODHD API call
- Cost (Split history): 10 credits per EODHD API call
- Cost (Earnings calendar): 10 credits per EODHD API call
- Cost (IPO calendar): 10 credits per EODHD API call
- Cost (Symbol search): 10 credits per EODHD API call
- Cost (Exchanges): 10 credits per EODHD API call
- Cost (Exchange tickers): 10 credits per EODHD API call

## More

- [Human guide](https://www.firecrawl.dev/app/alexandria/eodhd)
- [OpenAPI spec](https://alexandria.firecrawl.dev/agents/providers/eodhd/openapi.json)

## Capabilities

- [Company fundamentals](https://alexandria.firecrawl.dev/agents/providers/eodhd/fundamentals/company): One object keyed by section. Stocks carry General, Highlights, Valuation, SharesStats, Technicals, SplitsDividends, Holders, InsiderTransactions, outstandingShares, Earnings, and Financials. ETFs, funds, and indices carry their own sections, such as ETF_Data or Components. With filter, only the named sections, or a bare value for one field. A 404 costs nothing.
- [End-of-day prices](https://alexandria.firecrawl.dev/agents/providers/eodhd/prices/eod): One row per bar. open, high, low, and close are as traded. adjusted_close is adjusted for splits and dividends; volume is split-adjusted. Weekly and monthly bars are dated on the first trading day of the period. An empty list is still billed. A 404 costs nothing.
- [Dividend history](https://alexandria.firecrawl.dev/agents/providers/eodhd/corporate-actions/dividends): One row per dividend, oldest first. value is split-adjusted to today's shares; unadjustedValue is the amount paid at the time. declarationDate, recordDate, paymentDate, and period are often null outside North America. currency can differ from the quote currency. An empty list is still billed. A 404 costs nothing.
- [Split history](https://alexandria.firecrawl.dev/agents/providers/eodhd/corporate-actions/splits): One row per split. split is new shares over old shares as two fixed-point numbers, such as 4.000000/1.000000; a smaller first number is a reverse split. An empty list is still billed. A 404 costs nothing.
- [Earnings calendar](https://alexandria.firecrawl.dev/agents/providers/eodhd/calendar/earnings): Records in earnings, one per company and fiscal period. type and description label the response; from and to, or symbols, echo the request. actual is null before the report. difference is 0, not null, when estimate is missing. An empty list is still billed. A 404 means an unknown symbol and costs nothing.
- [IPO calendar](https://alexandria.firecrawl.dev/agents/providers/eodhd/calendar/ipos): Records in ipos, not sorted. A deal can appear more than once as it moves from Filed or Expected to Priced. price_from, price_to, offer_price, and shares are 0 when not known yet. An empty list is still billed.
- [Symbol search](https://alexandria.firecrawl.dev/agents/providers/eodhd/symbols/search): Matches ranked by popularity. Code plus Exchange is the ticker other routes take. An empty list is still billed.
- [Exchanges](https://alexandria.firecrawl.dev/agents/providers/eodhd/exchanges/list): One row per exchange, including the virtual CC, FOREX, MONEY, GBOND, and EUFUND codes, whose country fields read Unknown or are empty.
- [Exchange tickers](https://alexandria.firecrawl.dev/agents/providers/eodhd/exchanges/symbols): One row per ticker. Code has no exchange suffix. On the composite US code, Exchange is the venue. Isin is often null. An empty list is still billed. A 404 means an unknown exchange and costs nothing.

## 1. Choose this provider when

Company profile, highlights, valuation, holders, earnings, and financial statements for one stock, ETF, fund, or index on 70+ exchanges.

Daily, weekly, or monthly OHLCV history with an adjusted close for one instrument.

Dividend and split history for one instrument.

Reported and upcoming earnings with EPS surprises, and IPO filings, expected listings, and priced deals.

Resolve a company name, ticker, or ISIN to the EODHD ticker in SYMBOL.EXCHANGE form.

The exchanges EODHD covers, and the active or delisted tickers on one of them.

## 2. Minimal request

Call `POST https://api.firecrawl.dev/v2/scrape` with `{ alexandria: { provider, capability, options } }`. For a batch, send `{ alexandria: [...] }` with up to 10 calls.

```json
{
  "provider": "eodhd",
  "capability": "fundamentals/company",
  "options": {
    "ticker": "AAPL"
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `ticker` (string, required): One ticker as SYMBOL.EXCHANGE, such as AAPL.US, BP.LSE, SAP.XETRA, EURUSD.FOREX, or BTC-USD.CC. A comma-separated list is not accepted. Example: `AAPL`
- `filter` (string): One section or field, nested with ::, several comma-separated. Examples: General, Highlights, Valuation, Financials::Balance_Sheet::yearly, General::Code. A single missing field answers the string NA. The cost is 10 API calls either way. Example: `<filter>`

## 4. Request through your preferred interface

### JavaScript

```javascript
const result = await firecrawl.scrape({
  alexandria: {
    provider: "eodhd",
    capability: "fundamentals/company",
    options: {
      ticker: "AAPL",
    },
  },
});
```

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "eodhd",
  "capability": "fundamentals/company",
  "options": {
    "ticker": "AAPL"
  }
})
```

### cURL

```sh
curl https://api.firecrawl.dev/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "alexandria": {
    "provider": "eodhd",
    "capability": "fundamentals/company",
    "options": {
      "ticker": "AAPL"
    }
  }
}'
```

### CLI

```sh
firecrawl scrape 'eodhd/fundamentals/company' \
  --options '{"ticker":"AAPL"}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "eodhd",
  "capability": "fundamentals/company",
  "options": {
    "ticker": "AAPL"
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "eodhd",
  "capability": "fundamentals/company",
  "options": {
    "ticker": "AAPL"
  }
}
```

## 6. Response data

The response includes `success`, `provider`, `capability`, `creditsCost` and `data`. This example shows the provider payload in `data`:

```json
{
  "General": {},
  "Highlights": {},
  "Valuation": {},
  "SharesStats": {},
  "Technicals": {},
  "SplitsDividends": {},
  "Holders": {},
  "Earnings": {},
  "Financials": {}
}
```

## API reference-derived contract

The following capability contract is generated from the same normalized Alexandria API reference exposed in the API spec.

### Company fundamentals

- Capability: `fundamentals/company`
- Description: One object keyed by section. Stocks carry General, Highlights, Valuation, SharesStats, Technicals, SplitsDividends, Holders, InsiderTransactions, outstandingShares, Earnings, and Financials. ETFs, funds, and indices carry their own sections, such as ETF_Data or Components. With filter, only the named sections, or a bare value for one field. A 404 costs nothing.
- Instructions: Read company fundamentals for one listed stock, ETF, fund, or index on any of EODHD's 70+ exchanges, not only SEC filers: profile, highlights, valuation, share stats, holders, earnings history and trend, and yearly or quarterly balance sheet, income statement, and cash flow. Pass filter to keep the response small. A successful call costs 10 Firecrawl credits. Use symbols/search first when only a name is known, and prices/eod for price history.
- Cost: 10 credits per EODHD API call
- Capability file: [Company fundamentals](https://alexandria.firecrawl.dev/agents/providers/eodhd/fundamentals/company)

Accepted options:
- `ticker` (string, required): One ticker as SYMBOL.EXCHANGE, such as AAPL.US, BP.LSE, SAP.XETRA, EURUSD.FOREX, or BTC-USD.CC. A comma-separated list is not accepted. Example: `AAPL`
- `filter` (string): One section or field, nested with ::, several comma-separated. Examples: General, Highlights, Valuation, Financials::Balance_Sheet::yearly, General::Code. A single missing field answers the string NA. The cost is 10 API calls either way. Example: `<filter>`

Response schema example:
```json
{
  "General": {},
  "Highlights": {},
  "Valuation": {},
  "SharesStats": {},
  "Technicals": {},
  "SplitsDividends": {},
  "Holders": {},
  "Earnings": {},
  "Financials": {}
}
```

### End-of-day prices

- Capability: `prices/eod`
- Description: One row per bar. open, high, low, and close are as traded. adjusted_close is adjusted for splits and dividends; volume is split-adjusted. Weekly and monthly bars are dated on the first trading day of the period. An empty list is still billed. A 404 costs nothing.
- Instructions: Read daily, weekly, or monthly OHLCV history with a split- and dividend-adjusted close for one stock, ETF, fund, index, forex pair, or cryptocurrency on 70+ exchanges. Set from and to to bound the series. A successful call costs 10 Firecrawl credits, including an empty window. Use corporate-actions/dividends or corporate-actions/splits for the events behind the adjustment.
- Cost: 10 credits per EODHD API call
- Capability file: [End-of-day prices](https://alexandria.firecrawl.dev/agents/providers/eodhd/prices/eod)

Accepted options:
- `ticker` (string, required): One ticker as SYMBOL.EXCHANGE, such as AAPL.US, BP.LSE, SAP.XETRA, EURUSD.FOREX, or BTC-USD.CC. A comma-separated list is not accepted. Example: `AAPL`
- `from` (string): Window start, YYYY-MM-DD, inclusive. Without from and to EODHD returns the whole history, which can be over 20,000 rows. Example: `<from>`
- `to` (string): Window end, YYYY-MM-DD, inclusive. Example: `<to>`
- `period` (string): Bar size: d daily, w weekly, m monthly. Default d. Example: `d`
- `order` (string): a oldest first, d newest first. Default a. Example: `a`

Response schema example:
```json
[
  {
    "date": "<date>",
    "open": 0,
    "high": 0,
    "low": 0,
    "close": 0,
    "adjusted_close": 0,
    "volume": 0
  }
]
```

### Dividend history

- Capability: `corporate-actions/dividends`
- Description: One row per dividend, oldest first. value is split-adjusted to today's shares; unadjustedValue is the amount paid at the time. declarationDate, recordDate, paymentDate, and period are often null outside North America. currency can differ from the quote currency. An empty list is still billed. A 404 costs nothing.
- Instructions: List dividends paid by one stock or fund: ex-date, declaration, record and payment dates, adjusted and unadjusted amount, and currency. A successful call costs 10 Firecrawl credits, including an empty list. Use corporate-actions/splits for splits and calendar/earnings for upcoming reports.
- Cost: 10 credits per EODHD API call
- Capability file: [Dividend history](https://alexandria.firecrawl.dev/agents/providers/eodhd/corporate-actions/dividends)

Accepted options:
- `ticker` (string, required): One ticker as SYMBOL.EXCHANGE, such as AAPL.US, BP.LSE, SAP.XETRA, EURUSD.FOREX, or BTC-USD.CC. A comma-separated list is not accepted. Example: `AAPL`
- `from` (string): Ex-date window start, YYYY-MM-DD, inclusive. Omit for the full history. Example: `<from>`
- `to` (string): Window end, YYYY-MM-DD, inclusive. Example: `<to>`

Response schema example:
```json
[
  {
    "date": "<date>",
    "declarationDate": "<declarationDate>",
    "recordDate": "<recordDate>",
    "paymentDate": "<paymentDate>",
    "period": "<period>",
    "value": 0,
    "unadjustedValue": 0,
    "currency": "<currency>"
  }
]
```

### Split history

- Capability: `corporate-actions/splits`
- Description: One row per split. split is new shares over old shares as two fixed-point numbers, such as 4.000000/1.000000; a smaller first number is a reverse split. An empty list is still billed. A 404 costs nothing.
- Instructions: List stock splits, reverse splits, and share reorganisations for one instrument with the exact ratio. A successful call costs 10 Firecrawl credits, including an empty list. Use corporate-actions/dividends for payouts.
- Cost: 10 credits per EODHD API call
- Capability file: [Split history](https://alexandria.firecrawl.dev/agents/providers/eodhd/corporate-actions/splits)

Accepted options:
- `ticker` (string, required): One ticker as SYMBOL.EXCHANGE, such as AAPL.US, BP.LSE, SAP.XETRA, EURUSD.FOREX, or BTC-USD.CC. A comma-separated list is not accepted. Example: `AAPL`
- `from` (string): Split-date window start, YYYY-MM-DD, inclusive. Omit for the full history. Example: `<from>`
- `to` (string): Window end, YYYY-MM-DD, inclusive. Example: `<to>`

Response schema example:
```json
[
  {
    "date": "<date>",
    "split": "<split>"
  }
]
```

### Earnings calendar

- Capability: `calendar/earnings`
- Description: Records in earnings, one per company and fiscal period. type and description label the response; from and to, or symbols, echo the request. actual is null before the report. difference is 0, not null, when estimate is missing. An empty list is still billed. A 404 means an unknown symbol and costs nothing.
- Instructions: Find who reports earnings when, or one company's reported and upcoming earnings with actual EPS, consensus estimate, and surprise. Pass symbols with from and to for a company's history; without symbols the window covers the whole market and to may be at most 31 days after from. A successful call costs 10 Firecrawl credits, including an empty list. Use fundamentals/company for full earnings history and trend.
- Cost: 10 credits per EODHD API call
- Capability file: [Earnings calendar](https://alexandria.firecrawl.dev/agents/providers/eodhd/calendar/earnings)

Accepted options:
- `from` (string): Report-date window start, YYYY-MM-DD. Default today. Example: `<from>`
- `to` (string): Report-date window end, YYYY-MM-DD. Default from plus 7 days. Without symbols, to is at most 31 days after from and needs from. Example: `<to>`
- `symbols` (string): Up to 10 tickers, comma-separated without spaces, such as AAPL.US,MSFT.US. Narrows the date window, so set from and to as well. Example: `<symbols>`

Response schema example:
```json
{
  "earnings": [
    {
      "code": "<code>",
      "report_date": "<report_date>",
      "date": "<date>",
      "before_after_market": "<before_after_market>",
      "currency": "<currency>",
      "actual": 0,
      "estimate": 0,
      "difference": 0,
      "percent": 0
    }
  ]
}
```

### IPO calendar

- Capability: `calendar/ipos`
- Description: Records in ipos, not sorted. A deal can appear more than once as it moves from Filed or Expected to Priced. price_from, price_to, offer_price, and shares are 0 when not known yet. An empty list is still billed.
- Instructions: List IPO filings, expected listings, and priced deals in a date window worldwide, with price range, offer price, shares, and deal status. A successful call costs 10 Firecrawl credits, including an empty list. Use fundamentals/company on the new ticker once it trades.
- Cost: 10 credits per EODHD API call
- Capability file: [IPO calendar](https://alexandria.firecrawl.dev/agents/providers/eodhd/calendar/ipos)

Accepted options:
- `from` (string): First-trading-date window start, YYYY-MM-DD. Default today. Example: `<from>`
- `to` (string): First-trading-date window end, YYYY-MM-DD. Default from plus 7 days. At most 366 days after from, and to needs from. Example: `<to>`

Response schema example:
```json
{
  "ipos": [
    {
      "code": "<code>",
      "name": "<name>",
      "exchange": "<exchange>",
      "currency": "<currency>",
      "start_date": "<start_date>",
      "filing_date": "<filing_date>",
      "amended_date": "<amended_date>",
      "price_from": 0,
      "price_to": 0,
      "offer_price": 0,
      "shares": 0,
      "deal_type": "<deal_type>"
    }
  ]
}
```

### Symbol search

- Capability: `symbols/search`
- Description: Matches ranked by popularity. Code plus Exchange is the ticker other routes take. An empty list is still billed.
- Instructions: Resolve a company name, ticker, or ISIN to EODHD tickers, with exchange, type, country, currency, ISIN, primary-listing flag, and previous close. Searches active tickers only. A successful call costs 10 Firecrawl credits even when nothing matches. Join Code and Exchange as CODE.EXCHANGE for fundamentals/company, prices/eod, and corporate-actions.
- Cost: 10 credits per EODHD API call
- Capability file: [Symbol search](https://alexandria.firecrawl.dev/agents/providers/eodhd/symbols/search)

Accepted options:
- `query_string` (string, required): Ticker, company name, or ISIN, such as AAPL, Apple Inc, or US0378331005. Example: `<query_string>`
- `limit` (number): Matches to return, 1 to 50. Default 15. Example: `10`
- `type` (string): Asset type filter. Example: `all`
- `exchange` (string): Exchange code filter, such as US, LSE, or FOREX. Example: `<exchange>`

Response schema example:
```json
[
  {
    "Code": "<Code>",
    "Exchange": "<Exchange>",
    "Name": "<Name>",
    "Type": "<Type>",
    "Country": "<Country>",
    "Currency": "<Currency>",
    "ISIN": "<ISIN>",
    "isPrimary": false,
    "previousClose": 0,
    "previousCloseDate": "<previousCloseDate>"
  }
]
```

### Exchanges

- Capability: `exchanges/list`
- Description: One row per exchange, including the virtual CC, FOREX, MONEY, GBOND, and EUFUND codes, whose country fields read Unknown or are empty.
- Instructions: List the exchanges EODHD covers, about 70, with the exchange code used as the ticker suffix, operating MICs, country, and currency. A successful call costs 10 Firecrawl credits. Use exchanges/symbols for the tickers on one exchange.
- Cost: 10 credits per EODHD API call
- Capability file: [Exchanges](https://alexandria.firecrawl.dev/agents/providers/eodhd/exchanges/list)

Accepted options:

Response schema example:
```json
[
  {
    "Name": "<Name>",
    "Code": "<Code>",
    "OperatingMIC": "<OperatingMIC>",
    "Country": "<Country>",
    "Currency": "<Currency>",
    "CountryISO2": "<CountryISO2>",
    "CountryISO3": "<CountryISO3>"
  }
]
```

### Exchange tickers

- Capability: `exchanges/symbols`
- Description: One row per ticker. Code has no exchange suffix. On the composite US code, Exchange is the venue. Isin is often null. An empty list is still billed. A 404 means an unknown exchange and costs nothing.
- Instructions: List every active or delisted ticker on one exchange, or check whether specific codes are covered there with symbols. The full list is not paginated: US is about 51,600 rows and 7.7 MB, so narrow with type or symbols when you can. A successful call costs 10 Firecrawl credits. Use symbols/search to find one instrument by name.
- Cost: 10 credits per EODHD API call
- Capability file: [Exchange tickers](https://alexandria.firecrawl.dev/agents/providers/eodhd/exchanges/symbols)

Accepted options:
- `exchangeCode` (string, required): One exchange code from exchanges/list, such as US, LSE, XETRA, or CC. Venue codes such as NYSE and NASDAQ also work. Example: `<exchangeCode>`
- `delisted` (number): 1 returns delisted tickers instead of active ones. Default 0. Example: `1`
- `type` (string): Instrument type filter. Example: `common_stock`
- `symbols` (string): Up to 10 codes without the exchange suffix, comma-separated, such as CDR,PKN. Unknown codes are skipped. Example: `<symbols>`

Response schema example:
```json
[
  {
    "Code": "<Code>",
    "Name": "<Name>",
    "Country": "<Country>",
    "Exchange": "<Exchange>",
    "Currency": "<Currency>",
    "Type": "<Type>",
    "Isin": "<Isin>"
  }
]
```
