← 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
Method | Endpoint | Description |
---|---|---|
GET | /treasury | Get treasury rates |
GET | /economic | Get 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
Parameter | Type | Required | Description |
---|---|---|---|
from | string | No | Start date (YYYY-MM-DD format) |
to | string | No | End 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
Parameter | Type | Required | Description |
---|---|---|---|
name | string | Yes | Economic indicator name (GDP, CPI, federalFunds, etc.) |
from | string | No | Start date (YYYY-MM-DD format) |
to | string | No | End 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:
- Stock Endpoints - Real-time quotes and historical data
- Financial Endpoints - Financial statements and ratios
- Market Endpoints - Market indices and sector data
- Calendar Endpoints - Earnings and economic calendars
- List Endpoints - Available symbols and instruments
- Examples - Practical code samples
Ready to explore financial data? Check out the Financial Endpoints for income statements, balance sheets, and more.