Insider Trading Data from SEC Form 3, 4, 5 Filings
The Insider Trading Data API allows you to search and list all insider buy and sell transactions of all publicly listed companies on US stock exchanges. Insider activities of company directors, officers, 10% owners and other executives are fully searchable. The insider trading database includes information about the CIK and name of the insider, her/his relationship to the company, the number of shares and securities purchased or sold, the purchase or selling price, the date of the transaction, the amount of securities held before and after the transaction occured, any footnotes such as the effect of Rule 10b-18 or 10b5-1 stock purchase plans and more. The full list of all data points is available below.
Insider trades are reported to the SEC in form 3, 4 and 5. Our system converts the XML data in SEC form 3, 4, and 5 into a standardized JSON format, indexes the information into our database and makes the data searchable through the Insider Trading Data API.
New insider transactions are added to the data set in real-time as soon as the corresponding filing is published on SEC EDGAR.
1
{
2
"accessionNo": "0000921895-24-002825",
3
"filedAt": "2024-11-26T19:53:45-05:00",
4
"documentType": "3",
5
"periodOfReport": "2024-11-22",
6
"notSubjectToSection16": false,
7
"issuer": {
8
"cik": "813298",
9
"name": "DESTINATION XL GROUP, INC.",
10
"tradingSymbol": "DXLG"
11
},
12
"reportingOwner": {
13
"cik": "1959730",
14
"name": "Fund 1 Investments, LLC",
15
"address": { ... },
16
"relationship": {
17
"isDirector": false,
18
"isOfficer": false,
19
"isTenPercentOwner": true,
20
"isOther": false
21
}
22
},
23
"nonDerivativeTable": {
24
"holdings": [
25
{
26
"securityTitle": "Common Stock, par value $0.01 per share",
27
"postTransactionAmounts": {
28
"sharesOwnedFollowingTransaction": 5720548
29
},
30
"ownershipNature": {
31
"directOrIndirectOwnership": "I",
32
"natureOfOwnership": "See Footnotes",
33
"natureOfOwnershipFootnoteId": [ "F1", "F2" ]
34
}
35
}
36
// ... more non derivative holdings
37
]
38
},
39
"derivativeTable": {
40
"holdings": [
41
{
42
"securityTitle": "Cash-Settled Total Return Swap",
43
"securityTitleFootnoteId": [ "F4" ],
44
"conversionOrExercisePriceFootnoteId": [ "F4" ],
45
"exerciseDateFootnoteId": [ "F4" ],
46
"expirationDate": "2026-02-24",
47
"expirationDateFootnoteId": [ "F5" ],
48
"underlyingSecurity": {
49
"title": "Common Stock, par value $0.01 per share",
50
"shares": 5763573
51
},
52
"ownershipNature": {
53
"directOrIndirectOwnership": "I",
54
"natureOfOwnership": "See Footnotes",
55
"natureOfOwnershipFootnoteId": [ "F1", "F2" ]
56
}
57
}
58
]
59
},
60
"footnotes": [
61
{
62
"id": "F1",
63
"text": "Securities reported herein are held for the benefit of Pleasant Lake Onshore Feeder Fund, LP (the \"PL Fund\") and an additional private investment vehicle for which Pleasant Lake Partners LLC (\"PLP\") serves as investment adviser. Fund 1 Investments, LLC serves as managing member of PLP. Jonathan Lennon serves as managing member of Fund 1 Investments, LLC. Each of the Reporting Persons disclaims beneficial ownership of the securities reported herein except to the extent of its or his pecuniary interest therein."
64
},
65
{
66
"id": "F2",
67
"text": "Securities held for the account of the PL Fund."
68
},
69
{
70
"id": "F3",
71
"text": "Securities held for the account of an unaffiliated private fund for which PLP serves as investment adviser."
72
},
73
{
74
"id": "F4",
75
"text": "PL Fund has entered into certain cash-settled total return swap agreeements (the \"Swap Agreements\") with an unaffiliated third party financial institution, which provides PL Fund with economic exposure to an aggregate of 5,763,573 nominal shares of Common Stock. The Swap Agreements provide PL Fund with economic results that are comparable to the economic results of ownership but do not provide PL Fund with the power to vote or direct the voting or dispose of or direct the disposition of the shares of Common Stock that are the subject of the Swaps Agreements (the \"Subject Shares\"). The Reporting Persons expressly disclaim beneficial ownership of the Subject Shares except to the extent of its or his pecuniary interest therein."
76
},
77
{
78
"id": "F5",
79
"text": "The expiration date of the Swap Agreements will be automatically extended for successive 12 month periods unless one party provides written notice to the other party, at least 30 calendar days prior to the first extension and at least 15 calendar days prior to any subsequent extension, not to so extend the expiration date."
80
}
81
]
82
}
The HTTP POST-based API accepts a search query and returns all matching insider transactions. All data points are searchable. For example, finding all insider trades by the ticker symbol of a company, looking for insider buying acticity in a particular industry or sector or monitoring transactions falling under Rule 10b5-1. The API returns a maximum of 50 insider transactions per query. Increase the from
parameter by 50 each time you are requesting the next batch of matching transactions.
API Endpoint
Retrieve insider trading data by sending a POST
HTTP request with the search parameters as the payload to the following endpoint:
Supported HTTP methods: POST
Request and response content type: JSON
Authentication
Use the API key shown in your user profile after sign up. There are two ways to use your API key. It's either/or.
- Set as
Authorization
header. Before making aPOST
request tohttps://api.sec-api.io/insider-trading
, you need to set theAuthorization
header toYOUR_API_KEY
- Set as query parameter. Example:
https://api.sec-api.io/insider-trading?token=YOUR_API_KEY
In this case, you makePOST
requests to the endpointhttps://api.sec-api.io/insider-trading?token=YOUR_API_KEY
and not tohttps://api.sec-api.io/insider-trading
.
Request Parameters
All insider transaction properties are searchable. Refer to the complete list of properties in the Response Structure section below. You can send a search query as JSON formatted payload to the API using the structure below.
Request parameters:
query
(string) - Thequery
string defines the search expression and is written in Lucene syntax. You can specify which insider transaction document fields to search by using the field name followed by a colon:
. For example, to search for insider transactions disclosed by Tesla executives, you can use the following query:issuer.tradingSymbol:TSLA
. The query language supports boolean operators (AND, OR, NOT), wildcards (*), range searches across date and number fields, and nested conditions. More information about the Lucene query syntax can be found in our tutorial here. Let's look at some examples:- The query
reportingOwner.relationship.isDirector:True AND issuer.tradingSymbol:AMZN
returns all insider transactions performed by any director at Amazon. nonDerivativeTable.transactions.coding.code:A AND periodOfReport:[2021-01-01 TO 2021-06-30]
returns all insider purchase transactions (transaction code "A") reported in the first six months of 2021.
- The query
from
(integer) - Specifies the starting position in the results set for your query, functioning like an array index. Default is 0, with a maximum value of 10,000, which also represents the upper limit of results that can be returned perquery
. To paginate through results, increment thefrom
value accordingly - for instance, settingfrom
to 50 retrieves results from the 51st to the 100th transaction, assuming asize
parameter of 50. If your total results exceed 10,000, consider refining your search criteria to reduce the result set. A common method is to use a date range filter on theperiodOfReport
field, such asperiodOfReport:[2021-01-01 TO 2021-01-31]
, to paginate through all results for January 2021 by progressively increasing thefrom
value (0, 50, 100, etc.). For subsequent months like February 2021, update yourquery
toperiodOfReport:[2021-02-01 TO 2021-02-28]
and repeat the pagination process.size
(integer) - The number of transactions to be returned in one response. Default: 50. Max: 50.sort
(array) - Specifies the sorting order of the results. The default sort order is by thefiledAt
field in descending order, starting with the most recent:[{ "filedAt": { "order": "desc" } }]
. Thesort
parameter is an array of sort definitions. Each array item defines the sort order for the result. Set theorder
property toasc
for ascending order ordesc
for descending order. The field property specifies the field by which the results are sorted. For example, to sort the results by theperiodOfReport
field in ascending order, use the following sort definition:[{ "periodOfReport": { "order": "asc" } }]
.
Request Examples
Find the most recent insider trades reported by Tesla executives
The example search query "query": "issuer.tradingSymbol:TSLA"
returns the most recent insider transactions reported by any officer, director, 10% owner and other insider working at Tesla. The API returns the first 50 matching transactions while the response size is limited to 50 transactions and sorted by the filedAt
parameter.
1
{
2
"query": "issuer.tradingSymbol:TSLA",
3
"from": "0",
4
"size": "50",
5
"sort": [{ "filedAt": { "order": "desc" } }]
6
}
Find the most recent insider purchase transactions with code A
The example search query "query": "nonDerivativeTable.transactions.coding.code:A OR derivativeTable.transactions.coding.code:A"
returns the most recent transactions including grants, awards or other acquisitions of securities pursuant to Rule 16b-3(d). Our insider search engine looks for any non-derivative and derivitate transaction that includes at least one transaction with code "A". Change the code
parameter to "D" or "S" to find transactions representing a security sale. The full list of transaction codes is available below.
1
{
2
"query": "nonDerivativeTable.transactions.coding.code:A OR derivativeTable.transactions.coding.code:A",
3
"from": "0",
4
"size": "50",
5
"sort": [{ "filedAt": { "order": "desc" } }]
6
}
Find insider trades reported under Rule 10b5-1
The example search query "query": "footnotes.text:10b5-1"
looks for all insider transactions with footnotes that include the term "10b5-1". The API returns the first 50 matching transactions while the response size is limited to 50 transactions and sorted by the filedAt
parameter.
1
{
2
"query": "footnotes.text:10b5-1",
3
"from": "0",
4
"size": "50",
5
"sort": [{ "filedAt": { "order": "desc" } }]
6
}
Response Structure
Response type: JSON
The transactions
array includes all XML-to-JSON converted filings. Each array item represents a single SEC form 3, 4 or 5. Many data fields have optional footnotes attached. The "with footnote" mark indicates that the parameter has a footnote. For example, "securityTitle
(string, with footnote)" indicates that securityTitle
has footnotes. The corresponding footenote key is securityTitleFootnoteId
. The ID and footnote content live in the array footnotes
.
transactions
(array) - An array of all matching transactions as reported in Form 3, 4 and 5. An array item represents the JSON converted XML data of a matching filing.accessionNo
(string) - Accession number of the original filing.filedAt
(dateTime) - The date and time when the transaction filing was accepted by SEC EDGAR. Example:2022-08-09T21:23:00-04:00
documentType
(string) - The type of the form: 3, 3/A, 4, 4/A, 5, 5/A.periodOfReport
(date) - Meaning in form 3: date of event requiring statement. In form 4: date of earliest transaction. In form 5: statement for issuer's fiscal year end. Format: YYYY-MM-DDdateOfOriginalSubmission
(date) - If amended, date of original filed of the format YYYY-MM-DD. Mandatory in form 3/A, 4/A and 5/A.issuer
(object) - Issuer informationcik
(string) - CIK of issuer. Leading zeros are removed.name
(string) - Issuer name.tradingSymbol
(string) - Issuer trading symbol.
reportingOwner
(object) - Information about the reporting entity.cik
(string) - CIK of reporting entity. Leading zeros are removed.name
(string) - Name of reporting entity.relationship
(object) - Relationship to issuer.isDirector
(boolean) -True
if the reporting person is a director.False
otherwise.isOfficer
(boolean) -True
if the reporting person is an officer.False
otherwise. IfTrue
, thenofficerTitle
becomes mandatory.officerTitle
(string) - Officer title ifisOfficer
isTrue
.isTenPercentOwner
(boolean) -True
if the reporting person owns 10% of the issuer.False
otherwise.isOther
(boolean) -True
if the reporting person has a different relationship.False
otherwise. IfTrue
, then theotherText
property becomes mandatory.otherText
(string) - Explanation ifisOther
isTrue
.
address
(object) - Address of reporting entity.street1
(string)street2
(string)ciy
(string)zipCode
(string)stateDescription
(string)
nonDerivativeTable
(object) - Table I - Non-Derivative Securitiestransactions
(array) - Non-derivative transactionssecurityTitle
(string, with footnote) - Title of securitytransactionDate
(date, with footnote) - Transaction date of the format YYYY-MM-DD.deemedExecutionDate
(date, with footnote) - Deemed execution date of the format YYYY-MM-DD.coding
(object) - Transaction code properties.formType
(string) - Valid values: 3, 3/A, 4, 4/A, 5, 5/A.code
(string) - See Code List for a list of possible values.equitySwapInvolved
(boolean)footnoteId
(string)
timeliness
(string, with footnote) - Valid values: E = early, L = late, empty = on-time.amounts
(object)shares
(decimal, with footnote)pricePerShare
(decimal, with footnote)acquiredDisposedCode
(string, with footnote) - Valid values: A = acquired, D = disposed.
postTransactionAmounts
(object) - Amount owned following reported transaction.sharesOwnedFollowingTransaction
(decimal, with footnote)valueOwnedFollowingTransaction
(decimal, with footnote)
ownershipNature
(object)directOrIndirectOwnership
(string, with footnote) - Valid values: I = indirect, D = direct.natureOfOwnership
(string, with footnote)
holdings
(array)securityTitle
(string, with footnote)coding
(object)formType
(string)footnoteId
(string)
postTransactionAmounts
(object) - Amount owned following reported transaction.sharesOwnedFollowingTransaction
(decimal, with footnote)valueOwnedFollowingTransaction
(decimal, with footnote)
ownershipNature
(object)directOrIndirectOwnership
(string, with footnote) - Valid values: I = indirect, D = direct.natureOfOwnership
(string, with footnote)
derivativeTable
(object) - Table II - Derivative Securitiestransactions
(array)securityTitle
(string, with footnote)conversionOrExercisePrice
(decimal, with footnote)transactionDate
(date, with footnote)deemedExecutionDate
(date, with footnote)coding
(object) - Transaction code properties.formType
(string) - Valid values: 3, 3/A, 4, 4/A, 5, 5/A.code
(string) - See Code List for a list of possible values.equitySwapInvolved
(boolean)footnoteId
(string)
timeliness
(string, with footnote) - Valid values: E = early, L = late, empty = on-time.amounts
(object)shares
(decimal, with footnote) - Securities acquired (A) or disposed of (D)pricePerShare
(decimal, with footnote) - Price of derivative securityacquiredDisposedCode
(string, with footnote) - Valid values: A = acquired, D = disposed.
exerciseDate
(date, with footnote) - Date exercisable and expiration dateexpirationDate
(date, with footnote)underlyingSecurity
(object)title
(string, with footnote)shares
(decimal, with footnote)value
(decimal, with footnote)
postTransactionAmounts
(object) - Amount owned following reported transaction.sharesOwnedFollowingTransaction
(decimal, with footnote)valueOwnedFollowingTransaction
(decimal, with footnote)
ownershipNature
(object)directOrIndirectOwnership
(string, with footnote) - Valid values: I = indirect, D = direct.natureOfOwnership
(string, with footnote)
holdings
(array)securityTitle
(string, with footnote)conversionOrExercisePrice
(date, with footnote)coding
(object) - Transaction code properties.formType
(string) - Valid values: 3, 3/A, 4, 4/A, 5, 5/A.code
(string) - See Code List for a list of possible values.equitySwapInvolved
(boolean)footnoteId
(string)
exerciseDate
(date, with footnote)expirationDate
(date, with footnote)underlyingSecurity
(object)title
(string, with footnote)shares
(decimal, with footnote)value
(decimal, with footnote)
postTransactionAmounts
(object) - Amount owned following reported transaction.sharesOwnedFollowingTransaction
(decimal, with footnote)valueOwnedFollowingTransaction
(decimal, with footnote)
ownershipNature
(object)directOrIndirectOwnership
(string, with footnote) - Valid values: I = indirect, D = direct.natureOfOwnership
(string, with footnote)
footnotes
(array) - Array of footnote objects.id
(string) - IDtext
(string) - Footnote
remarks
(array) - Array of remark objects.ownerSignatureName
(string)ownerSignatureNameDate
(date)
total
(object) - An object with two properties "value" and "relation". If "relation" equals "gte" (= greater than or equal), the "value" is always 10,000. It indicates that more than 10,000 filings match the query. In order to retrieve all filings, you have to iterate over the results using the "from" and "size" variables sent to the API. If "relation" equals "eq" (= equal), the "value" represents the exact number of filings matching the query. In this case, "value" is always less than 10,000. We don't calculate the exact number of matching filings for results greater than 10,000.
Transaction Code List
Value | Meaning |
A | Grant, award or other acquisition pursuant to Rule 16b-3(d) |
C | Conversion of derivative security |
D | Disposition to the issuer of issuer equity securities pursuant to Rule 16b-3(e) |
E | Expiration of short derivative position |
F | Payment of exercise price or tax liability by delivering or withholding securities incident to the receipt, exercise or vesting of a security issued in accordance with Rule 16b-3 |
G | Bona fide gift |
H | Expiration (or cancellation) of long derivative position with value received |
I | Discretionary transaction in accordance with Rule 16b-3(f) resulting in acquisition or disposition of issuer securities |
J | Other acquisition or disposition (describe transaction) |
L | Small acquisition under Rule 16a-6 |
M | Exercise or conversion of derivative security exempted pursuant to Rule 16b-3 |
O | Exercise of out-of-the-money derivative security |
P | Open market or private purchase of non-derivative or derivative security |
S | Open market or private sale of non-derivative or derivative security |
U | Disposition pursuant to a tender of shares in a change of control transaction |
W | Acquisition or disposition by will or the laws of descent and distribution |
X | Exercise of in-the-money or at-the-money derivative security |
Z | Deposit into or withdrawal from voting trust |
Response Examples
The example illustrates the response to the search query "query": "issuer.tradingSymbol:TSLA"
and includes the most recent insider trades executed by Elon Musk at Tesla.
1
{
2
"total": {
3
"value": 489,
4
"relation": "eq"
5
},
6
"transactions": [
7
{
8
"id": "026dc8fd804de46ef08b5bad594998c5",
9
"accessionNo": "0000899243-22-028189",
10
"filedAt": "2022-08-09T21:23:00-04:00",
11
"schemaVersion": "X0306",
12
"documentType": "4",
13
"periodOfReport": "2022-08-09",
14
"notSubjectToSection16": false,
15
"issuer": {
16
"cik": "1318605",
17
"name": "Tesla, Inc.",
18
"tradingSymbol": "TSLA"
19
},
20
"reportingOwner": {
21
"cik": "1494730",
22
"name": "Musk Elon",
23
"address": {
24
"street1": "C/O TESLA, INC.",
25
"street2": "1 TESLA ROAD",
26
"city": "AUSTIN",
27
"state": "TX",
28
"zipCode": "78725"
29
},
30
"relationship": {
31
"isDirector": true,
32
"isOfficer": true,
33
"officerTitle": "CEO",
34
"isTenPercentOwner": true,
35
"isOther": false
36
}
37
},
38
"nonDerivativeTable": {
39
"transactions": [
40
{
41
"securityTitle": "Common Stock",
42
"transactionDate": "2022-08-09",
43
"coding": {
44
"formType": "4",
45
"code": "S",
46
"equitySwapInvolved": false
47
},
48
"amounts": {
49
"shares": 435,
50
"pricePerShare": 872.469,
51
"pricePerShareFootnoteId": [
52
"F1"
53
],
54
"acquiredDisposedCode": "D"
55
},
56
"postTransactionAmounts": {
57
"sharesOwnedFollowingTransaction": 155058484
58
},
59
"ownershipNature": {
60
"directOrIndirectOwnership": "I",
61
"natureOfOwnership": "by Trust",
62
"natureOfOwnershipFootnoteId": [
63
"F2"
64
]
65
}
66
},
67
{
68
"securityTitle": "Common Stock",
69
"transactionDate": "2022-08-09",
70
"coding": {
71
"formType": "4",
72
"code": "S",
73
"equitySwapInvolved": false
74
},
75
"amounts": {
76
"shares": 13292,
77
"pricePerShare": 874.286,
78
"pricePerShareFootnoteId": [
79
"F3"
80
],
81
"acquiredDisposedCode": "D"
82
},
83
"postTransactionAmounts": {
84
"sharesOwnedFollowingTransaction": 155045192
85
},
86
"ownershipNature": {
87
"directOrIndirectOwnership": "I",
88
"natureOfOwnership": "by Trust",
89
"natureOfOwnershipFootnoteId": [
90
"F2"
91
]
92
}
93
},
94
{
95
"securityTitle": "Common Stock",
96
"transactionDate": "2022-08-09",
97
"coding": {
98
"formType": "4",
99
"code": "S",
100
"equitySwapInvolved": false
101
},
102
"amounts": {
103
"shares": 6048,
104
"pricePerShare": 876.629,
105
"pricePerShareFootnoteId": [
106
"F4"
107
],
108
"acquiredDisposedCode": "D"
109
},
110
"postTransactionAmounts": {
111
"sharesOwnedFollowingTransaction": 155039144
112
},
113
"ownershipNature": {
114
"directOrIndirectOwnership": "I",
115
"natureOfOwnership": "by Trust",
116
"natureOfOwnershipFootnoteId": [
117
"F2"
118
]
119
}
120
}
121
]
122
},
123
"footnotes": [
124
{
125
"id": "F1",
126
"text": "The price reported in Column 4 is a weighted average price. These shares were sold in multiple transactions at prices ranging from $872.210 to $872.610, inclusive. The reporting person undertakes to provide Tesla, Inc., any security holder of Tesla, Inc. or the staff of the Securities and Exchange Commission, upon request, full information regarding the number of shares sold at each separate price within the range set forth in this footnote."
127
},
128
{
129
"id": "F2",
130
"text": "The Elon Musk Revocable Trust dated July 22, 2003, for which the reporting person is trustee."
131
},
132
{
133
"id": "F3",
134
"text": "The price reported in Column 4 is a weighted average price. These shares were sold in multiple transactions at prices ranging from $873.660 to $874.640, inclusive. The reporting person undertakes to provide Tesla, Inc., any security holder of Tesla, Inc. or the staff of the Securities and Exchange Commission, upon request, full information regarding the number of shares sold at each separate price within the range set forth in this footnote."
135
},
136
{
137
"id": "F4",
138
"text": "The price reported in Column 4 is a weighted average price. These shares were sold in multiple transactions at prices ranging from $876.100 to $876.925, inclusive. The reporting person undertakes to provide Tesla, Inc., any security holder of Tesla, Inc. or the staff of the Securities and Exchange Commission, upon request, full information regarding the number of shares sold at each separate price within the range set forth in this footnote."
139
}
140
],
141
"remarks": "This Form 4 is the second of two Form 4s being filed by the Reporting Person relating to the same event. The Form 4 has been split into two filings to cover all 33 individual transactions that occurred on the same Transaction Date, because the SEC's EDGAR filing system limits a single Form 4 to a maximum of 30 separate transactions. Each Form 4 will be filed by the Reporting Person.",
142
"ownerSignatureName": "By: Aaron Beckman by Power of Attorney For: Elon Musk",
143
"ownerSignatureNameDate": "2022-08-09"
144
}
145
]
146
}
References
For more information about Form 3, 4 and 5 visit the SEC websites here:
- Form 3 EDGAR PDF Template
- Form 4 EDGAR PDF Template
- Form 5 EDGAR PDF Template
- Form 4 Filing Instructions
- Form 5 Filing Instructions
- Form 3, 4 and 5 Overview
- Form 3, 4 and 5 XML Technical Specifications
Regulations
- § 240.10b5-1 Trading “on the basis of” material nonpublic information in insider trading cases
- § 240.16a-3 Reporting transactions and holdings
Research Papers
- SEC Rule 10b5-1 and insiders' strategic trade
- Offensive Disclosure: How Voluntary Disclosure Can Increase Returns from Insider Trading
- Decoding Inside Information
- Do SEC's 10b5-1 Safe Harbor Rules Need To Be Rewritten?
- SEC Rule 10b5-1 Plans and Strategic Trade around Earnings Announcements
- Insider sales based on short-term earnings information