← Back to Home

FMP Node API Documentation

Core API Wrapper

Economic Endpoints

Access economic indicators, treasury rates, and economic data that impact financial markets.

Available Methods

MethodEndpointDescription
GET/treasuryGet treasury rates
GET/economicGet economic indicators

Get Treasury Rates

Retrieve current treasury rates for different maturities.

1const rates = await fmp.economic.getTreasuryRates({
2  from: '2024-01-01',
3  to: '2024-01-31'
4});

Parameters

ParameterTypeRequiredDescription
fromstringNoStart date (YYYY-MM-DD format)
tostringNoEnd date (YYYY-MM-DD format)

Example Response

1{
2  success: true,
3  data: [
4    {
5      date: '2024-01-31',
6      month1: 5.33,
7      month2: 5.35,
8      month3: 5.37,
9      month6: 5.42,
10      year1: 5.45,
11      year2: 5.48,
12      year3: 5.52,
13      year5: 5.58,
14      year7: 5.62,
15      year10: 5.65,
16      year20: 5.68,
17      year30: 5.70
18    }
19  ]
20}

Get Economic Indicators

Retrieve economic indicators with optional filtering by indicator type.

Note: The name parameter is required to specify which economic indicator to retrieve.

1const indicators = await fmp.economic.getEconomicIndicators({
2  name: 'GDP',
3  from: '2020-01-01',
4  to: '2024-01-31'
5});

Parameters

ParameterTypeRequiredDescription
namestringYesEconomic indicator name (GDP, CPI, federalFunds, etc.)
fromstringNoStart date (YYYY-MM-DD format)
tostringNoEnd date (YYYY-MM-DD format)

Example Response

1{
2  success: true,
3  data: [
4    {
5      date: '2023-12-31',
6      value: 27.36
7    },
8    {
9      date: '2023-11-30',
10      value: 27.35
11    }
12  ]
13}

Available Economic Indicators

The following economic indicators are available:

  • GDP - Gross Domestic Product
  • realGDP - Real Gross Domestic Product
  • nominalPotentialGDP - Nominal Potential GDP
  • realGDPPerCapita - Real GDP Per Capita
  • federalFunds - Federal Funds Rate
  • CPI - Consumer Price Index
  • inflationRate - Inflation Rate
  • inflation - Inflation Data
  • retailSales - Retail Sales
  • consumerSentiment - Consumer Sentiment
  • durableGoods - Durable Goods Orders
  • unemploymentRate - Unemployment Rate
  • totalNonfarmPayroll - Total Nonfarm Payroll
  • initialClaims - Initial Jobless Claims
  • industrialProductionTotalIndex - Industrial Production Index
  • newPrivatelyOwnedHousingUnitsStartedTotalUnits - Housing Starts
  • totalVehicleSales - Total Vehicle Sales
  • retailMoneyFunds - Retail Money Funds
  • smoothedUSRecessionProbabilities - US Recession Probabilities
  • 3MonthOr90DayRatesAndYieldsCertificatesOfDeposit - 3-Month CD Rates
  • commercialBankInterestRateOnCreditCardPlansAllAccounts - Credit Card Interest Rates
  • 30YearFixedRateMortgageAverage - 30-Year Fixed Mortgage Rate
  • 15YearFixedRateMortgageAverage - 15-Year Fixed Mortgage Rate

Response Types

TreasuryRate

1interface TreasuryRate {
2date: string;
3month1: number;
4month2: number;
5month3: number;
6month6: number;
7year1: number;
8year2: number;
9year3: number;
10year5: number;
11year7: number;
12year10: number;
13year20: number;
14year30: number;
15}

EconomicIndicator

1interface EconomicIndicator {
2date: string;
3value: number;
4}

Treasury Yield Curve Analysis

1// Analyze yield curve
2const rates = await fmp.economic.getTreasuryRates({
3from: '2024-01-01',
4to: '2024-01-31'
5});
6
7if (rates.success && rates.data.length > 0) {
8const current = rates.data[0];
9const shortTerm = current.month3; // 3-month rate
10const longTerm = current.year10; // 10-year rate
11
12const yieldCurve = longTerm - shortTerm;
13console.log('Yield Curve Spread:', yieldCurve);
14
15if (yieldCurve < 0) {
16console.log('Inverted Yield Curve - Recession indicator');
17}
18}

Economic Dashboard

1// Create economic dashboard
2const [rates, gdp, cpi, unemployment] = await Promise.all([
3fmp.economic.getTreasuryRates({ from: '2024-01-01', to: '2024-01-31' }),
4fmp.economic.getEconomicIndicators({ name: 'GDP', from: '2020-01-01', to: '2024-01-31' }),
5fmp.economic.getEconomicIndicators({ name: 'CPI', from: '2024-01-01', to: '2024-01-31' }),
6fmp.economic.getEconomicIndicators({ name: 'unemploymentRate', from: '2024-01-01', to: '2024-01-31' })
7]);
8
9console.log('Current Treasury Rates:', rates.data[0]);
10console.log('Latest GDP:', gdp.data[0]);
11console.log('Latest CPI:', cpi.data[0]);
12console.log('Latest Unemployment:', unemployment.data[0]);

Error Handling

Always check the success property before accessing data:

1const rates = await fmp.economic.getTreasuryRates({
2from: '2024-01-01',
3to: '2024-01-31'
4});
5
6if (rates.success && rates.data) {
7console.log('Treasury Rates:', rates.data[0]);
8} else {
9console.error('Error:', rates.error);
10console.error('Status:', rates.status);
11}

Rate Limiting

Economic endpoints are subject to FMP's rate limits. For production applications, implement appropriate rate limiting and caching strategies.

Data Frequency

Economic data is typically updated:

  • Real-time - Treasury rates
  • Monthly - Most economic indicators
  • Quarterly - GDP data

Next Steps

Explore other endpoint categories:


Ready to explore financial data? Check out the Financial Endpoints for income statements, balance sheets, and more.