Skip to content

API Reference

Main Clients

Sync Client

FMPDataClient

Bases: BaseClient

Main client for FMP Data API

alternative property

Get or create the alternative markets client instance

batch property

Get or create the batch data client instance

company property

Get or create the company client instance

economics property

Get or create the economics data client instance

fundamental property

Get or create the fundamental client instance

index property

Get or create the index constituents client instance

institutional property

Get or create the institutional activity client instance

intelligence property

Get or create the market intelligence client instance

investment property

Get or create the investment products client instance

logger deletable property writable

Get the logger instance, creating one if needed

market property

Get or create the market data client instance

sec property

Get or create the SEC filings client instance

technical property

Get or create the technical analysis client instance

transcripts property

Get or create the transcripts client instance

__aenter__() async

Async context manager enter

__aexit__(exc_type, exc_val, exc_tb) async

Async context manager exit - closes all client resources

__del__()

Destructor that ensures resources are cleaned up

__enter__()

Context manager enter

__exit__(exc_type, exc_val, exc_tb)

Context manager exit

Parameters:

Name Type Description Default
exc_type type[BaseException] | None

Exception type if an error occurred

required
exc_val BaseException | None

Exception value if an error occurred

required
exc_tb TracebackType | None

Exception traceback if an error occurred

required

aclose() async

Clean up all resources (both async and sync clients).

This is the recommended cleanup method when using async methods.

close()

Clean up sync resources.

Note: If you've used async methods, call aclose() instead to properly close both sync and async clients.

from_env(debug=False) classmethod

Create client instance from environment variables

Parameters:

Name Type Description Default
debug bool

Enable debug logging if True

False

handler: python options: show_root_heading: true show_source: false members_order: source docstring_section_style: spacy

Async Client

AsyncFMPDataClient

Bases: BaseClient

Async client for FMP Data API.

All sub-clients expose async methods without the _async suffix.

Example

async with AsyncFMPDataClient.from_env() as client: profile = await client.company.get_profile("AAPL")

alternative property

Get or create the async alternative markets client instance

batch property

Get or create the async batch data client instance

company property

Get or create the async company client instance

economics property

Get or create the async economics data client instance

fundamental property

Get or create the async fundamental client instance

index property

Get or create the async index constituents client instance

institutional property

Get or create the async institutional activity client instance

intelligence property

Get or create the async market intelligence client instance

investment property

Get or create the async investment products client instance

logger deletable property writable

Get the logger instance, creating one if needed

market property

Get or create the async market data client instance

sec property

Get or create the async SEC filings client instance

technical property

Get or create the async technical analysis client instance

transcripts property

Get or create the async transcripts client instance

__aenter__() async

Async context manager enter

__aexit__(exc_type, exc_val, exc_tb) async

Async context manager exit - closes all client resources

aclose() async

Clean up all resources (both async and sync clients).

from_env(debug=False) classmethod

Create async client instance from environment variables

Parameters:

Name Type Description Default
debug bool

Enable debug logging if True

False

handler: python options: show_root_heading: true show_source: false members_order: source docstring_section_style: spacy

Configuration

ClientConfig

Bases: BaseModel

Base client configuration for FMP Data API

__repr__()

Representation with masked API key

__str__()

String representation with masked API key

from_env() classmethod

Create configuration from environment variables

validate_api_key(v) classmethod

Validate API key is not empty

validate_base_url(v) classmethod

Validate base URL format

handler: python options: show_root_heading: true show_source: false

CacheConfig

Bases: BaseModel

Configuration for the response cache.

from_env() classmethod

Create cache config from environment variables.

Returns None if FMP_CACHE_ENABLED is not set or is 'false'.

handler: python options: show_root_heading: true show_source: false

LoggingConfig

Bases: BaseModel

Logging configuration

from_env() classmethod

Create logging config from environment variables

model_post_init(__context)

Post-initialization hook to create log directory if needed

handler: python options: show_root_heading: true show_source: false

Endpoint Group Clients

The library provides both sync and async versions of each endpoint group client. All async clients have the same methods as their sync counterparts, but return awaitables.

Company Client

CompanyClient

Bases: EndpointGroup

Client for company-related API endpoints.

For async support, use AsyncCompanyClient instead.

get_aftermarket_quote(symbol)

Get aftermarket quote data

get_aftermarket_trade(symbol)

Get aftermarket trade data

get_analyst_estimates(symbol, period='annual', page=0, limit=10)

Get analyst estimates

get_analyst_recommendations(symbol)

Get analyst recommendations

get_balance_sheet_as_reported(symbol, period='annual', limit=10)

Get balance sheet as originally reported

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
period str

'annual' or 'quarter' (default: 'annual')

'annual'
limit int

Number of periods to return (default: 10)

10

Returns:

Type Description
list[AsReportedBalanceSheet]

List of as-reported balance sheets

get_balance_sheet_growth(symbol, period='annual', limit=20)

Get year-over-year growth rates for balance sheet items

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
period str

'annual', 'quarter', 'FY', or 'Q1'-'Q4' (default: 'annual')

'annual'
limit int

Number of periods to return (default: 20)

20

Returns:

Type Description
list[FinancialGrowth]

List of balance sheet growth data

get_balance_sheet_ttm(symbol, limit=None)

Get trailing twelve months (TTM) balance sheet

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
limit int | None

Number of periods to return

None

Returns:

Type Description
list[BalanceSheet]

List of TTM balance sheet data

get_cash_flow_as_reported(symbol, period='annual', limit=10)

Get cash flow statement as originally reported

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
period str

'annual' or 'quarter' (default: 'annual')

'annual'
limit int

Number of periods to return (default: 10)

10

Returns:

Type Description
list[AsReportedCashFlowStatement]

List of as-reported cash flow statements

get_cash_flow_growth(symbol, period='annual', limit=20)

Get year-over-year growth rates for cash flow items

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
period str

'annual', 'quarter', 'FY', or 'Q1'-'Q4' (default: 'annual')

'annual'
limit int

Number of periods to return (default: 20)

20

Returns:

Type Description
list[FinancialGrowth]

List of cash flow growth data

get_cash_flow_ttm(symbol, limit=None)

Get trailing twelve months (TTM) cash flow statement

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
limit int | None

Number of periods to return

None

Returns:

Type Description
list[CashFlowStatement]

List of TTM cash flow data

get_company_logo_url(symbol)

Get the company logo URL

get_company_notes(symbol)

Get company financial notes

get_company_peers(symbol)

Get company peers

get_core_information(symbol)

Get core company information

get_dividends(symbol, from_date=None, to_date=None, limit=None)

Get historical dividend payments for a specific company

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
from_date date | None

Start date (optional)

None
to_date date | None

End date (optional)

None
limit int | None

Number of dividend records to return (optional)

None

Returns:

Type Description
list[DividendEvent]

List of DividendEvent objects containing dividend history

get_earnings(symbol, limit=20)

Get historical earnings reports for a specific company

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
limit int

Number of earnings reports to return (default: 20)

20

Returns:

Type Description
list[EarningEvent]

List of EarningEvent objects containing earnings history

get_employee_count(symbol)

Get company employee count history

get_enterprise_values(symbol, period='annual', limit=20)

Get historical enterprise value data

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
period str

'annual', 'quarter', 'FY', or 'Q1'-'Q4' (default: 'annual')

'annual'
limit int

Number of periods to return (default: 20)

20

Returns:

Type Description
list[EnterpriseValue]

List of enterprise value data

get_executive_compensation(symbol)

Get executive compensation data for a company

get_executive_compensation_benchmark(year)

Get executive compensation benchmark data by industry and year

Parameters:

Name Type Description Default
year int

Year for compensation data

required

Returns:

Type Description
list[ExecutiveCompensationBenchmark]

List of executive compensation benchmarks by industry

get_executives(symbol)

Get company executives information

get_financial_growth(symbol, period='annual', limit=20)

Get comprehensive financial growth metrics

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
period str

'annual', 'quarter', 'FY', or 'Q1'-'Q4' (default: 'annual')

'annual'
limit int

Number of periods to return (default: 20)

20

Returns:

Type Description
list[FinancialGrowth]

List of comprehensive financial growth data

get_financial_ratios_ttm(symbol)

Get trailing twelve months (TTM) financial ratios

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required

Returns:

Type Description
list[FinancialRatiosTTM]

List of TTM financial ratios

get_financial_reports_json(symbol, year, period='FY')

Get Form 10-K financial reports in JSON format

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
year int

Report year

required
period str

Report period - 'FY' or 'Q1'-'Q4' (default: 'FY')

'FY'

Returns:

Type Description
dict

Dictionary containing financial report data

get_financial_reports_xlsx(symbol, year, period='FY')

Get Form 10-K financial reports in Excel format

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
year int

Report year

required
period str

Report period - 'FY' or 'Q1'-'Q4' (default: 'FY')

'FY'

Returns:

Type Description
bytes

Binary data for XLSX file

get_financial_scores(symbol)

Get comprehensive financial health scores

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required

Returns:

Type Description
list[FinancialScore]

List of financial scores including Altman Z-Score and Piotroski Score

get_geographic_revenue_segmentation(symbol, period='annual')

Get revenue segmentation by geographic region.

Parameters:

Name Type Description Default
symbol str

Company symbol

required
period str

Data period ('annual' or 'quarter')

'annual'

Returns:

Type Description
list[GeographicRevenueSegment]

List of geographic revenue segments by fiscal year

get_historical_market_cap(symbol)

Get historical market capitalization data

get_historical_prices(symbol, from_date=None, to_date=None)

Get historical daily price data

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
from_date date | None

Start date (optional)

None
to_date date | None

End date (optional)

None

Returns:

Type Description
HistoricalData

HistoricalData object containing the price history

get_historical_prices_dividend_adjusted(symbol, from_date=None, to_date=None)

Get historical daily price data adjusted for dividends

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
from_date date | None

Start date (optional)

None
to_date date | None

End date (optional)

None

Returns:

Type Description
HistoricalData

HistoricalData object containing the dividend-adjusted price history

get_historical_prices_light(symbol, from_date=None, to_date=None)

Get lightweight historical daily price data (open, high, low, close only)

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
from_date date | None

Start date (optional)

None
to_date date | None

End date (optional)

None

Returns:

Type Description
HistoricalData

HistoricalData object containing the price history

get_historical_prices_non_split_adjusted(symbol, from_date=None, to_date=None)

Get historical daily price data without split adjustments

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
from_date date | None

Start date (optional)

None
to_date date | None

End date (optional)

None

Returns:

Type Description
HistoricalData

HistoricalData object containing the price history without split adjustments

get_historical_share_float(symbol)

Get historical share float data for a company

get_income_statement_as_reported(symbol, period='annual', limit=10)

Get income statement as originally reported

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
period str

'annual' or 'quarter' (default: 'annual')

'annual'
limit int

Number of periods to return (default: 10)

10

Returns:

Type Description
list[AsReportedIncomeStatement]

List of as-reported income statements

get_income_statement_growth(symbol, period='annual', limit=20)

Get year-over-year growth rates for income statement items

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
period str

'annual', 'quarter', 'FY', or 'Q1'-'Q4' (default: 'annual')

'annual'
limit int

Number of periods to return (default: 20)

20

Returns:

Type Description
list[FinancialGrowth]

List of income statement growth data

get_income_statement_ttm(symbol, limit=None)

Get trailing twelve months (TTM) income statement

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
limit int | None

Number of periods to return

None

Returns:

Type Description
list[IncomeStatement]

List of TTM income statement data

get_intraday_prices(symbol, interval='1min', from_date=None, to_date=None, nonadjusted=None)

Get intraday price data

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
interval str

Time interval (1min, 5min, 15min, 30min, 1hour, 4hour)

'1min'
from_date date | None

Start date (optional)

None
to_date date | None

End date (optional)

None
nonadjusted bool | None

Use non-adjusted data (optional)

None

get_key_metrics_ttm(symbol)

Get trailing twelve months (TTM) key financial metrics

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required

Returns:

Type Description
list[KeyMetricsTTM]

List of TTM key metrics

get_market_cap(symbol)

Get market capitalization data

get_mergers_acquisitions_latest(page=0, limit=100)

Get latest mergers and acquisitions transactions

Parameters:

Name Type Description Default
page int

Page number for pagination (default 0)

0
limit int

Number of results per page (default 100)

100

Returns:

Type Description
list[MergerAcquisition]

List of recent M&A transactions

Search mergers and acquisitions transactions by company name

Parameters:

Name Type Description Default
name str

Company name to search for

required
page int

Page number for pagination (default 0)

0
limit int

Number of results per page (default 100)

100

Returns:

Type Description
list[MergerAcquisition]

List of M&A transactions matching the search

get_price_target(symbol)

Get price targets

get_price_target_consensus(symbol)

Get price target consensus

get_price_target_summary(symbol)

Get price target summary

get_product_revenue_segmentation(symbol, period='annual')

Get revenue segmentation by product.

Parameters:

Name Type Description Default
symbol str

Company symbol

required
period str

Data period ('annual' or 'quarter')

'annual'

Returns:

Type Description
list[ProductRevenueSegment]

List of product revenue segments by fiscal year

get_profile(symbol)

Get company profile

