---
type: "firecrawl-provider"
description: "End-of-day prices, ticker metadata, financial news, and symbol search from Tiingo."
use_when: "End-of-day OHLCV history for one US stock, ETF, mutual fund NAV, or China A-share, raw and adjusted, with dividends and splits.\n\nOne ticker's name, description, exchange, and the first and last dates Tiingo has prices for.\n\nFinancial news articles tagged with tickers and topics, filtered by ticker, tag, source, and date.\n\nResolve a company or fund name, or a ticker fragment, to Tiingo tickers."
categories: "Finance"
capabilities: 4
pricing: "2–10 credits per billed unit; see each capability for its unit and maximum."
---
# Tiingo on Firecrawl Alexandria

End-of-day prices, ticker metadata, financial news, and symbol search from Tiingo.

- Categories: Finance
- Category index: [Finance category](https://alexandria.firecrawl.dev/agents/categories/finance)
- Provider key: `tiingo`
- Access: Firecrawl credits
- Cost (End-of-day prices): 2 credits per request
- Cost (Ticker metadata): 10 credits per request
- Cost (News search): 10 credits per request
- Cost (Symbol search): 10 credits per request

## More

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

## Capabilities

- [End-of-day prices](https://alexandria.firecrawl.dev/agents/providers/tiingo/prices/eod): A JSON array of bars, oldest first unless sort says otherwise. Without dates it holds only the latest day. Mutual fund NAVs fill open, high, low, and close with the NAV. adj fields follow the CRSP split and dividend method. columns trims each bar to the named fields. An empty array is still a billed request. A 404 is an unknown ticker and costs nothing.
- [Ticker metadata](https://alexandria.firecrawl.dev/agents/providers/tiingo/tickers/meta): One ticker record. startDate and endDate are null when Tiingo has no prices for the ticker. A 404 is an unknown ticker and costs nothing.
- [News search](https://alexandria.firecrawl.dev/agents/providers/tiingo/news/search): A JSON array of articles, newest first by sortBy. The body text is not included, only the description. An empty array is still a billed request.
- [Symbol search](https://alexandria.firecrawl.dev/agents/providers/tiingo/symbols/search): A JSON array of matches, ticker matches first and then name matches. Tiingo marks this route beta. An empty array is still a billed request.

## 1. Choose this provider when

End-of-day OHLCV history for one US stock, ETF, mutual fund NAV, or China A-share, raw and adjusted, with dividends and splits.

One ticker's name, description, exchange, and the first and last dates Tiingo has prices for.

Financial news articles tagged with tickers and topics, filtered by ticker, tag, source, and date.

Resolve a company or fund name, or a ticker fragment, to Tiingo tickers.

## 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": "tiingo",
  "capability": "prices/eod",
  "options": {
    "ticker": "AAPL"
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `ticker` (string, required): One Tiingo ticker, such as AAPL, BRK-A, VFIAX, or 600519. Share classes use a hyphen. A comma-separated list is not accepted. Example: `AAPL`
- `startDate` (string): YYYY-MM-DD. First day, inclusive. Without startDate and endDate Tiingo returns only the latest day. Example: `<startDate>`
- `endDate` (string): YYYY-MM-DD. Last day, inclusive. Defaults to today when startDate is set. Example: `<endDate>`
- `resampleFreq` (string): daily (the default, holiday calendar), weekly (weeks end Friday), monthly, or annually. A start or end inside a period is widened to the whole period. Example: `daily`
- `sort` (string): Column to sort by, ascending. Prefix with - for descending, such as -date. Example: `<sort>`
- `columns` (string): Comma-separated columns to return, such as date,close,adjClose. Omit for every column. Example: `<columns>`

## 4. Request through your preferred interface

### JavaScript

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

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "tiingo",
  "capability": "prices/eod",
  "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": "tiingo",
    "capability": "prices/eod",
    "options": {
      "ticker": "AAPL"
    }
  }
}'
```

### CLI

```sh
firecrawl scrape 'tiingo/prices/eod' \
  --options '{"ticker":"AAPL"}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "tiingo",
  "capability": "prices/eod",
  "options": {
    "ticker": "AAPL"
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "tiingo",
  "capability": "prices/eod",
  "options": {
    "ticker": "AAPL"
  }
}
```

## 6. Response data

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

```json
[
  {
    "date": "<date>",
    "open": 0,
    "high": 0,
    "low": 0,
    "close": 0,
    "volume": 0,
    "adjOpen": 0,
    "adjHigh": 0,
    "adjLow": 0,
    "adjClose": 0,
    "adjVolume": 0,
    "divCash": 0,
    "splitFactor": 0
  }
]
```

## API reference-derived contract

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

### End-of-day prices

- Capability: `prices/eod`
- Description: A JSON array of bars, oldest first unless sort says otherwise. Without dates it holds only the latest day. Mutual fund NAVs fill open, high, low, and close with the NAV. adj fields follow the CRSP split and dividend method. columns trims each bar to the named fields. An empty array is still a billed request. A 404 is an unknown ticker and costs nothing.
- Instructions: Read daily, weekly, monthly, or annual OHLCV history for one US stock, ETF, mutual fund NAV, or China A-share, with raw and split and dividend adjusted prices, plus the cash dividend and split factor on each ex-date. A successful call costs 10 Firecrawl credits, including a range with no rows. Use tickers/meta to check the first and last dates Tiingo has, and symbols/search to find a ticker. For intraday quotes, forex, or crypto use another provider such as Twelve Data.
- Cost: 2 credits per request
- Capability file: [End-of-day prices](https://alexandria.firecrawl.dev/agents/providers/tiingo/prices/eod)

Accepted options:
- `ticker` (string, required): One Tiingo ticker, such as AAPL, BRK-A, VFIAX, or 600519. Share classes use a hyphen. A comma-separated list is not accepted. Example: `AAPL`
- `startDate` (string): YYYY-MM-DD. First day, inclusive. Without startDate and endDate Tiingo returns only the latest day. Example: `<startDate>`
- `endDate` (string): YYYY-MM-DD. Last day, inclusive. Defaults to today when startDate is set. Example: `<endDate>`
- `resampleFreq` (string): daily (the default, holiday calendar), weekly (weeks end Friday), monthly, or annually. A start or end inside a period is widened to the whole period. Example: `daily`
- `sort` (string): Column to sort by, ascending. Prefix with - for descending, such as -date. Example: `<sort>`
- `columns` (string): Comma-separated columns to return, such as date,close,adjClose. Omit for every column. Example: `<columns>`

Response schema example:
```json
[
  {
    "date": "<date>",
    "open": 0,
    "high": 0,
    "low": 0,
    "close": 0,
    "volume": 0,
    "adjOpen": 0,
    "adjHigh": 0,
    "adjLow": 0,
    "adjClose": 0,
    "adjVolume": 0,
    "divCash": 0,
    "splitFactor": 0
  }
]
```

### Ticker metadata

- Capability: `tickers/meta`
- Description: One ticker record. startDate and endDate are null when Tiingo has no prices for the ticker. A 404 is an unknown ticker and costs nothing.
- Instructions: Read one ticker's full name, business description, listing exchange, and the first and last dates Tiingo has end-of-day prices for. A successful call costs 10 Firecrawl credits. Use it to confirm a ticker is covered before prices/eod, and symbols/search when only a name is known.
- Cost: 10 credits per request
- Capability file: [Ticker metadata](https://alexandria.firecrawl.dev/agents/providers/tiingo/tickers/meta)

Accepted options:
- `ticker` (string, required): One Tiingo ticker, such as AAPL, BRK-A, VFIAX, or 600519. Share classes use a hyphen. A comma-separated list is not accepted. Example: `AAPL`

Response schema example:
```json
{
  "ticker": "<ticker>",
  "name": "<name>",
  "exchangeCode": "<exchangeCode>",
  "description": "<description>",
  "startDate": "<startDate>",
  "endDate": "<endDate>"
}
```

### News search

- Capability: `news/search`
- Description: A JSON array of articles, newest first by sortBy. The body text is not included, only the description. An empty array is still a billed request.
- Instructions: Find recent financial news articles by ticker, Tiingo topic tag, source domain, or publish date, with the title, link, description, and the tickers and tags Tiingo matched. Standard Tiingo plans query only the last 3 months. A successful call costs 10 Firecrawl credits, including an empty page. Use prices/eod for the price move around a story.
- Cost: 10 credits per request
- Capability file: [News search](https://alexandria.firecrawl.dev/agents/providers/tiingo/news/search)

Accepted options:
- `tickers` (string): Comma-separated tickers, such as aapl,googl. Up to 50. Example: `<tickers>`
- `tags` (string): Comma-separated Tiingo topic tags, such as Earnings,Technology. Up to 20. Example: `<tags>`
- `source` (string): Comma-separated source domains, such as bloomberg.com,reuters.com. Up to 20. Example: `<source>`
- `startDate` (string): YYYY-MM-DD. Articles published on or after this day. Example: `<startDate>`
- `endDate` (string): YYYY-MM-DD. Articles published on or before this day. Example: `<endDate>`
- `limit` (number): Articles to return, from 1 to 100. Tiingo's default is 100. One request either way. Example: `10`
- `offset` (number): Articles to skip, for paging with limit. Default 0. Example: `10`
- `sortBy` (string): publishedDate (the default) or crawlDate, newest first. Example: `publishedDate`

Response schema example:
```json
[
  {
    "id": 0,
    "title": "<title>",
    "url": "<url>",
    "description": "<description>",
    "publishedDate": "<publishedDate>",
    "crawlDate": "<crawlDate>",
    "source": "<source>",
    "tickers": [],
    "tags": []
  }
]
```

### Symbol search

- Capability: `symbols/search`
- Description: A JSON array of matches, ticker matches first and then name matches. Tiingo marks this route beta. An empty array is still a billed request.
- Instructions: Resolve a company, ETF, or fund name, or a ticker fragment, to Tiingo tickers with asset type, country, and whether the ticker still trades. A successful call costs 10 Firecrawl credits, even when nothing matches. Use the ticker with prices/eod or tickers/meta.
- Cost: 10 credits per request
- Capability file: [Symbol search](https://alexandria.firecrawl.dev/agents/providers/tiingo/symbols/search)

Accepted options:
- `query` (string, required): Ticker or name to look up, such as apple or AAPL. Example: `<query>`
- `exactTickerMatch` (boolean): When true, only exact ticker matches. Names are not searched. Default false. Example: `false`
- `includeDelisted` (boolean): When true, include delisted tickers. Default false. Example: `false`
- `limit` (number): Matches to return, from 1 to 100. Default 10. Example: `10`

Response schema example:
```json
[
  {
    "ticker": "<ticker>",
    "name": "<name>",
    "assetType": "<assetType>",
    "countryCode": "<countryCode>",
    "isActive": false,
    "permaTicker": "<permaTicker>",
    "openFIGIComposite": "<openFIGIComposite>"
  }
]
```
