openapi: 3.0.3 info: title: Financial Modeling Prep API description: >- Financial Modeling Prep (FMP) provides real-time and historical financial data through more than 100 REST endpoints served from the stable base https://financialmodelingprep.com/stable. Coverage includes company financial statements (income statement, balance sheet, cash flow), real-time and historical quotes for stocks, forex, crypto, and commodities, SEC filings, analyst estimates, company fundamentals (profile, key metrics, ratios), and macroeconomic indicators. All requests are authenticated with an API key passed as the `apikey` query parameter. Responses default to JSON and most endpoints also support CSV via the `datatype` parameter. This document models a representative subset of the stable endpoints; see the FMP developer docs for the full catalog. FMP also exposes a real-time WebSocket surface, modeled separately in asyncapi/financialmodelingprep-asyncapi.yml. version: 'stable' contact: name: Financial Modeling Prep url: https://site.financialmodelingprep.com termsOfService: https://site.financialmodelingprep.com/terms-of-service servers: - url: https://financialmodelingprep.com/stable description: FMP stable REST base - url: https://financialmodelingprep.com/api/v3 description: FMP legacy v3 REST base security: - apiKeyQuery: [] tags: - name: Financial Statements description: Income statement, balance sheet, and cash-flow statement data. - name: Quotes and Prices description: Real-time quotes and historical end-of-day prices. - name: SEC Filings description: Latest and searchable SEC filings for public companies. - name: Fundamentals description: Company profile plus derived key metrics and ratios. - name: Analyst Estimates description: Consensus estimates, price targets, and rating grades. - name: Economic Data description: Macroeconomic indicators, treasury rates, and economic calendar. paths: /income-statement: get: operationId: getIncomeStatement tags: - Financial Statements summary: Income statement description: >- Returns annual or quarterly income statements for a company, identified by ticker symbol. parameters: - $ref: '#/components/parameters/symbol' - $ref: '#/components/parameters/period' - $ref: '#/components/parameters/limit' responses: '200': description: A list of income statement periods. content: application/json: schema: type: array items: type: object /balance-sheet-statement: get: operationId: getBalanceSheetStatement tags: - Financial Statements summary: Balance sheet statement description: >- Returns annual or quarterly balance sheet statements for a company, identified by ticker symbol. parameters: - $ref: '#/components/parameters/symbol' - $ref: '#/components/parameters/period' - $ref: '#/components/parameters/limit' responses: '200': description: A list of balance sheet periods. content: application/json: schema: type: array items: type: object /cash-flow-statement: get: operationId: getCashFlowStatement tags: - Financial Statements summary: Cash flow statement description: >- Returns annual or quarterly cash-flow statements for a company, identified by ticker symbol. parameters: - $ref: '#/components/parameters/symbol' - $ref: '#/components/parameters/period' - $ref: '#/components/parameters/limit' responses: '200': description: A list of cash-flow statement periods. content: application/json: schema: type: array items: type: object /quote: get: operationId: getQuote tags: - Quotes and Prices summary: Full quote description: >- Returns a real-time full quote for a stock, ETF, index, forex pair, crypto pair, or commodity, identified by symbol. parameters: - $ref: '#/components/parameters/symbol' responses: '200': description: The current quote for the symbol. content: application/json: schema: type: array items: type: object /historical-price-eod/full: get: operationId: getHistoricalPriceEodFull tags: - Quotes and Prices summary: Historical end-of-day prices description: >- Returns historical daily (end-of-day) open/high/low/close and volume for a symbol, optionally bounded by a from/to date range. Up to 30 years of history is available. parameters: - $ref: '#/components/parameters/symbol' - name: from in: query required: false description: Start date (YYYY-MM-DD). schema: type: string format: date - name: to in: query required: false description: End date (YYYY-MM-DD). schema: type: string format: date responses: '200': description: Historical end-of-day price bars. content: application/json: schema: type: array items: type: object /sec-filings-search/symbol: get: operationId: getSecFilingsBySymbol tags: - SEC Filings summary: SEC filings by symbol description: >- Searches SEC filings for a company by ticker symbol within a date range, returning filing metadata and links to the source EDGAR documents. parameters: - $ref: '#/components/parameters/symbol' - name: from in: query required: false description: Start date (YYYY-MM-DD). schema: type: string format: date - name: to in: query required: false description: End date (YYYY-MM-DD). schema: type: string format: date - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': description: A list of matching SEC filings. content: application/json: schema: type: array items: type: object /sec-filings-search/cik: get: operationId: getSecFilingsByCik tags: - SEC Filings summary: SEC filings by CIK description: >- Searches SEC filings for a company by its SEC Central Index Key (CIK) within a date range. parameters: - name: cik in: query required: true description: SEC Central Index Key, e.g. 0000320193 for Apple. schema: type: string - name: from in: query required: false description: Start date (YYYY-MM-DD). schema: type: string format: date - name: to in: query required: false description: End date (YYYY-MM-DD). schema: type: string format: date - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': description: A list of matching SEC filings. content: application/json: schema: type: array items: type: object /financials-latest: get: operationId: getLatestFinancialFilings tags: - SEC Filings summary: Latest SEC filings description: >- Returns the most recent SEC filings submitted across public companies, for real-time monitoring of new disclosures. parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': description: The latest filings feed. content: application/json: schema: type: array items: type: object /profile: get: operationId: getCompanyProfile tags: - Fundamentals summary: Company profile description: >- Returns a company profile - sector, industry, description, market cap, exchange, executives, and identifiers - for a ticker symbol. parameters: - $ref: '#/components/parameters/symbol' responses: '200': description: The company profile. content: application/json: schema: type: array items: type: object /key-metrics: get: operationId: getKeyMetrics tags: - Fundamentals summary: Key metrics description: >- Returns per-period key financial metrics (per-share values, margins, returns, and other derived measures) for a ticker symbol. parameters: - $ref: '#/components/parameters/symbol' - $ref: '#/components/parameters/period' - $ref: '#/components/parameters/limit' responses: '200': description: A list of key-metric periods. content: application/json: schema: type: array items: type: object /ratios: get: operationId: getFinancialRatios tags: - Fundamentals summary: Financial ratios description: >- Returns per-period financial ratios (liquidity, profitability, leverage, and valuation) for a ticker symbol. parameters: - $ref: '#/components/parameters/symbol' - $ref: '#/components/parameters/period' - $ref: '#/components/parameters/limit' responses: '200': description: A list of ratio periods. content: application/json: schema: type: array items: type: object /analyst-estimates: get: operationId: getAnalystEstimates tags: - Analyst Estimates summary: Analyst estimates description: >- Returns consensus analyst estimates - projected revenue, EPS, EBITDA, and net income - for a ticker symbol, by annual or quarterly period. parameters: - $ref: '#/components/parameters/symbol' - $ref: '#/components/parameters/period' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': description: A list of analyst estimate periods. content: application/json: schema: type: array items: type: object /financial-estimates: get: operationId: getFinancialEstimates tags: - Analyst Estimates summary: Financial estimates description: >- Returns forward-looking financial estimates for a ticker symbol as forecast by analysts. parameters: - $ref: '#/components/parameters/symbol' - $ref: '#/components/parameters/period' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': description: A list of financial estimate periods. content: application/json: schema: type: array items: type: object /economic-indicators: get: operationId: getEconomicIndicators tags: - Economic Data summary: Economic indicators description: >- Returns time-series values for a named macroeconomic indicator such as GDP, CPI, or unemployment rate. parameters: - name: name in: query required: true description: Indicator name, e.g. GDP, CPI, unemploymentRate. schema: type: string - name: from in: query required: false description: Start date (YYYY-MM-DD). schema: type: string format: date - name: to in: query required: false description: End date (YYYY-MM-DD). schema: type: string format: date responses: '200': description: A macroeconomic indicator time series. content: application/json: schema: type: array items: type: object /treasury-rates: get: operationId: getTreasuryRates tags: - Economic Data summary: Treasury rates description: >- Returns U.S. treasury rates across standard maturities for a date range. parameters: - name: from in: query required: false description: Start date (YYYY-MM-DD). schema: type: string format: date - name: to in: query required: false description: End date (YYYY-MM-DD). schema: type: string format: date responses: '200': description: Treasury rates by maturity. content: application/json: schema: type: array items: type: object /economic-calendar: get: operationId: getEconomicCalendar tags: - Economic Data summary: Economic calendar description: >- Returns scheduled macroeconomic events and releases within a date range. parameters: - name: from in: query required: false description: Start date (YYYY-MM-DD). schema: type: string format: date - name: to in: query required: false description: End date (YYYY-MM-DD). schema: type: string format: date responses: '200': description: A list of economic calendar events. content: application/json: schema: type: array items: type: object components: parameters: symbol: name: symbol in: query required: true description: Ticker symbol, e.g. AAPL. Some endpoints accept forex (EURUSD) or crypto (BTCUSD) symbols. schema: type: string period: name: period in: query required: false description: Reporting period. schema: type: string enum: - annual - quarter default: annual limit: name: limit in: query required: false description: Maximum number of records to return. schema: type: integer default: 100 page: name: page in: query required: false description: Zero-based page number for paginated results. schema: type: integer default: 0 securitySchemes: apiKeyQuery: type: apiKey in: query name: apikey description: >- FMP API key passed as the `apikey` query parameter on every request, e.g. ?apikey=YOUR_API_KEY. Obtain a key from the FMP dashboard.