get_profile_cik(cik)

Get company profile by CIK number

get_quote(symbol)

Get real-time stock quote

get_share_float(symbol)

Get current share float data for a company

get_simple_quote(symbol)

Get simple stock quote

get_stock_price_change(symbol)

Get stock price change percentages across time horizons

get_stock_splits(symbol, from_date=None, to_date=None, limit=None)

Get historical stock split information for a specific company

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
from_date date | None

Start date (optional)

None
to_date date | None

End date (optional)

None
limit int | None

Number of split records to return (optional)

None

Returns:

Type Description
list[StockSplitEvent]

List of StockSplitEvent objects containing split history

get_symbol_changes()

Get symbol change history

get_upgrades_downgrades(symbol)

Get upgrades and downgrades

get_upgrades_downgrades_consensus(symbol)

Get upgrades and downgrades consensus

handler: python options: show_root_heading: true show_source: false

AsyncCompanyClient

Bases: AsyncEndpointGroup

Async client for company-related API endpoints.

All methods are async and use the same names as the sync CompanyClient.

Example

async with AsyncFMPDataClient.from_env() as client: profile = await client.company.get_profile("AAPL")

get_aftermarket_quote(symbol) async

Get aftermarket quote data

get_aftermarket_trade(symbol) async

Get aftermarket trade data

get_analyst_estimates(symbol, period='annual', page=0, limit=10) async

Get analyst estimates

get_analyst_recommendations(symbol) async

Get analyst recommendations

get_balance_sheet_as_reported(symbol, period='annual', limit=10) async

Get balance sheet as originally reported

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
period str

'annual' or 'quarter' (default: 'annual')

'annual'
limit int

Number of periods to return (default: 10)

10

Returns:

Type Description
list[AsReportedBalanceSheet]

List of as-reported balance sheets

get_balance_sheet_growth(symbol, period='annual', limit=20) async

Get year-over-year growth rates for balance sheet items

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
period str

'annual', 'quarter', 'FY', or 'Q1'-'Q4' (default: 'annual')

'annual'
limit int

Number of periods to return (default: 20)

20

Returns:

Type Description
list[FinancialGrowth]

List of balance sheet growth data

get_balance_sheet_ttm(symbol, limit=None) async

Get trailing twelve months (TTM) balance sheet

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
limit int | None

Number of periods to return

None

Returns:

Type Description
list[BalanceSheet]

List of TTM balance sheet data

get_cash_flow_as_reported(symbol, period='annual', limit=10) async

Get cash flow statement as originally reported

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
period str

'annual' or 'quarter' (default: 'annual')

'annual'
limit int

Number of periods to return (default: 10)

10

Returns:

Type Description
list[AsReportedCashFlowStatement]

List of as-reported cash flow statements

get_cash_flow_growth(symbol, period='annual', limit=20) async

Get year-over-year growth rates for cash flow items

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
period str

'annual', 'quarter', 'FY', or 'Q1'-'Q4' (default: 'annual')

'annual'
limit int

Number of periods to return (default: 20)

20

Returns:

Type Description
list[FinancialGrowth]

List of cash flow growth data

get_cash_flow_ttm(symbol, limit=None) async

Get trailing twelve months (TTM) cash flow statement

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
limit int | None

Number of periods to return

None

Returns:

Type Description
list[CashFlowStatement]

List of TTM cash flow data

get_company_logo_url(symbol)

Get the company logo URL (sync, no API call needed)

get_company_notes(symbol) async

Get company financial notes

get_company_peers(symbol) async

Get company peers

get_core_information(symbol) async

Get core company information

get_dividends(symbol, from_date=None, to_date=None, limit=None) async

Get historical dividend payments for a specific company

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
from_date date | None

Start date (optional)

None
to_date date | None

End date (optional)

None
limit int | None

Number of dividend records to return (optional)

None

Returns:

Type Description
list[DividendEvent]

List of DividendEvent objects containing dividend history

get_earnings(symbol, limit=20) async

Get historical earnings reports for a specific company

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
limit int

Number of earnings reports to return (default: 20)

20

Returns:

Type Description
list[EarningEvent]

List of EarningEvent objects containing earnings history

get_employee_count(symbol) async

Get company employee count history

get_enterprise_values(symbol, period='annual', limit=20) async

Get historical enterprise value data

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
period str

'annual', 'quarter', 'FY', or 'Q1'-'Q4' (default: 'annual')

'annual'
limit int

Number of periods to return (default: 20)

20

Returns:

Type Description
list[EnterpriseValue]

List of enterprise value data

get_executive_compensation(symbol) async

Get executive compensation data for a company

get_executive_compensation_benchmark(year) async

Get executive compensation benchmark data by industry and year

Parameters:

Name Type Description Default
year int

Year for compensation data

required

Returns:

Type Description
list[ExecutiveCompensationBenchmark]

List of executive compensation benchmarks by industry

get_executives(symbol) async

Get company executives information

get_financial_growth(symbol, period='annual', limit=20) async

Get comprehensive financial growth metrics

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
period str

'annual', 'quarter', 'FY', or 'Q1'-'Q4' (default: 'annual')

'annual'
limit int

Number of periods to return (default: 20)

20

Returns:

Type Description
list[FinancialGrowth]

List of comprehensive financial growth data

get_financial_ratios_ttm(symbol) async

Get trailing twelve months (TTM) financial ratios

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required

Returns:

Type Description
list[FinancialRatiosTTM]

List of TTM financial ratios

get_financial_reports_json(symbol, year, period='FY') async

Get Form 10-K financial reports in JSON format

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
year int

Report year

required
period str

Report period - 'FY' or 'Q1'-'Q4' (default: 'FY')

'FY'

Returns:

Type Description
dict

Dictionary containing financial report data

get_financial_reports_xlsx(symbol, year, period='FY') async

Get Form 10-K financial reports in Excel format

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
year int

Report year

required
period str

Report period - 'FY' or 'Q1'-'Q4' (default: 'FY')

'FY'

Returns:

Type Description
bytes

Binary data for XLSX file

get_financial_scores(symbol) async

Get comprehensive financial health scores

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required

Returns:

Type Description
list[FinancialScore]

List of financial scores including Altman Z-Score and Piotroski Score

get_geographic_revenue_segmentation(symbol, period='annual') async

Get revenue segmentation by geographic region.

Parameters:

Name Type Description Default
symbol str

Company symbol

required
period str

Data period ('annual' or 'quarter')

'annual'

Returns:

Type Description
list[GeographicRevenueSegment]

List of geographic revenue segments by fiscal year

get_historical_market_cap(symbol) async

Get historical market capitalization data

get_historical_prices(symbol, from_date=None, to_date=None) async

Get historical daily price data

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
from_date date | None

Start date (optional)

None
to_date date | None

End date (optional)

None

Returns:

Type Description
HistoricalData

HistoricalData object containing the price history

get_historical_prices_dividend_adjusted(symbol, from_date=None, to_date=None) async

Get historical daily price data adjusted for dividends

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
from_date date | None

Start date (optional)

None
to_date date | None

End date (optional)

None

Returns:

Type Description
HistoricalData

HistoricalData object containing the dividend-adjusted price history

get_historical_prices_light(symbol, from_date=None, to_date=None) async

Get lightweight historical daily price data (open, high, low, close only)

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
from_date date | None

Start date (optional)

None
to_date date | None

End date (optional)

None

Returns:

Type Description
HistoricalData

HistoricalData object containing the price history

get_historical_prices_non_split_adjusted(symbol, from_date=None, to_date=None) async

Get historical daily price data without split adjustments

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
from_date date | None

Start date (optional)

None
to_date date | None

End date (optional)

None

Returns:

Type Description
HistoricalData

HistoricalData object containing the price history without split adjustments

get_historical_share_float(symbol) async

Get historical share float data for a company

get_income_statement_as_reported(symbol, period='annual', limit=10) async

Get income statement as originally reported

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
period str

'annual' or 'quarter' (default: 'annual')

'annual'
limit int

Number of periods to return (default: 10)

10

Returns:

Type Description
list[AsReportedIncomeStatement]

List of as-reported income statements

get_income_statement_growth(symbol, period='annual', limit=20) async

Get year-over-year growth rates for income statement items

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
period str

'annual', 'quarter', 'FY', or 'Q1'-'Q4' (default: 'annual')

'annual'
limit int

Number of periods to return (default: 20)

20

Returns:

Type Description
list[FinancialGrowth]

List of income statement growth data

get_income_statement_ttm(symbol, limit=None) async

Get trailing twelve months (TTM) income statement

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
limit int | None

Number of periods to return

None

Returns:

Type Description
list[IncomeStatement]

List of TTM income statement data

get_intraday_prices(symbol, interval='1min', from_date=None, to_date=None, nonadjusted=None) async

Get intraday price data

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
interval str

Time interval (1min, 5min, 15min, 30min, 1hour, 4hour)

'1min'
from_date date | None

Start date (optional)

None
to_date date | None

End date (optional)

None
nonadjusted bool | None

Use non-adjusted data (optional)

None

get_key_metrics_ttm(symbol) async

Get trailing twelve months (TTM) key financial metrics

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required

Returns:

Type Description
list[KeyMetricsTTM]

List of TTM key metrics

get_market_cap(symbol) async

Get market capitalization data

get_mergers_acquisitions_latest(page=0, limit=100) async

Get latest mergers and acquisitions transactions

Parameters:

Name Type Description Default
page int

Page number for pagination (default 0)

0
limit int

Number of results per page (default 100)

100

Returns:

Type Description
list[MergerAcquisition]

List of recent M&A transactions

Search mergers and acquisitions transactions by company name

Parameters:

Name Type Description Default
name str

Company name to search for

required
page int

Page number for pagination (default 0)

0
limit int

Number of results per page (default 100)

100

Returns:

Type Description
list[MergerAcquisition]

List of M&A transactions matching the search

get_price_target(symbol) async

Get price targets

get_price_target_consensus(symbol) async

Get price target consensus

get_price_target_summary(symbol) async

Get price target summary

get_product_revenue_segmentation(symbol, period='annual') async

Get revenue segmentation by product.

Parameters:

Name Type Description Default
symbol str

Company symbol

required
period str

Data period ('annual' or 'quarter')

'annual'

Returns:

Type Description
list[ProductRevenueSegment]

List of product revenue segments by fiscal year

get_profile(symbol) async

Get company profile

get_profile_cik(cik) async

Get company profile by CIK number

get_quote(symbol) async

Get real-time stock quote

get_share_float(symbol) async

Get current share float data for a company

get_simple_quote(symbol) async

Get simple stock quote

get_stock_price_change(symbol) async

Get stock price change percentages across time horizons

get_stock_splits(symbol, from_date=None, to_date=None, limit=None) async

Get historical stock split information for a specific company

Parameters:

Name Type Description Default
symbol str

Stock symbol (e.g., 'AAPL')

required
from_date date | None

Start date (optional)

None
to_date date | None

End date (optional)

None
limit int | None

Number of split records to return (optional)

None

Returns:

Type Description
list[StockSplitEvent]

List of StockSplitEvent objects containing split history

get_symbol_changes() async

Get symbol change history

get_upgrades_downgrades(symbol) async

Get upgrades and downgrades

get_upgrades_downgrades_consensus(symbol) async

Get upgrades and downgrades consensus

handler: python options: show_root_heading: true show_source: false

Market Client

MarketClient

Bases: EndpointGroup

Client for market data endpoints

get_actively_trading_list()

Get list of actively trading stocks

get_all_exchange_market_hours()

Get market trading hours information for all exchanges

get_all_shares_float()

Get share float data for all companies

get_available_countries()

Get a comprehensive list of countries where stock symbols are available

get_available_exchanges()

Get a complete list of supported stock exchanges

get_available_indexes()

Get list of all available indexes

get_available_industries()

Get a comprehensive list of industries where stock symbols are available

get_available_sectors()

Get a complete list of industry sectors

get_cik_list(page=0, limit=1000)

Get complete list of all CIK numbers

get_company_screener(market_cap_more_than=None, market_cap_less_than=None, price_more_than=None, price_less_than=None, beta_more_than=None, beta_less_than=None, volume_more_than=None, volume_less_than=None, dividend_more_than=None, dividend_less_than=None, is_etf=None, is_fund=None, is_actively_trading=None, sector=None, industry=None, country=None, exchange=None, limit=None, include_all_share_classes=None)

Screen companies based on various criteria

get_etf_list()

Get list of all available ETFs

get_financial_statement_symbol_list()

Get list of symbols with financial statements available

get_gainers()

Get market gainers

get_historical_industry_pe(industry, from_date=None, to_date=None, exchange=None)

Get historical industry price-to-earnings data

get_historical_industry_performance(industry, from_date=None, to_date=None, exchange=None)

Get historical industry performance data

get_historical_sector_pe(sector, from_date=None, to_date=None, exchange=None)

Get historical sector price-to-earnings data

get_historical_sector_performance(sector, from_date=None, to_date=None, exchange=None)

Get historical sector performance data

get_holidays_by_exchange(exchange='NYSE')

Get market holidays for a specific exchange

get_industry_pe_snapshot(date=None, industry=None, exchange=None)

Get industry price-to-earnings snapshot data

