---
type: "firecrawl-provider"
description: "Company fundamentals with the record around them: standardized and as-reported statements, ratios, ownership, prices, earnings call transcripts, and what fund letters say about a company."
use_when: "Who the company is: the profile, the share count, and the segment and KPI breakdowns it reports beneath the statements. Every capability here takes a company identifier and nothing else, so this is the cheapest rung to resolve a name onto before asking a costlier question.\n\nThe three statements, in two views. `standardized` maps line items onto a common schema so two companies can be compared; `as-reported` keeps the company's own line items and headers, which is what you want when the question is what the filing actually said. Adjusted metrics sit here too: the non-GAAP figures management presents alongside them.\n\nThe dictionaries behind the statements: which standardized metrics exist, which reporting template each belongs to, and which ratios are computable. Free to call and company-independent - read these to build a request rather than guessing an identifier.\n\nComputed ratios rather than reported figures. The period series covers every ratio at each reporting period; the daily series recomputes one named ratio for each trading day against that day's close, which is the only place here where the grain is a day rather than a fiscal period.\n\nWho holds the company and who is trading it: insider holders and their transactions, and 13F institutional positions. Institutional positions are readable from either end - by company, to see its holders, or by holder, to see its portfolio.\n\nTraded prices and the corporate actions that make a series comparable across time. Daily bars, intraday ticks, and the split history that both are already adjusted for.\n\nWhat the company filed and when, across SEC and other regulators, for the last 20 years. The list carries a PDF link per filing; the bytes themselves are not retrievable through this catalogue, see the provider page.\n\nEarnings events, before and after they happen: the forward calendar of who reports when, the resources attached to each event once it does, and the structured transcript of the call itself with speakers and sentence timings.\n\nWhat professional investors write about companies: quarterly, annual and interim letters from hedge funds, mutual funds and partnerships, parsed into a per-company thesis with a stance, a conviction and a position size. Reachable from any end - the letter, the investor, or the company written about."
categories: "Finance"
capabilities: 34
credits_per_call: "0-30"
---
# Fiscal.ai on Firecrawl Alexandria

Company fundamentals with the record around them: standardized and as-reported statements, ratios, ownership, prices, earnings call transcripts, and what fund letters say about a company.

