FMP Node API Documentation
Company Endpoints
The Company Endpoints provide access to comprehensive company information including profiles, executive compensation, company notes, employee data, shares float information, and earnings call transcripts.
Available Methods
Method | Endpoint | Description |
---|---|---|
GET | /profile/{symbol} | Get comprehensive company profile information |
GET | /governance/executive_compensation | Get executive compensation data |
GET | /company-notes | Get company notes and financial statements |
GET | /historical/employee_count | Get historical employee count data |
GET | /shares_float | Get current shares float information |
GET | /historical/shares_float | Get historical shares float data |
GET | /earning_call_transcript/{symbol} | Get earnings call transcripts |
GET | /earning_call_transcript | Get company transcript dates and data |
Get Company Profile
Retrieve comprehensive company profile information including financial metrics, company details, and market data.
1const profile = await fmp.company.getCompanyProfile('AAPL');
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
symbol | string | Yes | Stock symbol (e.g., "AAPL", "MSFT") |
Example Response
1{
2 success: true,
3 data: {
4 symbol: 'AAPL',
5 price: 150.25,
6 beta: 1.28,
7 volAvg: 52345600,
8 mktCap: 2375000000000,
9 lastDiv: 0.24,
10 range: '124.17-198.23',
11 changes: 3.15,
12 companyName: 'Apple Inc.',
13 currency: 'USD',
14 cik: '0000320193',
15 isin: 'US0378331005',
16 cusip: '037833100',
17 exchange: 'NASDAQ',
18 exchangeShortName: 'NASDAQ',
19 industry: 'Consumer Electronics',
20 website: 'https://www.apple.com',
21 description: 'Apple Inc. designs, manufactures, and markets smartphones, personal computers, tablets, wearables, and accessories worldwide.',
22 ceo: 'Timothy D. Cook',
23 sector: 'Technology',
24 country: 'US',
25 fullTimeEmployees: '164000',
26 phone: '1-408-996-1010',
27 address: 'One Apple Park Way',
28 city: 'Cupertino',
29 state: 'CA',
30 zip: '95014',
31 dcfDiff: 0.00,
32 dcf: 0.00,
33 image: 'https://financialmodelingprep.com/image-stock/AAPL.png',
34 ipoDate: '1980-12-12',
35 defaultImage: false,
36 isEtf: false,
37 isActivelyTrading: true,
38 isAdr: false,
39 isFund: false
40 }
41}
Get Executive Compensation
Retrieve detailed executive compensation data including salary, bonuses, stock awards, and total compensation.
1const compensation = await fmp.company.getExecutiveCompensation('AAPL');
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
symbol | string | Yes | Stock symbol |
Example Response
1{
2 success: true,
3 data: [
4 {
5 cik: '0000320193',
6 symbol: 'AAPL',
7 companyName: 'Apple Inc.',
8 industryTitle: 'Consumer Electronics',
9 acceptedDate: '2024-01-25',
10 filingDate: '2024-01-25',
11 nameAndPosition: 'Timothy D. Cook, Chief Executive Officer',
12 year: 2023,
13 salary: 3000000,
14 bonus: 0,
15 stock_award: 50000000,
16 incentive_plan_compensation: 0,
17 all_other_compensation: 0,
18 total: 53000000,
19 url: 'https://www.sec.gov/Archives/edgar/data/320193/000032019324000006/aap-20231230.htm'
20 }
21 ]
22}
Get Company Notes
Retrieve company notes and financial statement information.
1const notes = await fmp.company.getCompanyNotes('AAPL');
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
symbol | string | Yes | Stock symbol |
Example Response
1{
2 success: true,
3 data: [
4 {
5 cik: '0000320193',
6 symbol: 'AAPL',
7 title: 'Notes to Consolidated Financial Statements',
8 exchange: 'NASDAQ'
9 }
10 ]
11}
Get Historical Employee Count
Retrieve historical employee count data over time.
1const employeeData = await fmp.company.getHistoricalEmployeeCount('AAPL');
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
symbol | string | Yes | Stock symbol |
Example Response
1{
2 success: true,
3 data: [
4 {
5 symbol: 'AAPL',
6 cik: '0000320193',
7 acceptanceTime: '2024-01-25T21:30:00.000Z',
8 periodOfReport: '2023-12-30',
9 companyName: 'Apple Inc.',
10 formType: '10-K',
11 filingDate: '2024-01-25',
12 employeeCount: 164000,
13 source: 'SEC Filing'
14 }
15 ]
16}
Get Shares Float
Retrieve current shares float information including free float, float shares, and outstanding shares.
1const sharesFloat = await fmp.company.getSharesFloat('AAPL');
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
symbol | string | Yes | Stock symbol |
Example Response
1{
2 success: true,
3 data: {
4 symbol: 'AAPL',
5 freeFloat: 0.85,
6 floatShares: 14921252530,
7 outstandingShares: 15800000000,
8 source: 'SEC Filing',
9 date: '2024-01-25'
10 }
11}
Get Historical Shares Float
Retrieve historical shares float data over time.
1const historicalSharesFloat = await fmp.company.getHistoricalSharesFloat('AAPL');
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
symbol | string | Yes | Stock symbol |
Example Response
1{
2 success: true,
3 data: [
4 {
5 symbol: 'AAPL',
6 freeFloat: 0.85,
7 floatShares: '14921252530',
8 outstandingShares: '15800000000',
9 source: 'SEC Filing',
10 date: '2024-01-25'
11 },
12 {
13 symbol: 'AAPL',
14 freeFloat: 0.84,
15 floatShares: '14850000000',
16 outstandingShares: '15750000000',
17 source: 'SEC Filing',
18 date: '2023-12-31'
19 }
20 ]
21}
Get Earnings Call Transcript
Retrieve earnings call transcripts for specific quarters and years.
1const transcript = await fmp.company.getEarningsCallTranscript({
2 symbol: 'AAPL',
3 year: 2024,
4 quarter: 1
5});
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
symbol | string | Yes | Stock symbol |
year | number | Yes | Year of the earnings call |
quarter | number | Yes | Quarter of the earnings call (1-4) |
Example Response
1{
2 success: true,
3 data: [
4 {
5 symbol: 'AAPL',
6 quarter: 1,
7 year: 2024,
8 date: '2024-01-25',
9 content: 'Operator: Good day, and welcome to the Apple Inc. Q1 2024 Earnings Conference Call...'
10 }
11 ]
12}
Get Company Transcript Data
Retrieve available transcript dates and data for a company's earnings calls.
1const transcriptData = await fmp.company.getCompanyTranscriptData('AAPL');
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
symbol | string | Yes | Stock symbol |
Example Response
1{
2 success: true,
3 data: [
4 [2024, 1, '2024-01-25'],
5 [2023, 4, '2023-10-26'],
6 [2023, 3, '2023-07-27'],
7 [2023, 2, '2023-05-04'],
8 [2023, 1, '2023-02-02']
9 ]
10}
Data Types
CompanyProfile
1interface CompanyProfile {
2symbol: string;
3price: number;
4beta: number;
5volAvg: number;
6mktCap: number;
7lastDiv: number;
8range: string;
9changes: number;
10companyName: string;
11currency: string;
12cik: string;
13isin: string;
14cusip: string;
15exchange: string;
16exchangeShortName: string;
17industry: string;
18website: string;
19description: string;
20ceo: string;
21sector: string;
22country: string;
23fullTimeEmployees: string;
24phone: string;
25address: string;
26city: string;
27state: string;
28zip: string;
29dcfDiff: number;
30dcf: number;
31image: string;
32ipoDate: string;
33defaultImage: boolean;
34isEtf: boolean;
35isActivelyTrading: boolean;
36isAdr: boolean;
37isFund: boolean;
38}
ExecutiveCompensation
1interface ExecutiveCompensation {
2cik: string;
3symbol: string;
4companyName: string;
5industryTitle: string;
6acceptedDate: string;
7filingDate: string;
8nameAndPosition: string;
9year: number;
10salary: number;
11bonus: number;
12stock_award: number;
13incentive_plan_compensation: number;
14all_other_compensation: number;
15total: number;
16url: string;
17}
SharesFloat
1interface SharesFloat {
2symbol: string;
3freeFloat: number;
4floatShares: number;
5outstandingShares: number;
6source: string;
7date: string;
8}
HistoricalSharesFloat
1interface HistoricalSharesFloat {
2symbol: string;
3freeFloat: number;
4floatShares: string;
5outstandingShares: string;
6source: string;
7date: string;
8}
CompanyTranscriptData
1type CompanyTranscriptData = [number, number, string];
Note: The CompanyTranscriptData
type represents an array where:
[0]
: Year (number)[1]
: Quarter (number, 1-4)[2]
: Date (string, ISO format)
Error Handling
All company endpoints return a standardized response format with error handling:
1interface UnwrappedAPIResponse<T> {
2success: boolean;
3data: T | null;
4error?: string;
5}
When an error occurs, the response will include:
success: false
data: null
error: string
- Description of the error
Rate Limits
Company endpoints are subject to the same rate limits as other FMP API endpoints. Please refer to your subscription plan for specific limits.
Examples
Complete Company Analysis
1// Get comprehensive company information
2const [profile, compensation, employeeData, sharesFloat, transcriptData] = await Promise.all([
3fmp.company.getCompanyProfile('AAPL'),
4fmp.company.getExecutiveCompensation('AAPL'),
5fmp.company.getHistoricalEmployeeCount('AAPL'),
6fmp.company.getSharesFloat('AAPL'),
7fmp.company.getCompanyTranscriptData('AAPL')
8]);
9
10// Analyze company metrics
11if (profile.success && profile.data) {
12console.log('Company:', profile.data.companyName);
13console.log('Market Cap:', profile.data.mktCap);
14console.log('Industry:', profile.data.industry);
15console.log('Employees:', profile.data.fullTimeEmployees);
16}
17
18// Check available transcripts
19if (transcriptData.success && transcriptData.data) {
20console.log('Available transcripts:', transcriptData.data.length);
21const latestTranscript = transcriptData.data[0];
22console.log('Latest transcript:', `Q${latestTranscript[1]} ${latestTranscript[0]} - ${latestTranscript[2]}`);
23}
Historical Analysis
1// Get historical data for analysis
2const [historicalEmployees, historicalShares] = await Promise.all([
3fmp.company.getHistoricalEmployeeCount('AAPL'),
4fmp.company.getHistoricalSharesFloat('AAPL')
5]);
6
7// Analyze trends
8if (historicalEmployees.success && historicalEmployees.data) {
9const employeeGrowth = historicalEmployees.data
10.sort((a, b) => new Date(b.filingDate).getTime() - new Date(a.filingDate).getTime())
11.slice(0, 5);
12
13console.log('Recent employee count trends:', employeeGrowth);
14}