get_industry_performance_snapshot(industry=None, date=None, exchange=None)

Get industry performance snapshot data

get_ipo_disclosure(from_date=None, to_date=None, limit=100)

Get IPO disclosure documents

Parameters:

Name Type Description Default
from_date date | None

Start date for IPO search (YYYY-MM-DD)

None
to_date date | None

End date for IPO search (YYYY-MM-DD)

None
limit int

Number of results to return (default: 100)

100

Returns:

Type Description
list[IPODisclosure]

List of IPO disclosure information

get_ipo_prospectus(from_date=None, to_date=None, limit=100)

Get IPO prospectus documents

Parameters:

Name Type Description Default
from_date date | None

Start date for IPO search (YYYY-MM-DD)

None
to_date date | None

End date for IPO search (YYYY-MM-DD)

None
limit int

Number of results to return (default: 100)

100

Returns:

Type Description
list[IPOProspectus]

List of IPO prospectus information

get_losers()

Get market losers

get_market_hours(exchange='NYSE')

Get market trading hours information for a specific exchange

Parameters:

Name Type Description Default
exchange str

Exchange code (e.g., "NYSE", "NASDAQ"). Defaults to "NYSE".

'NYSE'

Returns:

Name Type Description
MarketHours MarketHours

Exchange trading hours object

Raises:

Type Description
ValueError

If no market hours data returned from API

get_most_active()

Get most active stocks

get_pre_post_market()

Get pre/post market data

get_sector_pe_snapshot(date=None, sector=None, exchange=None)

Get sector price-to-earnings snapshot data

get_sector_performance(sector=None, date=None, exchange=None)

Get sector performance data

get_stock_list()

Get list of all available stocks

get_tradable_list(limit=None, offset=None)

Get list of tradable securities

search_by_cik(query)

Search companies by CIK number

search_by_cusip(query)

Search companies by CUSIP

search_by_isin(query)

Search companies by ISIN

search_company(query, limit=None, exchange=None)

Search for companies

search_exchange_variants(query)

Search for exchange trading variants of a company

search_symbol(query, limit=None, exchange=None)

Search for security symbols across all asset types

handler: python options: show_root_heading: true show_source: false

AsyncMarketClient

Bases: AsyncEndpointGroup

Async client for market data endpoints.

get_actively_trading_list() async

Get list of actively trading stocks

get_all_exchange_market_hours() async

Get market trading hours information for all exchanges

get_all_shares_float() async

Get share float data for all companies

get_available_countries() async

Get a comprehensive list of countries where stock symbols are available

get_available_exchanges() async

Get a complete list of supported stock exchanges

get_available_indexes() async

Get list of all available indexes

get_available_industries() async

Get a comprehensive list of industries where stock symbols are available

get_available_sectors() async

Get a complete list of industry sectors

get_cik_list(page=0, limit=1000) async

Get complete list of all CIK numbers

get_company_screener(market_cap_more_than=None, market_cap_less_than=None, price_more_than=None, price_less_than=None, beta_more_than=None, beta_less_than=None, volume_more_than=None, volume_less_than=None, dividend_more_than=None, dividend_less_than=None, is_etf=None, is_fund=None, is_actively_trading=None, sector=None, industry=None, country=None, exchange=None, limit=None, include_all_share_classes=None) async

Screen companies based on various criteria

get_etf_list() async

Get list of all available ETFs

get_financial_statement_symbol_list() async

Get list of symbols with financial statements available

get_gainers() async

Get market gainers

get_historical_industry_pe(industry, from_date=None, to_date=None, exchange=None) async

Get historical industry price-to-earnings data

get_historical_industry_performance(industry, from_date=None, to_date=None, exchange=None) async

Get historical industry performance data

get_historical_sector_pe(sector, from_date=None, to_date=None, exchange=None) async

Get historical sector price-to-earnings data

get_historical_sector_performance(sector, from_date=None, to_date=None, exchange=None) async

Get historical sector performance data

get_holidays_by_exchange(exchange='NYSE') async

Get market holidays for a specific exchange

get_industry_pe_snapshot(date=None, industry=None, exchange=None) async

Get industry price-to-earnings snapshot data

get_industry_performance_snapshot(industry=None, date=None, exchange=None) async

Get industry performance snapshot data

get_ipo_disclosure(from_date=None, to_date=None, limit=100) async

Get IPO disclosure documents

Parameters:

Name Type Description Default
from_date date | None

Start date for IPO search (YYYY-MM-DD)

None
to_date date | None

End date for IPO search (YYYY-MM-DD)

None
limit int

Number of results to return (default: 100)

100

Returns:

Type Description
list[IPODisclosure]

List of IPO disclosure information

get_ipo_prospectus(from_date=None, to_date=None, limit=100) async

Get IPO prospectus documents

Parameters:

Name Type Description Default
from_date date | None

Start date for IPO search (YYYY-MM-DD)

None
to_date date | None

End date for IPO search (YYYY-MM-DD)

None
limit int

Number of results to return (default: 100)

100

Returns:

Type Description
list[IPOProspectus]

List of IPO prospectus information

get_losers() async

Get market losers

get_market_hours(exchange='NYSE') async

Get market trading hours information for a specific exchange

Parameters:

Name Type Description Default
exchange str

Exchange code (e.g., "NYSE", "NASDAQ"). Defaults to "NYSE".

'NYSE'

Returns:

Name Type Description
MarketHours MarketHours

Exchange trading hours object

Raises:

Type Description
ValueError

If no market hours data returned from API

get_most_active() async

Get most active stocks

get_pre_post_market() async

Get pre/post market data

get_sector_pe_snapshot(date=None, sector=None, exchange=None) async

Get sector price-to-earnings snapshot data

get_sector_performance(sector=None, date=None, exchange=None) async

Get sector performance data

get_stock_list() async

Get list of all available stocks

get_tradable_list(limit=None, offset=None) async

Get list of tradable securities

search_by_cik(query) async

Search companies by CIK number

search_by_cusip(query) async

Search companies by CUSIP

search_by_isin(query) async

Search companies by ISIN

search_company(query, limit=None, exchange=None) async

Search for companies

search_exchange_variants(query) async

Search for exchange trading variants of a company

search_symbol(query, limit=None, exchange=None) async

Search for security symbols across all asset types

handler: python options: show_root_heading: true show_source: false

Fundamental Client

FundamentalClient

Bases: EndpointGroup

Client for fundamental analysis endpoints

get_balance_sheet(symbol, period='annual', limit=None)

Get balance sheets

get_cash_flow(symbol, period='annual', limit=None)

Get cash flow statements

get_custom_discounted_cash_flow(symbol)

Get advanced DCF analysis with detailed projections

get_custom_levered_dcf(symbol)

Get levered DCF analysis using FCFE

get_discounted_cash_flow(symbol)

Get discounted cash flow valuation

get_financial_ratios(symbol, period='annual', limit=None)

Get financial ratios

get_financial_reports_dates(symbol)

Get list of financial reports dates

get_full_financial_statement(symbol, period='annual', limit=None)

Get full financial statements as reported

get_historical_rating(symbol)

Get historical company ratings

get_income_statement(symbol, period='annual', limit=None)

Get income statements

get_key_metrics(symbol, period='annual', limit=None)

Get key financial metrics

get_latest_financial_statements(page=0, limit=250)

Get latest financial statement metadata across symbols

get_levered_dcf(symbol)

Get levered DCF valuation

get_owner_earnings(symbol, limit=None)

Get owner earnings metrics

handler: python options: show_root_heading: true show_source: false

AsyncFundamentalClient

Bases: AsyncEndpointGroup

Async client for fundamental analysis endpoints.

get_balance_sheet(symbol, period='annual', limit=None) async

Get balance sheets

get_cash_flow(symbol, period='annual', limit=None) async

Get cash flow statements

get_custom_discounted_cash_flow(symbol) async

Get advanced DCF analysis with detailed projections

get_custom_levered_dcf(symbol) async

Get levered DCF analysis using FCFE

get_discounted_cash_flow(symbol) async

Get discounted cash flow valuation

get_financial_ratios(symbol, period='annual', limit=None) async

Get financial ratios

get_financial_reports_dates(symbol) async

Get list of financial reports dates

get_full_financial_statement(symbol, period='annual', limit=None) async

Get full financial statements as reported

get_historical_rating(symbol) async

Get historical company ratings

get_income_statement(symbol, period='annual', limit=None) async

Get income statements

get_key_metrics(symbol, period='annual', limit=None) async

Get key financial metrics

get_latest_financial_statements(page=0, limit=250) async

Get latest financial statement metadata across symbols

get_levered_dcf(symbol) async

Get levered DCF valuation

get_owner_earnings(symbol, limit=None) async

Get owner earnings metrics

handler: python options: show_root_heading: true show_source: false

Technical Client

TechnicalClient

Bases: EndpointGroup

Client for technical analysis endpoints

get_adx(symbol, period_length=14, timeframe='1day', interval=None, start_date=None, end_date=None)

Get Average Directional Index values

get_dema(symbol, period_length=20, timeframe='1day', interval=None, start_date=None, end_date=None)

Get Double Exponential Moving Average values

get_ema(symbol, period_length=20, timeframe='1day', interval=None, start_date=None, end_date=None)

Get Exponential Moving Average values

get_rsi(symbol, period_length=14, timeframe='1day', interval=None, start_date=None, end_date=None)

Get Relative Strength Index values

get_sma(symbol, period_length=20, timeframe='1day', interval=None, start_date=None, end_date=None)

Get Simple Moving Average values

get_standard_deviation(symbol, period_length=20, timeframe='1day', interval=None, start_date=None, end_date=None)

Get Standard Deviation values

get_tema(symbol, period_length=20, timeframe='1day', interval=None, start_date=None, end_date=None)

Get Triple Exponential Moving Average values

get_williams(symbol, period_length=14, timeframe='1day', interval=None, start_date=None, end_date=None)

Get Williams %R values

get_wma(symbol, period_length=20, timeframe='1day', interval=None, start_date=None, end_date=None)

Get Weighted Moving Average values

handler: python options: show_root_heading: true show_source: false

AsyncTechnicalClient

Bases: AsyncEndpointGroup

Async client for technical analysis endpoints.

get_adx(symbol, period_length=14, timeframe='1day', interval=None, start_date=None, end_date=None) async

Get Average Directional Index values

get_dema(symbol, period_length=20, timeframe='1day', interval=None, start_date=None, end_date=None) async

Get Double Exponential Moving Average values

get_ema(symbol, period_length=20, timeframe='1day', interval=None, start_date=None, end_date=None) async

Get Exponential Moving Average values

get_rsi(symbol, period_length=14, timeframe='1day', interval=None, start_date=None, end_date=None) async

Get Relative Strength Index values

get_sma(symbol, period_length=20, timeframe='1day', interval=None, start_date=None, end_date=None) async

Get Simple Moving Average values

get_standard_deviation(symbol, period_length=20, timeframe='1day', interval=None, start_date=None, end_date=None) async

Get Standard Deviation values

get_tema(symbol, period_length=20, timeframe='1day', interval=None, start_date=None, end_date=None) async

Get Triple Exponential Moving Average values

get_williams(symbol, period_length=14, timeframe='1day', interval=None, start_date=None, end_date=None) async

Get Williams %R values

get_wma(symbol, period_length=20, timeframe='1day', interval=None, start_date=None, end_date=None) async

Get Weighted Moving Average values

handler: python options: show_root_heading: true show_source: false

Market Intelligence Client

MarketIntelligenceClient

Bases: EndpointGroup

Client for market intelligence endpoints

get_crowdfunding_by_cik(cik)

Get crowdfunding offerings by CIK

get_crowdfunding_rss(page=0, limit=100)

Get latest crowdfunding offerings

get_crypto_news(page=0, symbol=None, from_date=None, to_date=None, limit=20)

Get a list of the latest crypto news articles (or search by symbol)

get_crypto_symbol_news(symbol, page=0, from_date=None, to_date=None, limit=20)

Search crypto news articles by symbol

get_dividends_calendar(start_date=None, end_date=None)

Get dividends calendar

get_earnings_calendar(start_date=None, end_date=None)

Get earnings calendar

get_earnings_confirmed(start_date=None, end_date=None)

Get confirmed earnings dates

get_earnings_surprises(symbol)

Get earnings surprises

get_equity_offering_by_cik(cik)

Get equity offerings by CIK

get_equity_offering_rss(page=0, limit=10, cik=None)

Get latest equity offerings

get_esg_benchmark()

Get ESG benchmark data

get_esg_data(symbol)

Get ESG data for a company

get_esg_ratings(symbol)

Get ESG ratings for a company

get_fmp_articles(page=0, limit=20, size=None)

Get a list of the latest FMP articles

Parameters:

Name Type Description Default
page int

Page number to fetch (default: 0)

0
limit int

Number of articles per page (default: 20)

20
size int | None

Deprecated alias for limit (default: None)

None

Returns:

Type Description
list[FMPArticle]

list[FMPArticle]: List of FMP articles from the content array

get_forex_news(page=0, symbol=None, from_date=None, to_date=None, limit=20)

Get a list of the latest forex news articles (or search by symbol)

