PublicFunctions/Get-FMPCompanyProfile.ps1
function Get-FMPCompanyProfile { <# .SYNOPSIS Retrieves company profile data for a specified trading symbol using the Financial Modeling Prep API. .DESCRIPTION The Get-FMPCompanyProfile function fetches comprehensive profile information for a given company based on its trading symbol. The returned profile data includes details such as price, market capitalization, beta, dividend, company name, industry, website, description, CEO, and other financial and corporate metrics. If no API key is provided, the function attempts to retrieve it using the Get-FMPCredential function and will prompt the user if necessary. .PARAMETER Symbol Specifies the trading symbol for the company (e.g., AAPL). This parameter is mandatory. .PARAMETER ApiKey Specifies your Financial Modeling Prep API key. If omitted, the function will attempt to retrieve it using Get-FMPCredential and prompt the user if necessary. .EXAMPLE Get-FMPCompanyProfile -Symbol AAPL This example retrieves the company profile for Apple Inc. using your Financial Modeling Prep API key. .NOTES This function utilizes the Financial Modeling Prep API's company profile endpoint. For more information, visit: https://financialmodelingprep.com #> [CmdletBinding()] Param ( [Parameter(Mandatory = $true)] [string] $Symbol, [Parameter(Mandatory = $false)] [string] $ApiKey = (Get-FMPCredential) ) Begin { if (-not $ApiKey) { $ApiKey = Read-Host "Please enter your Financial Modeling Prep API key" } $baseUrl = "https://financialmodelingprep.com/stable/profile" } Process { # Build the query URL using the provided symbol and API key $url = "{0}?symbol={1}&apikey={2}" -f $baseUrl, $Symbol, $ApiKey $headers = @{ "Upgrade-Insecure-Requests" = "1" } try { $response = Invoke-RestMethod -Uri $url -Method Get -Headers $headers -ErrorAction Stop return $response } catch { throw "Error retrieving FMP company profile data: $_" } } }; |