← Back to Home

FMP Node API Documentation

Core API Wrapper

Insider Trading Endpoints

The Insider Trading Endpoints provide access to real-time and historical insider trading data, transaction types, CIK mapping, beneficial ownership, and fail-to-deliver information. These endpoints help you analyze insider activity, compliance, and market sentiment.

Available Methods

MethodEndpointDescription
GET/insider-trading-rss-feedGet real-time insider trading RSS feed
GET/insider-tradingSearch insider trades by symbol, CIK, or type
GET/insider-trading-transaction-typeGet all insider transaction types
GET/insider-roasterGet insiders by symbol
GET/insider-roaster-statisticGet insider trade statistics
GET/mapper-cik-nameGet CIK to name mapping or search by name
GET/mapper-cik-company/{symbol}Get CIK for a specific symbol
GET/insider/ownership/acquisition_of_beneficial_ownershipGet beneficial ownership acquisitions
GET/fail_to_deliverGet fail to deliver data

Get Insider Trading RSS Feed

1
2const rssFeed = await fmp.insider.getInsiderTradingRSS({ page: 0 });
3

Parameters

ParameterTypeRequiredDescription
pagenumberYesPage number for pagination

Example Response

1
2{
3success: true,
4data: [
5  {
6    title: '4 - Atlantic Union Bankshares Corp (0000883948) (Issuer)',
7    fillingDate: '2022-10-05 13:43:47',
8    symbol: 'AUB',
9    link: 'https://www.sec.gov/Archives/edgar/data/883948/000141588922010327/0001415889-22-010327-index.htm',
10    reportingCik: '0001745407',
11    issuerCik: '0000883948'
12  }
13]
14}
15

Search Insider Trades

1
2const trades = await fmp.insider.searchInsiderTrading({ symbol: 'AAPL', page: 0 });
3

Parameters

ParameterTypeRequiredDescription
symbolstringNoStock symbol to filter by
reportingCikstringNoReporting CIK to filter by
companyCikstringNoCompany CIK to filter by
transactionTypestringNoTransaction type to filter by
pagenumberYesPage number for pagination

Example Response

1
2{
3success: true,
4data: [
5  {
6    symbol: 'AAPL',
7    filingDate: '2022-10-04 22:05:07',
8    transactionDate: '2022-10-03',
9    reportingCik: '0001767094',
10    transactionType: 'S-Sale',
11    securitiesOwned: 270196,
12    securitiesTransacted: 42393,
13    companyCik: '0000320193',
14    reportingName: "O'BRIEN DEIRDRE",
15    typeOfOwner: 'officer: Senior Vice President',
16    link: 'https://www.sec.gov/Archives/edgar/data/320193/000032019322000097/0000320193-22-000097-index.htm',
17    securityName: 'Common Stock',
18    price: 141.09,
19    formType: '4',
20    acquistionOrDisposition: 'D'
21  }
22]
23}
24

Get Transaction Types

1
2const types = await fmp.insider.getTransactionTypes();
3

Example Response

1
2{
3success: true,
4data: [
5  'J-Other', 'P-Purchase', 'W-Will', 'I-Discretionary', 'Z-Trust', 'F-InKind'
6]
7}
8

Get Insiders by Symbol

1
2const insiders = await fmp.insider.getInsidersBySymbol({ symbol: 'AAPL' });
3

Parameters

ParameterTypeRequiredDescription
symbolstringYesStock symbol

Example Response

1
2{
3success: true,
4data: [
5  {
6    typeOfOwner: 'officer: SVP, GC and Secretary',
7    transactionDate: '2022-10-03',
8    owner: 'Adams Katherine L.'
9  }
10]
11}
12

Get Insider Trade Statistics

1
2const stats = await fmp.insider.getInsiderTradeStatistics({ symbol: 'AAPL' });
3

Parameters

ParameterTypeRequiredDescription
symbolstringYesStock symbol

Example Response

1
2{
3success: true,
4data: [
5  {
6    symbol: 'AAPL',
7    cik: '0000320193',
8    year: 2022,
9    quarter: 4,
10    purchases: 6,
11    sales: 30,
12    buySellRatio: 0.2,
13    totalBought: 1492148,
14    totalSold: 2810029,
15    averageBought: 248691.3333,
16    averageSold: 93667.6333,
17    pPurchases: 0,
18    sSales: 15
19  }
20]
21}
22

Get CIK Mapper

1
2const cikMapper = await fmp.insider.getCikMapper({ page: 0 });
3

Parameters

ParameterTypeRequiredDescription
pagenumberYesPage number for pagination

Example Response

1
2{
3success: true,
4data: [
5  {
6    reportingCik: '0001453356',
7    reportingName: '10X Fund, L.P.'
8  }
9]
10}
11

Get CIK Mapper by Name

1
2const cikByName = await fmp.insider.getCikMapperByName({ name: 'zuckerberg', page: 0 });
3

Parameters

ParameterTypeRequiredDescription
namestringYesName to search for
pagenumberNoPage number for pagination (default: 0)

Example Response

1
2{
3success: true,
4data: [
5  {
6    reportingCik: '0001548760',
7    reportingName: 'Zuckerberg Mark'
8  }
9]
10}
11

Get CIK Mapper by Symbol

1
2const cikBySymbol = await fmp.insider.getCikMapperBySymbol({ symbol: 'MSFT' });
3

Parameters

ParameterTypeRequiredDescription
symbolstringYesStock symbol

Note: This endpoint returns a single object, not an array.

Example Response

1
2{
3success: true,
4data: {
5  symbol: 'MSFT',
6  companyCik: '0000789019'
7}
8}
9

Get Beneficial Ownership

1
2const beneficialOwnership = await fmp.insider.getBeneficialOwnership({ symbol: 'AAPL' });
3

Parameters

ParameterTypeRequiredDescription
symbolstringYesStock symbol

Example Response

1
2{
3success: true,
4data: [
5  {
6    cik: '0000102909',
7    symbol: 'AAPL',
8    filingDate: '2024-02-13',
9    acceptedDate: '2024-02-13 16:55:49',
10    cusip: '037833100',
11    nameOfReportingPerson: 'The Vanguard Group',
12    citizenshipOrPlaceOfOrganization: 'Pennsylvania',
13    soleVotingPower: '0',
14    sharedVotingPower: '19912339',
15    soleDispositivePower: '1254220941',
16    sharedDispositivePower: '63745530',
17    amountBeneficiallyOwned: '1317966471',
18    percentOfClass: '8.47',
19    typeOfReportingPerson: 'IA',
20    url: 'https://www.sec.gov/Archives/edgar/data/102909/000110465924020009/tv0017-appleinc.htm'
21  }
22]
23}
24

Get Fail to Deliver Data

1
2const failToDeliver = await fmp.insider.getFailToDeliver({ symbol: 'GE', page: 0 });
3

Parameters

ParameterTypeRequiredDescription
symbolstringYesStock symbol
pagenumberNoPage number for pagination (default: 0)

Example Response

1
2{
3success: true,
4data: [
5  {
6    symbol: 'GE',
7    date: '2023-09-27',
8    price: 109.93,
9    quantity: 3320,
10    cusip: '369604301',
11    name: 'GEN ELEC CO COM NEW (NY)'
12  }
13]
14}
15

Error Handling

Always check the success property before accessing data:

1
2const result = await fmp.insider.getInsiderTradesBySymbol('AAPL');
3
4if (result.success && result.data) {
5console.log('Found', result.data.length, 'insider trades');
6} else {
7console.error('Error:', result.error);
8}
9

See Also