get_forex_symbol_news(symbol, page=0, from_date=None, to_date=None, limit=20)

Search forex news articles by symbol

get_general_news(page=0, from_date=None, to_date=None, limit=20)

Get a list of the latest general news articles

get_grades(symbol, page=0)

Get stock grades from analysts

get_grades_consensus(symbol)

Get stock grades consensus summary

get_grades_historical(symbol, limit=100)

Get historical stock grades

get_grades_latest_news(page=0)

Get latest stock grade news

get_grades_news(symbol, page=0)

Get stock grade news

get_historical_earnings(symbol)

Get historical earnings

get_historical_social_sentiment(symbol, page=0)

Get historical social sentiment data (REMOVED)

get_house_disclosure(symbol)

Get House disclosure data

get_house_latest(page=0, limit=100)

Get latest House financial disclosures

get_house_trades_by_name(name)

Get House trading data by name

get_ipo_calendar(start_date=None, end_date=None)

Get IPO calendar

get_press_releases(page=0, from_date=None, to_date=None, limit=20)

Get a list of the latest press releases

get_press_releases_by_symbol(symbol, page=0, from_date=None, to_date=None, limit=20)

Get a list of the latest press releases for a specific company

get_price_target_latest_news(page=0)

Get latest price target news

get_price_target_news(symbol, page=0)

Get price target news

get_ratings_historical(symbol, limit=100)

Get historical analyst ratings

get_ratings_snapshot(symbol)

Get current analyst ratings snapshot

get_senate_latest(page=0, limit=100)

Get latest Senate financial disclosures

get_senate_trades_by_name(name)

Get Senate trading data by name

get_senate_trading(symbol)

Get Senate trading data

get_senate_trading_rss(page=0)

Get Senate trading RSS feed

get_social_sentiment_changes(type, source)

Get changes in social sentiment data (REMOVED)

get_stock_news(symbol=None, page=0, from_date=None, to_date=None, limit=20)

Get a list of the latest stock news articles

get_stock_news_sentiments(page=0)

Get a list of the latest stock news articles with sentiment analysis

.. deprecated:: This endpoint is no longer available on the FMP API and will be removed in a future version. It currently returns an empty list.

get_stock_splits_calendar(start_date=None, end_date=None)

Get stock splits calendar

get_stock_symbol_news(symbol, page=0, from_date=None, to_date=None, limit=20)

Get a list of the latest stock news articles

Get trending social sentiment data (REMOVED)

search_crowdfunding(name)

Search crowdfunding offerings

search_equity_offering(name)

Search equity offerings

handler: python options: show_root_heading: true show_source: false

AsyncMarketIntelligenceClient

Bases: AsyncEndpointGroup

Async client for market intelligence endpoints.

get_crowdfunding_by_cik(cik) async

Get crowdfunding offerings by CIK

get_crowdfunding_rss(page=0, limit=100) async

Get latest crowdfunding offerings

get_crypto_news(page=0, symbol=None, from_date=None, to_date=None, limit=20) async

Get a list of the latest crypto news articles (or search by symbol)

get_crypto_symbol_news(symbol, page=0, from_date=None, to_date=None, limit=20) async

Search crypto news articles by symbol

get_dividends_calendar(start_date=None, end_date=None) async

Get dividends calendar

get_earnings_calendar(start_date=None, end_date=None) async

Get earnings calendar

get_earnings_confirmed(start_date=None, end_date=None) async

Get confirmed earnings dates

get_earnings_surprises(symbol) async

Get earnings surprises

get_equity_offering_by_cik(cik) async

Get equity offerings by CIK

get_equity_offering_rss(page=0, limit=10, cik=None) async

Get latest equity offerings

get_esg_benchmark() async

Get ESG benchmark data

get_esg_data(symbol) async

Get ESG data for a company

get_esg_ratings(symbol) async

Get ESG ratings for a company

get_fmp_articles(page=0, limit=20, size=None) async

Get a list of the latest FMP articles

Parameters:

Name Type Description Default
page int

Page number to fetch (default: 0)

0
limit int

Number of articles per page (default: 20)

20
size int | None

Deprecated alias for limit (default: None)

None

Returns:

Type Description
list[FMPArticle]

list[FMPArticle]: List of FMP articles from the content array

get_forex_news(page=0, symbol=None, from_date=None, to_date=None, limit=20) async

Get a list of the latest forex news articles (or search by symbol)

get_forex_symbol_news(symbol, page=0, from_date=None, to_date=None, limit=20) async

Search forex news articles by symbol

get_general_news(page=0, from_date=None, to_date=None, limit=20) async

Get a list of the latest general news articles

get_grades(symbol, page=0) async

Get stock grades from analysts

get_grades_consensus(symbol) async

Get stock grades consensus summary

get_grades_historical(symbol, limit=100) async

Get historical stock grades

get_grades_latest_news(page=0) async

Get latest stock grade news

get_grades_news(symbol, page=0) async

Get stock grade news

get_historical_earnings(symbol) async

Get historical earnings

get_historical_social_sentiment(symbol, page=0) async

Get historical social sentiment data (REMOVED)

get_house_disclosure(symbol) async

Get House disclosure data

get_house_latest(page=0, limit=100) async

Get latest House financial disclosures

get_house_trades_by_name(name) async

Get House trading data by name

get_ipo_calendar(start_date=None, end_date=None) async

Get IPO calendar

get_press_releases(page=0, from_date=None, to_date=None, limit=20) async

Get a list of the latest press releases

get_press_releases_by_symbol(symbol, page=0, from_date=None, to_date=None, limit=20) async

Get a list of the latest press releases for a specific company

get_price_target_latest_news(page=0) async

Get latest price target news

get_price_target_news(symbol, page=0) async

Get price target news

get_ratings_historical(symbol, limit=100) async

Get historical analyst ratings

get_ratings_snapshot(symbol) async

Get current analyst ratings snapshot

get_senate_latest(page=0, limit=100) async

Get latest Senate financial disclosures

get_senate_trades_by_name(name) async

Get Senate trading data by name

get_senate_trading(symbol) async

Get Senate trading data

get_senate_trading_rss(page=0) async

Get Senate trading RSS feed

get_social_sentiment_changes(type, source) async

Get changes in social sentiment data (REMOVED)

get_stock_news(symbol=None, page=0, from_date=None, to_date=None, limit=20) async

Get a list of the latest stock news articles

get_stock_news_sentiments(page=0) async

Get a list of the latest stock news articles with sentiment analysis

.. deprecated:: This endpoint is no longer available on the FMP API and will be removed in a future version. It currently returns an empty list.

get_stock_splits_calendar(start_date=None, end_date=None) async

Get stock splits calendar

get_stock_symbol_news(symbol, page=0, from_date=None, to_date=None, limit=20) async

Get a list of the latest stock news articles

Get trending social sentiment data (REMOVED)

search_crowdfunding(name) async

Search crowdfunding offerings

search_equity_offering(name) async

Search equity offerings

handler: python options: show_root_heading: true show_source: false

Institutional Client

InstitutionalClient

Bases: EndpointGroup

Client for institutional activity endpoints

get_asset_allocation(report_date)

Get 13F asset allocation data for a report period end date

get_beneficial_ownership(symbol)

Get beneficial ownership data for a symbol

get_cik_mappings(page=0, limit=1000)

Get CIK to name mappings

get_fail_to_deliver(symbol, page=0)

Get fail to deliver data for a symbol

get_form_13f(cik, report_date)

Get Form 13F filing data

Parameters:

Name Type Description Default
cik str

Central Index Key (CIK)

required
report_date date

Report period end date (e.g., 2023-09-30)

required

Returns:

Type Description
list[Form13F]

List of Form13F objects. Empty list if no records found.

get_form_13f_dates(cik)

Get Form 13F filing dates

Parameters:

Name Type Description Default
cik str

Central Index Key (CIK)

required

Returns:

Type Description
list[Form13FDate]

List of Form13FDate objects with filing dates.

list[Form13FDate]

Empty list if no records found.

get_holder_industry_breakdown(cik, report_date)

Get holders industry breakdown for a report period end date

get_holder_performance_summary(cik, report_date=None, page=0)

Get holder performance summary for a report period end date

get_industry_performance_summary(report_date)

Get industry performance summary for a report period end date

get_insider_roster(symbol)

Get insider roster

get_insider_statistics(symbol)

Get insider trading statistics

get_insider_trades(symbol, page=0, limit=100)

Get insider trades

get_insider_trading_by_name(reporting_name, page=0)

Search insider trades by reporting name

get_insider_trading_latest(page=0, limit=100, trade_date=None)

Get latest insider trading activity

get_insider_trading_statistics_enhanced(symbol)

Get enhanced insider trading statistics

get_institutional_holders(page=0, limit=100)

Get list of institutional holders

get_institutional_holdings(symbol, report_date, year=None, quarter=None)

Get institutional holdings by symbol for a report period end date

get_institutional_ownership_analytics(symbol, report_date, page=0, limit=100)

Get filings extract with analytics by holder for a report period end date

get_institutional_ownership_dates(cik)

Get Form 13F filing dates

get_institutional_ownership_extract(cik, report_date)

Get filings extract data for a report period end date

get_institutional_ownership_latest(cik=None, page=0, limit=100)

Get latest institutional ownership filings

get_symbol_positions_summary(symbol, report_date)

Get positions summary by symbol for a report period end date

get_transaction_types()

Get insider transaction types

search_cik_by_name(name, page=0)

Search CIK mappings by name using client-side filtering.

Note: The FMP API does not support server-side name filtering for CIK lookups. This method fetches a large batch of records (10,000) and filters them locally, which may impact performance for frequent searches.

Parameters:

Name Type Description Default
name str

Company name to search for (case-insensitive substring match)

required
page int

Page number for pagination (default: 0)

0

Returns:

Type Description
list[CIKMapping]

List of CIK mappings matching the name

search_insider_trading(symbol=None, page=0, limit=100, reporting_cik=None, company_cik=None, transaction_type=None)

Search insider trades with optional filters

handler: python options: show_root_heading: true show_source: false

AsyncInstitutionalClient

Bases: AsyncEndpointGroup

Async client for institutional activity endpoints.

get_asset_allocation(report_date) async

Get 13F asset allocation data for a report period end date

get_beneficial_ownership(symbol) async

Get beneficial ownership data for a symbol

get_cik_mappings(page=0, limit=1000) async

Get CIK to name mappings

get_fail_to_deliver(symbol, page=0) async

Get fail to deliver data for a symbol

get_form_13f(cik, report_date) async

Get Form 13F filing data

Parameters:

Name Type Description Default
cik str

Central Index Key (CIK)

required
report_date date

Report period end date (e.g., 2023-09-30)

required

Returns:

Type Description
list[Form13F]

List of Form13F objects. Empty list if no records found.

get_form_13f_dates(cik) async

Get Form 13F filing dates

Parameters:

Name Type Description Default
cik str

Central Index Key (CIK)

required

Returns:

Type Description
list[Form13FDate]

List of Form13FDate objects with filing dates. Empty list if no

list[Form13FDate]

records found.

get_holder_industry_breakdown(cik, report_date) async

Get holders industry breakdown for a report period end date

get_holder_performance_summary(cik, report_date=None, page=0) async

Get holder performance summary for a report period end date

get_industry_performance_summary(report_date) async

Get industry performance summary for a report period end date

get_insider_roster(symbol) async

Get insider roster

get_insider_statistics(symbol) async

Get insider trading statistics

get_insider_trades(symbol, page=0, limit=100) async

Get insider trades

get_insider_trading_by_name(reporting_name, page=0) async

Search insider trades by reporting name

get_insider_trading_latest(page=0, limit=100, trade_date=None) async

Get latest insider trading activity

get_insider_trading_statistics_enhanced(symbol) async

Get enhanced insider trading statistics

get_institutional_holders(page=0, limit=100) async

Get list of institutional holders

get_institutional_holdings(symbol, report_date, year=None, quarter=None) async

Get institutional holdings by symbol for a report period end date

get_institutional_ownership_analytics(symbol, report_date, page=0, limit=100) async

Get filings extract with analytics by holder for a report period end date

get_institutional_ownership_dates(cik) async

Get Form 13F filing dates

get_institutional_ownership_extract(cik, report_date) async

Get filings extract data for a report period end date

get_institutional_ownership_latest(cik=None, page=0, limit=100) async

Get latest institutional ownership filings

get_symbol_positions_summary(symbol, report_date) async

Get positions summary by symbol for a report period end date

get_transaction_types() async

Get insider transaction types

search_cik_by_name(name, page=0) async

Search CIK mappings by name using client-side filtering.

Note: The FMP API does not support server-side name filtering for CIK lookups. This method fetches a large batch of records (10,000) and filters them locally, which may impact performance for frequent searches.

Parameters:

Name Type Description Default
name str

Company name to search for (case-insensitive substring match)

required
page int

Page number for pagination (default: 0)

0

Returns:

Type Description
list[CIKMapping]

List of CIK mappings matching the name

search_insider_trading(symbol=None, page=0, limit=100, reporting_cik=None, company_cik=None, transaction_type=None) async

Search insider trades with optional filters

handler: python options: show_root_heading: true show_source: false

Investment Client

InvestmentClient

