Tool Calling
Below, you can find all the tools that are available for tool calling.
For examples on how to call these tools via OpenAI, Anthropic, or Gemini, see the LLM-ready API examples.
Note: The tool definitions below cannot be called directly and are intended for documentation only. They are auto-generated from langchain BaseTools. To see the BaseTool behind a function definition, click on the source of the definition.
- get_latest(use_local_timezone: bool = True) LatestPeriods[source]
Get the latest annual reporting year, latest quarterly reporting quarter and year, and current date.
- Parameters:
use_local_timezone (bool) – Whether to use the local timezone of the user
- Return type:
LatestPeriods
- get_n_quarters_ago(n: int) YearAndQuarter[source]
Get the year and quarter corresponding to [n] quarters before the current quarter.
- Parameters:
n (int) – Number of quarters before the current quarter
- Return type:
YearAndQuarter
- get_business_relationship_from_identifiers(identifiers: list[str], business_relationship: BusinessRelationshipType) GetBusinessRelationshipFromIdentifiersResp[source]
Get the current and previous companies that have a specified business relationship with each of the provided identifiers.
When possible, pass multiple identifiers in a single call rather than making multiple calls.
Results include both “current” (active) and “previous” (historical) relationships.
Examples: Query: “Who are the current and previous suppliers of Intel?” Function: get_business_relationship_from_identifiers(identifiers=[“Intel”], business_relationship=”supplier”)
Query: “What are the borrowers of SPGI and JPM?” Function: get_business_relationship_from_identifiers(identifiers=[“SPGI”, “JPM”], business_relationship=”borrower”)
Query: “Who are Dell’s customers?” Function: get_business_relationship_from_identifiers(identifiers=[“Dell”], business_relationship=”customer”)
- param identifiers:
The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- type identifiers:
list[str]
- param business_relationship:
The type of business relationship
- type business_relationship:
BusinessRelationshipType
- rtype:
GetBusinessRelationshipFromIdentifiersResp
- get_capitalization_from_identifiers(identifiers: list[str], capitalization: Capitalization, start_date: date | None = None, end_date: date | None = None) GetCapitalizationFromIdentifiersResp[source]
Get the historical market cap, tev (Total Enterprise Value), or shares outstanding for a group of identifiers between inclusive start_date and inclusive end date.
When possible, pass multiple identifiers in a single call rather than making multiple calls.
When requesting the most recent values, leave start_date and end_date null.
For annual data (e.g., “market cap in 2020”, “FY2021 values”), use the full year range: start_date as January 1st and end_date as December 31st.
For “latest” or “current” values, always leave dates null to get the most recent data point.
Only specify date ranges when the user explicitly requests historical data over a specific period.
Examples: Query: “What are the market caps of Visa and Mastercard?” Function: get_capitalization_from_identifiers(capitalization=”market_cap”, identifiers=[“Visa”, “Mastercard”], start_date=null, end_date=null)
Query: “What was MDT’s market cap in 2020?” Function: get_capitalization_from_identifiers(capitalization=”market_cap”, identifiers=[“MDT”], start_date=”2020-01-01”, end_date=”2020-12-31”)
Query: “Market cap trends for MSFT from Q1 2020 to Q3 2021” Function: get_capitalization_from_identifiers(capitalization=”market_cap”, identifiers=[“MSFT”], start_date=”2020-01-01”, end_date=”2021-09-30”)
- param identifiers:
The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- type identifiers:
list[str]
- param capitalization:
The capitalization type
- type capitalization:
Capitalization
- param start_date:
The start date for historical capitalization retrieval. Use null for latest values. For annual data, use January 1st of the year.
- type start_date:
Union[date, NoneType]
- param end_date:
The end date for historical capitalization retrieval. Use null for latest values. For annual data, use December 31st of the year.
- type end_date:
Union[date, NoneType]
- rtype:
GetCapitalizationFromIdentifiersResp
- get_info_from_identifiers(identifiers: list[str]) GetInfoFromIdentifiersResp[source]
Get the information associated with a list of identifiers. Info includes company name, status, type, simple industry, number of employees (if available), founding date, webpage, HQ address, HQ city, HQ zip code, HQ state, HQ country, HQ country iso code, and CIQ company_id.
When possible, pass multiple identifiers in a single call rather than making multiple calls.
Examples: Query: “What’s the company information for Northrop Grumman and Lockheed Martin?” Function: get_info_from_identifiers(identifiers=[“Northrop Grumman”, “Lockheed Martin”])
Query: “Get company info for UBER and LYFT” Function: get_info_from_identifiers(identifiers=[“UBER”, “LYFT”])
- param identifiers:
The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- type identifiers:
list[str]
- rtype:
GetInfoFromIdentifiersResp
- get_company_other_names_from_identifiers(identifiers: list[str]) GetCompanyOtherNamesFromIdentifiersResp[source]
Given a list of identifiers, fetch the alternate, historical, and native names associated with each identifier. Alternate names are additional names a company might go by (for example, Hewlett-Packard Company also goes by the name HP). Historical names are previous names for the company if it has changed over time. Native names are primary non-Latin character native names for global companies, including languages such as Arabic, Russian, Greek, Japanese, etc. This also includes limited history on native name changes.
When possible, pass multiple identifiers in a single call rather than making multiple calls.
Examples: Query: “What are the alternate names for Meta and Alphabet?” Function: get_company_other_names_from_identifiers(identifiers=[“Meta”, “Alphabet”])
Query: “Get other names for NSRGY” Function: get_company_other_names_from_identifiers(identifiers=[“NSRGY”])
- param identifiers:
The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- type identifiers:
list[str]
- rtype:
GetCompanyOtherNamesFromIdentifiersResp
- get_company_summary_from_identifiers(identifiers: list[str]) GetCompanySummaryFromIdentifiersResp[source]
Get one paragraph summary/short descriptions of companies, including information about the company’s primary business, products and services offered and their applications, business segment details, client/customer groups served, geographic markets served, distribution channels, strategic alliances/partnerships, founded/incorporated year, latest former name, and headquarters and additional offices.
When possible, pass multiple identifiers in a single call rather than making multiple calls.
Examples: Query: “Give me summaries of Tesla and General Motors” Function: get_company_summary_from_identifiers(identifiers=[“Tesla”, “General Motors”])
Query: “What are the summaries for F and STLA?” Function: get_company_summary_from_identifiers(identifiers=[“F”, “STLA”])
- param identifiers:
The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- type identifiers:
list[str]
- rtype:
GetCompanySummaryFromIdentifiersResp
- get_company_description_from_identifiers(identifiers: list[str]) GetCompanyDescriptionFromIdentifiersResp[source]
Get detailed descriptions of companies, broken down into sections, which may include information about the company’s Primary business, Segments (including Products and Services for each), Competition, Significant events, and History. Within the text, four spaces represent a new paragraph. Note that the description is divided into sections with headers, where each section has a new paragraph (four spaces) before and after the section header.
When possible, pass multiple identifiers in a single call rather than making multiple calls.
Examples: Query: “Get detailed descriptions for Netflix and Disney” Function: get_company_description_from_identifiers(identifiers=[“Netflix”, “Disney”])
Query: “What are the detailed company descriptions for KO and PEP?” Function: get_company_description_from_identifiers(identifiers=[“KO”, “PEP”])
- param identifiers:
The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- type identifiers:
list[str]
- rtype:
GetCompanyDescriptionFromIdentifiersResp
- get_financial_auditors_from_identifiers(identifiers: list[str], calendar_type: CalendarType | None = None, start_year: int | None = None, end_year: int | None = None) GetFinancialAuditorsFromIdentifiersResp[source]
Get the financial auditors for a list of companies, grouped by period. Each period lists the auditor company name and auditor company ID.
When possible, pass multiple identifiers in a single call rather than making multiple calls.
To fetch all available auditor history, leave all time parameters as null.
Use start_year and end_year to filter the date range.
Set calendar_type based on how the query references the time period—use “fiscal” for fiscal year references and “calendar” for calendar year references. calendar_type controls which year system start_year and end_year apply to.
When calendar_type=None, it defaults to ‘fiscal’.
Examples: Query: “Who are the auditors for S&P Global?” Function: get_financial_auditors_from_identifiers(identifiers=[“S&P Global”])
Query: “Get the financial auditors for Apple and Microsoft from 2020 to 2023” Function: get_financial_auditors_from_identifiers(identifiers=[“Apple”, “Microsoft”], start_year=2020, end_year=2023)
Query: “Who has audited Tesla since fiscal year 2020?” Function: get_financial_auditors_from_identifiers(identifiers=[“Tesla”], calendar_type=”fiscal”, start_year=2020)
Query: “Get auditors for WMT for calendar years 2019 to 2021” Function: get_financial_auditors_from_identifiers(identifiers=[“WMT”], calendar_type=”calendar”, start_year=2019, end_year=2021)
- param identifiers:
The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- type identifiers:
list[str]
- param calendar_type:
Fiscal or calendar year
- type calendar_type:
Union[CalendarType, NoneType]
- param start_year:
The starting year for the data range. Use null for all available data.
- type start_year:
Union[int, NoneType]
- param end_year:
The ending year for the data range. Use null for all available data.
- type end_year:
Union[int, NoneType]
- rtype:
GetFinancialAuditorsFromIdentifiersResp
- get_competitors_from_identifiers(identifiers: list[str], competitor_source: CompetitorSource) GetCompetitorsFromIdentifiersResp[source]
Retrieves a list of company_id and company_name that are competitors for a list of companies, filtered by the source of the competitor information.
When possible, pass multiple identifiers in a single call rather than making multiple calls.
Available competitor sources: all, filing (from SEC filings), key_dev (from key developments), contact (from contact relationships), third_party (from third-party sources), self_identified (self-identified), named_by_competitor (from competitor’s perspective)
Examples: Query: “Who are Microsoft’s competitors from SEC filings?” Function: get_competitors_from_identifiers(identifiers=[“Microsoft”], competitor_source=”filing”)
Query: “Get all competitors of AAPL and GOOGL” Function: get_competitors_from_identifiers(identifiers=[“AAPL”, “GOOGL”], competitor_source=”all”)
- param identifiers:
The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- type identifiers:
list[str]
- param competitor_source:
The source type of the competitor information: ‘filing’ (from SEC filings), ‘key_dev’ (from key developments), ‘contact’ (from contact relationships), ‘third_party’ (from third-party sources), ‘self_identified’ (self-identified), ‘named_by_competitor’ (from competitor’s perspective).
- type competitor_source:
CompetitorSource
- rtype:
GetCompetitorsFromIdentifiersResp
- get_cusip_from_identifiers(identifiers: list[str]) GetCusipOrIsinFromIdentifiersResp[source]
Get the CUSIPs for a group of identifiers.
When possible, pass multiple identifiers in a single call rather than making multiple calls.
Examples: Query: “What is the CUSIP for Humana?” Function: get_cusip_from_identifiers(identifiers=[“Humana”])
Query: “Get CUSIPs for ATO and DTE” Function: get_cusip_from_identifiers(identifiers=[“ATO”, “DTE”])
- param identifiers:
The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- type identifiers:
list[str]
- rtype:
GetCusipOrIsinFromIdentifiersResp
- get_isin_from_identifiers(identifiers: list[str]) GetCusipOrIsinFromIdentifiersResp[source]
Get the ISINs for a group of identifiers.
When possible, pass multiple identifiers in a single call rather than making multiple calls.
Examples: Query: “What is the ISIN for Autodesk?” Function: get_isin_from_identifiers(identifiers=[“Autodesk”])
Query: “Get ISINs for RCL and CCL” Function: get_isin_from_identifiers(identifiers=[“RCL”, “CCL”])
- param identifiers:
The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- type identifiers:
list[str]
- rtype:
GetCusipOrIsinFromIdentifiersResp
- get_earnings_from_identifiers(identifiers: list[str]) GetEarningsFromIdentifiersResp[source]
Get all earnings calls for a list of identifiers.
Returns a list of dictionaries with ‘name’ (str), ‘key_dev_id’ (int), and ‘datetime’ (str in ISO 8601 format with UTC timezone) attributes for each identifier.
Use get_latest_earnings_from_identifiers to get only the most recent earnings
Use get_next_earnings_from_identifiers to get only the next upcoming earnings
To fetch the full transcript, call get_transcript_from_key_dev_id with the key_dev_id
Examples: Query: “Get all earnings calls for Microsoft” Function: get_earnings_from_identifiers(identifiers=[“Microsoft”])
Query: “Get earnings for CRM and ORCL” Function: get_earnings_from_identifiers(identifiers=[“CRM”, “ORCL”])
- param identifiers:
The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- type identifiers:
list[str]
- rtype:
GetEarningsFromIdentifiersResp
- get_latest_earnings_from_identifiers(identifiers: list[str]) GetNextOrLatestEarningsFromIdentifiersResp[source]
Get the latest (most recent) earnings call for a list of identifiers.
Returns a dictionary with ‘name’ (str), ‘key_dev_id’ (int), and ‘datetime’ (str in ISO 8601 format with UTC timezone) attributes for each identifier.
Use get_earnings_from_identifiers for all historical earnings
Use get_next_earnings_from_identifiers for upcoming earnings
To fetch the full transcript, call get_transcript_from_key_dev_id with the key_dev_id
Examples: Query: “What was Microsoft’s latest earnings call?” Function: get_latest_earnings_from_identifiers(identifiers=[“Microsoft”])
Query: “Get latest earnings for JPM and GS” Function: get_latest_earnings_from_identifiers(identifiers=[“JPM”, “GS”])
- param identifiers:
The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- type identifiers:
list[str]
- rtype:
GetNextOrLatestEarningsFromIdentifiersResp
- get_next_earnings_from_identifiers(identifiers: list[str]) GetNextOrLatestEarningsFromIdentifiersResp[source]
Get the next scheduled earnings call for a list of identifiers.
Returns a dictionary with ‘name’ (str), ‘key_dev_id’ (int), and ‘datetime’ (str in ISO 8601 format with UTC timezone) attributes for each identifier.
Use get_latest_earnings_from_identifiers for the most recent completed earnings
Use get_earnings_from_identifiers for all historical earnings
To fetch the full transcript (once available), call get_transcript_from_key_dev_id with the key_dev_id
Examples: Query: “When is Waste Management’s next earnings call?” Function: get_next_earnings_from_identifiers(identifiers=[“Waste Management”])
Query: “Get next earnings for FDX and UPS” Function: get_next_earnings_from_identifiers(identifiers=[“FDX”, “UPS”])
- param identifiers:
The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- type identifiers:
list[str]
- rtype:
GetNextOrLatestEarningsFromIdentifiersResp
- get_transcript_from_key_dev_id(key_dev_id: int) GetTranscriptFromKeyDevIdResp[source]
Get the raw transcript text for an earnings call by key_dev_id.
The key_dev_id is obtained from earnings tools (get_earnings_from_identifiers, get_latest_earnings_from_identifiers, or get_next_earnings_from_identifiers).
Example: Query: “Get the transcript for earnings call 12346” Function: get_transcript_from_key_dev_id(key_dev_id=12346)
- param key_dev_id:
The key_dev_id for the earnings call
- type key_dev_id:
int
- rtype:
GetTranscriptFromKeyDevIdResp
- get_financial_line_item_from_identifiers(identifiers: list[str], line_item: str, period_type: PeriodType | None = None, start_year: int | None = None, end_year: int | None = None, start_quarter: Literal[1, 2, 3, 4] | None = None, end_quarter: Literal[1, 2, 3, 4] | None = None, calendar_type: CalendarType | None = None, num_periods: int | None = None, num_periods_back: int | None = None) GetFinancialLineItemFromIdentifiersResp[source]
Get the financial line item associated with a list of identifiers.
When possible, pass multiple identifiers in a single call rather than making multiple calls.
To fetch the most recent value, leave all time parameters as null.
Line item names are case-insensitive, use underscores, and support common aliases (e.g., ‘revenue’ and ‘normal_revenue’ return the same data).
To filter by time, use either absolute time (start_year, end_year, start_quarter, end_quarter) OR relative time (num_periods, num_periods_back)—but not both.
Set calendar_type based on how the query references the time period—use “fiscal” for fiscal year references and “calendar” for calendar year references.
When calendar_type=None, it defaults to ‘fiscal’.
Exception: with multiple identifiers and absolute time, calendar_type=None defaults to ‘calendar’ for cross-company comparability; calendar_type=’fiscal’ returns fiscal data but should not be compared across companies since fiscal years have different end dates.
Examples: Query: “Get MSFT and AAPL revenue and gross profit quarterly” Function: get_financial_line_item_from_identifiers(line_item=”revenue”, identifiers=[“MSFT”, “AAPL”], period_type=”quarterly”) Function: get_financial_line_item_from_identifiers(line_item=”gross_profit”, identifiers=[“MSFT”, “AAPL”], period_type=”quarterly”)
Query: “General Electric’s ebt excluding unusual items for FY2023” Function: get_financial_line_item_from_identifiers(line_item=”ebt_excluding_unusual_items”, identifiers=[“General Electric”], period_type=”annual”, calendar_type=”fiscal”, start_year=2023, end_year=2023)
Query: “What is the most recent three quarters except one ppe for Exxon and Hasbro?” Function: get_financial_line_item_from_identifiers(line_item=”ppe”, period_type=”quarterly”, num_periods=2, num_periods_back=1, identifiers=[“Exxon”, “Hasbro”])
Query: “What are the ytd operating income values for Hilton for the calendar year 2022?” Function: get_financial_line_item_from_identifiers(line_item=”operating_income”, period_type=”ytd”, calendar_type=”calendar”, start_year=2022, end_year=2022, identifiers=[“Hilton”])
Query: “Compare AAPL and MSFT revenue for 2023” Function: get_financial_line_item_from_identifiers(line_item=”revenue”, identifiers=[“AAPL”, “MSFT”], period_type=”annual”, calendar_type=”calendar”, start_year=2023, end_year=2023)
Note: This tool automatically includes explanatory notes about data sources, fiscal period warnings, and terminology guidelines.
- param identifiers:
The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- type identifiers:
list[str]
- param line_item:
The type of financial line_item requested
- type line_item:
Literal[‘regular_revenue’, ‘operating_revenue’, ‘normal_revenue’, ‘finance_division_revenue’, ‘insurance_division_revenue’, ‘revenue_from_sale_of_assets’, ‘revenue_from_sale_of_investments’, ‘revenue_from_interest_and_investment_income’, ‘other_revenue’, ‘total_other_revenue’, ‘fees_and_other_income’, ‘total_revenue’, ‘combined_revenue’, ‘revenue’, ‘cost_of_goods_sold’, ‘cogs’, ‘finance_division_operating_expense’, ‘operating_expense_finance_division’, ‘insurance_division_operating_expense’, ‘operating_expense_insurance_division’, ‘finance_division_interest_expense’, ‘interest_expense_finance_division’, ‘cost_of_revenue’, ‘cor’, ‘gross_profit’, ‘selling_general_and_admin_expense’, ‘selling_general_and_admin_cost’, ‘sg_and_a’, ‘selling_general_and_admin’, ‘sga’, ‘exploration_and_drilling_costs’, ‘exploration_and_drilling_expense’, ‘provision_for_bad_debts’, ‘provision_for_bad_debt’, ‘pre_opening_costs’, ‘pre_opening_expense’, ‘total_selling_general_and_admin_expense’, ‘total_sga’, ‘total_selling_general_and_admin_cost’, ‘total_selling_general_and_admin’, ‘research_and_development_expense’, ‘r_and_d_expense’, ‘rnd_cost’, ‘rnd_expense’, ‘research_and_development_cost’, ‘r_and_d_cost’, ‘depreciation_and_amortization’, ‘dna’, ‘d_and_a’, ‘amortization_of_goodwill_and_intangibles’, ‘impairment_of_oil_gas_and_mineral_properties’, ‘impairment_of_oil_and_gas’, ‘impairment_o_and_g’, ‘total_depreciation_and_amortization’, ‘total_dna’, ‘total_d_and_a’, ‘other_operating_expense’, ‘total_other_operating_expense’, ‘total_operating_expense’, ‘operating_expense’, ‘operating_income’, ‘interest_expense’, ‘interest_and_investment_income’, ‘net_interest_expense’, ‘income_from_affiliates’, ‘currency_exchange_gains’, ‘other_non_operating_income’, ‘total_other_non_operating_income’, ‘ebt_excluding_unusual_items’, ‘earnings_before_taxes_excluding_unusual_items’, ‘restructuring_charges’, ‘merger_charges’, ‘merger_and_restructuring_charges’, ‘impairment_of_goodwill’, ‘gain_from_sale_of_assets’, ‘gain_from_sale_of_investments’, ‘asset_writedown’, ‘in_process_research_and_development_expense’, ‘in_process_rnd_cost’, ‘in_process_rnd_expense’, ‘in_process_r_and_d_cost’, ‘in_process_r_and_d_expense’, ‘in_process_research_and_development_cost’, ‘insurance_settlements’, ‘legal_settlements’, ‘other_unusual_items’, ‘total_other_unusual_items’, ‘total_unusual_items’, ‘unusual_items’, ‘ebt_including_unusual_items’, ‘earnings_before_taxes_including_unusual_items’, ‘income_tax_expense’, ‘income_taxes’, ‘income_tax’, ‘earnings_from_continued_operations’, ‘continued_operations_earnings’, ‘earnings_from_discontinued_operations’, ‘discontinued_operations_earnings’, ‘extraordinary_item_and_accounting_change’, ‘net_income_to_company’, ‘minority_interest_in_earnings’, ‘net_income_to_minority_interest’, ‘net_income’, ‘premium_on_redemption_of_preferred_stock’, ‘preferred_stock_dividend’, ‘other_preferred_stock_adjustments’, ‘other_adjustments_to_net_income’, ‘preferred_dividends_and_other_adjustments’, ‘net_income_allocable_to_general_partner’, ‘net_income_to_common_shareholders_including_extra_items’, ‘net_income_to_common_shareholders_excluding_extra_items’, ‘cash_and_equivalents’, ‘cash’, ‘cash_and_cash_equivalents’, ‘short_term_investments’, ‘trading_asset_securities’, ‘total_cash_and_short_term_investments’, ‘cash_and_short_term_investments’, ‘accounts_receivable’, ‘current_accounts_receivable’, ‘short_term_accounts_receivable’, ‘other_receivables’, ‘short_term_other_receivables’, ‘current_other_receivables’, ‘notes_receivable’, ‘current_notes_receivable’, ‘short_term_notes_receivable’, ‘total_receivables’, ‘short_term_total_receivables’, ‘short_term_total_receivable’, ‘current_total_receivable’, ‘total_receivable’, ‘current_total_receivables’, ‘inventory’, ‘inventories’, ‘prepaid_expense’, ‘prepaid_expenses’, ‘finance_division_loans_and_leases_short_term’, ‘finance_division_short_term_loans_and_leases’, ‘short_term_loans_and_leases_of_the_finance_division’, ‘short_term_finance_division_loans_and_leases’, ‘finance_division_other_current_assets’, ‘other_current_assets_of_the_finance_division’, ‘other_short_term_assets_of_the_finance_division’, ‘finance_division_other_short_term_assets’, ‘loans_held_for_sale’, ‘deferred_tax_asset_current_portion’, ‘current_deferred_tax_asset’, ‘short_term_deferred_tax_asset’, ‘restricted_cash’, ‘other_current_assets’, ‘total_current_assets’, ‘current_assets’, ‘total_short_term_assets’, ‘short_term_assets’, ‘gross_property_plant_and_equipment’, ‘gppe’, ‘gross_ppe’, ‘accumulated_depreciation’, ‘net_property_plant_and_equipment’, ‘net_ppe’, ‘property_plant_and_equipment’, ‘nppe’, ‘ppe’, ‘long_term_investments’, ‘non_current_investments’, ‘goodwill’, ‘other_intangibles’, ‘finance_division_loans_and_leases_long_term’, ‘long_term_finance_division_loans_and_leases’, ‘finance_division_long_term_loans_and_leases’, ‘long_term_loans_and_leases_of_the_finance_division’, ‘finance_division_other_non_current_assets’, ‘other_long_term_assets_of_the_finance_division’, ‘other_non_current_assets_of_the_finance_division’, ‘finance_division_other_long_term_assets’, ‘long_term_accounts_receivable’, ‘non_current_accounts_receivable’, ‘long_term_loans_receivable’, ‘loans_receivable’, ‘non_current_loans_receivable’, ‘long_term_deferred_tax_assets’, ‘non_current_deferred_tax_assets’, ‘long_term_deferred_charges’, ‘non_current_deferred_charges’, ‘other_long_term_assets’, ‘other_non_current_assets’, ‘long_term_other_assets’, ‘non_current_other_assets’, ‘total_assets’, ‘assets’, ‘accounts_payable’, ‘accrued_expenses’, ‘short_term_borrowings’, ‘current_borrowing’, ‘current_borrowings’, ‘short_term_borrowing’, ‘current_portion_of_long_term_debt’, ‘current_portion_of_non_current_debt’, ‘current_portion_of_lt_debt’, ‘current_portion_of_capital_leases’, ‘current_portion_of_cap_leases’, ‘current_portion_of_capitalized_leases’, ‘current_portion_of_leases’, ‘current_portion_of_long_term_debt_and_capital_leases’, ‘current_portion_of_lt_debt_and_cap_leases’, ‘total_current_portion_of_long_term_debt_and_capitalized_leases’, ‘total_current_portion_of_non_current_debt_and_capital_leases’, ‘current_portion_of_non_current_debt_and_capital_leases’, ‘total_current_portion_of_long_term_debt_and_capital_leases’, ‘current_portion_of_long_term_debt_and_capitalized_leases’, ‘current_portion_of_non_current_debt_and_capitalized_leases’, ‘total_current_portion_of_lt_debt_and_cap_leases’, ‘total_current_portion_of_non_current_debt_and_capitalized_leases’, ‘finance_division_debt_current_portion’, ‘finance_division_other_current_liabilities’, ‘current_income_taxes_payable’, ‘current_portion_of_income_taxes_payable’, ‘current_unearned_revenue’, ‘current_portion_of_unearned_revenue’, ‘current_deferred_tax_liability’, ‘other_current_liability’, ‘other_current_liabilities’, ‘total_current_liabilities’, ‘current_liabilities’, ‘long_term_debt’, ‘non_current_debt’, ‘capital_leases’, ‘capitalized_leases’, ‘long_term_leases’, ‘finance_division_debt_non_current_portion’, ‘finance_division_long_term_debt’, ‘finance_division_non_current_debt’, ‘finance_division_debt_long_term_portion’, ‘finance_division_other_non_current_liabilities’, ‘finance_division_other_long_term_liabilities’, ‘non_current_unearned_revenue’, ‘long_term_unearned_revenue’, ‘pension_and_other_post_retirement_benefit’, ‘non_current_deferred_tax_liability’, ‘other_non_current_liabilities’, ‘non_current_other_liabilities’, ‘other_long_term_liabilities’, ‘long_term_other_liabilities’, ‘total_liabilities’, ‘liabilities’, ‘preferred_stock_redeemable’, ‘redeemable_preferred_stock’, ‘preferred_stock_non_redeemable’, ‘non_redeemable_preferred_stock’, ‘preferred_stock_convertible’, ‘convertible_preferred_stock’, ‘preferred_stock_other’, ‘other_preferred_stock’, ‘preferred_stock_additional_paid_in_capital’, ‘additional_paid_in_capital_preferred_stock’, ‘preferred_stock_equity_adjustment’, ‘equity_adjustment_preferred_stock’, ‘treasury_stock_preferred_stock_convertible’, ‘treasury_convertible_preferred_stock’, ‘treasury_preferred_stock_convertible’, ‘treasury_stock_convertible_preferred_stock’, ‘treasury_stock_preferred_stock_non_redeemable’, ‘treasury_preferred_stock_non_redeemable’, ‘treasury_stock_non_redeemable_preferred_stock’, ‘treasury_non_redeemable_preferred_stock’, ‘treasury_stock_preferred_stock_redeemable’, ‘treasury_stock_redeemable_preferred_stock’, ‘treasury_preferred_stock_redeemable’, ‘treasury_redeemable_preferred_stock’, ‘total_preferred_equity’, ‘preferred_stock’, ‘preferred_equity’, ‘total_preferred_stock’, ‘common_stock’, ‘additional_paid_in_capital’, ‘retained_earnings’, ‘treasury_stock’, ‘other_equity’, ‘total_common_equity’, ‘common_equity’, ‘total_equity’, ‘equity’, ‘shareholders_equity’, ‘total_shareholders_equity’, ‘total_liabilities_and_equity’, ‘liabilities_and_equity’, ‘common_shares_outstanding’, ‘adjustments_to_cash_flow_net_income’, ‘other_amortization’, ‘total_other_non_cash_items’, ‘net_decrease_in_loans_originated_and_sold’, ‘provision_for_credit_losses’, ‘loss_on_equity_investments’, ‘stock_based_compensation’, ‘tax_benefit_from_stock_options’, ‘net_cash_from_discontinued_operation’, ‘cash_from_discontinued_operation’, ‘other_operating_activities’, ‘change_in_trading_asset_securities’, ‘change_in_accounts_receivable’, ‘change_in_inventories’, ‘change_in_accounts_payable’, ‘change_in_unearned_revenue’, ‘change_in_income_taxes’, ‘change_in_deferred_taxes’, ‘change_in_other_net_operating_assets’, ‘change_in_net_operating_assets’, ‘cash_from_operations’, ‘cash_flow_from_operations’, ‘cash_from_operating_activities’, ‘capital_expenditure’, ‘capex’, ‘capital_expenditures’, ‘sale_of_property_plant_and_equipment’, ‘sale_of_ppe’, ‘cash_acquisitions’, ‘divestitures’, ‘sale_of_real_estate’, ‘sale_of_real_properties’, ‘sale_of_real_estate_properties’, ‘sale_of_intangible_assets’, ‘sale_of_intangible_asset’, ‘sale_of_intangibles’, ‘net_cash_from_investments’, ‘net_decrease_in_investment_loans_originated_and_sold’, ‘other_investing_activities’, ‘total_other_investing_activities’, ‘cash_from_investing’, ‘cashflow_from_investing_activities’, ‘cashflow_from_investing’, ‘cash_from_investing_activities’, ‘short_term_debt_issued’, ‘current_debt_issued’, ‘long_term_debt_issued’, ‘non_current_debt_issued’, ‘total_debt_issued’, ‘short_term_debt_repaid’, ‘current_debt_repaid’, ‘long_term_debt_repaid’, ‘non_current_debt_repaid’, ‘total_debt_repaid’, ‘issuance_of_common_stock’, ‘repurchase_of_common_stock’, ‘issuance_of_preferred_stock’, ‘repurchase_of_preferred_stock’, ‘common_dividends_paid’, ‘preferred_dividends_paid’, ‘total_dividends_paid’, ‘dividends_paid’, ‘special_dividends_paid’, ‘other_financing_activities’, ‘cash_from_financing’, ‘cash_from_financing_activities’, ‘cashflow_from_financing’, ‘cashflow_from_financing_activities’, ‘foreign_exchange_rate_adjustments’, ‘fx_adjustments’, ‘foreign_exchange_adjustments’, ‘miscellaneous_cash_flow_adjustments’, ‘misc_cash_flow_adj’, ‘net_change_in_cash’, ‘change_in_cash’, ‘depreciation’, ‘depreciation_of_rental_assets’, ‘sale_proceeds_from_rental_assets’, ‘basic_eps’, ‘basic_earning_per_share_including_extra_items’, ‘basic_eps_including_extra_items’, ‘basic_earning_per_share’, ‘basic_eps_excluding_extra_items’, ‘basic_earning_per_share_excluding_extra_items’, ‘basic_eps_from_accounting_change’, ‘basic_earning_per_share_from_accounting_change’, ‘basic_eps_from_extraordinary_items’, ‘basic_earning_per_share_from_extraordinary_items’, ‘basic_eps_from_accounting_change_and_extraordinary_items’, ‘basic_earning_per_share_from_accounting_change_and_extraordinary_items’, ‘weighted_average_basic_shares_outstanding’, ‘diluted_eps’, ‘diluted_eps_including_extra_items’, ‘diluted_earning_per_share’, ‘diluted_earning_per_share_including_extra_items’, ‘diluted_eps_excluding_extra_items’, ‘diluted_earning_per_share_excluding_extra_items’, ‘weighted_average_diluted_shares_outstanding’, ‘normalized_basic_eps’, ‘normalized_basic_earning_per_share’, ‘normalized_diluted_eps’, ‘normalized_diluted_earning_per_share’, ‘dividends_per_share’, ‘distributable_cash_per_share’, ‘diluted_eps_from_accounting_change_and_extraordinary_items’, ‘diluted_earning_per_share_from_accounting_change_and_extraordinary_items’, ‘diluted_eps_from_accounting_change’, ‘diluted_earning_per_share_from_accounting_change’, ‘diluted_eps_from_extraordinary_items’, ‘diluted_earning_per_share_from_extraordinary_items’, ‘diluted_eps_from_discontinued_operations’, ‘diluted_earning_per_share_from_discontinued_operations’, ‘funds_from_operations’, ‘ffo’, ‘ebitda’, ‘earnings_before_interest_taxes_depreciation_and_amortization’, ‘ebita’, ‘earnings_before_interest_taxes_and_amortization’, ‘ebit’, ‘earnings_before_interest_and_taxes’, ‘ebitdar’, ‘earnings_before_interest_taxes_depreciation_amortization_and_rental_expense’, ‘net_debt’, ‘effective_tax_rate’, ‘tax_rate’, ‘current_ratio’, ‘quick_ratio’, ‘total_debt_to_capital’, ‘net_working_capital’, ‘working_capital’, ‘change_in_net_working_capital’, ‘total_debt’, ‘total_debt_to_equity_ratio’, ‘total_debt_ratio’, ‘total_debt_to_equity’, ‘total_debt_to_total_equity’, ‘debt_ratio’]
- param period_type:
The period type (annual or quarterly)
- type period_type:
Union[PeriodType, NoneType]
- param start_year:
The starting year for the data range. Use null for the most recent data.
- type start_year:
Union[int, NoneType]
- param end_year:
The ending year for the data range. Use null for the most recent data.
- type end_year:
Union[int, NoneType]
- param start_quarter:
Starting quarter (1-4). Only used when period_type is quarterly.
- type start_quarter:
Union[Annotated[Literal[1, 2, 3, 4], BeforeValidator], NoneType]
- param end_quarter:
Ending quarter (1-4). Only used when period_type is quarterly.
- type end_quarter:
Union[Annotated[Literal[1, 2, 3, 4], BeforeValidator], NoneType]
- param calendar_type:
Fiscal year or calendar year
- type calendar_type:
Union[CalendarType, NoneType]
- param num_periods:
The number of periods to retrieve data for (1-99)
- type num_periods:
Union[Annotated[int, FieldInfo(annotation=NoneType, required=True, description=’The number of periods to retrieve data for (1-99)’, metadata=[Ge(ge=1), Le(le=99)])], NoneType]
- param num_periods_back:
The end period of the data range expressed as number of periods back relative to the present period (0-99)
- type num_periods_back:
Union[Annotated[int, FieldInfo(annotation=NoneType, required=True, description=’The end period of the data range expressed as number of periods back relative to the present period (0-99)’, metadata=[Ge(ge=0), Le(le=99)])], NoneType]
- rtype:
GetFinancialLineItemFromIdentifiersResp
- get_prices_from_identifiers(identifiers: list[str], start_date: date | None = None, end_date: date | None = None, periodicity: Periodicity = Periodicity.day, adjusted: bool = True) GetPricesFromIdentifiersResp[source]
Get the historical open, high, low, and close prices, and volume of a group of identifiers between inclusive start_date and inclusive end date.
When possible, pass multiple identifiers in a single call rather than making multiple calls.
When requesting the most recent values, leave start_date and end_date null.
For annual queries (e.g., “prices in 2020”), use the full year range from January 1st to December 31st.
If requesting prices for long periods of time (e.g., multiple years), consider using a coarser periodicity (e.g., weekly or monthly) to reduce the amount of data returned.
Examples: Query: “What are the prices of Facebook and Google?” Function: get_prices_from_identifiers(identifiers=[“Facebook”, “Google”], start_date=null, end_date=null)
Query: “Get prices for META and GOOGL” Function: get_prices_from_identifiers(identifiers=[“META”, “GOOGL”], start_date=null, end_date=null)
Query: “How did Meta’s stock perform in 2020?” Function: get_prices_from_identifiers(identifiers=[“Meta”], start_date=”2020-01-01”, end_date=”2020-12-31”, periodicity=”day”)
- param identifiers:
The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- type identifiers:
list[str]
- param start_date:
The start date for historical price retrieval. Use null for latest values. For annual queries (e.g., ‘prices in 2020’), use January 1st of the year.
- type start_date:
Union[date, NoneType]
- param end_date:
The end date for historical price retrieval. Use null for latest values. For annual queries (e.g., ‘prices in 2020’), use December 31st of the year.
- type end_date:
Union[date, NoneType]
- param periodicity:
The frequency or interval at which the historical data points are sampled or aggregated. Periodicity is not the same as the date range. The date range specifies the time span over which the data is retrieved, while periodicity determines how the data within that date range is aggregated.
- type periodicity:
Periodicity
- param adjusted:
Whether to retrieve adjusted prices that account for corporate actions such as dividends and splits.
- type adjusted:
bool
- rtype:
GetPricesFromIdentifiersResp
- get_history_metadata_from_identifiers(identifiers: list[str]) GetHistoryMetadataFromIdentifiersResp[source]
Get the history metadata associated with a list of identifiers. History metadata includes currency, symbol, exchange name, instrument type, and first trade date.
When possible, pass multiple identifiers in a single call rather than making multiple calls.
Examples: Query: “What exchange does Starbucks trade on?” Function: get_history_metadata_from_identifiers(identifiers=[“Starbucks”])
- param identifiers:
The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- type identifiers:
list[str]
- rtype:
GetHistoryMetadataFromIdentifiersResp
- get_segments_from_identifiers(identifiers: list[str], segment_type: SegmentType, period_type: PeriodType | None = None, start_year: int | None = None, end_year: int | None = None, start_quarter: Literal[1, 2, 3, 4] | None = None, end_quarter: Literal[1, 2, 3, 4] | None = None, calendar_type: CalendarType | None = None, num_periods: int | None = None, num_periods_back: int | None = None) GetSegmentsFromIdentifiersResp[source]
Get the templated business or geographic segments associated with a list of identifiers.
When possible, pass multiple identifiers in a single call rather than making multiple calls.
To fetch the most recent segment data, leave all time parameters as null.
To filter by time, use either absolute time (start_year, end_year, start_quarter, end_quarter) OR relative time (num_periods, num_periods_back)—but not both.
Set calendar_type based on how the query references the time period—use “fiscal” for fiscal year references and “calendar” for calendar year references.
When calendar_type=None, it defaults to ‘fiscal’.
Exception: with multiple identifiers and absolute time, calendar_type=None defaults to ‘calendar’ for cross-company comparability; calendar_type=’fiscal’ returns fiscal data but should not be compared across companies since fiscal years have different end dates.
Examples: Query: “What are the business segments for AT&T?” Function: get_segments_from_identifiers(identifiers=[“AT&T”], segment_type=”business”)
Query: “Get most recent geographic segments for Pfizer and JNJ” Function: get_segments_from_identifiers(identifiers=[“Pfizer”, “JNJ”], segment_type=”geographic”)
Query: “What are the ltm business segments for SPGI for the last three calendar quarters but one?” Function: get_segments_from_identifiers(segment_type=”business”, period_type=”ltm”, calendar_type=”calendar”, num_periods=2, num_periods_back=1, identifiers=[“SPGI”])
- param identifiers:
The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- type identifiers:
list[str]
- param segment_type:
The type of segment
- type segment_type:
SegmentType
- param period_type:
The period type
- type period_type:
Union[PeriodType, NoneType]
- param start_year:
The starting year for the data range
- type start_year:
Union[int, NoneType]
- param end_year:
The ending year for the data range
- type end_year:
Union[int, NoneType]
- param start_quarter:
Starting quarter
- type start_quarter:
Union[Annotated[Literal[1, 2, 3, 4], BeforeValidator], NoneType]
- param end_quarter:
Ending quarter
- type end_quarter:
Union[Annotated[Literal[1, 2, 3, 4], BeforeValidator], NoneType]
- param calendar_type:
Fiscal year or calendar year
- type calendar_type:
Union[CalendarType, NoneType]
- param num_periods:
The number of periods to retrieve data for (1-99)
- type num_periods:
Union[Annotated[int, FieldInfo(annotation=NoneType, required=True, description=’The number of periods to retrieve data for (1-99)’, metadata=[Ge(ge=1), Le(le=99)])], NoneType]
- param num_periods_back:
The end period of the data range expressed as number of periods back relative to the present period (0-99)
- type num_periods_back:
Union[Annotated[int, FieldInfo(annotation=NoneType, required=True, description=’The end period of the data range expressed as number of periods back relative to the present period (0-99)’, metadata=[Ge(ge=0), Le(le=99)])], NoneType]
- rtype:
GetSegmentsFromIdentifiersResp
- get_financial_statement_from_identifiers(identifiers: list[str], statement: StatementType, period_type: PeriodType | None = None, start_year: int | None = None, end_year: int | None = None, start_quarter: Literal[1, 2, 3, 4] | None = None, end_quarter: Literal[1, 2, 3, 4] | None = None, calendar_type: CalendarType | None = None, num_periods: int | None = None, num_periods_back: int | None = None) GetFinancialStatementFromIdentifiersResp[source]
Get a financial statement (balance_sheet, income_statement, or cashflow) for a group of identifiers.
When possible, pass multiple identifiers in a single call rather than making multiple calls.
To fetch the most recent statement, leave all time parameters as null.
To filter by time, use either absolute time (start_year, end_year, start_quarter, end_quarter) OR relative time (num_periods, num_periods_back)—but not both.
Set calendar_type based on how the query references the time period—use “fiscal” for fiscal year references and “calendar” for calendar year references.
When calendar_type=None, it defaults to ‘fiscal’.
Exception: with multiple identifiers and absolute time, calendar_type=None defaults to ‘calendar’ for cross-company comparability; calendar_type=’fiscal’ returns fiscal data but should not be compared across companies since fiscal years have different end dates.
Examples: Query: “Fetch the balance sheets of Bank of America and Goldman Sachs for 2024” Function: get_financial_statement_from_identifiers(identifiers=[“Bank of America”, “Goldman Sachs”], statement=”balance_sheet”, period_type=”annual”, start_year=2024, end_year=2024)
Query: “Get income statements for NEE and DUK” Function: get_financial_statement_from_identifiers(identifiers=[“NEE”, “DUK”], statement=”income_statement”)
Query: “Q2 2023 cashflow for XOM” Function: get_financial_statement_from_identifiers(identifiers=[“XOM”], statement=”cashflow”, period_type=”quarterly”, start_year=2023, end_year=2023, start_quarter=2, end_quarter=2)
Query: “What is the balance sheet for The New York Times for the past 7 years except for the most recent 2 years?” Function: get_financial_statement_from_identifiers(statement=”balance_sheet”, num_periods=5, num_periods_back=2, identifiers=[“NYT”])
Query: “What are the annual income statement for the calendar years between 2013 and 2016 for BABA and W?” Function: get_financial_statement_from_identifiers(statement=”income_statement”, period_type=”annual”, calendar_type=”calendar”, start_year=2013, end_year=2016, identifiers=[“BABA”, “W”])
- param identifiers:
The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- type identifiers:
list[str]
- param statement:
The type of financial statement
- type statement:
StatementType
- param period_type:
The period type (annual or quarterly)
- type period_type:
Union[PeriodType, NoneType]
- param start_year:
The starting year for the data range. Use null for the most recent data.
- type start_year:
Union[int, NoneType]
- param end_year:
The ending year for the data range. Use null for the most recent data.
- type end_year:
Union[int, NoneType]
- param start_quarter:
Starting quarter (1-4). Only used when period_type is quarterly.
- type start_quarter:
Union[Annotated[Literal[1, 2, 3, 4], BeforeValidator], NoneType]
- param end_quarter:
Ending quarter (1-4). Only used when period_type is quarterly.
- type end_quarter:
Union[Annotated[Literal[1, 2, 3, 4], BeforeValidator], NoneType]
- param calendar_type:
Fiscal year or calendar year
- type calendar_type:
Union[CalendarType, NoneType]
- param num_periods:
The number of periods to retrieve data for (1-99)
- type num_periods:
Union[Annotated[int, FieldInfo(annotation=NoneType, required=True, description=’The number of periods to retrieve data for (1-99)’, metadata=[Ge(ge=1), Le(le=99)])], NoneType]
- param num_periods_back:
The end period of the data range expressed as number of periods back relative to the present period (0-99)
- type num_periods_back:
Union[Annotated[int, FieldInfo(annotation=NoneType, required=True, description=’The end period of the data range expressed as number of periods back relative to the present period (0-99)’, metadata=[Ge(ge=0), Le(le=99)])], NoneType]
- rtype:
GetFinancialStatementFromIdentifiersResp
- get_advisors_for_company_in_transaction(identifier: str, transaction_id: int) GetAdvisorsForCompanyInTransactionFromIdentifierResp[source]
Returns a list of advisor companies that provided advisory services to the specified company during a particular merger or acquisition transaction.
Examples: Query: “Who advised S&P Global during their purchase of Kensho?” Function 1: get_mergers_from_identifiers(identifiers=[“S&P Global”]) # Function 1 returns all M&A’s that involved S&P Global. Extract the <key_dev_id> from the response where S&P Global was the buyer and Kensho was the target. Function 2: get_advisors_for_company_in_transaction(identifier=”S&P Global”, transaction_id=<key_dev_id>)
Query: “Which firms advised AAPL in transaction 67890?” Function: get_advisors_for_company_in_transaction(identifier=”AAPL”, transaction_id=67890)
- param identifier:
The identifier, which can be a ticker symbol, ISIN, CUSIP, or company_id
- type identifier:
str
- param transaction_id:
The ID of the merger.
- type transaction_id:
int
- rtype:
GetAdvisorsForCompanyInTransactionFromIdentifierResp
- get_merger_info_from_transaction_id(transaction_id: int) MergerInfo[source]
Provides comprehensive information about a specific merger or acquisition transaction, including its timeline (announced date, closed date), participants’ company_name and company_id (target, buyers, sellers), and financial consideration details (including monetary values).
Use this tool for questions about announcement dates and transaction details.
Examples: Query: “When was the acquisition of Ben & Jerry’s announced?” Function 1: get_mergers_from_identifiers(identifiers=[“Ben & Jerry’s”]) # Function 1 returns all M&A’s that involved Ben & Jerry’s. Extract the <key_dev_id> from the response where Ben & Jerry’s was the target. Function 2: get_merger_info_from_transaction_id(transaction_id=<key_dev_id>)
Query: “What was the transaction size of Vodafone’s acquisition of Mannesmann?” Function 1: get_mergers_from_identifiers(identifiers=[“Vodafone”]) # Function 1 returns all M&A’s that involved Vodafone. Extract the <key_dev_id> from the response where Vodafone was the buyer and Mannesmann was the target. Function 2: get_merger_info_from_transaction_id(transaction_id=<key_dev_id>)
- param transaction_id:
The ID of the transaction.
- type transaction_id:
int
- rtype:
MergerInfo
- get_mergers_from_identifiers(identifiers: list[str]) GetMergersFromIdentifiersResp[source]
Retrieves all merger and acquisition transactions involving the specified company.
Results are categorized by the company’s role: target (being acquired), buyer (making the acquisition), or seller (divesting an asset).
When possible, pass multiple identifiers in a single call rather than making multiple calls.
Provides transaction_id, merger_title, and transaction closed_date.
Examples: Query: “Which companies did Microsoft purchase?” Function: get_mergers_from_identifiers(identifiers=[“Microsoft”])
Query: “Get acquisitions for AAPL and GOOGL” Function: get_mergers_from_identifiers(identifiers=[“AAPL”, “GOOGL”])
- param identifiers:
The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- type identifiers:
list[str]
- rtype:
GetMergersFromIdentifiersResp
- get_rounds_of_funding_from_identifiers(identifiers: list[str], role: RoundsOfFundingRole, start_date: date | None = None, end_date: date | None = None, limit: int | None = None, sort_order: Literal['asc', 'desc'] = 'desc') GetRoundsOfFundingFromIdentifiersResp[source]
Returns funding round overviews: transaction_ids, types, dates, basic notes. Use for funding/capital raising questions (NOT M&A).
⚠️ TWO-STEP REQUIREMENT: Most questions need BOTH tools: 1. Call THIS → get transaction_ids 2. Call get_rounds_of_funding_info_from_transaction_ids with those IDs 3. Answer using data from BOTH
STEP 2 MANDATORY for: pricing trends (up/down-rounds), exact valuations, security details (preferred shares, classes, participation caps), advisors, board seats, liquidation terms, use of proceeds, pre-deal context, investor contribution amounts, transaction specifics (upsizing, textual notes), fees.
⚠️ Don’t rely on funding_round_notes alone—it’s unstructured/incomplete. Always call STEP 2 for detailed questions.
ROLE PARAMETER: • ‘company_raising_funds’: Company receiving funds (e.g., “What rounds did Stripe raise?”) • ‘company_investing_in_round_of_funding’: Investor’s perspective (e.g., “Which companies did Sequoia invest in?”)
⚠️ INVESTOR QUESTIONS: “How much did [INVESTOR] contribute to [COMPANY]’s round?” → Use INVESTOR’s identifier with role=company_investing_in_round_of_funding Example: “How much did Blackbird VC contribute to Morse Micro’s Series C?” → identifier=Blackbird VC, role=company_investing_in_round_of_funding
- param identifiers:
The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- type identifiers:
list[str]
- param role:
The role of the company involved in the round of funding
- type role:
RoundsOfFundingRole
- param start_date:
Filter rounds to those closed on or after this date (YYYY-MM-DD format)
- type start_date:
Union[date, NoneType]
- param end_date:
Filter rounds to those closed on or before this date (YYYY-MM-DD format)
- type end_date:
Union[date, NoneType]
- param limit:
Limit to top N funding rounds by sort order
- type limit:
Union[int, NoneType]
- param sort_order:
Sort order for funding rounds by closed_date. ‘desc’ shows most recent first, ‘asc’ shows oldest first
- type sort_order:
Literal[‘asc’, ‘desc’]
- rtype:
GetRoundsOfFundingFromIdentifiersResp
- get_rounds_of_funding_info_from_transaction_ids(transaction_ids: list[int]) GetRoundsOfFundingInfoFromTransactionIdsResp[source]
Returns DETAILED transaction data. STEP 2 of the two-step workflow—call after get_rounds_of_funding_from_identifiers.
Pass transaction_ids from STEP 1. Default: pass ALL IDs (efficient), then filter results. Only pass specific IDs if question names exact rounds (e.g., “Series A”).
Provides: advisors (legal, financial), board seats, governance rights, liquidation preferences/multiples, security terms (anti-dilution, participation caps, redemption), exact valuations (pre/post-money), use of proceeds, investor contribution amounts, transaction specifics (upsizing, textual notes), fees.
MANDATORY for questions about: pricing trends (up/down-rounds), security details (preferred shares, classes), advisors, board seats, liquidation terms, exact valuations, use of proceeds, pre-deal context, investor contributions, transaction details (upsizing, notes), fees.
Examples requiring this: • “What is the funding price trend for X—up or down-rounds?” • “Did X issue participating preferred shares with a cap?” • “How much did [investor] contribute to [company]’s Series C?” • “What was the post-money valuation for X’s Series E?” • “Did X outline pre-deal operating context?”
- param transaction_ids:
List of transaction IDs for rounds of funding.
- type transaction_ids:
list[int]
- rtype:
GetRoundsOfFundingInfoFromTransactionIdsResp
- get_funding_summary_from_identifiers(identifiers: list[str]) GetFundingSummaryFromIdentifiersResp[source]
Returns aggregate funding statistics: total_capital_raised, total_rounds count, first/most recent funding dates, rounds_by_type breakdown. No individual round details.
⚠️ Use for SIMPLE aggregates only (single summary numbers). For “CUMULATIVE” or “ACROSS ALL ROUNDS” questions, use get_rounds_of_funding_from_identifiers instead—those need individual rounds for verification/filtering.
Use THIS for: • “How much TOTAL capital has X raised?” (if you don’t need to verify individual rounds) • “How many rounds did X complete?” • “When was X’s first/most recent funding?”
DON’T use for: • “What is the cumulative amount raised by X across all disclosed rounds?” → Use get_rounds_of_funding_from_identifiers • “Show me X’s funding history” → Use get_rounds_of_funding_from_identifiers • Any specific round questions → Use get_rounds_of_funding_from_identifiers
⚠️ If returns 0 rounds or null data, MUST follow up with get_rounds_of_funding_from_identifiers (summary often incomplete).
- param identifiers:
The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- type identifiers:
list[str]
- rtype:
GetFundingSummaryFromIdentifiersResp
- get_consensus_estimates_from_identifiers(identifiers: list[str], period_type: EstimatePeriodType | None = None, fiscal_start_year: int | None = None, fiscal_end_year: int | None = None, fiscal_start_quarter: Literal[1, 2, 3, 4] | None = None, fiscal_end_quarter: Literal[1, 2, 3, 4] | None = None, num_periods_forward: int | None = None, num_periods_backward: int | None = None) GetEstimatesFromIdentifiersResp[source]
Get consensus analyst estimates (EPS, Revenue, EBITDA, etc.) for a given identifier.
Returns statistical aggregates including high, low, mean, median, and number of estimates. When periods have ended, actual reported values are also returned.
- param identifiers:
The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- type identifiers:
list[str]
- param period_type:
The period type (annual, semi-annual, or quarterly).
- type period_type:
Union[EstimatePeriodType, NoneType]
- param fiscal_start_year:
The starting year for the data range. Use null for the most recent data.
- type fiscal_start_year:
Union[int, NoneType]
- param fiscal_end_year:
The ending year for the data range. Use null for the most recent data.
- type fiscal_end_year:
Union[int, NoneType]
- param fiscal_start_quarter:
Starting quarter (1-4). Used when period_type is semi-annual or quarterly.
- type fiscal_start_quarter:
Union[Annotated[Literal[1, 2, 3, 4], BeforeValidator], NoneType]
- param fiscal_end_quarter:
Ending quarter (1-4). Used when period_type is semi-annual or quarterly.
- type fiscal_end_quarter:
Union[Annotated[Literal[1, 2, 3, 4], BeforeValidator], NoneType]
- param num_periods_forward:
The number of periods forward from today (1-99).
- type num_periods_forward:
Union[Annotated[int, FieldInfo(annotation=NoneType, required=True, description=’The number of periods in the future to retrieve estimate data.’, metadata=[Ge(ge=0), Le(le=99)])], NoneType]
- param num_periods_backward:
The number of periods to look back from today (1-99).
- type num_periods_backward:
Union[Annotated[int, FieldInfo(annotation=NoneType, required=True, description=’The number of periods in the past to retrieve estimate data.’, metadata=[Ge(ge=0), Le(le=99)])], NoneType]
- rtype:
GetEstimatesFromIdentifiersResp
- get_guidance_from_identifiers(identifiers: list[str], period_type: EstimatePeriodType | None = None, fiscal_start_year: int | None = None, fiscal_end_year: int | None = None, fiscal_start_quarter: Literal[1, 2, 3, 4] | None = None, fiscal_end_quarter: Literal[1, 2, 3, 4] | None = None, num_periods_forward: int | None = None, num_periods_backward: int | None = None) GetEstimatesFromIdentifiersResp[source]
Get company-issued financial guidance for a given identifier.
Returns the most recent guidance provided by the company for future periods, or the final guidance issued before results were reported for past periods.
- param identifiers:
The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- type identifiers:
list[str]
- param period_type:
The period type (annual, semi-annual, or quarterly).
- type period_type:
Union[EstimatePeriodType, NoneType]
- param fiscal_start_year:
The starting year for the data range. Use null for the most recent data.
- type fiscal_start_year:
Union[int, NoneType]
- param fiscal_end_year:
The ending year for the data range. Use null for the most recent data.
- type fiscal_end_year:
Union[int, NoneType]
- param fiscal_start_quarter:
Starting quarter (1-4). Used when period_type is semi-annual or quarterly.
- type fiscal_start_quarter:
Union[Annotated[Literal[1, 2, 3, 4], BeforeValidator], NoneType]
- param fiscal_end_quarter:
Ending quarter (1-4). Used when period_type is semi-annual or quarterly.
- type fiscal_end_quarter:
Union[Annotated[Literal[1, 2, 3, 4], BeforeValidator], NoneType]
- param num_periods_forward:
The number of periods forward from today (1-99).
- type num_periods_forward:
Union[Annotated[int, FieldInfo(annotation=NoneType, required=True, description=’The number of periods in the future to retrieve estimate data.’, metadata=[Ge(ge=0), Le(le=99)])], NoneType]
- param num_periods_backward:
The number of periods to look back from today (1-99).
- type num_periods_backward:
Union[Annotated[int, FieldInfo(annotation=NoneType, required=True, description=’The number of periods in the past to retrieve estimate data.’, metadata=[Ge(ge=0), Le(le=99)])], NoneType]
- rtype:
GetEstimatesFromIdentifiersResp
- get_consensus_target_price_from_identifiers(identifiers: list[str]) GetConsensusTargetPriceFromIdentifiersResp[source]
Get consensus target price estimates for a given company. Returns the current consensus analyst target price including high, low, mean, and median values.
- Parameters:
identifiers (list[str]) – The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- Return type:
GetConsensusTargetPriceFromIdentifiersResp
- get_analyst_recommendations_from_identifiers(identifiers: list[str]) GetAnalystRecommendationsFromIdentifiersResp[source]
Get analyst recommendations for a given company. Returns the current consensus analyst recommendation breakdown including buy, hold, sell counts and overall rating.
- Parameters:
identifiers (list[str]) – The identifiers, which can be a list of ticker symbols, ISINs, or CUSIPs, or company_ids
- Return type:
GetAnalystRecommendationsFromIdentifiersResp