Insider and holdings fields
Paid plansLook up every field of insider transaction, institutional holdings, manager and manager holdings rows, with type, unit and nullability.
This page lists every field a row can carry on the four ownership endpoints: Insider transactions, Institutional holdings, Manager search and Manager holdings. Top-level and meta fields are listed on each endpoint's page, and Response metadata explains the shared meta fields.
"Default field" marks a field that fields can select and that is returned when you omit fields. "Opt-in" marks a field returned only when you name it in fields. Every other field is always returned when it applies. A field marked "only" for an era or line type is absent from other rows.
Insider transaction rows
Rows of GET /v1/insiders/{ticker}. One row per transaction line of a Form 3, 4 or 5. Share counts and prices are as filed and not adjusted for later splits.
| field | type | unit | nullable | description |
|---|---|---|---|---|
entity_id | int | no | The issuer. | |
ticker | str | yes | The ticker you requested for this issuer. On entity_id requests, the ticker of the share class you sent or, for an issuer id, of the issuer's primary listed class (see Tickers and entities). | |
entity_name | str | no | The issuer's name. | |
transaction_date | str | date | no | Transaction date as filed, YYYY-MM-DD. |
filing_date | str | date | no | Date the SEC received the form. |
form_type | str | no | 3, 4, 5, 3/A, 4/A or 5/A. | |
insider_name | str | yes | Name of the first reporting person, as filed. Reporting persons are ordered by owner_cik. Default field. | |
insider_role | str | no | Role category of the first reporting person. See the role values below. Default field. | |
officer_title_as_filed | str | yes | The first reporting person's officer title as filed. | |
insider_role_other | str | yes | The first reporting person's additional roles, joined with ; . Opt-in. | |
transaction_code | str | yes | SEC Form 4 transaction code. Null on archive rows whose code is not an SEC code. Default field. | |
transaction_type | str | no | Label for transaction_code. See the transaction types below. A null code reads other. Default field. | |
acquisition_or_disposition | str | yes | A (acquired) or D (disposed of). Default field. | |
shares | number | shares | yes | Shares in the transaction, as filed. Default field. |
shares_held_after | number | shares | yes | Shares held after the transaction, as filed. Default field. |
transaction_price | number | USD per share | yes | Price per share, as filed. Default field. |
transaction_value | number | USD | yes | shares × transaction_price. Null when either is null. Default field. |
ownership_type | str | yes | direct or indirect. Default field. | |
is_amendment | bool | no | True when the row comes from an amendment. Default field. | |
document_id | str | no | Filing era: the SEC accession number, such as 0001140361-26-037020. Archive era: the archive's numeric document number, such as 31254007. Default field. | |
sequence_in_filing | int | no | The line's sequence number within its document. Opt-in. | |
is_derivative | bool | no | True for a line from the form's derivative table. | |
source | str | no | filing (forms filed from 2005-12-01) or archive (forms filed before). | |
source_quality_code | str | no | Archive rows only. The one-letter quality grade the archive assigns to the row, served as stated: A, C, H, I, L, R, S or Y. | |
is_current | bool | no | True when the row belongs to the filing in force for its amendment chain. True on every archive row. | |
security_title | str | yes | The security's title as filed, such as Common Stock, COM or Restricted Stock Unit. | |
underlying_security_title | str | yes | Derivative lines only. The underlying security's title as filed. | |
underlying_shares | number | shares | yes | Derivative lines only. Number of underlying shares. |
conversion_or_exercise_price | number | USD per underlying share | yes | Derivative lines only. Conversion or exercise price. |
exercise_date | str | date | yes | Derivative lines only. Date the derivative becomes exercisable. |
expiration_date | str | date | yes | Derivative lines only. Expiration date. |
nature_of_ownership | str | no | Present only when the form states it, usually on an indirect holding, such as By Family Trusts. | |
is_weekend_dated | bool | no | True when the filed transaction date is a Saturday or Sunday. | |
is_dated_after_own_filing | bool | no | True when the filed transaction date is later than filing_date. | |
rule_10b5_1_affirmed | bool | yes | True when the form marks the transaction as made under a Rule 10b5-1 trading plan. Null where the form carries no such statement, including every archive row. | |
issuer_link_method | str | yes | How the filing reached its issuer. Filing era: open_claim, windowed or ticker_as_filed. Archive era: windowed, censored or unique. See the link methods below. | |
reporting_owners | list[object] | no | Every reporting person on the form. Archive rows list one person. | |
reporting_owners[].owner_cik | int | yes | Filing era: the person's SEC CIK. Archive era: the archive's own person number, not an SEC CIK. | |
reporting_owners[].owner_name | str | yes | Name as filed. | |
reporting_owners[].is_director | bool | yes | Director box checked on the form. Null on archive rows. | |
reporting_owners[].is_officer | bool | yes | Officer box checked. Null on archive rows. | |
reporting_owners[].is_ten_percent_owner | bool | yes | 10% owner box checked. Null on archive rows. | |
reporting_owners[].officer_title | str | yes | Officer title as filed. Null on archive rows. |
Transaction types
Each transaction_type label and the SEC transaction codes it stands for. Pass the labels to the transaction_type parameter.
open_market_buy:Popen_market_sell:Sgrant_or_award:Aoption_exercise:M,Xtax_withholding:Fgift:G,Bsale_to_issuer:Dconversion_of_derivative:Ctransaction_by_trust:Ttender_of_shares:Uacquisition_by_will:Wdiscretionary:Iexpiration_of_long_derivative:Hexercise_of_out_of_the_money_derivative:Oexpiration_of_short_derivative:Evoluntary_early_report:Vequity_swap:Ksmall_acquisition:Lreportable_transaction:Rdeposit_into_voting_trust:Zdecreased_holdings:Nother:J. A row with no code also readsother, but thetransaction_type=otherfilter selects codeJonly.
Insider roles
insider_role on a filing-era row is derived from the first reporting person's officer title and relationship boxes. It is one of CEO, CFO, COO, CTO, Chairman, President, Vice President, General Counsel, Officer, Director, 10% Owner or Other.
On an archive-era row it is the archive's first role code for the person, as a label. Observed labels include Officer, Director, Chairman, CEO, CFO, COO, CTO, President, Vice President, General Counsel, 10% Owner, Officer / Director, Other Officer, Officer Emeritus, Member of Committee, Affiliated Person and Other. insider_role_other carries the person's further roles, such as Senior Vice President or Executive Vice President.
Link methods
open_claim: the issuer's SEC CIK on the filing is on record for this company, with no date range.windowed: the identifier on the filing or row is on record for this company for a date range that covers the filing.ticker_as_filed: the filing's issuer is not linked; the row is reached by the ticker the filing states, which named one security of the requested company on the filing date.censored: no recorded date range covers the filing; exactly one security has ever carried the identifier, with a record that runs to the end of the recorded history.unique: exactly one security has ever carried the identifier, with a record that starts after the filing.
Institutional holdings rows
Rows of GET /v1/holdings/{ticker}. One row per manager, security and quarter end.
| field | type | unit | nullable | description |
|---|---|---|---|---|
entity_id | int | yes | The security (share class). Null on a filed line not linked to a security. | |
ticker | str | yes | On a ticker request, the ticker you requested. When a ticker is served at company level or an issuer entity_id is requested, each class's ticker on report_date; on a share-class entity_id request, that class's ticker. Null on unlinked lines. | |
entity_name | str | yes | The company's name. Null on unlinked lines. | |
report_date | str | date | no | The quarter end the position is reported for. |
manager_id | int | no | Filing era: the filer's SEC CIK. Historical era: 900,000,000 plus the historical dataset's manager number. | |
manager_name | str | yes | The manager's name as filed. | |
manager_type | str | yes | Historical era: the historical dataset's manager type code, a digit from 1 to 5. Null on filing-era rows. | |
shares | number | shares | no | Shares reported, summed across the manager's lines for the position. Not adjusted for splits. On a line reported as a principal amount, the principal in USD. |
filing_date | str | date | yes | Filing era: the latest filing date among the position's lines. Null on historical rows. Default field. |
value_usd | number | USD | yes | US dollars, not thousands. Filing era: the reported value, with filings made before 2023-01-03 multiplied from thousands. Historical era: shares × the quarter-end price, which can carry cents. Default field. |
sole_voting | number | shares | yes | Shares over which the manager has sole voting authority. Default field. |
shared_voting | number | shares | yes | Shares with shared voting authority. Default field. |
no_voting | number | shares | yes | Shares with no voting authority. Default field. |
security_class | str | yes | null on every row. Default field. | |
put_call | str | yes | put or call for an option position. Null otherwise, and on every historical row. Default field. | |
source | str | no | historical or filing. Default field. | |
is_amendment | bool | no | True when the figures come from an amended filing. Always false on historical rows. Default field. | |
value_scale_corrected | bool | no | True when a filing made before 2023-01-03 already stated whole dollars, so its values are served as filed rather than multiplied by 1,000. Opt-in. | |
manager_id_space | str | no | cik on filing-era rows, archive on historical rows. | |
issuer_entity_id | int | yes | The company above the security. | |
link_method | str | yes | How the security identifier on the line was matched to a security: windowed, censored or unique, as defined under Link methods. Null on an unlinked line. | |
issuer_name_as_filed | str | yes | The issuer's name as stated for the line, such as FACEBOOK INC on a 2020 Meta row. | |
title_of_class | str | yes | Filing rows only. The filer's description of the class, such as COM or CL B NEW. | |
lines | int | lines | no | Number of filed lines summed into the row. |
filer_cik | int | no | Filing rows only. The filer's SEC CIK. | |
accession_number | str | no | Filing rows only. The SEC accession number of the filing the figures come from. | |
unit_scale_suspect | bool | no | Filing rows only. True when the filing states the scale of its values inconsistently; values on the row are served as filed. | |
manager_number | int | no | Historical rows only. The historical dataset's manager number, manager_id minus 900,000,000. | |
vintage_date | str | date | no | Historical rows only. The date of the historical dataset edition the row comes from. |
is_current | bool | no | True when the row is the version in force. |
Manager rows
Rows of GET /v1/managers, and the manager object of GET /v1/managers/{manager_id}/holdings.
| field | type | unit | nullable | description |
|---|---|---|---|---|
manager_id | int | no | Filing era: the filer's SEC CIK. Historical era: 900,000,000 plus manager_number. | |
manager_name | str | no | Filing era: the latest filed name. Historical era: the name in the historical dataset. | |
manager_type | str | yes | Historical era: the historical dataset's manager type code, a digit from 1 to 5. Null for filing-era managers, and so on every search result. | |
country | str | yes | Historical era: the manager's country, such as UNITED STATES. Null for filing-era managers, and so on every search result. | |
cik | str | yes | Filing era: the SEC CIK as a 10-digit, zero-padded string, such as 0001067983. Null for historical-era managers. | |
first_quarter | str | date | no | The first quarter end with holdings under this id. |
last_quarter | str | date | no | The latest quarter end with holdings under this id. |
id_regime | str | no | filing or historical. Always filing on search results. | |
manager_number | int | no | Historical-era managers only, on the manager object of manager holdings. The historical dataset's manager number. |
Manager holdings rows
Rows of GET /v1/managers/{manager_id}/holdings. One row per security and quarter end for the one manager. Every row carries the same manager_id, manager_name and manager_type.
| field | type | unit | nullable | description |
|---|---|---|---|---|
entity_id | int | yes | The security (share class). Null on a filed line not linked to a security. | |
ticker | str | yes | The security's ticker on report_date. Null when none is on record, and on unlinked lines. | |
entity_name | str | yes | The security's company name. Null on unlinked lines. | |
report_date | str | date | no | The quarter end the position is reported for. |
manager_id | int | no | The manager's id, as in the path. | |
manager_name | str | yes | The manager's name as filed. | |
manager_type | str | yes | Historical era: a digit from 1 to 5. Null on filing-era rows. | |
shares | number | shares | no | Shares reported, summed across the manager's lines for the position. Not adjusted for splits. On a line reported as a principal amount, the principal in USD. |
filing_date | str | date | yes | Filing era: the latest filing date among the position's lines. Null on historical rows. Default field. |
value_usd | number | USD | yes | US dollars, not thousands. Filing era: the reported value. Historical era: shares × the quarter-end price. Default field. |
sole_voting | number | shares | yes | Shares over which the manager has sole voting authority. Default field. |
shared_voting | number | shares | yes | Shares with shared voting authority. Default field. |
no_voting | number | shares | yes | Shares with no voting authority. Default field. |
security_class | str | yes | null on every row. Default field. | |
put_call | str | yes | put or call for an option position. Null otherwise, and on every historical row. Default field. | |
source | str | no | historical or filing. Default field. | |
is_amendment | bool | no | True when the figures come from an amended filing. Always false on historical rows. Default field. | |
value_scale_corrected | bool | no | True when a filing made before 2023-01-03 already stated whole dollars, so its values are served as filed. Opt-in. | |
manager_id_space | str | no | cik or archive. | |
issuer_entity_id | int | yes | The company above the security. | |
link_method | str | yes | How the security identifier on the line was matched: windowed, censored or unique. Null on an unlinked line. | |
issuer_name_as_filed | str | yes | The issuer's name as stated for the line. | |
title_of_class | str | yes | Filing rows only. The filer's description of the class. | |
lines | int | lines | no | Number of filed lines summed into the row. |
filer_cik | int | no | Filing rows only. The filer's SEC CIK. | |
accession_number | str | no | Filing rows only. The SEC accession number of the filing the figures come from. | |
unit_scale_suspect | bool | no | Filing rows only. True when the filing states the scale of its values inconsistently; values on the row are served as filed. | |
manager_number | int | no | Historical rows only. The historical dataset's manager number. | |
vintage_date | str | date | no | Historical rows only. The date of the historical dataset edition the row comes from. |
is_current | bool | no | True when the row is the version in force. |
Manager type codes
manager_type is the historical dataset's own classification of the manager, served as a string. Observed values are 1, 2, 3, 4 and 5. It is null on every filing-era row and manager.
Was this page helpful?
Thank you for helping improve xfinlink documentation.
- Need help? Get in touch.
- Building with an LLM? Read llms.txt.
- Using Claude or ChatGPT? Connect the MCP server.