Bases: EndpointGroup

Client for investment products endpoints

get_etf_country_weightings(symbol)

Get ETF country weightings

get_etf_exposure(symbol)

Get ETF stock exposure

get_etf_holder(symbol)

Get ETF holder information

get_etf_holding_dates(symbol)

Get ETF holding dates

get_etf_holdings(symbol, holdings_date=None)

Get ETF holdings

get_etf_info(symbol)

Get ETF information

Parameters:

Name Type Description Default
symbol str

ETF symbol

required

Returns:

Type Description
ETFInfo | None

ETFInfo object if found, or None if no data/error occurs

get_etf_sector_weightings(symbol)

Get ETF sector weightings

get_fund_disclosure(symbol, year, quarter, cik=None)

Get mutual fund/ETF disclosure holdings

get_fund_disclosure_dates(symbol, cik=None)

Get mutual fund/ETF disclosure dates

get_fund_disclosure_holders_latest(symbol)

Get latest mutual fund/ETF disclosure holders

get_mutual_fund_by_name(name)

Get mutual funds by name

get_mutual_fund_dates(symbol, cik=None)

Get mutual fund/ETF disclosure dates

Parameters:

Name Type Description Default
symbol str

Fund or ETF symbol

required
cik str | None

Optional fund CIK

None

Returns:

Type Description
list[date]

List of disclosure dates

get_mutual_fund_holder(symbol)

Get mutual fund holder information

get_mutual_fund_holdings(symbol, holdings_date)

Get mutual fund holdings

search_fund_disclosure_holders(name)

Search mutual fund/ETF disclosure holders by name

handler: python options: show_root_heading: true show_source: false

AsyncInvestmentClient

Bases: AsyncEndpointGroup

Async client for investment products endpoints.

get_etf_country_weightings(symbol) async

Get ETF country weightings

get_etf_exposure(symbol) async

Get ETF stock exposure

get_etf_holder(symbol) async

Get ETF holder information

get_etf_holding_dates(symbol) async

Get ETF holding dates

get_etf_holdings(symbol, holdings_date=None) async

Get ETF holdings

get_etf_info(symbol) async

Get ETF information

Parameters:

Name Type Description Default
symbol str

ETF symbol

required

Returns:

Type Description
ETFInfo | None

ETFInfo object if found, or None if no data/error occurs

get_etf_sector_weightings(symbol) async

Get ETF sector weightings

get_fund_disclosure(symbol, year, quarter, cik=None) async

Get mutual fund/ETF disclosure holdings

get_fund_disclosure_dates(symbol, cik=None) async

Get mutual fund/ETF disclosure dates

get_fund_disclosure_holders_latest(symbol) async

Get latest mutual fund/ETF disclosure holders

get_mutual_fund_by_name(name) async

Get mutual funds by name

get_mutual_fund_dates(symbol, cik=None) async

Get mutual fund/ETF disclosure dates

Parameters:

Name Type Description Default
symbol str

Fund or ETF symbol

required
cik str | None

Optional fund CIK

None

Returns:

Type Description
list[date]

List of disclosure dates

get_mutual_fund_holder(symbol) async

Get mutual fund holder information

get_mutual_fund_holdings(symbol, holdings_date) async

Get mutual fund holdings

search_fund_disclosure_holders(name) async

Search mutual fund/ETF disclosure holders by name

handler: python options: show_root_heading: true show_source: false

Alternative Markets Client

AlternativeMarketsClient

Bases: EndpointGroup

Client for alternative markets endpoints

get_commodities_list()

Get list of available commodities

get_commodities_quotes()

Get commodities quotes

get_commodity_historical(symbol, start_date=None, end_date=None)

Get commodity historical prices

get_commodity_intraday(symbol, interval='5min')

Get commodity intraday prices

get_commodity_quote(symbol)

Get commodity quote

get_crypto_historical(symbol, start_date=None, end_date=None)

Get cryptocurrency historical prices

get_crypto_intraday(symbol, interval='5min')

Get cryptocurrency intraday prices

get_crypto_list()

Get list of available cryptocurrencies

get_crypto_quote(symbol)

Get cryptocurrency quote

get_crypto_quotes()

Get cryptocurrency quotes

get_forex_historical(symbol, start_date=None, end_date=None)

Get forex historical prices

get_forex_intraday(symbol, interval='5min')

Get forex intraday prices

get_forex_list()

Get list of available forex pairs

get_forex_quote(symbol)

Get forex quote

get_forex_quotes()

Get forex quotes

handler: python options: show_root_heading: true show_source: false

AsyncAlternativeMarketsClient

Bases: AsyncEndpointGroup

Async client for alternative markets endpoints.

get_commodities_list() async

Get list of available commodities

get_commodities_quotes() async

Get commodities quotes

get_commodity_historical(symbol, start_date=None, end_date=None) async

Get commodity historical prices

get_commodity_intraday(symbol, interval='5min') async

Get commodity intraday prices

get_commodity_quote(symbol) async

Get commodity quote

get_crypto_historical(symbol, start_date=None, end_date=None) async

Get cryptocurrency historical prices

get_crypto_intraday(symbol, interval='5min') async

Get cryptocurrency intraday prices

get_crypto_list() async

Get list of available cryptocurrencies

get_crypto_quote(symbol) async

Get cryptocurrency quote

get_crypto_quotes() async

Get cryptocurrency quotes

get_forex_historical(symbol, start_date=None, end_date=None) async

Get forex historical prices

get_forex_intraday(symbol, interval='5min') async

Get forex intraday prices

get_forex_list() async

Get list of available forex pairs

get_forex_quote(symbol) async

Get forex quote

get_forex_quotes() async

Get forex quotes

handler: python options: show_root_heading: true show_source: false

Economics Client

EconomicsClient

Bases: EndpointGroup

Client for economics data endpoints

get_commitment_of_traders_analysis(symbol, start_date, end_date)

Get Commitment of Traders (COT) analysis data

get_commitment_of_traders_list()

Get list of available Commitment of Traders (COT) symbols

get_commitment_of_traders_report(symbol, start_date, end_date)

Get Commitment of Traders (COT) report data

get_economic_calendar(start_date=None, end_date=None)

Get economic calendar events

get_economic_indicators(indicator_name)

Get economic indicator data

get_market_risk_premium()

Get market risk premium data

get_treasury_rates(start_date=None, end_date=None)

Get treasury rates

handler: python options: show_root_heading: true show_source: false

AsyncEconomicsClient

Bases: AsyncEndpointGroup

Async client for economics data endpoints.

get_commitment_of_traders_analysis(symbol, start_date, end_date) async

Get Commitment of Traders (COT) analysis data

get_commitment_of_traders_list() async

Get list of available Commitment of Traders (COT) symbols

get_commitment_of_traders_report(symbol, start_date, end_date) async

Get Commitment of Traders (COT) report data

get_economic_calendar(start_date=None, end_date=None) async

Get economic calendar events

get_economic_indicators(indicator_name) async

Get economic indicator data

get_market_risk_premium() async

Get market risk premium data

get_treasury_rates(start_date=None, end_date=None) async

Get treasury rates

handler: python options: show_root_heading: true show_source: false

Batch Client

BatchClient

Bases: EndpointGroup

Client for batch data endpoints

Provides methods to retrieve data for multiple symbols or entire asset classes in a single API call.

get_aftermarket_quotes(symbols)

Get aftermarket quote data for multiple symbols

Parameters:

Name Type Description Default
symbols list[str]

List of stock symbols

required

Returns:

Type Description
list[AftermarketQuote]

List of aftermarket quote data

get_aftermarket_trades(symbols)

Get aftermarket (post-market) trade data for multiple symbols

Parameters:

Name Type Description Default
symbols list[str]

List of stock symbols

required

Returns:

Type Description
list[AftermarketTrade]

List of aftermarket trade data

get_balance_sheet_bulk(year, period)

Get bulk balance sheet statements

get_balance_sheet_growth_bulk(year, period)

Get bulk balance sheet growth data

get_cash_flow_bulk(year, period)

Get bulk cash flow statements

get_cash_flow_growth_bulk(year, period)

Get bulk cash flow growth data

get_commodity_quotes(short=None)

Get batch quotes for all commodities

Parameters:

Name Type Description Default
short bool | None

Whether to return short quote data

None

Returns:

Type Description
list[BatchQuote]

List of quotes for all commodities

get_crypto_quotes(short=None)

Get batch quotes for all cryptocurrencies

Parameters:

Name Type Description Default
short bool | None

Whether to return short quote data

None

Returns:

Type Description
list[BatchQuote]

List of quotes for all cryptocurrencies

get_dcf_bulk()

Get discounted cash flow valuations in bulk

get_earnings_surprises_bulk(year)

Get bulk earnings surprises for a given year

get_eod_bulk(target_date)

Get bulk end-of-day prices

get_etf_holder_bulk(part)

Get bulk ETF holdings

get_etf_quotes(short=None)

Get batch quotes for all ETFs

Parameters:

Name Type Description Default
short bool | None

Whether to return short quote data

None

Returns:

Type Description
list[BatchQuote]

List of quotes for all ETFs

get_exchange_quotes(exchange, short=None)

Get quotes for all stocks on a specific exchange

Parameters:

Name Type Description Default
exchange str

Exchange code (e.g., NYSE, NASDAQ)

required
short bool | None

Whether to return short quote data

None

Returns:

Type Description
list[BatchQuote]

List of quotes for all stocks on the exchange

get_forex_quotes(short=None)

Get batch quotes for all forex pairs

Parameters:

Name Type Description Default
short bool | None

Whether to return short quote data

None

Returns:

Type Description
list[BatchQuote]

List of quotes for all forex pairs

get_income_statement_bulk(year, period)

Get bulk income statements

get_income_statement_growth_bulk(year, period)

Get bulk income statement growth data

get_index_quotes(short=None)

Get batch quotes for all market indexes

Parameters:

Name Type Description Default
short bool | None

Whether to return short quote data

None

Returns:

Type Description
list[BatchQuote]

List of quotes for all market indexes

get_key_metrics_ttm_bulk()

Get bulk trailing twelve month key metrics

get_market_caps(symbols)

Get market capitalization for multiple symbols

Parameters:

Name Type Description Default
symbols list[str]

List of stock symbols

required

Returns:

Type Description
list[BatchMarketCap]

List of market cap data for each symbol

get_mutualfund_quotes(short=None)

Get batch quotes for all mutual funds

Parameters:

Name Type Description Default
short bool | None

Whether to return short quote data

None

Returns:

Type Description
list[BatchQuote]

List of quotes for all mutual funds

get_peers_bulk()

Get bulk peer lists

get_price_target_summary_bulk()

Get bulk price target summaries

get_profile_bulk(part)

Get company profile data in bulk

get_quotes(symbols)

Get real-time quotes for multiple symbols

Parameters:

Name Type Description Default
symbols list[str]

List of stock symbols

required

Returns:

Type Description
list[BatchQuote]

List of quote data for each symbol

get_quotes_short(symbols)

Get quick price snapshots for multiple symbols

Parameters:

Name Type Description Default
symbols list[str]

List of stock symbols

required

Returns:

Type Description
list[BatchQuoteShort]

List of short quote data for each symbol

get_rating_bulk()

Get stock ratings in bulk

get_ratios_ttm_bulk()

Get trailing twelve month financial ratios in bulk

get_scores_bulk()

Get financial scores in bulk

get_upgrades_downgrades_consensus_bulk()

Get bulk upgrades/downgrades consensus data

handler: python options: show_root_heading: true show_source: false

AsyncBatchClient

Bases: AsyncEndpointGroup

Async client for batch data endpoints.

Provides async methods to retrieve data for multiple symbols or entire asset classes in a single API call.

get_aftermarket_quotes(symbols) async

Get aftermarket quote data for multiple symbols

Parameters:

Name Type Description Default
symbols list[str]

List of stock symbols

required

Returns:

Type Description
list[AftermarketQuote]

List of aftermarket quote data

get_aftermarket_trades(symbols) async

Get aftermarket (post-market) trade data for multiple symbols

Parameters:

Name Type Description Default
symbols list[str]

List of stock symbols

required

Returns:

Type Description
list[AftermarketTrade]

List of aftermarket trade data

get_balance_sheet_bulk(year, period) async

Get bulk balance sheet statements

get_balance_sheet_growth_bulk(year, period) async

Get bulk balance sheet growth data

get_cash_flow_bulk(year, period) async

Get bulk cash flow statements

get_cash_flow_growth_bulk(year, period) async

Get bulk cash flow growth data

get_commodity_quotes(short=None) async

Get batch quotes for all commodities

Parameters:

Name Type Description Default
short bool | None

Whether to return short quote data

None

Returns:

Type Description
list[BatchQuote]

List of quotes for all commodities

get_crypto_quotes(short=None) async

Get batch quotes for all cryptocurrencies

Parameters:

Name Type Description Default
short bool | None

Whether to return short quote data

None

Returns:

Type Description
list[BatchQuote]

List of quotes for all cryptocurrencies

get_dcf_bulk() async

Get discounted cash flow valuations in bulk

get_earnings_surprises_bulk(year) async

Get bulk earnings surprises for a given year

get_eod_bulk(target_date) async