- Categories: Finance
- Category index: [Finance category](https://firecrawl.dev/alexandria/agents/categories/finance)
- Provider key: `fiscal-ai`
- Access: Firecrawl credits
- Cost: 0–30 credits per call

## More

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

## Capabilities

- [Company profile](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/company/profile): One company, with its listings and its peers.
- [Company directory](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/company/list): One company per row. Free-plan keys receive a single page of free-plan companies. Paginated: the body also carries a `pagination` block with page, pageSize, totalCount, totalPages, hasNextPage and hasPreviousPage.
- [Shares outstanding](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/company/shares-outstanding): Share count as of the latest filing, broken down by class.
- [Segments and KPIs](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/company/segments-and-kpis): The breakdowns beneath the statements: reported segments and the operating KPIs a company discloses.
- [Income statement](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/financials/income-statement): Income statement mapped onto a common schema - revenue, costs and earnings - so figures line up across companies. The dictionary and the periods arrive together as one body; a period's values are keyed by the metric ids in `metrics`.
- [Balance sheet](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/financials/balance-sheet): Balance sheet mapped onto a common schema - assets, liabilities and equity - so figures line up across companies. The dictionary and the periods arrive together as one body; a period's values are keyed by the metric ids in `metrics`.
- [Cash flow statement](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/financials/cash-flow-statement): Cash flow statement mapped onto a common schema - operating, investing and financing cash flows - so figures line up across companies. The dictionary and the periods arrive together as one body; a period's values are keyed by the metric ids in `metrics`.
- [Income statement, as reported](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/financials/income-statement-as-reported): Income statement line items exactly as the company disclosed them - revenue, costs and earnings - under its own labels. The dictionary and the periods arrive together as one body; a period's values are keyed by the metric ids in `metrics`, so neither half is readable alone.
- [Balance sheet, as reported](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/financials/balance-sheet-as-reported): Balance sheet line items exactly as the company disclosed them - assets, liabilities and equity - under its own labels. The dictionary and the periods arrive together as one body; a period's values are keyed by the metric ids in `metrics`, so neither half is readable alone.
- [Cash flow statement, as reported](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/financials/cash-flow-statement-as-reported): Cash flow statement line items exactly as the company disclosed them - operating, investing and financing cash flows - under its own labels. The dictionary and the periods arrive together as one body; a period's values are keyed by the metric ids in `metrics`, so neither half is readable alone.
- [Adjusted metrics](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/financials/adjusted-metrics): The adjusted, non-GAAP figures management presents alongside the statements. Dictionary and periods arrive together, as with the statements themselves.
- [Standardized metrics](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/metrics/standardized): One standardized metric per row, across every reporting template.
- [Standardized metrics by template](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/metrics/standardized-by-template): One metric per row, for one statement under one template. The body also carries the `reportingTemplate` it was asked for.
- [Ratio definitions](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/metrics/ratios-list): One ratio per row.
- [Ratios by period](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/ratios/series): Every supported ratio for a company, per reporting period. Dictionary and periods arrive together as one body, as with the statements.
- [Daily ratio series](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/ratios/daily): One ratio, recomputed for each trading day.
- [Insider holders](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/ownership/insider-holders): One insider per row, with their positions. Paginated: the body also carries a `pagination` block with page, pageSize, totalCount, totalPages, hasNextPage and hasPreviousPage.
- [Insider transactions](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/ownership/insider-transactions): One insider transaction per row. Paginated: the body also carries a `pagination` block with page, pageSize, totalCount, totalPages, hasNextPage and hasPreviousPage.
- [Institutional holders](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/ownership/institutional-holders): One institutional holder per row, for one reported quarter. Paginated: the body also carries a `pagination` block with page, pageSize, totalCount, totalPages, hasNextPage and hasPreviousPage.
- [Holdings by institution](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/ownership/holder-holdings): One position per row, from the holder's side. Paginated: the body also carries a `pagination` block with page, pageSize, totalCount, totalPages, hasNextPage and hasPreviousPage.
- [Institution directory](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/ownership/holders-list): One institution per row. Paginated: the body also carries a `pagination` block with page, pageSize, totalCount, totalPages, hasNextPage and hasPreviousPage.
- [Daily prices](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/prices/daily): Daily bars for one listing, most recent first.
- [Intraday prices](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/prices/intraday): Intraday prices, one entry per trade.
- [Stock splits](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/prices/splits): Every historical split and stock dividend.
- [Company filings](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/filings/list): What the company filed over the last 20 years: annual and interim reports, earnings press releases, current reports and initial registration statements.
- [Earnings calendar](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/events/calendar): One earnings event per row, past and upcoming, sorted by event date. Global unless a company or filter narrows it. Paginated, but not like the other lists here: the body carries a `meta` block rather than a `pagination` block, with page, pageSize, totalCount, returnedCount, hasMore, nextPage (absent on the last page) and publicationVersion.
- [IR event resources](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/events/ir-events): The resources attached to a company's earnings events, one row per resource.
- [Earnings call transcript](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/events/transcript): The structured transcript of one earnings call.
- [Fund letters](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/fund-letters/list): One letter per row. Paginated: the body also carries a `pagination` block with page, pageSize, totalCount, totalPages, hasNextPage and hasPreviousPage.
- [Fund letter](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/fund-letters/detail): One fund letter, extracted.
- [Fund letter investors](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/fund-letters/investors): One firm per row, most covered first. Paginated: the body also carries a `pagination` block with page, pageSize, totalCount, totalPages, hasNextPage and hasPreviousPage.
- [Investor profile](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/fund-letters/investor): One firm's full fund-letters profile.
- [Companies in fund letters](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/fund-letters/companies): One company per row, most written-about first. Paginated: the body also carries a `pagination` block with page, pageSize, totalCount, totalPages, hasNextPage and hasPreviousPage.
- [Theses on a company](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/fund-letters/company): Everything investors' letters say about one company.

## 1. Choose this provider when

Who the company is: the profile, the share count, and the segment and KPI breakdowns it reports beneath the statements. Every capability here takes a company identifier and nothing else, so this is the cheapest rung to resolve a name onto before asking a costlier question.

The three statements, in two views. `standardized` maps line items onto a common schema so two companies can be compared; `as-reported` keeps the company's own line items and headers, which is what you want when the question is what the filing actually said. Adjusted metrics sit here too: the non-GAAP figures management presents alongside them.

The dictionaries behind the statements: which standardized metrics exist, which reporting template each belongs to, and which ratios are computable. Free to call and company-independent - read these to build a request rather than guessing an identifier.

Computed ratios rather than reported figures. The period series covers every ratio at each reporting period; the daily series recomputes one named ratio for each trading day against that day's close, which is the only place here where the grain is a day rather than a fiscal period.

Who holds the company and who is trading it: insider holders and their transactions, and 13F institutional positions. Institutional positions are readable from either end - by company, to see its holders, or by holder, to see its portfolio.

Traded prices and the corporate actions that make a series comparable across time. Daily bars, intraday ticks, and the split history that both are already adjusted for.

What the company filed and when, across SEC and other regulators, for the last 20 years. The list carries a PDF link per filing; the bytes themselves are not retrievable through this catalogue, see the provider page.

Earnings events, before and after they happen: the forward calendar of who reports when, the resources attached to each event once it does, and the structured transcript of the call itself with speakers and sentence timings.

What professional investors write about companies: quarterly, annual and interim letters from hedge funds, mutual funds and partnerships, parsed into a per-company thesis with a stance, a conviction and a position size. Reachable from any end - the letter, the investor, or the company written about.

## 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": "fiscal-ai",
  "capability": "company/profile",
  "options": {
    "ticker": "AAPL"
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`

## 4. Request through your preferred interface

### JavaScript

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

### Python

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

### CLI

```sh
firecrawl scrape 'fiscal-ai/company/profile' \
  --options '{"ticker":"AAPL"}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "fiscal-ai",
  "capability": "company/profile",
  "options": {
    "ticker": "AAPL"
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "fiscal-ai",
  "capability": "company/profile",
  "options": {
    "ticker": "AAPL"
  }
}
```

## 6. Response data

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

```json
{
  "companyFiscalIdentifier": "<companyFiscalIdentifier>",
  "companyKey": "<companyKey>",
  "displayNameEnglish": "<displayNameEnglish>",
  "legalNameEnglish": "<legalNameEnglish>",
  "tradeNameEnglish": "<tradeNameEnglish>",
  "legalNameNative": {},
  "tradeNameNative": {},
  "companyType": "<companyType>",
  "companyStatus": "<companyStatus>",
  "headquartersCountryCode": "<headquartersCountryCode>",
  "headquartersCountryName": "<headquartersCountryName>",
  "headquartersRegion": "<headquartersRegion>",
  "legalDomicileCountryCode": "<legalDomicileCountryCode>",
  "legalDomicileCountryName": "<legalDomicileCountryName>",
  "descriptionShort": "<descriptionShort>",
  "descriptionLong": "<descriptionLong>",
  "chiefExecutiveOfficer": "<chiefExecutiveOfficer>",
  "foundingYear": 0,
  "ipoYear": 0,
  "sector": "<sector>",
  "industryGroup": "<industryGroup>",
  "industry": "<industry>",
  "subIndustry": "<subIndustry>",
  "reportingTemplate": "<reportingTemplate>",
  "cik": "<cik>",
  "marketCapUsd": 0,
  "primaryListing": {},
  "secondaryListings": [],
  "peers": [],
  "companyId": 0,
  "reportingCurrency": "<reportingCurrency>",
  "updatedAt": 0,
  "earningsFilingDate": "<earningsFilingDate>",
  "availableDatasets": [],
  "financialPeriodsAvailable": []
}
```

## API reference-derived contract

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

### Company profile

- Capability: `company/profile`
- Description: One company, with its listings and its peers.
- Instructions: Call first when starting from a company name or ticker: it returns every other identifier, so one call here makes the rest of this provider addressable. Also the only place peers and secondary listings are published.
- Cost: 30 credits per call
- Capability file: [Company profile](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/company/profile)

Accepted options:
- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`

Response schema example:
```json
{
  "companyFiscalIdentifier": "<companyFiscalIdentifier>",
  "companyKey": "<companyKey>",
  "displayNameEnglish": "<displayNameEnglish>",
  "legalNameEnglish": "<legalNameEnglish>",
  "tradeNameEnglish": "<tradeNameEnglish>",
  "legalNameNative": {},
  "tradeNameNative": {},
  "companyType": "<companyType>",
  "companyStatus": "<companyStatus>",
  "headquartersCountryCode": "<headquartersCountryCode>",
  "headquartersCountryName": "<headquartersCountryName>",
  "headquartersRegion": "<headquartersRegion>",
  "legalDomicileCountryCode": "<legalDomicileCountryCode>",
  "legalDomicileCountryName": "<legalDomicileCountryName>",
  "descriptionShort": "<descriptionShort>",
  "descriptionLong": "<descriptionLong>",
  "chiefExecutiveOfficer": "<chiefExecutiveOfficer>",
  "foundingYear": 0,
  "ipoYear": 0,
  "sector": "<sector>",
  "industryGroup": "<industryGroup>",
  "industry": "<industry>",
  "subIndustry": "<subIndustry>",
  "reportingTemplate": "<reportingTemplate>",
  "cik": "<cik>",
  "marketCapUsd": 0,
  "primaryListing": {},
  "secondaryListings": [],
  "peers": [],
  "companyId": 0,
  "reportingCurrency": "<reportingCurrency>",
  "updatedAt": 0,
  "earningsFilingDate": "<earningsFilingDate>",
  "availableDatasets": [],
  "financialPeriodsAvailable": []
}
```

### Company directory

- Capability: `company/list`
- Description: One company per row. Free-plan keys receive a single page of free-plan companies. Paginated: the body also carries a `pagination` block with page, pageSize, totalCount, totalPages, hasNextPage and hasPreviousPage.
- Instructions: Call to discover what is covered, or to resolve names to identifiers when you do not already have a ticker. Check the per-company dataset list before assuming a costlier capability will answer for it.
- Cost: 0 credits per call
- Capability file: [Company directory](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/company/list)

Accepted options:
- `pageNumber` (number): Page number, 1-indexed. Example: `1`
- `compact` (boolean): Return a slimmer row: fewer descriptors per company, for when the list is only being used to resolve identifiers. Example: `false`

Response schema example:
```json
{
  "data": [
    {
      "companyFiscalIdentifier": "<companyFiscalIdentifier>",
      "companyKey": "<companyKey>",
      "displayNameEnglish": "<displayNameEnglish>",
      "legalNameEnglish": "<legalNameEnglish>",
      "tradeNameEnglish": "<tradeNameEnglish>",
      "legalNameNative": {},
      "tradeNameNative": {},
      "companyType": "<companyType>",
      "companyStatus": "<companyStatus>",
      "headquartersCountryCode": "<headquartersCountryCode>",
      "headquartersCountryName": "<headquartersCountryName>",
      "headquartersRegion": "<headquartersRegion>",
      "legalDomicileCountryCode": "<legalDomicileCountryCode>",
      "legalDomicileCountryName": "<legalDomicileCountryName>",
      "sector": "<sector>",
      "industryGroup": "<industryGroup>",
      "industry": "<industry>",
      "subIndustry": "<subIndustry>",
      "reportingTemplate": "<reportingTemplate>",
      "cik": "<cik>",
      "marketCapUsd": 0,
      "primaryListing": {},
      "companyId": 0,
      "reportingCurrency": "<reportingCurrency>",
      "updatedAt": 0,
      "earningsFilingDate": "<earningsFilingDate>",
      "availableDatasets": []
    }
  ]
}
```

### Shares outstanding

- Capability: `company/shares-outstanding`
- Description: Share count as of the latest filing, broken down by class.
- Instructions: Call when a per-share figure has to be computed, or when a dual-class structure means the headline share count is misleading. Point-in-time, not a series.
- Cost: 30 credits per call
- Capability file: [Shares outstanding](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/company/shares-outstanding)

Accepted options:
- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`

Response schema example:
```json
[
  {
    "date": "<date>",
    "totalSharesOutstanding": 0,
    "ordinaryTotalSharesOutstanding": 0,
    "shareClasses": []
  }
]
```

### Segments and KPIs

- Capability: `company/segments-and-kpis`
- Description: The breakdowns beneath the statements: reported segments and the operating KPIs a company discloses.
- Instructions: Call for the numbers a business is actually run on - segment revenue, units, subscribers - which never reach the three statements. Coverage is narrower than for financials, and varies by company.
- Cost: 30 credits per call
- Capability file: [Segments and KPIs](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/company/segments-and-kpis)

Accepted options:
- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`
- `periodType` (string): Comma-separated period filter: annual, quarterly, semi-annual, ltm, ytd, latest. Defaults to annual. Example: `annual`
- `currency` (string): ISO 4217 code to convert into, for example USD or EUR. Defaults to the company's own reporting currency, and the response carries the rate that was applied. Example: `<currency>`

Response schema example:
```json
{
  "reportingCurrency": "<reportingCurrency>",
  "currency": "<currency>",
  "metrics": [],
  "segmentGroups": [],
  "data": []
}
```

### Income statement

- Capability: `financials/income-statement`
- Description: Income statement mapped onto a common schema - revenue, costs and earnings - so figures line up across companies. The dictionary and the periods arrive together as one body; a period's values are keyed by the metric ids in `metrics`.
- Instructions: Call when comparing companies, screening, or computing anything that has to mean the same thing across two filers. The mapping is visible: each standardized metric names the as-reported lines behind it, so a surprising figure can be traced rather than trusted.
- Cost: 15 credits per call
- Capability file: [Income statement](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/financials/income-statement)

Accepted options:
- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`
- `periodType` (string): Comma-separated period filter: annual, quarterly, semi-annual, ltm, ytd, latest. Defaults to annual. Example: `annual`
- `currency` (string): ISO 4217 code to convert into, for example USD or EUR. Defaults to the company's own reporting currency, and the response carries the rate that was applied. Example: `<currency>`
- `includeReportingTemplates` (boolean): Include which reporting templates each standardized metric belongs to. Example: `false`
- `includeMappingAlternatives` (boolean): Include the alternative as-reported line items that could have mapped to each standardized metric, which is how a mapping decision is audited. Example: `false`

Response schema example:
```json
{
  "reportingTemplate": "<reportingTemplate>",
  "metrics": [],
  "data": []
}
```

### Balance sheet

- Capability: `financials/balance-sheet`
- Description: Balance sheet mapped onto a common schema - assets, liabilities and equity - so figures line up across companies. The dictionary and the periods arrive together as one body; a period's values are keyed by the metric ids in `metrics`.
- Instructions: Call when comparing companies, screening, or computing anything that has to mean the same thing across two filers. The mapping is visible: each standardized metric names the as-reported lines behind it, so a surprising figure can be traced rather than trusted.
- Cost: 15 credits per call
- Capability file: [Balance sheet](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/financials/balance-sheet)

Accepted options:
- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`
- `periodType` (string): Comma-separated period filter: annual, quarterly, semi-annual, ltm, ytd, latest. Defaults to annual. Example: `annual`
- `currency` (string): ISO 4217 code to convert into, for example USD or EUR. Defaults to the company's own reporting currency, and the response carries the rate that was applied. Example: `<currency>`
- `includeReportingTemplates` (boolean): Include which reporting templates each standardized metric belongs to. Example: `false`
- `includeMappingAlternatives` (boolean): Include the alternative as-reported line items that could have mapped to each standardized metric, which is how a mapping decision is audited. Example: `false`

Response schema example:
```json
{
  "reportingTemplate": "<reportingTemplate>",
  "metrics": [],
  "data": []
}
```

### Cash flow statement

- Capability: `financials/cash-flow-statement`
- Description: Cash flow statement mapped onto a common schema - operating, investing and financing cash flows - so figures line up across companies. The dictionary and the periods arrive together as one body; a period's values are keyed by the metric ids in `metrics`.
- Instructions: Call when comparing companies, screening, or computing anything that has to mean the same thing across two filers. The mapping is visible: each standardized metric names the as-reported lines behind it, so a surprising figure can be traced rather than trusted.
- Cost: 15 credits per call
- Capability file: [Cash flow statement](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/financials/cash-flow-statement)

Accepted options:
- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`
- `periodType` (string): Comma-separated period filter: annual, quarterly, semi-annual, ltm, ytd, latest. Defaults to annual. Example: `annual`
- `currency` (string): ISO 4217 code to convert into, for example USD or EUR. Defaults to the company's own reporting currency, and the response carries the rate that was applied. Example: `<currency>`
- `includeReportingTemplates` (boolean): Include which reporting templates each standardized metric belongs to. Example: `false`
- `includeMappingAlternatives` (boolean): Include the alternative as-reported line items that could have mapped to each standardized metric, which is how a mapping decision is audited. Example: `false`

Response schema example:
```json
{
  "reportingTemplate": "<reportingTemplate>",
  "metrics": [],
  "data": []
}
```

### Income statement, as reported

- Capability: `financials/income-statement-as-reported`
- Description: Income statement line items exactly as the company disclosed them - revenue, costs and earnings - under its own labels. The dictionary and the periods arrive together as one body; a period's values are keyed by the metric ids in `metrics`, so neither half is readable alone.
- Instructions: Call when fidelity to the filing matters more than comparability: the labels and groupings are the company's own, so two companies cannot be lined up against each other. Use the standardized view for that. Each value carries a link back to the filing page it came from.
- Cost: 30 credits per call
- Capability file: [Income statement, as reported](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/financials/income-statement-as-reported)

Accepted options:
- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`
- `periodType` (string): Comma-separated period filter: annual, quarterly, semi-annual, ltm, ytd, latest. Defaults to annual. Example: `annual`
- `currency` (string): ISO 4217 code to convert into, for example USD or EUR. Defaults to the company's own reporting currency, and the response carries the rate that was applied. Example: `<currency>`

Response schema example:
```json
{
  "metrics": [],
  "data": []
}
```

### Balance sheet, as reported

- Capability: `financials/balance-sheet-as-reported`
- Description: Balance sheet line items exactly as the company disclosed them - assets, liabilities and equity - under its own labels. The dictionary and the periods arrive together as one body; a period's values are keyed by the metric ids in `metrics`, so neither half is readable alone.
- Instructions: Call when fidelity to the filing matters more than comparability: the labels and groupings are the company's own, so two companies cannot be lined up against each other. Use the standardized view for that. Each value carries a link back to the filing page it came from.
- Cost: 30 credits per call
- Capability file: [Balance sheet, as reported](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/financials/balance-sheet-as-reported)

Accepted options:
- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`
- `periodType` (string): Comma-separated period filter: annual, quarterly, semi-annual, ltm, ytd, latest. Defaults to annual. Example: `annual`
- `currency` (string): ISO 4217 code to convert into, for example USD or EUR. Defaults to the company's own reporting currency, and the response carries the rate that was applied. Example: `<currency>`

Response schema example:
```json
{
  "metrics": [],
  "data": []
}
```

### Cash flow statement, as reported

- Capability: `financials/cash-flow-statement-as-reported`
- Description: Cash flow statement line items exactly as the company disclosed them - operating, investing and financing cash flows - under its own labels. The dictionary and the periods arrive together as one body; a period's values are keyed by the metric ids in `metrics`, so neither half is readable alone.
- Instructions: Call when fidelity to the filing matters more than comparability: the labels and groupings are the company's own, so two companies cannot be lined up against each other. Use the standardized view for that. Each value carries a link back to the filing page it came from.
- Cost: 30 credits per call
- Capability file: [Cash flow statement, as reported](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/financials/cash-flow-statement-as-reported)

Accepted options:
- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`
- `periodType` (string): Comma-separated period filter: annual, quarterly, semi-annual, ltm, ytd, latest. Defaults to annual. Example: `annual`
- `currency` (string): ISO 4217 code to convert into, for example USD or EUR. Defaults to the company's own reporting currency, and the response carries the rate that was applied. Example: `<currency>`

Response schema example:
```json
{
  "metrics": [],
  "data": []
}
```

### Adjusted metrics

- Capability: `financials/adjusted-metrics`
- Description: The adjusted, non-GAAP figures management presents alongside the statements. Dictionary and periods arrive together, as with the statements themselves.
- Instructions: Call when comparing against analyst estimates or consensus, which are quoted on an adjusted basis rather than a GAAP one. Not a substitute for the statements: these are management's adjustments, and the exclusions are theirs.
- Cost: 30 credits per call
- Capability file: [Adjusted metrics](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/financials/adjusted-metrics)

Accepted options:
- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`
- `periodType` (string): Comma-separated period filter: annual, quarterly, semi-annual, ltm, ytd, latest. Defaults to annual. Example: `annual`
- `currency` (string): ISO 4217 code to convert into, for example USD or EUR. Defaults to the company's own reporting currency, and the response carries the rate that was applied. Example: `<currency>`

Response schema example:
```json
{
  "metrics": [],
  "data": []
}
```

### Standardized metrics

- Capability: `metrics/standardized`
- Description: One standardized metric per row, across every reporting template.
- Instructions: Call to find the standardized metric id for a concept before requesting statements, rather than guessing at a name. Free, and takes no company.
- Cost: 0 credits per call
- Capability file: [Standardized metrics](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/metrics/standardized)

Accepted options:

Response schema example:
```json
{
  "metrics": [
    {
      "standardizedMetricId": "<standardizedMetricId>",
      "metricName": "<metricName>",
      "metricFormat": "<metricFormat>",
      "statementType": "<statementType>",
      "isPointInTime": false,
      "isCurrency": false,
      "headers": [],
      "reportingTemplates": []
    }
  ]
}
```

### Standardized metrics by template

- Capability: `metrics/standardized-by-template`
- Description: One metric per row, for one statement under one template. The body also carries the `reportingTemplate` it was asked for.
- Instructions: Call rather than the full list when the template is already known - it is the only place the prose definition and the sub-component breakdown of each metric are published, which is what settles what a line actually includes.
- Cost: 0 credits per call
- Capability file: [Standardized metrics by template](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/metrics/standardized-by-template)

Accepted options:
- `templateType` (string, required): Reporting template, for example `standard`. A company's template is on its profile. Example: `<templateType>`
- `statementType` (string, required): Which statement to list metrics for. Example: `income-statement`

Response schema example:
```json
{
  "metrics": [
    {
      "standardizedMetricId": "<standardizedMetricId>",
      "metricName": "<metricName>",
      "metricFormat": "<metricFormat>",
      "isPointInTime": false,
      "isCurrency": false,
      "isTotal": false,
      "headers": [],
      "definition": "<definition>",
      "subComponents": []
    }
  ]
}
```

### Ratio definitions

- Capability: `metrics/ratios-list`
- Description: One ratio per row.
- Instructions: Call to find a ratio id before requesting a series, and to check `hasDailyData` before asking for a daily one - not every ratio has it.
- Cost: 0 credits per call
- Capability file: [Ratio definitions](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/metrics/ratios-list)

Accepted options:

Response schema example:
```json
[
  {
    "ratioId": "<ratioId>",
    "metricName": "<metricName>",
    "metricFormat": "<metricFormat>",
    "isCurrency": false,
    "category": "<category>",
    "hasDailyData": false,
    "formulaHuman": "<formulaHuman>"
  }
]
```

### Ratios by period

- Capability: `ratios/series`
- Description: Every supported ratio for a company, per reporting period. Dictionary and periods arrive together as one body, as with the statements.
- Instructions: Call for valuation, margin and leverage ratios already computed against the reported statements, rather than recomputing them from financials and risking a different denominator.
- Cost: 15 credits per call
- Capability file: [Ratios by period](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/ratios/series)

Accepted options:
- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`
- `periodType` (string): Comma-separated period filter: annual, quarterly, semi-annual, ltm, ytd, latest. Defaults to annual. Example: `annual`
- `currency` (string): ISO 4217 code to convert into, for example USD or EUR. Defaults to the company's own reporting currency, and the response carries the rate that was applied. Example: `<currency>`
- `ratioId` (string): Restrict to one ratio by id. Omit for every supported ratio. Ids come from metrics/ratios-list. Example: `<ratioId>`

Response schema example:
```json
{
  "metrics": [],
  "data": []
}
```

### Daily ratio series

- Capability: `ratios/daily`
- Description: One ratio, recomputed for each trading day.
- Instructions: Call when the question is how a ratio moved between reporting dates rather than what it was at them. Each day is recomputed against that day's close and the then-current fundamentals, so it is a real series, not a step function.
- Cost: 15 credits per call
- Capability file: [Daily ratio series](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/ratios/daily)

Accepted options:
- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`
- `ratioId` (string, required): Which ratio to return a daily series for. Only ratios whose `hasDailyData` is true have one. Example: `<ratioId>`
- `currency` (string): ISO 4217 code to convert into, for example USD or EUR. Defaults to the company's own reporting currency, and the response carries the rate that was applied. Example: `<currency>`

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

### Insider holders

- Capability: `ownership/insider-holders`
- Description: One insider per row, with their positions. Paginated: the body also carries a `pagination` block with page, pageSize, totalCount, totalPages, hasNextPage and hasPreviousPage.
- Instructions: Call for the current standing position of officers and directors, including holdings held through trusts and other vehicles. Use insider-transactions for what they have been doing rather than what they hold.
- Cost: 15 credits per call
- Capability file: [Insider holders](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/ownership/insider-holders)

Accepted options:
- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`
- `includeInactive` (boolean): Include holders marked inactive. Hidden by default; holders removed by an analyst override stay hidden either way. Example: `false`
- `pageNumber` (number): Page number, 1-indexed. Example: `1`
- `pageSize` (number): Rows per page, up to 250. Defaults to 250; page for more. Example: `250`

Response schema example:
```json
{
  "data": [
    {
      "holderId": "<holderId>",
      "holderName": "<holderName>",
      "cik": "<cik>",
      "title": "<title>",
      "relationship": [],
      "isActive": false,
      "sharesHeldTotal": 0,
      "valueTotal": 0,
      "percentOfSharesOutstanding": 0,
      "currency": "<currency>",
      "holdings": []
    }
  ]
}
```

### Insider transactions

- Capability: `ownership/insider-transactions`
- Description: One insider transaction per row. Paginated: the body also carries a `pagination` block with page, pageSize, totalCount, totalPages, hasNextPage and hasPreviousPage.
- Instructions: Call to see insider activity over time. Read `transactionType` before drawing conclusions: an option exercise or a tax withholding is not a market sale, and they sit in the same series.
- Cost: 15 credits per call
- Capability file: [Insider transactions](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/ownership/insider-transactions)

Accepted options:
- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`
- `includeInactive` (boolean): Include holders marked inactive. Hidden by default; holders removed by an analyst override stay hidden either way. Example: `false`
- `pageNumber` (number): Page number, 1-indexed. Example: `1`
- `pageSize` (number): Rows per page, up to 250. Defaults to 250; page for more. Example: `250`

Response schema example:
```json
{
  "data": [
    {
      "holderId": "<holderId>",
      "holderName": "<holderName>",
      "filingDate": "<filingDate>",
      "relationship": [],
      "title": "<title>",
      "transactionDate": "<transactionDate>",
      "transactionType": "<transactionType>",
      "acquiredDisposed": "<acquiredDisposed>",
      "shares": 0,
      "priceLow": 0,
      "priceHigh": 0,
      "transactionValue": 0,
      "currency": "<currency>",
      "sharesAfter": 0,
      "securityName": "<securityName>",
      "sources": []
    }
  ]
}
```

### Institutional holders

- Capability: `ownership/institutional-holders`
- Description: One institutional holder per row, for one reported quarter. Paginated: the body also carries a `pagination` block with page, pageSize, totalCount, totalPages, hasNextPage and hasPreviousPage.
- Instructions: Call to see who institutionally owns a company and who moved last quarter. 13F data lags: the report date is the quarter end, the filing date is up to 45 days later, and both are returned so the lag is visible.
- Cost: 15 credits per call
- Capability file: [Institutional holders](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/ownership/institutional-holders)

Accepted options:
- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`
- `year` (number): Calendar year of the reported quarter. Defaults to the latest reported. Example: `10`
- `quarter` (number): Quarter, 1 to 4. Pass with `year` to read a historical position rather than the latest. Example: `10`
- `pageNumber` (number): Page number, 1-indexed. Example: `1`
- `pageSize` (number): Rows per page, up to 250. Defaults to 250; page for more. Example: `250`

Response schema example:
```json
{
  "data": [
    {
      "holderId": "<holderId>",
      "holderName": "<holderName>",
      "cik": "<cik>",
      "reportDate": "<reportDate>",
      "filingDate": "<filingDate>",
      "shares": 0,
      "currency": "<currency>",
      "value": 0,
      "sharesChange": 0,
      "sharesChangePercent": 0,
      "valueChange": 0,
      "percentOfSharesOutstanding": 0,
      "sources": []
    }
  ]
}
```

### Holdings by institution

- Capability: `ownership/holder-holdings`
- Description: One position per row, from the holder's side. Paginated: the body also carries a `pagination` block with page, pageSize, totalCount, totalPages, hasNextPage and hasPreviousPage.
- Instructions: Call to read ownership from the investor's end rather than the company's - what a fund holds and how it is weighted. The counterpart to institutional-holders, over the same 13F data.
- Cost: 15 credits per call
- Capability file: [Holdings by institution](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/ownership/holder-holdings)

Accepted options:
- `holderId` (string, required): Institutional holder id, from ownership/holders-list or an institutional-holders row. Example: `<holderId>`
- `year` (number): Calendar year of the reported quarter. Defaults to the latest reported. Example: `10`
- `quarter` (number): Quarter, 1 to 4. Example: `10`
- `pageNumber` (number): Page number, 1-indexed. Example: `1`
- `pageSize` (number): Rows per page, up to 250. Defaults to 250; page for more. Example: `250`

Response schema example:
```json
{
  "data": [
    {
      "holderId": "<holderId>",
      "holdingType": "<holdingType>",
      "company": {},
      "fund": {},
      "reportDate": "<reportDate>",
      "filingDate": "<filingDate>",
      "shares": 0,
      "currency": "<currency>",
      "value": 0,
      "sharesChange": 0,
      "sharesChangePercent": 0,
      "valueChange": 0,
      "percentOfPortfolio": 0,
      "sources": []
    }
  ]
}
```

### Institution directory

- Capability: `ownership/holders-list`
- Description: One institution per row. Paginated: the body also carries a `pagination` block with page, pageSize, totalCount, totalPages, hasNextPage and hasPreviousPage.
- Instructions: Call to resolve an institution's name to the holder id that ownership/holder-holdings needs. Free, and takes no company.
- Cost: 0 credits per call
- Capability file: [Institution directory](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/ownership/holders-list)

Accepted options:
- `pageNumber` (number): Page number, 1-indexed. Example: `1`
- `pageSize` (number): Rows per page, up to 250. Defaults to 250; page for more. Example: `250`

Response schema example:
```json
{
  "data": [
    {
      "holderId": "<holderId>",
      "holderName": "<holderName>",
      "cik": "<cik>"
    }
  ]
}
```

### Daily prices

- Capability: `prices/daily`
- Description: Daily bars for one listing, most recent first.
- Instructions: Call for a daily close series. Prices are split-adjusted already, so no correction against prices/splits is needed; the series is per listing, so a cross-listed company answers in whichever listing the identifier denoted.
- Cost: 15 credits per call
- Capability file: [Daily prices](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/prices/daily)

Accepted options:
- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`
- `startDate` (string): Inclusive start date, ISO 8601. Example: `<startDate>`
- `endDate` (string): Inclusive end date, ISO 8601. Example: `<endDate>`
- `latest` (boolean): Return only the most recent bar, ignoring the date window. Example: `false`

Response schema example:
```json
{
  "listingFiscalIdentifier": "<listingFiscalIdentifier>",
  "ticker": "<ticker>",
  "exchangeCode": "<exchangeCode>",
  "tradingCurrency": "<tradingCurrency>",
  "tradingStatus": "<tradingStatus>",
  "segmentMic": "<segmentMic>",
  "operatingMic": "<operatingMic>",
  "prices": []
}
```

### Intraday prices

- Capability: `prices/intraday`
- Description: Intraday prices, one entry per trade.
- Instructions: Call when the question is about movement within a session - a reaction to an announcement, say. Rounded to two decimals, so it is not a tick feed for execution purposes.
- Cost: 15 credits per call
- Capability file: [Intraday prices](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/prices/intraday)

Accepted options:
- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`
- `startDate` (string): Inclusive start date, ISO 8601. Example: `<startDate>`
- `endDate` (string): Inclusive end date, ISO 8601. Example: `<endDate>`

Response schema example:
```json
[
  {
    "datetime": "<datetime>",
    "price": 0
  }
]
```

### Stock splits

- Capability: `prices/splits`
- Description: Every historical split and stock dividend.
- Instructions: Call to explain a discontinuity, or to reconcile against a price series from elsewhere that is not split-adjusted. The series returned by prices/daily already is, so this is not needed to correct it.
- Cost: 15 credits per call
- Capability file: [Stock splits](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/prices/splits)

Accepted options:
- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`

Response schema example:
```json
[
  {
    "announceDate": "<announceDate>",
    "recordDate": "<recordDate>",
    "exDate": "<exDate>",
    "payDate": "<payDate>",
    "splitType": "<splitType>",
    "rate": 0
  }
]
```

### Company filings

- Capability: `filings/list`
- Description: What the company filed over the last 20 years: annual and interim reports, earnings press releases, current reports and initial registration statements.
- Instructions: Call to find out what exists and when it was filed, and to get the document links. The filing bytes themselves are not retrievable through this provider - see its page for why - so treat `pdfUrl` as a handoff.
- Cost: 15 credits per call
- Capability file: [Company filings](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/filings/list)

Accepted options:
- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`

Response schema example:
```json
[
  {
    "filingId": "<filingId>",
    "documentType": "<documentType>",
    "secFormType": "<secFormType>",
    "secExhibitType": "<secExhibitType>",
    "filingDate": "<filingDate>",
    "reportDate": "<reportDate>",
    "fiscalYear": 0,
    "fiscalQuarter": 0,
    "pdfUrl": "<pdfUrl>",
    "sourceUrl": "<sourceUrl>"
  }
]
```

### Earnings calendar

- Capability: `events/calendar`
- Description: One earnings event per row, past and upcoming, sorted by event date. Global unless a company or filter narrows it. Paginated, but not like the other lists here: the body carries a `meta` block rather than a `pagination` block, with page, pageSize, totalCount, returnedCount, hasMore, nextPage (absent on the last page) and publicationVersion.
- Instructions: Call to answer who reports when. Omit every company identifier for the whole calendar, which is what makes this the one capability here that answers a question not about a specific company. Read `eventStatus` before relying on a date - an estimated one moves.
- Cost: 15 credits per call
- Capability file: [Earnings calendar](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/events/calendar)

Accepted options:
- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`
- `country` (string): ISO country code of the headquarters, to restrict the calendar by geography. Example: `<country>`
- `sector` (string): GICS sector, to restrict the calendar by industry. Example: `<sector>`
- `startDate` (string): Inclusive start of the event window, ISO 8601. Example: `<startDate>`
- `endDate` (string): Inclusive end of the event window, ISO 8601. Example: `<endDate>`
- `status` (string): Restrict by event status: confirmed, estimated, projected or reported. See `eventStatus` for what each means. Example: `<status>`
- `page` (number): Page number, 1-indexed. Spelled `page` here, where every other Fiscal.ai list takes `pageNumber`. Example: `1`
- `pageSize` (number): Rows per page, up to 250. Defaults to 250; page for more. Example: `250`

Response schema example:
```json
{
  "data": [
    {
      "companyFiscalIdentifier": "<companyFiscalIdentifier>",
      "companyKey": "<companyKey>",
      "displayNameEnglish": "<displayNameEnglish>",
      "sector": "<sector>",
      "headquartersCountryCode": "<headquartersCountryCode>",
      "marketCapUsd": 0,
      "primaryListing": {},
      "eventType": "<eventType>",
      "eventRole": "<eventRole>",
      "title": "<title>",
      "fiscalYear": 0,
      "fiscalQuarter": 0,
      "periodLabel": "<periodLabel>",
      "periodType": "<periodType>",
      "periodDuration": {},
      "reportDate": "<reportDate>",
      "eventStatus": "<eventStatus>",
      "eventDate": "<eventDate>",
      "dateWindow": {},
      "eventSession": "<eventSession>",
      "eventTime": "<eventTime>",
      "eventTimezone": "<eventTimezone>",
      "eventDatetimeUtc": "<eventDatetimeUtc>",
      "eventId": "<eventId>",
      "eventGroupId": "<eventGroupId>"
    }
  ]
}
```

### IR event resources

- Capability: `events/ir-events`
- Description: The resources attached to a company's earnings events, one row per resource.
- Instructions: Call to find what exists for a quarter before asking for any of it - the deck, the release, the report, the transcript. Rows sharing a fiscal year and quarter are one event, so group on that pair rather than on the date.
- Cost: 30 credits per call
- Capability file: [IR event resources](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/events/ir-events)

Accepted options:
- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`

Response schema example:
```json
[
  {
    "eventType": "<eventType>",
    "eventDate": "<eventDate>",
    "fiscalYear": 0,
    "fiscalQuarter": 0,
    "resourceType": "<resourceType>",
    "role": "<role>",
    "resourceId": "<resourceId>",
    "url": "<url>"
  }
]
```

### Earnings call transcript

- Capability: `events/transcript`
- Description: The structured transcript of one earnings call.
- Instructions: Call for what was said on the call, attributed and timed. The speaker mapping is what makes it worth more than the raw text: management's prepared remarks and an analyst's question can be told apart, and the Q&A boundary is given rather than guessed.
- Cost: 30 credits per call
- Capability file: [Earnings call transcript](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/events/transcript)

Accepted options:
- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`
- `eventKey` (string, required): The q{quarter}-{year} key of the event, for example q3-2026, from the events/ir-events list. Example: `<eventKey>`

Response schema example:
```json
{
  "event": {},
  "speakers": [],
  "transcript": {},
  "sections": {},
  "stats": {}
}
```

### Fund letters

- Capability: `fund-letters/list`
- Description: One letter per row. Paginated: the body also carries a `pagination` block with page, pageSize, totalCount, totalPages, hasNextPage and hasPreviousPage.
- Instructions: Call to see what was published in a quarter. Returns the letter index rather than the letters - take a letterId to fund-letters/detail for the content.
- Cost: 15 credits per call
- Capability file: [Fund letters](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/fund-letters/list)

Accepted options:
- `year` (number, required): Calendar year of the reporting period, 2020 or later. Upstream refuses the call without it. Example: `10`
- `quarter` (number): Quarter, 1 to 4. Omit for the whole year. Example: `10`
- `investorId` (string): Restrict to one investment firm, by id from fund-letters/investors. Example: `<investorId>`
- `fundId` (string): Restrict to one fund, by id. Example: `<fundId>`
- `pageNumber` (number): Page number, 1-indexed. Example: `1`
- `pageSize` (number): Rows per page, up to 250. Defaults to 250; page for more. Example: `250`

Response schema example:
```json
{
  "data": [
    {
      "letterId": "<letterId>",
      "investorId": "<investorId>",
      "fundId": "<fundId>",
      "investorName": "<investorName>",
      "fundName": "<fundName>",
      "fundType": "<fundType>",
      "title": "<title>",
      "reportPeriod": "<reportPeriod>",
      "reportPeriodYear": 0,
      "reportPeriodQuarter": 0,
      "reportPeriodType": "<reportPeriodType>",
      "periodLabel": "<periodLabel>",
      "publicationDate": "<publicationDate>",
      "letterType": "<letterType>",
      "thesisCount": 0,
      "keyTopics": [],
      "companyKeys": [],
      "companyTickers": []
    }
  ]
}
```

### Fund letter

- Capability: `fund-letters/detail`
- Description: One fund letter, extracted.
- Instructions: Call for what one letter actually argued. The narrative sections are the investor's own words; the theses are the extraction, and each names what it was based on so a thin mention is not mistaken for a conviction.
- Cost: 15 credits per call
- Capability file: [Fund letter](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/fund-letters/detail)

Accepted options:
- `letterId` (string, required): Letter id, from fund-letters/list. Example: `<letterId>`

Response schema example:
```json
{
  "letterId": "<letterId>",
  "investor": {},
  "fund": {},
  "reportPeriod": "<reportPeriod>",
  "publicationDate": "<publicationDate>",
  "letterType": "<letterType>",
  "marketBackdrop": "<marketBackdrop>",
  "portfolioPositioning": "<portfolioPositioning>",
  "performanceSummary": "<performanceSummary>",
  "performanceFigures": [],
  "theses": [],
  "keyTopics": [],
  "reportPeriodYear": 0,
  "reportPeriodQuarter": 0,
  "reportPeriodType": "<reportPeriodType>",
  "periodLabel": "<periodLabel>",
  "title": "<title>"
}
```

### Fund letter investors

- Capability: `fund-letters/investors`
- Description: One firm per row, most covered first. Paginated: the body also carries a `pagination` block with page, pageSize, totalCount, totalPages, hasNextPage and hasPreviousPage.
- Instructions: Call to find the investorId for a firm, or to pick firms by style or sector focus before reading any letters. Sorted by coverage, so the most-covered firms come first.
- Cost: 15 credits per call
- Capability file: [Fund letter investors](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/fund-letters/investors)

Accepted options:
- `pageNumber` (number): Page number, 1-indexed. Example: `1`
- `pageSize` (number): Rows per page, up to 250. Defaults to 250; page for more. Example: `250`

Response schema example:
```json
{
  "data": [
    {
      "investorId": "<investorId>",
      "investorName": "<investorName>",
      "investorType": "<investorType>",
      "fundCount": 0,
      "letterCount": 0,
      "companyCount": 0,
      "thesisCount": 0,
      "firstPeriod": "<firstPeriod>",
      "latestPeriod": "<latestPeriod>",
      "styleTags": [],
      "sectorFocus": [],
      "geographicFocus": [],
      "principalNames": []
    }
  ]
}
```

### Investor profile

- Capability: `fund-letters/investor`
- Description: One firm's full fund-letters profile.
- Instructions: Call to understand how a firm invests before weighting what it says about a company. The profile is derived from its own letters rather than from marketing material.
- Cost: 15 credits per call
- Capability file: [Investor profile](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/fund-letters/investor)

Accepted options:
- `investorId` (string, required): Investor id, from fund-letters/investors. Permanent. Example: `<investorId>`

Response schema example:
```json
{
  "investor": {},
  "profile": {},
  "stats": {},
  "funds": [],
  "letters": []
}
```

### Companies in fund letters

- Capability: `fund-letters/companies`
- Description: One company per row, most written-about first. Paginated: the body also carries a `pagination` block with page, pageSize, totalCount, totalPages, hasNextPage and hasPreviousPage.
- Instructions: Call to find which companies professional investors are actually writing about, and how heavily, before asking what they said.
- Cost: 15 credits per call
- Capability file: [Companies in fund letters](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/fund-letters/companies)

Accepted options:
- `pageNumber` (number): Page number, 1-indexed. Example: `1`
- `pageSize` (number): Rows per page, up to 250. Defaults to 250; page for more. Example: `250`

Response schema example:
```json
{
  "data": [
    {
      "companyFiscalIdentifier": "<companyFiscalIdentifier>",
      "companyKey": "<companyKey>",
      "displayNameEnglish": "<displayNameEnglish>",
      "sector": "<sector>",
      "industryGroup": "<industryGroup>",
      "industry": "<industry>",
      "subIndustry": "<subIndustry>",
      "headquartersCountryCode": "<headquartersCountryCode>",
      "headquartersCountryName": "<headquartersCountryName>",
      "marketCapUsd": 0,
      "primaryListing": {},
      "letterCount": 0,
      "investorCount": 0,
      "fundCount": 0,
      "firstPeriod": "<firstPeriod>",
      "latestPeriod": "<latestPeriod>"
    }
  ]
}
```

### Theses on a company

- Capability: `fund-letters/company`
- Description: Everything investors' letters say about one company.
- Instructions: Call for the qualitative case on a company as professional investors put it, with the stance and conviction attached. The one capability here that answers what people think rather than what was reported.
- Cost: 15 credits per call
- Capability file: [Theses on a company](https://firecrawl.dev/alexandria/agents/providers/fiscal-ai/fund-letters/company)

Accepted options:
- `fscl` (string): Fiscal.ai's stable company identifier, the `companyFiscalIdentifier` field. The only identifier that survives a ticker change or a relisting, so prefer it when carrying a company between calls. Example: `<fscl>`
- `companyKey` (string): Exchange and ticker joined by an underscore: `NASDAQ_MSFT` for US and Canadian listings, or MIC code and ticker elsewhere, as in `XWAR_PKN`. Example: `NASDAQ_MSFT`
- `ticker` (string): Ticker symbol, for example MSFT. Only unique within an exchange, so pass `exchange` with it. Example: `AAPL`
- `exchange` (string): Exchange code for `ticker`, for example NASDAQ, or a MIC code for a non-US/CA listing. Example: `<exchange>`
- `cusip` (string): CUSIP of the security. Licensed identifier. Example: `<cusip>`
- `isin` (string): ISIN of the security. Licensed identifier. Example: `<isin>`
- `figi` (string): OpenFIGI identifier of the security. Licensed identifier. Example: `<figi>`
- `cik` (string): SEC Central Index Key. Use when a company has no ticker, or after a rename. Example: `<cik>`

Response schema example:
```json
{
  "company": {},
  "stats": {},
  "theses": []
}
```