Get bulk end-of-day prices

get_etf_holder_bulk(part) async

Get bulk ETF holdings

get_etf_quotes(short=None) async

Get batch quotes for all ETFs

Parameters:

Name Type Description Default
short bool | None

Whether to return short quote data

None

Returns:

Type Description
list[BatchQuote]

List of quotes for all ETFs

get_exchange_quotes(exchange, short=None) async

Get quotes for all stocks on a specific exchange

Parameters:

Name Type Description Default
exchange str

Exchange code (e.g., NYSE, NASDAQ)

required
short bool | None

Whether to return short quote data

None

Returns:

Type Description
list[BatchQuote]

List of quotes for all stocks on the exchange

get_forex_quotes(short=None) async

Get batch quotes for all forex pairs

Parameters:

Name Type Description Default
short bool | None

Whether to return short quote data

None

Returns:

Type Description
list[BatchQuote]

List of quotes for all forex pairs

get_income_statement_bulk(year, period) async

Get bulk income statements

get_income_statement_growth_bulk(year, period) async

Get bulk income statement growth data

get_index_quotes(short=None) async

Get batch quotes for all market indexes

Parameters:

Name Type Description Default
short bool | None

Whether to return short quote data

None

Returns:

Type Description
list[BatchQuote]

List of quotes for all market indexes

get_key_metrics_ttm_bulk() async

Get bulk trailing twelve month key metrics

get_market_caps(symbols) async

Get market capitalization for multiple symbols

Parameters:

Name Type Description Default
symbols list[str]

List of stock symbols

required

Returns:

Type Description
list[BatchMarketCap]

List of market cap data for each symbol

get_mutualfund_quotes(short=None) async

Get batch quotes for all mutual funds

Parameters:

Name Type Description Default
short bool | None

Whether to return short quote data

None

Returns:

Type Description
list[BatchQuote]

List of quotes for all mutual funds

get_peers_bulk() async

Get bulk peer lists

get_price_target_summary_bulk() async

Get bulk price target summaries

get_profile_bulk(part) async

Get company profile data in bulk

get_quotes(symbols) async

Get real-time quotes for multiple symbols

Parameters:

Name Type Description Default
symbols list[str]

List of stock symbols

required

Returns:

Type Description
list[BatchQuote]

List of quote data for each symbol

get_quotes_short(symbols) async

Get quick price snapshots for multiple symbols

Parameters:

Name Type Description Default
symbols list[str]

List of stock symbols

required

Returns:

Type Description
list[BatchQuoteShort]

List of short quote data for each symbol

get_rating_bulk() async

Get stock ratings in bulk

get_ratios_ttm_bulk() async

Get trailing twelve month financial ratios in bulk

get_scores_bulk() async

Get financial scores in bulk

get_upgrades_downgrades_consensus_bulk() async

Get bulk upgrades/downgrades consensus data

handler: python options: show_root_heading: true show_source: false

Transcripts Client

TranscriptsClient

Bases: EndpointGroup

Client for earnings transcript endpoints

Provides methods to retrieve earnings call transcripts and related data.

get_available_dates(symbol)

Get available transcript dates for a specific company

Parameters:

Name Type Description Default
symbol str

Stock symbol

required

Returns:

Type Description
list[TranscriptDate]

List of available transcript dates

get_available_symbols()

Get list of all symbols with available earnings transcripts

Returns:

Type Description
list[TranscriptSymbol]

List of symbols with transcripts

get_latest(page=0, limit=100)

Get the most recent earnings call transcripts

Parameters:

Name Type Description Default
page int

Page number for pagination (default: 0)

0
limit int

Number of results per page (default: 100)

100

Returns:

Type Description
list[EarningsTranscript]

List of recent earnings transcripts

get_transcript(symbol, year, quarter, limit=None)

Get earnings call transcript for a specific company

Parameters:

Name Type Description Default
symbol str

Stock symbol

required
year int

Fiscal year

required
quarter int

Fiscal quarter 1-4

required
limit int | None

Number of transcripts to return (optional)

None

Returns:

Type Description
list[EarningsTranscript]

List of matching earnings transcripts

handler: python options: show_root_heading: true show_source: false

AsyncTranscriptsClient

Bases: AsyncEndpointGroup

Async client for earnings transcript endpoints.

Provides async methods to retrieve earnings call transcripts and related data.

get_available_dates(symbol) async

Get available transcript dates for a specific company

Parameters:

Name Type Description Default
symbol str

Stock symbol

required

Returns:

Type Description
list[TranscriptDate]

List of available transcript dates

get_available_symbols() async

Get list of all symbols with available earnings transcripts

Returns:

Type Description
list[TranscriptSymbol]

List of symbols with transcripts

get_latest(page=0, limit=100) async

Get the most recent earnings call transcripts

Parameters:

Name Type Description Default
page int

Page number for pagination (default: 0)

0
limit int

Number of results per page (default: 100)

100

Returns:

Type Description
list[EarningsTranscript]

List of recent earnings transcripts

get_transcript(symbol, year, quarter, limit=None) async

Get earnings call transcript for a specific company

Parameters:

Name Type Description Default
symbol str

Stock symbol

required
year int

Fiscal year

required
quarter int

Fiscal quarter 1-4

required
limit int | None

Number of transcripts to return (optional)

None

Returns:

Type Description
list[EarningsTranscript]

List of matching earnings transcripts

handler: python options: show_root_heading: true show_source: false

SEC Client

SECClient

Bases: EndpointGroup

Client for SEC filing and company data endpoints

Provides methods to retrieve SEC filings, company profiles, and related data.

get_all_industry_classification(page=0, limit=100)

Get all industry classification records

Parameters:

Name Type Description Default
page int

Page number for pagination (default: 0)

0
limit int

Number of results per page (default: 100)

100

Returns:

Type Description
list[IndustryClassification]

List of industry classification records

get_latest_8k(page=0, limit=100, from_date=None, to_date=None)

Get the latest SEC 8-K filings

Parameters:

Name Type Description Default
page int

Page number for pagination (default: 0)

0
limit int

Number of results per page (default: 100)

100
from_date date | None

Start date (default: 30 days ago)

None
to_date date | None

End date (default: today)

None

Returns:

Type Description
list[SECFiling8K]

List of recent 8-K filings

get_latest_financials(page=0, limit=100, from_date=None, to_date=None)

Get the latest SEC financial filings (10-K, 10-Q)

Parameters:

Name Type Description Default
page int

Page number for pagination (default: 0)

0
limit int

Number of results per page (default: 100)

100
from_date date | None

Start date (default: 30 days ago)

None
to_date date | None

End date (default: today)

None

Returns:

Type Description
list[SECFinancialFiling]

List of recent financial filings

get_profile(symbol)

Get SEC profile for a company

Parameters:

Name Type Description Default
symbol str

Stock symbol

required

Returns:

Type Description
SECProfile | None

SEC profile for the company, or None if not found

get_sic_codes()

Get list of all Standard Industrial Classification (SIC) codes

Returns:

Type Description
list[SICCode]

List of SIC codes

search_by_cik(cik, page=0, limit=100, from_date=None, to_date=None)

Search SEC filings by CIK number

Parameters:

Name Type Description Default
cik str

SEC CIK number

required
page int

Page number for pagination (default: 0)

0
limit int

Number of results per page (default: 100)

100

Returns:

Type Description
list[SECFilingSearchResult]

List of matching filings

search_by_form_type(form_type, page=0, limit=100, from_date=None, to_date=None)

Search SEC filings by form type

Parameters:

Name Type Description Default
form_type str

SEC form type (e.g., 10-K, 10-Q, 8-K)

required
page int

Page number for pagination (default: 0)

0
limit int

Number of results per page (default: 100)

100

Returns:

Type Description
list[SECFilingSearchResult]

List of matching filings

search_by_symbol(symbol, page=0, limit=100, from_date=None, to_date=None)

Search SEC filings by stock symbol

Parameters:

Name Type Description Default
symbol str

Stock symbol

required
page int

Page number for pagination (default: 0)

0
limit int

Number of results per page (default: 100)

100

Returns:

Type Description
list[SECFilingSearchResult]

List of matching filings

search_company_by_cik(cik)

Search SEC companies by CIK number

Parameters:

Name Type Description Default
cik str

SEC CIK number

required

Returns:

Type Description
list[SECCompanySearchResult]

List of matching companies

search_company_by_name(name, page=0, limit=100)

Search SEC companies by name

Parameters:

Name Type Description Default
name str

Company name or partial name

required
page int

Page number for pagination (default: 0)

0
limit int

Number of results per page (default: 100)

100

Returns:

Type Description
list[SECCompanySearchResult]

List of matching companies

search_company_by_symbol(symbol)

Search SEC companies by stock symbol

Parameters:

Name Type Description Default
symbol str

Stock symbol

required

Returns:

Type Description
list[SECCompanySearchResult]

List of matching companies

search_industry_classification(symbol=None, cik=None, sic_code=None)

Search industry classification data

Parameters:

Name Type Description Default
symbol str | None

Stock symbol

None
cik str | None

SEC CIK number

None
sic_code str | None

SIC code

None

Returns:

Type Description
list[IndustryClassification]

List of matching industry classification records

handler: python options: show_root_heading: true show_source: false

AsyncSECClient

Bases: AsyncEndpointGroup

Async client for SEC filing and company data endpoints.

Provides async methods to retrieve SEC filings, company profiles, and related data.

get_all_industry_classification(page=0, limit=100) async

Get all industry classification records

Parameters:

Name Type Description Default
page int

Page number for pagination (default: 0)

0
limit int

Number of results per page (default: 100)

100

Returns:

Type Description
list[IndustryClassification]

List of industry classification records

get_latest_8k(page=0, limit=100, from_date=None, to_date=None) async

Get the latest SEC 8-K filings

Parameters:

Name Type Description Default
page int

Page number for pagination (default: 0)

0
limit int

Number of results per page (default: 100)

100
from_date date | None

Start date (default: 30 days ago)

None
to_date date | None

End date (default: today)

None

Returns:

Type Description
list[SECFiling8K]

List of recent 8-K filings

get_latest_financials(page=0, limit=100, from_date=None, to_date=None) async

Get the latest SEC financial filings (10-K, 10-Q)

Parameters:

Name Type Description Default
page int

Page number for pagination (default: 0)

0
limit int

Number of results per page (default: 100)

100
from_date date | None

Start date (default: 30 days ago)

None
to_date date | None

End date (default: today)

None

Returns:

Type Description
list[SECFinancialFiling]

List of recent financial filings

get_profile(symbol) async

Get SEC profile for a company

Parameters:

Name Type Description Default
symbol str

Stock symbol

required

Returns:

Type Description
SECProfile | None

SEC profile for the company, or None if not found

get_sic_codes() async

Get list of all Standard Industrial Classification (SIC) codes

Returns:

Type Description
list[SICCode]

List of SIC codes

search_by_cik(cik, page=0, limit=100, from_date=None, to_date=None) async

Search SEC filings by CIK number

Parameters:

Name Type Description Default
cik str

SEC CIK number

required
page int

Page number for pagination (default: 0)

0
limit int

Number of results per page (default: 100)

100

Returns:

Type Description
list[SECFilingSearchResult]

List of matching filings

search_by_form_type(form_type, page=0, limit=100, from_date=None, to_date=None) async

Search SEC filings by form type

Parameters:

Name Type Description Default
form_type str

SEC form type (e.g., 10-K, 10-Q, 8-K)

required
page int

Page number for pagination (default: 0)

0
limit int

Number of results per page (default: 100)

100

Returns:

Type Description
list[SECFilingSearchResult]

List of matching filings

search_by_symbol(symbol, page=0, limit=100, from_date=None, to_date=None) async

Search SEC filings by stock symbol

Parameters:

Name Type Description Default
symbol str

Stock symbol

required
page int

Page number for pagination (default: 0)

0
limit int

Number of results per page (default: 100)

100

Returns:

Type Description
list[SECFilingSearchResult]

List of matching filings

search_company_by_cik(cik) async

Search SEC companies by CIK number

Parameters:

Name Type Description Default
cik str

SEC CIK number

required

Returns:

Type Description
list[SECCompanySearchResult]

List of matching companies

search_company_by_name(name, page=0, limit=100) async

Search SEC companies by name

Parameters:

Name Type Description Default
name str

Company name or partial name

required
page int

Page number for pagination (default: 0)

0
limit int

Number of results per page (default: 100)

100

Returns:

Type Description
list[SECCompanySearchResult]

List of matching companies

search_company_by_symbol(symbol) async

Search SEC companies by stock symbol

Parameters:

Name Type Description Default
symbol str

Stock symbol

required

Returns:

Type Description
list[SECCompanySearchResult]

List of matching companies

search_industry_classification(symbol=None, cik=None, sic_code=None) async

Search industry classification data

Parameters:

Name Type Description Default
symbol str | None

Stock symbol

None
cik str | None

SEC CIK number

None
sic_code str | None

SIC code

None

Returns:

Type Description
list[IndustryClassification]

List of matching industry classification records

handler: python options: show_root_heading: true show_source: false

Index Client

IndexClient

Bases: EndpointGroup

Client for market index endpoints

Provides methods to retrieve index constituents and historical changes.

get_dowjones_constituents()

Get current Dow Jones Industrial Average constituents

Returns:

Type Description
list[IndexConstituent]

List of Dow Jones constituent companies

get_historical_dowjones()

Get historical Dow Jones constituent changes

Returns:

Type Description
list[HistoricalIndexConstituent]

List of historical constituent additions and removals

get_historical_nasdaq()

Get historical NASDAQ constituent changes

Returns:

Type Description
list[HistoricalIndexConstituent]

List of historical constituent additions and removals

get_historical_sp500()

Get historical S&P 500 constituent changes

Returns:

Type Description
list[HistoricalIndexConstituent]

List of historical constituent additions and removals

get_nasdaq_constituents()

Get current NASDAQ index constituents

Returns:

Type Description
list[IndexConstituent]

List of NASDAQ constituent companies

get_sp500_constituents()

Get current S&P 500 index constituents

Returns:

Type Description
list[IndexConstituent]

List of S&P 500 constituent companies

handler: python options: show_root_heading: true show_source: false

AsyncIndexClient

Bases: AsyncEndpointGroup

Async client for market index endpoints.

Provides async methods to retrieve index constituents and historical changes.

get_dowjones_constituents() async

Get current Dow Jones Industrial Average constituents

Returns:

Type Description
list[IndexConstituent]

List of Dow Jones constituent companies

get_historical_dowjones() async

Get historical Dow Jones constituent changes

Returns:

Type Description
list[HistoricalIndexConstituent]

List of historical constituent additions and removals

get_historical_nasdaq() async

Get historical NASDAQ constituent changes

Returns:

Type Description
list[HistoricalIndexConstituent]

List of historical constituent additions and removals

get_historical_sp500() async

Get historical S&P 500 constituent changes

Returns:

Type Description
list[HistoricalIndexConstituent]

List of historical constituent additions and removals

get_nasdaq_constituents() async

Get current NASDAQ index constituents

Returns:

Type Description
list[IndexConstituent]

List of NASDAQ constituent companies

get_sp500_constituents() async

Get current S&P 500 index constituents

Returns:

Type Description
list[IndexConstituent]

List of S&P 500 constituent companies

handler: python options: show_root_heading: true show_source: false

Exceptions

exceptions

AuthenticationError

Bases: FMPError

Raised when API key is invalid or missing

ConfigError

Bases: FMPError

Raised when there's a configuration error

DependencyError

Bases: ConfigError

Raised when a required optional dependency is not installed.

FMPError

Bases: Exception

Base exception for FMP API errors

FMPNotFound

Bases: FMPError

Raised when a requested symbol or resource cannot be found.

InvalidResponseTypeError

Bases: FMPError

Raised when an API response has an unexpected type.

InvalidSymbolError

Bases: ValidationError

Raised when a required symbol is missing or blank.

RateLimitError

Bases: FMPError

Raised when API rate limit is exceeded

ValidationError

Bases: FMPError

Raised when request parameters are invalid

handler: python options: show_root_heading: true show_source: false

Data Models

Company Models

models

AftermarketQuote

Bases: BaseModel

Aftermarket quote data

AftermarketTrade

Bases: BaseModel

Aftermarket trade data

AnalystEstimate

Bases: BaseModel

Analyst earnings and revenue estimates

AnalystRecommendation

Bases: BaseModel

Analyst stock recommendation

CompanyCoreInformation

Bases: BaseModel

Core company information.

CompanyExecutive

Bases: BaseModel

Company executive information

CompanyNote

Bases: BaseModel

Company financial note.

CompanyOutlook

Bases: BaseModel

Comprehensive company outlook payload.

The endpoint returns a heterogeneous object that can include profile, filings, metrics, and other dynamic sections. Known high-value fields are typed while unknown sections are preserved via extra="allow".

CompanyPeer

Bases: BaseModel

Company peer information.

CompanyPeers

Bases: BaseModel

Container for company peer information.

CompanyProfile

Bases: BaseModel

Company profile information.

market_cap property

Alias for mkt_cap, consistent with Quote.market_cap.

coerce_volume_to_int(value) classmethod

Coerce volume values to int (FMP API may return floats).

See: https://github.com/MehdiZare/fmp-data/issues/70

EmployeeCount

Bases: BaseModel

Company employee count history.

ExecutiveCompensation

Bases: BaseModel

Executive compensation information based on SEC filings

ExecutiveCompensationBenchmark

Bases: BaseModel

Executive compensation benchmark data by industry

FinancialReportJSON

Bases: BaseModel

Structured JSON response for Form 10-K financial reports.

FinancialReportSectionRow

Bases: BaseModel

Single row within a financial report section.

GeographicRevenueSegment

Bases: RevenueSegmentItem

Geographic revenue segmentation with region segments

HistoricalData

Bases: BaseModel

Model to parse the full historical data response

parse_api_response(data) classmethod

Parse raw API response into validated HistoricalData model.

HistoricalPrice

Bases: BaseModel

Historical price data point

HistoricalShareFloat

Bases: ShareFloat

Historical share float data with the same structure as current share float

IntradayPrice

Bases: BaseModel

Intraday price data point

MergerAcquisition

Bases: BaseModel

Merger and acquisition transaction data

PriceTarget

Bases: BaseModel

Price target data based on FMP API response

PriceTargetConsensus

Bases: BaseModel

Price target consensus data

PriceTargetSummary

Bases: BaseModel

Price target summary statistics

publishers_list property

Get publishers as a parsed list.

ProductRevenueSegment

Bases: RevenueSegmentItem

Product revenue segmentation with product segments

Quote

Bases: BaseModel

Real-time stock quote data

Relative path: models/quote.py

quote_datetime property

Convert Unix timestamp to datetime object

coerce_volume_to_int(value) classmethod

Coerce volume to int (FMP API may return floats).

parse_timestamp(value) classmethod

Parse Unix timestamp to datetime with UTC timezone

RevenueSegmentItem

Bases: BaseModel

Single year revenue segment data

__init__(**data)

Custom init to handle the single-key dictionary structure.

Parameters:

Name Type Description Default
**data Any

Dictionary of initialization parameters where either: - It contains a single key (date) mapping to a dict of segments - It contains 'date' and 'segments' keys directly - It contains full API response with metadata fields

{}

SimpleQuote

Bases: BaseModel

Simple stock quote data

coerce_volume_to_int(value) classmethod

Coerce volume to int (FMP API may return floats).

StockPriceChange

Bases: BaseModel

Stock price change percentages over multiple time horizons

SymbolChange

Bases: BaseModel

Symbol change information from the FMP API

UpgradeDowngrade

Bases: BaseModel

Stock upgrade/downgrade data

UpgradeDowngradeConsensus

Bases: BaseModel

Upgrade/downgrade consensus data

coerce_volume_value(value)

Coerce volume values to int (FMP API may return floats).

See: https://github.com/MehdiZare/fmp-data/issues/70

handler: python options: show_root_heading: true show_source: false filters: - "!^_"

Market Models

models

AvailableIndex

Bases: BaseModel

Market index information

CIKListEntry

Bases: BaseModel

CIK list entry

CIKResult

Bases: BaseModel

CIK search result

CUSIPResult

Bases: BaseModel

CUSIP search result

CompanySearchResult

Bases: BaseModel

Company search result

ExchangeSymbol

Bases: BaseModel

Exchange symbol information matching actual API response

validate_data(data) classmethod

Validate data and convert invalid values to None with warnings.

Parameters:

Name Type Description Default
data Any

Raw data to validate

required

Returns:

Type Description
dict[str, Any]

Dict[str, Any]: Cleaned data with invalid values converted to None

IPODisclosure

Bases: BaseModel

IPO disclosure information

IPOProspectus

Bases: BaseModel

IPO prospectus information

ISINResult

Bases: BaseModel

ISIN search result

IndexHistoricalLight

Bases: BaseModel

Light historical index price data

IndexHistoricalPrice

Bases: BaseModel

Historical index price data

IndexIntraday

Bases: BaseModel

Intraday index price data

IndexQuote

Bases: BaseModel

Index quote information

IndexShortQuote

Bases: BaseModel

Index short quote information

IndustryPESnapshot

Bases: BaseModel

Industry price-to-earnings snapshot data

IndustryPerformance

Bases: BaseModel

Industry performance data

MarketHoliday

Bases: BaseModel

Market holiday for a single exchange

MarketHours

Bases: BaseModel

Market trading hours for a single exchange

Relative path: fmp_data/market/models.py

MarketMover

Bases: BaseModel

Market mover (gainer/loser) data

PrePostMarketQuote

Bases: BaseModel

Pre/Post market quote data

SectorPESnapshot

Bases: BaseModel

Sector price-to-earnings snapshot data

SectorPerformance

Bases: BaseModel

Sector performance data

parse_percentage(value)

Convert percentage string or float to a float.

Parameters:

Name Type Description Default
value Any

Value to parse, can be a string ending with '%' or a float

required

Returns:

Type Description
float | None

float | None: Parsed percentage value as decimal, or None if value is None

Raises:

Type Description
ValueError

If value cannot be parsed as a percentage

handler: python options: show_root_heading: true show_source: false filters: - "!^_"

Fundamental Models

models

AsReportedBalanceSheet

Bases: AsReportedFinancialStatementBase

As-reported balance sheet data directly from SEC filings

AsReportedCashFlowStatement

Bases: AsReportedFinancialStatementBase

As-reported cash flow statement data directly from SEC filings

AsReportedFinancialStatementBase

Bases: BaseModel

Base model for as-reported financial statements

AsReportedIncomeStatement

Bases: AsReportedFinancialStatementBase

As-reported income statement data directly from SEC filings

BalanceSheet

Bases: FinancialStatementBase

Balance sheet data

CashFlowStatement

Bases: FinancialStatementBase

Cash flow statement data from FMP API

Relative path: fmp_data/fundamental/models.py

financing_cash_flow property

Net cash provided by financing activities.

investing_cash_flow property

Net cash provided by investing activities.

CompanyRating

Bases: BaseModel

Company rating data

CustomDCF

Bases: BaseModel

Custom discounted cash flow valuation with detailed components

CustomLeveredDCF

Bases: BaseModel

Custom levered discounted cash flow valuation with detailed components

DCF

Bases: BaseModel

Discounted cash flow valuation

EnterpriseValue

Bases: BaseModel

Enterprise value metrics

FinancialGrowth

Bases: BaseModel

Financial growth metrics

FinancialRatios

Bases: BaseModel

Financial ratios

FinancialRatiosTTM

Bases: BaseModel

Trailing twelve months financial ratios

FinancialReport

Bases: BaseModel

Financial report summary

FinancialReportDate

Bases: BaseModel

Financial report date

FinancialReportDates

Bases: BaseModel

Financial report date

FinancialScore

Bases: BaseModel

Company financial score

FinancialStatementBase

Bases: BaseModel

Base model for financial statements

FinancialStatementFull

Bases: BaseModel

Full financial statements as reported

HistoricalRating

Bases: BaseModel

Historical company rating data

IncomeStatement

Bases: FinancialStatementBase

Income statement data from FMP API

KeyMetrics

Bases: BaseModel

Key financial metrics

KeyMetricsTTM

Bases: BaseModel

Trailing twelve months key metrics

LatestFinancialStatement

Bases: BaseModel

Latest financial statement metadata

LeveredDCF

Bases: BaseModel

Levered discounted cash flow valuation

OwnerEarnings

Bases: BaseModel

Owner earnings data

handler: python options: show_root_heading: true show_source: false filters: - "!^_"

Technical Models

models

ADXIndicator

Bases: TechnicalIndicator

Average Directional Index (ADX) indicator

DEMAIndicator

Bases: TechnicalIndicator

Double Exponential Moving Average (DEMA) indicator

EMAIndicator

Bases: TechnicalIndicator

Exponential Moving Average (EMA) indicator

RSIIndicator

Bases: TechnicalIndicator

Relative Strength Index (RSI) indicator

SMAIndicator

Bases: TechnicalIndicator

Simple Moving Average indicator with extended fields

StandardDeviationIndicator

Bases: TechnicalIndicator

Standard Deviation indicator with extended fields

TEMAIndicator

Bases: TechnicalIndicator

Triple Exponential Moving Average (TEMA) indicator

TechnicalIndicator

Bases: BaseModel

Base class for technical indicators

WMAIndicator

Bases: TechnicalIndicator

Weighted Moving Average indicator

WilliamsIndicator

Bases: TechnicalIndicator

Williams %R indicator

handler: python options: show_root_heading: true show_source: false filters: - "!^_"

Market Intelligence Models

models

CrowdfundingOffering

Bases: BaseModel

Crowdfunding offering data

CrowdfundingOfferingSearchItem

Bases: BaseModel

Crowdfunding offering search item

CryptoNewsArticle

Bases: BaseModel

Crypto news article data

DividendEvent

Bases: BaseModel

Dividend calendar event

ESGData

Bases: BaseModel

ESG environmental, social and governance data

ESGRating

Bases: BaseModel

ESG rating data

EarningConfirmed

Bases: BaseModel

Confirmed earnings event

EarningEvent

Bases: BaseModel

Earnings calendar event based on FMP API response

EarningSurprise

Bases: BaseModel

Earnings surprise data based on FMP API response

EquityOffering

Bases: BaseModel

Equity offering data

EquityOfferingSearchItem

Bases: BaseModel

Equity offering search item

FMPArticle

Bases: BaseModel

Individual FMP article data

FMPArticlesResponse

Bases: BaseModel

Root response containing array of articles

ForexNewsArticle

Bases: BaseModel

Forex news article data

GeneralNewsArticle

Bases: BaseModel

General news article data

HistoricalRating

Bases: BaseModel

Historical analyst rating data

HistoricalSocialSentiment

Bases: BaseModel

Historical social sentiment data

HistoricalStockGrade

Bases: BaseModel

Historical stock grade data

HouseDisclosure

Bases: BaseModel

House disclosure data

disclosure_year property

Backward-compatible disclosure year.

representative property

Backward-compatible representative name.

ticker property

Backward-compatible ticker symbol.

IPOEvent

Bases: BaseModel

IPO calendar event

PressRelease

Bases: BaseModel

Press release data

PressReleaseBySymbol

Bases: BaseModel

Press release data by company symbol

PriceTargetNews

Bases: BaseModel

Price target news article

RatingsSnapshot

Bases: BaseModel

Current analyst ratings snapshot

SenateTrade

Bases: BaseModel

Senate trading data

date_received property

Backward-compatible alias for disclosure_date.

SocialSentimentChanges

Bases: BaseModel

Changes in social sentiment data

StockGrade

Bases: BaseModel

Stock grade from analyst

StockGradeNews

Bases: BaseModel

Stock grade news article

StockGradesConsensus

Bases: BaseModel

Stock grades consensus summary

StockNewsArticle

Bases: BaseModel

Stock news article data

StockNewsSentiment

Bases: BaseModel

Stock news article with sentiment data

StockSplitEvent

Bases: BaseModel

Stock split calendar event

TrendingSocialSentiment

Bases: BaseModel

Trending social sentiment data

handler: python options: show_root_heading: true show_source: false filters: - "!^_"

Institutional Models

models

AssetAllocation

Bases: BaseModel

13F asset allocation data

BeneficialOwnership

Bases: BaseModel

Beneficial ownership information

CIKCompanyMap

Bases: BaseModel

CIK to company mapping information

CIKMapping

Bases: BaseModel

CIK to name mapping information

FailToDeliver

Bases: BaseModel

Fail to deliver information

Form13F

Bases: BaseModel

Individual holding in a 13F report

Form13FDate

Bases: BaseModel

Form 13F filing dates

validate_date(value)

Validate the date field. Raises exceptions for invalid data to fail fast.

Parameters:

Name Type Description Default
value Any

The value to validate, can be date, string, or any other type

required

Returns:

Type Description
date | None

date | None: Validated date object or None for None input

Raises:

Type Description
ValueError

If the date string format is invalid

TypeError

If the value type is unexpected

Example

"2023-01-01" -> date(2023, 1, 1) "invalid" -> raises ValueError None -> None

HolderIndustryBreakdown

Bases: BaseModel

Holders industry breakdown

HolderPerformanceSummary

Bases: BaseModel

Holder performance summary

IndustryPerformanceSummary

Bases: BaseModel

Industry performance summary

InsiderRoster

Bases: BaseModel

Insider roster information

InsiderStatistic

Bases: BaseModel

Insider trading statistics

InsiderTrade

Bases: BaseModel

Insider trade information

InsiderTradingByName

Bases: BaseModel

Insider trading by reporting name

InsiderTradingLatest

Bases: BaseModel

Latest insider trading information

InsiderTradingSearch

Bases: BaseModel

Search results for insider trading

InsiderTradingStatistics

Bases: BaseModel

Enhanced insider trading statistics

InsiderTransactionType

Bases: BaseModel

Insider transaction type

InstitutionalHolder

Bases: BaseModel

Institutional holder information

InstitutionalHolding

Bases: BaseModel

Institutional holding information

InstitutionalOwnershipAnalytics

Bases: BaseModel

Filings extract with analytics by holder

InstitutionalOwnershipDates

Bases: BaseModel

Form 13F filing dates

InstitutionalOwnershipExtract

Bases: BaseModel

Filings extract information

InstitutionalOwnershipLatest

Bases: BaseModel

Latest institutional ownership filings

SymbolPositionsSummary

Bases: BaseModel

Positions summary by symbol

handler: python options: show_root_heading: true show_source: false filters: - "!^_"

Investment Models

models

ETFCountryWeighting

Bases: BaseModel

ETF country weighting

parse_weight_percentage(value)

Parse percentage string into float

ETFExposure

Bases: BaseModel

ETF stock exposure

ETFHolder

Bases: BaseModel

ETF holder information

ETFHolding

Bases: BaseModel

ETF holding information

ETFInfo

Bases: BaseModel

ETF information

ETFPortfolioDate

Bases: BaseModel

ETF portfolio date model

ETFSectorExposure

Bases: BaseModel

Sector exposure within the ETF

ETFSectorWeighting

Bases: BaseModel

ETF sector weighting

parse_weight_percentage(value)

Parse percentage string or number into normalized float (0-1 scale)

FundDisclosureHolderLatest

Bases: BaseModel

Latest mutual fund/ETF disclosure holder information

FundDisclosureHolding

Bases: BaseModel

Mutual fund/ETF disclosure holding data

FundDisclosureSearchResult

Bases: BaseModel

Mutual fund/ETF disclosure holder search result

MutualFundHolder

Bases: BaseModel

Mutual fund holder information

MutualFundHolding

Bases: BaseModel

Mutual fund holding information

PortfolioDate

Bases: BaseModel

Portfolio date model for ETFs and Mutual Funds

handler: python options: show_root_heading: true show_source: false filters: - "!^_"

Alternative Markets Models

models

Commodity

Bases: BaseModel

Commodity information

CommodityHistoricalPrice

Bases: HistoricalPrice

Commodity historical price

CommodityIntradayPrice

Bases: IntradayPrice

Commodity intraday price

CommodityPriceHistory

Bases: BaseModel

Full commodity price history

CommodityQuote

Bases: PriceQuote

Commodity price quote

CryptoHistoricalData

Bases: BaseModel

Historical price data wrapper

CryptoHistoricalPrice

Bases: HistoricalPrice

Cryptocurrency historical price

CryptoIntradayPrice

Bases: IntradayPrice

Cryptocurrency intraday price

CryptoPair

Bases: BaseModel

Cryptocurrency trading pair information

CryptoQuote

Bases: PriceQuote

Cryptocurrency price quote

ForexHistoricalPrice

Bases: HistoricalPrice

Forex historical price

ForexIntradayPrice

Bases: IntradayPrice

Forex intraday price

ForexPair

Bases: BaseModel

Forex trading pair information

ForexPriceHistory

Bases: BaseModel

Full forex price history

ForexQuote

Bases: PriceQuote

Forex price quote

HistoricalPrice

Bases: BaseModel

Base model for historical price data

IntradayPrice

Bases: BaseModel

Base model for intraday prices

PriceQuote

Bases: BaseModel

Base model for price quotes

parse_timestamp(value) classmethod

Parse Unix timestamp to datetime with UTC timezone

handler: python options: show_root_heading: true show_source: false filters: - "!^_"

Economics Models

models

CommitmentOfTradersAnalysis

Bases: BaseModel

Commitment of Traders (COT) analysis data

CommitmentOfTradersListItem

Bases: BaseModel

Commitment of Traders (COT) report list item

CommitmentOfTradersReport

Bases: BaseModel

Commitment of Traders (COT) report data

EconomicEvent

Bases: BaseModel

Economic calendar event data

EconomicIndicator

Bases: BaseModel

Economic indicator data

MarketRiskPremium

Bases: BaseModel

Market risk premium data

TreasuryRate

Bases: BaseModel

Treasury rate data

handler: python options: show_root_heading: true show_source: false filters: - "!^_"

Batch Models

models

AftermarketQuote

Bases: BaseModel

Aftermarket quote data.

Note: ask/bid size fields exist in two forms — legacy (aliases asize/ bsize) and current (aliases askSize/bidSize) — because the API may return either format depending on the endpoint version.

AftermarketTrade

Bases: BaseModel

Aftermarket trade data

BatchMarketCap

Bases: BaseModel

Batch market capitalization data

BatchQuote

Bases: BaseModel

Batch quote data for multiple symbols

BatchQuoteShort

Bases: BaseModel

Short batch quote data (quick snapshot)

EODBulk

Bases: BaseModel

Bulk end-of-day price data

EarningsSurpriseBulk

Bases: BaseModel

Bulk earnings surprise data

PeersBulk

Bases: BaseModel

Bulk peer list data

peers_list property

Return peers as a list of symbols.

handler: python options: show_root_heading: true show_source: false filters: - "!^_"

Transcripts Models

models

EarningsTranscript

Bases: BaseModel

Earnings call transcript data

TranscriptDate

Bases: BaseModel

Available transcript date information

TranscriptSymbol

Bases: BaseModel

Symbol with available transcripts

handler: python options: show_root_heading: true show_source: false filters: - "!^_"

SEC Models

models

IndustryClassification

Bases: BaseModel

Industry classification data

SECCompanySearchResult

Bases: BaseModel

SEC company search result

SECFiling8K

Bases: BaseModel

SEC 8-K filing data

SECFilingSearchResult

Bases: BaseModel

SEC filing search result

SECFinancialFiling

Bases: BaseModel

SEC financial filing data

SECProfile

Bases: BaseModel

SEC company profile

SICCode

Bases: BaseModel

Standard Industrial Classification code

handler: python options: show_root_heading: true show_source: false filters: - "!^_"

Index Models

models

HistoricalIndexConstituent

Bases: BaseModel

Historical index constituent change information

IndexConstituent

Bases: BaseModel

Index constituent information

handler: python options: show_root_heading: true show_source: false filters: - "!^_"

Usage Examples

Sync Client Usage

from fmp_data import FMPDataClient

# Initialize from environment
with FMPDataClient.from_env() as client:
    profile = client.company.get_profile("AAPL")
    print(f"Company: {profile.company_name}")

# Manual initialization
client = FMPDataClient(
    api_key="your_api_key", # pragma: allowlist secret
    timeout=30,
    max_retries=3,
    debug=True
)

Async Client Usage

import asyncio
from fmp_data import AsyncFMPDataClient

async def main():
    # Initialize from environment
    async with AsyncFMPDataClient.from_env() as client:
        profile = await client.company.get_profile("AAPL")
        print(f"Company: {profile.company_name}")

    # Manual initialization
    client = AsyncFMPDataClient(
        api_key="your_api_key", # pragma: allowlist secret
        timeout=30,
        max_retries=3,
        debug=True
    )
    try:
        quote = await client.company.get_quote("AAPL")
        print(f"Price: ${quote.price}")
    finally:
        await client.aclose()

asyncio.run(main())

Concurrent Async Requests

import asyncio
from fmp_data import AsyncFMPDataClient

async def fetch_multiple_profiles(symbols: list[str]):
    async with AsyncFMPDataClient.from_env() as client:
        # Fetch all profiles concurrently
        tasks = [client.company.get_profile(symbol) for symbol in symbols]
        profiles = await asyncio.gather(*tasks)

        for profile in profiles:
            print(f"{profile.symbol}: {profile.company_name}")

asyncio.run(fetch_multiple_profiles(["AAPL", "MSFT", "GOOGL"]))

Configuration Examples

from fmp_data import FMPDataClient, ClientConfig, LoggingConfig, LogHandlerConfig

# Custom configuration
config = ClientConfig(
    api_key="your_api_key", # pragma: allowlist secret
    base_url="https://financialmodelingprep.com",
    timeout=60,
    max_retries=5,
    logging=LoggingConfig(
        level="INFO",
        handlers={
            "console": LogHandlerConfig(
                class_name="StreamHandler",
                level="INFO",
                format="%(asctime)s - %(name)s - %(levelname)s - %(message)s"
            )
        }
    )
)

client = FMPDataClient(config=config)

Error Handling

from fmp_data import FMPDataClient
from fmp_data.exceptions import (
    FMPError,
    RateLimitError,
    AuthenticationError,
    ValidationError
)

try:
    with FMPDataClient.from_env() as client:
        data = client.company.get_profile("INVALID")
except AuthenticationError:
    print("Check your API key")
except RateLimitError as e:
    print(f"Rate limited. Wait {e.retry_after} seconds")
except ValidationError as e:
    print(f"Invalid request: {e.message}")
except FMPError as e:
    print(f"API error: {e.message}")

Custom Logging

from fmp_data import FMPDataClient, LoggingConfig, LogHandlerConfig, ClientConfig

# Custom logging configuration
logging_config = LoggingConfig(
    level="DEBUG",
    handlers={
        "file": LogHandlerConfig(
            class_name="FileHandler",
            level="DEBUG",
            format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
        ),
        "console": LogHandlerConfig(
            class_name="StreamHandler",
            level="INFO",
            format="%(levelname)s - %(message)s"
        )
    }
)

client = FMPDataClient(
    config=ClientConfig(
        api_key="your_api_key",  # pragma: allowlist secret
        logging=logging_config
    )
)