From ae11f251830ed7c918e2651c308445b5d099864e Mon Sep 17 00:00:00 2001 From: janlukasschroeder Date: Wed, 14 Aug 2024 09:41:33 -0400 Subject: [PATCH 01/20] added Form S-1/424B4 API added Directors & Board Members Data API added AAER API added SRO Filings API --- README.md | 177 ++++++++++++++++++++++++++++++++++++----------- examples.py | 94 ++++++++++++++++++++++--- sec_api/index.py | 125 +++++++++++++++++++++++++++++++++ setup.py | 2 +- 4 files changed, 347 insertions(+), 51 deletions(-) diff --git a/README.md b/README.md index e416ad9..28c7c60 100644 --- a/README.md +++ b/README.md @@ -1,41 +1,62 @@ # SEC API - A SEC.gov EDGAR Filings Query & Real-Time Stream API -**sec-api** is a Python package allowing you to search the entire SEC filings corpus and access over 650 terabytes of data. +**sec-api** is a Python package allowing you to search the entire SEC filings corpus and access over 650 terabytes of data. It includes: -It includes: +**General APIs:** - [SEC Filing Search and Full-Text Search API](#sec-edgar-filings-query-api) -- [Real-Time Stream API](#sec-edgar-filings-real-time-stream-api) +- [Real-Time Filing Stream API](#sec-edgar-filings-real-time-stream-api) +- [Filing Download & PDF Render API](#filing-render--download-api) + +**Converter & Extractor APIs:** + - [XBRL-to-JSON Converter API + Financial Statements](#xbrl-to-json-converter-api) - [10-K/10-Q/8-K Section Extraction API](#10-k10-q8-k-section-extractor-api) -- [Filing Download & PDF Render API](#filing-render--download-api) + +**Directors, Executives and Board Members:** + +- [Directors & Board Members API](#directors--board-members-data-api) - [Executive Compensation Data API](#executive-compensation-data-api) -- [Insider Trading Data API](#insider-trading-data-api) -- [13F Institutional Investor Database](#13f-institutional-investor-database) + +**Ownership Data APIs:** + +- [Form 3/4/5 API - Insider Trading](#insider-trading-data-api) +- [Form 13F API - Institutional Investment Manager Holdings](#13f-institutional-investor-database) +- [Form 13D/13G API - Activist and Passive Investor Holdings](#form-13d-13g-api) +- [Form N-PORT API - Mutual Fund Holdings](#form-n-port-api) + +**Security Offerings APIs:** + +- [Form S-1/424B4 API - Registration Statements and Prospectuses (IPOs, Debt/Warrants/... Offerings)](#form-s-1424b4-api) +- [Form D API - Private Security Offerings](#form-d-api) + +**Investment Advisers:** + +- [Form ADV API - Investment Advisors (Firm & Indvl. Advisors, Brochures, Schedules)](#form-adv-api) + +**Other APIs:** + - [CUSIP/CIK/Ticker Mapping API](#cusipcikticker-mapping-api) -- [Form N-PORT API](#form-n-port-api) -- [Form D API](#form-d-api) -- [Form ADV API](#form-adv-api) -- [Form 13D/13G API](#form-13d-13g-api) - [Float (Outstanding Shares) API](#float-outstanding-shares-api) -- [Subsidiary API](#subsidiary-api) +- [Company Subsidiary API](#subsidiary-api) +- [AAER Database API - Accounting and Auditing Enforcement Releases](#aaer-database-api) +- [SRO Filings Database API](#sro-filings-database-api) ## Data Coverage -- All +18 million SEC EDGAR filings dating back to 1993 - 650,000 gigabyte of filings data. -- **All +150 filing types** are supported, eg 10-Q, 10-K, 4, 8-K, 13-F, S-1, 424B4 and many more. - [See the list of supported form types here.](https://sec-api.io/list-of-sec-filing-types) -- Newly published filings are accessible in real-time -- XBRL-to-JSON converter and parser API. Extract standardized financial statements from any 10-K and 10-Q filing. -- 13F holdings API included. Monitor all institutional ownerships in real-time. -- Every filing is **mapped to a CIK and ticker** -- All filings in JSON - **no XBRL/XML** +- Access to over 18 million SEC EDGAR filings from 1993 to the present, encompassing 650,000+ gigabytes of data. +- Supports all 150+ filing types, including 10-Q, 10-K, Form 4, 8-K, 13-F, S-1, 424B4, and many others. [See the full list of supported form types here.](https://sec-api.io/list-of-sec-filing-types) +- Real-time access to newly published filings. +- Includes XBRL-to-JSON converter and parser APIs for extracting standardized financial statements from any 10-K or 10-Q filing. +- 13F Holdings API provided, allowing real-time monitoring of institutional ownership. +- Every filing is linked to its corresponding CIK and ticker. +- All filings available in JSON format — no need for XBRL/XML parsing. ## Overview -- The query API gives access to all over 18 million SEC Edgar filings of **over 8000** publicly listed companies, ETFs, hedge funds, mutual funds, and investors dating back to 1993. +- The Query API gives access to all over 18 million SEC EDGAR filings of over 8,000 publicly listed companies, ETFs, hedge funds, mutual funds, and investors dating back to 1993. - Connect to the real-time stream API to receive new filings as soon as they are published on SEC EDGAR -- The full-text search API allows you to search the full text of all filings submitted since 2001. The full text of a filing includes all data in the filing itself as well as all attachments (such as exhibits) to the filing. +- The Full-Text Search API allows you to search the full text of all filings submitted since 2001. The full text of a filing includes all data in the filing itself as well as all attachments (such as exhibits) to the filing. - Free API key available on [sec-api.io](https://sec-api.io) See the official documentation for more: [sec-api.io/docs](https://sec-api.io/docs) @@ -105,8 +126,7 @@ filings = queryApi.get_filings(query) ## SEC EDGAR Filings Real-Time Stream API -The Stream API provides a live stream (aka feed) of newly published filings on SEC EDGAR via WebSockets. -A new filing is sent to your connected client as soon as it is published. +The Stream API provides a live stream (aka feed) of newly published filings on SEC EDGAR via WebSockets. A new filing is sent to your connected client as soon as it is published. --- @@ -176,7 +196,7 @@ print(filings) ## XBRL-To-JSON Converter API -Parse and standardize any XBRL and convert it to JSON or pandas dataframes. Extract financial statements and meta data from 10-K and 10-Q filings. +Parse and standardize any XBRL and convert it to JSON or pandas dataframes. Extract financial statements and metadata from 10-K, 10-Q and any other SEC filing supporting XBRL. The entire US GAAP taxonomy is fully supported. All XBRL items are fully converted into JSON, including `us-gaap`, `dei` and custom items. XBRL facts are automatically mapped to their respective context including period instants and date ranges. @@ -580,6 +600,28 @@ result4 = mappingApi.resolve("exchange", "NASDAQ") > See the documentation for more details: https://sec-api.io/docs/mapping-api +## Directors & Board Members Data API + +Access and search the entire database of all directors and board members of all publicly listed companies on US stock exchanges. The database includes information about the CIK, ticker and company name the director is associated with, the name of the director, her/his age, position, director class, date of first election, independence status, committee memberships as well as qualifications and experiences. + +```python +from sec_api import DirectorsBoardMembersApi + +directorsBoardMembersApi = DirectorsBoardMembersApi("YOUR_API_KEY") + +query = { + "query": "ticker:AMZN", + "from": 0, + "size": 50, + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = directorsBoardMembersApi.get_data(query) +print(response["data"]) +``` + +> See the documentation for more details: https://sec-api.io/docs/directors-and-board-members-data-api + ## Executive Compensation Data API The API provides standardized compensation data of all key executives as reported in SEC filing DEF 14A. The dataset is updated in real-time. @@ -636,12 +678,7 @@ result_query = execCompApi.get_data(query) ## Insider Trading Data API -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. +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. ```python from sec_api import InsiderTradingApi @@ -736,10 +773,29 @@ print(response["filings"]) > See the documentation for more details: https://sec-api.io/docs/n-port-data-api +## Form S-1/424B4 API + +Access and find structured and standardized data extracted from S-1, F-1, and S-11 registration statements as well as 424B4 prospectus filings. The JSON data includes public offering prices, underwriting discounts, proceeds before expenses, security types being offered, underwriters (lead and co-managers), law firms, auditors, employee counts and management information (name, age, position). + +```python +form_s1_424B4_api = Form_S1_424B4_Api("YOUR_API_KEY") + +query = { + "query": "ticker:V", + "from": "0", + "size": "50", + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = form_s1_424B4_api.get_data(query) +print(response["data"]) +``` + +> See the documentation for more details: https://sec-api.io/docs/form-s1-424b4-data-search-api + ## Form D API -Search and find Form D offering filings by any filing property, e.g. total offering amount, offerings filed by -hedge funds, type of securities offered and many more. +Search and find Form D offering filings by any filing property, e.g. total offering amount, offerings filed by hedge funds, type of securities offered and many more. ```python from sec_api import FormDApi @@ -762,11 +818,7 @@ print(response["offerings"]) ## Form ADV API -Search the entire ADV filing database and find all ADV filings filed by firm advisers (SEC and state registered), -individual advisers and firm brochures published in part 2 of ADV filings. The database comprises 41,000 ADV filings -filed by advisory firms and 380,000 individual advisers and is updated daily. -Search and find ADV filings by any filing property, such as CRD, assets under management, -type of adviser (e.g. broker dealer) and more. Direct owners from Schedule A, indirect owners from Schedule B as well as private funds from Schedule D are easily accessible. +Search the entire Form ADV filing database and find all ADV filings filed by firm advisers (SEC and state registered), individual advisers and firm brochures published in part 2 of ADV filings. The database comprises 41,000 ADV filings filed by advisory firms and 380,000 individual advisers and is updated daily. Search and find ADV filings by any filing property, such as CRD, assets under management, type of adviser (e.g. broker dealer) and more. Direct owners from Schedule A, indirect owners from Schedule B as well as private funds from Schedule D are easily accessible. ```python from sec_api import FormAdvApi @@ -1006,6 +1058,50 @@ print(response["data"]) } ``` +## AAER Database API + +Access and search the Accounting and Auditing Enforcement Releases (AAER) database. The database includes all AAERs filed from 1997 to present. + +```python +from sec_api import AaerApi + +aaerApi = AaerApi("YOUR_API_KEY") + +query = { + "query": "dateTime:[2012-01-01 TO 2020-12-31]", + "from": "0", + "size": "50", + "sort": [{"dateTime": {"order": "desc"}}], +} + +response = aaerApi.get_data(query) +print(response["data"]) +``` + +> See the documentation for more details: https://sec-api.io/docs/aaer-database-api + +## SRO Filings Database API + +Access and search all SRO filings published from 1995 to present. The database includes more than 30,000 SRO filings from all types of organizations, including National Securities Exchanges (NYSE, NASDAQ, CBOE, etc.), Joint Industry Plans, FINRA, Futures Exchanges (CME, CBOT, etc.), and more. + +```python +from sec_api import SroFilingsApi + +sroFilingsApi = SroFilingsApi("YOUR_API_KEY") + +query = { + "query": "sro:NASDAQ", + "from": "0", + "size": "10", + "sort": [{"issueDate": {"order": "desc"}}], +} + +response = sroFilingsApi.get_data(query) +print(response["data"]) +``` + +> See the documentation for more details: https://sec-api.io/docs/sro-filings-database-api + ## Proxy Support In certain cases, your corporate IT infrastructure may encounter issues with HTTPS requests, leading to SSL certificate errors. To resolve this, HTTP and HTTPS proxies can be passed into all API wrappers as shown in the example below. If you're unsure about which proxies to use, please consult your company's IT administrator. @@ -1038,6 +1134,10 @@ renderApi = RenderApi(api_key="YOUR_API_KEY", proxies=proxies) - `filedAt` (string) - The date (format: YYYY-MM-DD HH:mm:SS TZ) the filing was filed, eg 2019-12-06T14:41:26-05:00. - `periodOfReport` (string, if reported) - Period of report, e.g. 2021-06-08 - `effectivenessDate` (string, if reported) - Effectiveness date, e.g. 2021-06-08 +- `registrationForm` (string, if reported) - Registration form as reported on EFFECT forms, e.g. S-1 +- `referenceAccessionNo` (string, if reported) - Reference accession number as reported on EFFECT forms, e.g. 0001213900-22-001446 +- `items` (array of strings, if reported) - Items represents an array of item strings as reported on form 8-K, 8-K/A, D, D/A, ABS-15G, ABS-15G/A, 1-U, 1-U/A. For example: `["Item 3.02: Unregistered Sales of Equity Securities", "Item 9.01: Financial Statements and Exhibits"]` +- `groupMembers` (array, if reported) - Group members represents an array of member strings as reported on SC 13G, SC 13G/A, SC 13D, SC 13D/A filings, e.g. `[ "ALEC N. LITOWITZMAGNETAR CAPITAL PARTNERS LPSUPERNOVA MANAGEMENT LLC" ]` - `id` (string) - Unique ID of the filing. - `entities` (array) - A list of all entities referred to in the filing. The first item in the array always represents the filing issuer. Each array element is an object with the following keys: - `companyName` (string) - Company name of the entity, e.g. DILLARD'S, INC. (Issuer) @@ -1216,7 +1316,6 @@ renderApi = RenderApi(api_key="YOUR_API_KEY", proxies=proxies) ## Contact -Let us know how we can improve the library or if you have any feature -suggestions. We're happy to implement them. +Let us know how we can improve the library or if you have any feature suggestions. We're happy to implement them. support@sec-api.io diff --git a/examples.py b/examples.py index 564c68e..51df4be 100644 --- a/examples.py +++ b/examples.py @@ -3,6 +3,7 @@ XbrlApi, ExtractorApi, MappingApi, + DirectorsBoardMembersApi, ExecCompApi, InsiderTradingApi, FormNportApi, @@ -10,7 +11,10 @@ FormAdvApi, FloatApi, Form13DGApi, + Form_S1_424B4_Api, SubsidiaryApi, + AaerApi, + SroFilingsApi, ) # @@ -81,6 +85,24 @@ # """ +# +# Directors & Board Members API Example +# +""" +directorsBoardMembersApi = DirectorsBoardMembersApi("YOUR_API_KEY") + +query = { + "query": "ticker:AMZN", + "from": 0, + "size": 50, + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = directorsBoardMembersApi.get_data(query) +print(response["data"]) +# """ + + # # Executive Compensation Data API Example # @@ -118,7 +140,7 @@ insider_trades = insiderTradingApi.get_data( { - "query": {"query_string": {"query": "issuer.tradingSymbol:TSLA"}}, + "query": "issuer.tradingSymbol:TSLA", "from": "0", "size": "50", "sort": [{"filedAt": {"order": "desc"}}], @@ -136,7 +158,7 @@ response = nportApi.get_data( { - "query": {"query_string": {"query": "fundInfo.totAssets:[100000000 TO *]"}}, + "query": "fundInfo.totAssets:[100000000 TO *]", "from": "0", "size": "2", "sort": [{"filedAt": {"order": "desc"}}], @@ -154,11 +176,7 @@ response = formDApi.get_data( { - "query": { - "query_string": { - "query": "offeringData.offeringSalesAmounts.totalOfferingAmount:[1000000 TO *]" - } - }, + "query": "offeringData.offeringSalesAmounts.totalOfferingAmount:[1000000 TO *]", "from": "0", "size": "10", "sort": [{"filedAt": {"order": "desc"}}], @@ -177,7 +195,7 @@ response = formAdvApi.get_firms( { - "query": {"query_string": {"query": "Info.FirmCrdNb:361"}}, + "query": "Info.FirmCrdNb:361", "from": "0", "size": "10", "sort": [{"Info.FirmCrdNb": {"order": "desc"}}], @@ -198,7 +216,7 @@ response = formAdvApi.get_individuals( { - "query": {"query_string": {"query": "CrntEmps.CrntEmp.orgPK:149777"}}, + "query": "CrntEmps.CrntEmp.orgPK:149777", "from": "0", "size": "10", "sort": [{"id": {"order": "desc"}}], @@ -232,7 +250,7 @@ form13DGApi = Form13DGApi("YOUR_API_KEY") query = { - "query": {"query_string": {"query": "accessionNo:*"}}, + "query": "accessionNo:*", "from": "0", "size": "50", "sort": [{"filedAt": {"order": "desc"}}], @@ -243,6 +261,24 @@ # """ +# +# Form S-1/424B4 API Example +# +""" +form_s1_424B4_api = Form_S1_424B4_Api("YOUR_API_KEY") + +query = { + "query": "ticker:V", + "from": "0", + "size": "50", + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = form_s1_424B4_api.get_data(query) +print(response["data"]) +# """ + + # # Subsidiary API Example # @@ -250,7 +286,7 @@ subsidiaryApi = SubsidiaryApi("YOUR_API_KEY") query = { - "query": {"query_string": {"query": "ticker:TSLA"}}, + "query": "ticker:TSLA", "from": "0", "size": "50", "sort": [{"filedAt": {"order": "desc"}}], @@ -259,3 +295,39 @@ response = subsidiaryApi.get_data(query) print(response["data"]) # """ + + +# +# AAER API Example +# +""" +aaerApi = AaerApi("YOUR_API_KEY") + +query = { + "query": "dateTime:[2012-01-01 TO 2020-12-31]", + "from": "0", + "size": "50", + "sort": [{"dateTime": {"order": "desc"}}], +} + +response = aaerApi.get_data(query) +print(response["data"]) +# """ + + +# +# SRO Filings API Example +# +""" +sroFilingsApi = SroFilingsApi("YOUR_API_KEY") + +query = { + "query": "sro:NASDAQ", + "from": "0", + "size": "10", + "sort": [{"issueDate": {"order": "desc"}}], +} + +response = sroFilingsApi.get_data(query) +print(response["data"]) +# """ diff --git a/sec_api/index.py b/sec_api/index.py index 0a04fd7..968dd22 100644 --- a/sec_api/index.py +++ b/sec_api/index.py @@ -10,13 +10,19 @@ extractor_api_endpoint = "https://api.sec-api.io/extractor" mapping_api_endpoint = "https://api.sec-api.io/mapping" exec_comp_api_endpoint = "https://api.sec-api.io/compensation" +directors_board_members_api_endpoint = ( + "https://api.sec-api.io/directors-and-board-members" +) insider_api_endpoint = "https://api.sec-api.io/insider-trading" form_nport_api_endpoint = "https://api.sec-api.io/form-nport" form_d_api_endpoint = "https://api.sec-api.io/form-d" form_adv_endpoint = "https://api.sec-api.io/form-adv" form_13D_13G_endpoint = "https://api.sec-api.io/form-13d-13g" +form_S1_424B4_endpoint = "https://api.sec-api.io/form-s1-424b4" float_api_endpoint = "https://api.sec-api.io/float" subsidiary_endpoint = "https://api.sec-api.io/subsidiaries" +aaer_search_endpoint = "https://api.sec-api.io/aaers" +sro_search_endpoint = "https://api.sec-api.io/sro" def handle_api_error(response): @@ -244,6 +250,36 @@ def resolve(self, parameter="", value=""): handle_api_error(response) +class DirectorsBoardMembersApi: + """ + Base class for Directors and Board Members API + https://sec-api.io/docs/directors-and-board-members-data-api + """ + + def __init__(self, api_key, proxies=None): + self.api_key = api_key + self.api_endpoint = directors_board_members_api_endpoint + "?token=" + api_key + self.proxies = proxies if proxies else {} + + def get_data(self, query): + response = {} + + # use backoff strategy to handle "too many requests" error. + for x in range(3): + response = requests.post( + self.api_endpoint, json=query, proxies=self.proxies + ) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + # wait 500 * (x + 1) milliseconds and try again + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + class ExecCompApi: """ Base class of Executive Compensation Data API @@ -543,6 +579,35 @@ def get_data(self, query): handle_api_error(response) +class Form_S1_424B4_Api: + """ + Base class for Form S1/424B4 API + """ + + def __init__(self, api_key, proxies=None): + self.api_key = api_key + self.api_endpoint = form_S1_424B4_endpoint + "?token=" + api_key + self.proxies = proxies if proxies else {} + + def get_data(self, query): + response = {} + + # use backoff strategy to handle "too many requests" error. + for x in range(3): + response = requests.post( + self.api_endpoint, json=query, proxies=self.proxies + ) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + # wait 500 * (x + 1) milliseconds and try again + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + class SubsidiaryApi: """ Base class for Subsidiary API @@ -570,3 +635,63 @@ def get_data(self, query): handle_api_error(response) else: handle_api_error(response) + + +class AaerApi: + """ + Base class for AAER Database API + https://sec-api.io/docs/aaer-database-api + """ + + def __init__(self, api_key, proxies=None): + self.api_key = api_key + self.api_search_endpoint = aaer_search_endpoint + "?token=" + api_key + self.proxies = proxies if proxies else {} + + def get_data(self, query): + response = {} + + # use backoff strategy to handle "too many requests" error. + for x in range(3): + response = requests.post( + self.api_search_endpoint, json=query, proxies=self.proxies + ) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + # wait 500 * (x + 1) milliseconds and try again + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + +class SroFilingsApi: + """ + Base class for SRO Filings Database API + https://sec-api.io/docs/sro-filings-database-api + """ + + def __init__(self, api_key, proxies=None): + self.api_key = api_key + self.api_search_endpoint = sro_search_endpoint + "?token=" + api_key + self.proxies = proxies if proxies else {} + + def get_data(self, query): + response = {} + + # use backoff strategy to handle "too many requests" error. + for x in range(3): + response = requests.post( + self.api_search_endpoint, json=query, proxies=self.proxies + ) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + # wait 500 * (x + 1) milliseconds and try again + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) diff --git a/setup.py b/setup.py index 867eca5..f7cc09d 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setup( name="sec-api", - version="1.0.18", + version="1.0.19", author="SEC API", author_email="support@sec-api.io", description="SEC EDGAR Filings API", From e044fb9017e7fee73b6d72473554b7dbe9b8b283 Mon Sep 17 00:00:00 2001 From: janlukasschroeder Date: Thu, 15 Aug 2024 04:16:42 -0400 Subject: [PATCH 02/20] added missing exports --- README.md | 6 ++++++ sec_api/__init__.py | 21 +++++++++++++++++++-- setup.py | 2 +- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 28c7c60..8c92911 100644 --- a/README.md +++ b/README.md @@ -112,6 +112,10 @@ filings = queryApi.get_filings(query) Fetch most recent 13F filings that hold Tesla. ```python +from sec_api import QueryApi + +queryApi = QueryApi(api_key="YOUR_API_KEY") + query = { "query": "formType:\"13F\" AND holdings.ticker:TSLA", "from": "0", @@ -778,6 +782,8 @@ print(response["filings"]) Access and find structured and standardized data extracted from S-1, F-1, and S-11 registration statements as well as 424B4 prospectus filings. The JSON data includes public offering prices, underwriting discounts, proceeds before expenses, security types being offered, underwriters (lead and co-managers), law firms, auditors, employee counts and management information (name, age, position). ```python +from sec_api import Form_S1_424B4_Api + form_s1_424B4_api = Form_S1_424B4_Api("YOUR_API_KEY") query = { diff --git a/sec_api/__init__.py b/sec_api/__init__.py index eaacf77..ee08503 100644 --- a/sec_api/__init__.py +++ b/sec_api/__init__.py @@ -2,14 +2,31 @@ from sec_api.index import QueryApi from sec_api.index import FullTextSearchApi from sec_api.index import RenderApi + +# Extractor & Converter APIs from sec_api.index import XbrlApi from sec_api.index import ExtractorApi -from sec_api.index import MappingApi + + +# Directors, Executives and Board Members APIs from sec_api.index import ExecCompApi +from sec_api.index import DirectorsBoardMembersApi + +# Ownership APIs from sec_api.index import InsiderTradingApi from sec_api.index import FormNportApi +from sec_api.index import Form13DGApi + +# Offering APIs +from sec_api.index import Form_S1_424B4_Api from sec_api.index import FormDApi + +# Investment Adviser API from sec_api.index import FormAdvApi -from sec_api.index import Form13DGApi + +# Other APIs +from sec_api.index import MappingApi from sec_api.index import FloatApi from sec_api.index import SubsidiaryApi +from sec_api.index import AaerApi +from sec_api.index import SroFilingsApi diff --git a/setup.py b/setup.py index f7cc09d..8d12032 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setup( name="sec-api", - version="1.0.19", + version="1.0.20", author="SEC API", author_email="support@sec-api.io", description="SEC EDGAR Filings API", From 3dcd08bfb996658bc01c3d062f62cd5098196b96 Mon Sep 17 00:00:00 2001 From: janlukasschroeder Date: Mon, 30 Sep 2024 07:09:58 -0400 Subject: [PATCH 03/20] added Item 4.02 API --- README.md | 703 +++++++++++++++++++++++--------------------- examples.py | 17 ++ sec_api/__init__.py | 3 + sec_api/index.py | 51 +++- setup.py | 2 +- 5 files changed, 435 insertions(+), 341 deletions(-) diff --git a/README.md b/README.md index 8c92911..7fe04f5 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,10 @@ # SEC API - A SEC.gov EDGAR Filings Query & Real-Time Stream API -**sec-api** is a Python package allowing you to search the entire SEC filings corpus and access over 650 terabytes of data. It includes: +**sec-api** is a Python package allowing you to search the entire SEC EDGAR filings corpus and access petabytes of regulatory information published by public and private companies, insiders such as directors and board members, hedge and mutual funds, financial advisors, business development companies, and more. -**General APIs:** +It includes: + +**EDGAR Filing Search & Download** - [SEC Filing Search and Full-Text Search API](#sec-edgar-filings-query-api) - [Real-Time Filing Stream API](#sec-edgar-filings-real-time-stream-api) @@ -13,15 +15,10 @@ - [XBRL-to-JSON Converter API + Financial Statements](#xbrl-to-json-converter-api) - [10-K/10-Q/8-K Section Extraction API](#10-k10-q8-k-section-extractor-api) -**Directors, Executives and Board Members:** - -- [Directors & Board Members API](#directors--board-members-data-api) -- [Executive Compensation Data API](#executive-compensation-data-api) - **Ownership Data APIs:** - [Form 3/4/5 API - Insider Trading](#insider-trading-data-api) -- [Form 13F API - Institutional Investment Manager Holdings](#13f-institutional-investor-database) +- [Form 13F API - Institutional Investment Manager Holdings](#form-13f-institutional-holdings-database) - [Form 13D/13G API - Activist and Passive Investor Holdings](#form-13d-13g-api) - [Form N-PORT API - Mutual Fund Holdings](#form-n-port-api) @@ -34,17 +31,29 @@ - [Form ADV API - Investment Advisors (Firm & Indvl. Advisors, Brochures, Schedules)](#form-adv-api) -**Other APIs:** +**Structured Material Event Data from Form 8-K** -- [CUSIP/CIK/Ticker Mapping API](#cusipcikticker-mapping-api) -- [Float (Outstanding Shares) API](#float-outstanding-shares-api) +- [Financial Restatements & Non-Reliance on Prior Financial Results (Item 4.02)](#financial-restatements--non-reliance-on-prior-financial-results-item-402) + +**Public Company Data** + +- [Directors & Board Members API](#directors--board-members-data-api) +- [Executive Compensation Data API](#executive-compensation-data-api) +- [Outstanding Shares & Public Float](#outstanding-shares--public-float-api) - [Company Subsidiary API](#subsidiary-api) + +**Enforcement Actions & SRO Filings:** + - [AAER Database API - Accounting and Auditing Enforcement Releases](#aaer-database-api) - [SRO Filings Database API](#sro-filings-database-api) +**Other APIs:** + +- [CUSIP/CIK/Ticker Mapping API](#cusipcikticker-mapping-api) + ## Data Coverage -- Access to over 18 million SEC EDGAR filings from 1993 to the present, encompassing 650,000+ gigabytes of data. +- Access to over 18 million SEC EDGAR filings from 1993 to the present - Supports all 150+ filing types, including 10-Q, 10-K, Form 4, 8-K, 13-F, S-1, 424B4, and many others. [See the full list of supported form types here.](https://sec-api.io/list-of-sec-filing-types) - Real-time access to newly published filings. - Includes XBRL-to-JSON converter and parser APIs for extracting standardized financial statements from any 10-K or 10-Q filing. @@ -71,11 +80,15 @@ Get your free API key on [sec-api.io](https://sec-api.io) and replace `YOUR_API_ ## SEC EDGAR Filings Query API -The Query API allows you to search and filter all 18 million filings and exhibits published on SEC EDGAR using a large set of search parameters. You can search by ticker, CIK, form type, filing date, SIC code, period of report, series and class IDs, items of 8-K and other filings, and many more. The API returns all filing metadata in a [standardized JSON format](https://sec-api.io/docs/query-api#response-format). Filings are indexed and searchable as soon as they are published on SEC EDGAR. Various examples are provided below, in the [official documentation](https://sec-api.io/docs/query-api), and in our [sandbox](https://sec-api.io/sandbox). +The Query API allows you to search and filter all 18 million filings and exhibits published on SEC EDGAR using a large set of search parameters. The database behind the Query API includes all EDGAR filing form types published since 1993 and over 800,000 EDGAR filer entities, with new filings being indexed and searchable as soon as they are published on SEC EDGAR. ---- +You can search filings by ticker, CIK, form type, filing date, SIC code, period of report, series and class IDs, items of 8-K and other filings, and many more. The API returns all filing metadata in a [standardized JSON format](https://sec-api.io/docs/query-api#response-format). + +Examples are provided below, in the [official documentation](https://sec-api.io/docs/query-api), and in our [sandbox](https://sec-api.io/sandbox). + +### Examples -The example below retrieves all 10-Q filings filed by TSLA in 2020. +The following example retrieves all 10-Q filings filed by TSLA in 2020. ```python from sec_api import QueryApi @@ -94,7 +107,7 @@ filings = queryApi.get_filings(query) print(filings) ``` -Fetch most recent 8-Ks with Item 9.01 "Financial Statements and Exhibits". +Find the most recently reported Form 8-K filings that include Item 9.01 "Financial Statements and Exhibits". ```python query = { @@ -107,26 +120,52 @@ query = { filings = queryApi.get_filings(query) ``` -### 13F Institutional Investor Database +> See the documentation for more details: https://sec-api.io/docs/query-api + +## Full-Text Search API + +Full-text search allows you to search the full text of all EDGAR filings submitted since 2001. The full text of a filing includes all data in the filing itself as well as all attachments (such as exhibits) to the filing. + +--- -Fetch most recent 13F filings that hold Tesla. +The example below returns all 8-K and 10-Q filings and their exhibits, filed between 01-01-2021 and 14-06-2021, that include the exact phrase "LPCN 1154". ```python -from sec_api import QueryApi +from sec_api import FullTextSearchApi -queryApi = QueryApi(api_key="YOUR_API_KEY") +fullTextSearchApi = FullTextSearchApi(api_key="YOUR_API_KEY") query = { - "query": "formType:\"13F\" AND holdings.ticker:TSLA", - "from": "0", - "size": "10", - "sort": [{ "filedAt": { "order": "desc" } }] + "query": '"LPCN 1154"', + "formTypes": ['8-K', '10-Q'], + "startDate": '2021-01-01', + "endDate": '2021-06-14', } -filings = queryApi.get_filings(query) +filings = fullTextSearchApi.get_filings(query) + +print(filings) ``` -> See the documentation for more details: https://sec-api.io/docs/query-api +> See the documentation for more details: https://sec-api.io/docs/full-text-search-api + +## Filing Render & Download API + +Used to download any filing or exhibit. You can process the downloaded filing in memory or save the filing to your hard drive. + +```python +from sec_api import RenderApi + +renderApi = RenderApi(api_key="YOUR_API_KEY") + +url = "https://www.sec.gov/Archives/edgar/data/1662684/000110465921082303/tm2119986d1_8k.htm" + +filing = renderApi.get_filing(url) + +print(filing) +``` + +> See the documentation for more details: https://sec-api.io/docs/sec-filings-render-api ## SEC EDGAR Filings Real-Time Stream API @@ -171,33 +210,6 @@ asyncio.run(websocket_client()) > See the documentation for more details: https://sec-api.io/docs/stream-api -## Full-Text Search API - -Full-text search allows you to search the full text of all EDGAR filings submitted since 2001. The full text of a filing includes all data in the filing itself as well as all attachments (such as exhibits) to the filing. - ---- - -The example below returns all 8-K and 10-Q filings and their exhibits, filed between 01-01-2021 and 14-06-2021, that include the exact phrase "LPCN 1154". - -```python -from sec_api import FullTextSearchApi - -fullTextSearchApi = FullTextSearchApi(api_key="YOUR_API_KEY") - -query = { - "query": '"LPCN 1154"', - "formTypes": ['8-K', '10-Q'], - "startDate": '2021-01-01', - "endDate": '2021-06-14', -} - -filings = fullTextSearchApi.get_filings(query) - -print(filings) -``` - -> See the documentation for more details: https://sec-api.io/docs/full-text-search-api - ## XBRL-To-JSON Converter API Parse and standardize any XBRL and convert it to JSON or pandas dataframes. Extract financial statements and metadata from 10-K, 10-Q and any other SEC filing supporting XBRL. @@ -509,249 +521,221 @@ extracted_section_8k = extractorApi.get_section(filing_url_8k, "1-1", "text") > See the documentation for more details: https://sec-api.io/docs/sec-filings-item-extraction-api -## Filing Render & Download API +## Form ADV API -Used to download any filing or exhibit. You can process the downloaded filing in memory or save the filing to your hard drive. +Search the entire Form ADV filing database and find all ADV filings filed by firm advisers (SEC and state registered), individual advisers and firm brochures published in part 2 of ADV filings. The database comprises 41,000 ADV filings filed by advisory firms and 380,000 individual advisers and is updated daily. Search and find ADV filings by any filing property, such as CRD, assets under management, type of adviser (e.g. broker dealer) and more. Direct owners from Schedule A, indirect owners from Schedule B as well as private funds from Schedule D are easily accessible. ```python -from sec_api import RenderApi - -renderApi = RenderApi(api_key="YOUR_API_KEY") - -url = "https://www.sec.gov/Archives/edgar/data/1662684/000110465921082303/tm2119986d1_8k.htm" - -filing = renderApi.get_filing(url) - -print(filing) -``` +from sec_api import FormAdvApi -> See the documentation for more details: https://sec-api.io/docs/sec-filings-render-api +formAdvApi = FormAdvApi("YOUR_API_KEY") -## CUSIP/CIK/Ticker Mapping API +response = formAdvApi.get_firms( + { + "query": "Info.FirmCrdNb:361", + "from": "0", + "size": "10", + "sort": [{"Info.FirmCrdNb": {"order": "desc"}}], + } +) +print(response["filings"]) -Resolve a CUSIP, CIK, ticker symbol or company name to a set of standardized company details. Listing companies by exchange, sector and industry is also supported. +direct_owners = formAdvApi.get_direct_owners(crd="793") +print(direct_owners) -Map any of the following parameters to company details: +indirect_owners = formAdvApi.get_indirect_owners(crd="326262") +print(indirect_owners) -- CUSIP -- CIK -- Ticker -- Company name -- Exchange -- Sector -- Industry +private_funds = formAdvApi.get_private_funds(crd="793") +print(private_funds) -The function returns an array of all matching companies in JSON format. For example, a look up of the ticker `IBM` returns multiple matches including `IBMD` and `IBME`. +response = formAdvApi.get_individuals( + { + "query": "CrntEmps.CrntEmp.orgPK:149777", + "from": "0", + "size": "10", + "sort": [{"id": {"order": "desc"}}], + } +) +print(response["filings"]) -A company object includes the following properties: +response = formAdvApi.get_brochures(149777) +print(response["brochures"]) +``` -- `name` (string) - the name of the company, e.g. Tesla Inc -- `ticker` (string) - the ticker symbol of the company. -- `cik` (string) - the CIK of the company. Trailing zeros are removed. -- `cusip` (string) - one or multiple CUSIPs linked to the company. Multiple CUSIPs are delimited by space, e.g. "054748108 92931L302 92931L401" -- `exchange` (string) - the main exchange the company is listed on, e.g. NASDAQ -- `isDelisted` (boolean) - true if the company is no longer listed, false otherwise. -- `category` (string) - the security category, e.g. "Domestic Common Stock" -- `sector` (string) - the sector of the company, e.g. "Consumer Cyclical" -- `industry` (string) - the industry of the company, e.g. "Auto Manufacturers" -- `sic` (string) - four-digit SIC code, e.g. "3711" -- `sicSector` (string) - SIC sector name of the company, e.g. "Manufacturing" -- `sicIndustry` (string) - SIC industry name of the company, e.g. "Motor Vehicles & Passenger Car Bodies" -- `currency` (string) - operating currency of the company, e.g. "USD" -- `location` (string) - location of the company's headquarters -- `id` (string) - unique internal ID of the company, e.g. "e27d6e9606f216c569e46abf407685f3" +> See the documentation for more details: https://sec-api.io/docs/investment-adviser-and-adv-api -Response type: `JSON` +## Insider Trading Data API -### Usage +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. ```python -from sec_api import MappingApi +from sec_api import InsiderTradingApi -mappingApi = MappingApi(api_key="YOUR_API_KEY") +insiderTradingApi = InsiderTradingApi("YOUR_API_KEY") -result1 = mappingApi.resolve("ticker", "TSLA") -result2 = mappingApi.resolve("cik", "1318605") -result3 = mappingApi.resolve("cusip", "88160R101") -result4 = mappingApi.resolve("exchange", "NASDAQ") +insider_trades = insiderTradingApi.get_data({ + "query": "issuer.tradingSymbol:TSLA" +}) + +print(insider_trades["transactions"]) ``` -#### Response Example +> See the documentation for more details: https://sec-api.io/docs/insider-ownership-trading-api + +### Response Example ```json [ { - "name": "Tesla Inc", - "ticker": "TSLA", - "cik": "1318605", - "cusip": "88160R101", - "exchange": "NASDAQ", - "isDelisted": false, - "category": "Domestic Common Stock", - "sector": "Consumer Cyclical", - "industry": "Auto Manufacturers", - "sic": "3711", - "sicSector": "Manufacturing", - "sicIndustry": "Motor Vehicles & Passenger Car Bodies", - "famaSector": "", - "famaIndustry": "Automobiles and Trucks", - "currency": "USD", - "location": "California; U.S.A", - "id": "e27d6e9606f216c569e46abf407685f3" + "accessionNo": "0000899243-22-028189", + "filedAt": "2022-08-09T21:23:00-04:00", + "documentType": "4", + "periodOfReport": "2022-08-09", + "issuer": { + "cik": "1318605", + "name": "Tesla, Inc.", + "tradingSymbol": "TSLA" + }, + "reportingOwner": { + "cik": "1494730", + "name": "Musk Elon", + "address": { + "street1": "C/O TESLA, INC.", + "street2": "1 TESLA ROAD", + "city": "AUSTIN", + "state": "TX", + "zipCode": "78725" + }, + "relationship": { + "isDirector": true, + "isOfficer": true, + "officerTitle": "CEO", + "isTenPercentOwner": true, + "isOther": false + } + }, + "nonDerivativeTable": { + "transactions": [ + { + "securityTitle": "Common Stock", + "transactionDate": "2022-08-09", + "coding": { + "formType": "4", + "code": "S", + "equitySwapInvolved": false + }, + "amounts": { + "shares": 435, + "pricePerShare": 872.469, + "pricePerShareFootnoteId": ["F1"], + "acquiredDisposedCode": "D" + } + } + ] + // and many more + } } ] ``` -> See the documentation for more details: https://sec-api.io/docs/mapping-api - -## Directors & Board Members Data API +## Form 13F Institutional Holdings Database -Access and search the entire database of all directors and board members of all publicly listed companies on US stock exchanges. The database includes information about the CIK, ticker and company name the director is associated with, the name of the director, her/his age, position, director class, date of first election, independence status, committee memberships as well as qualifications and experiences. +Find the most recently disclosed Form 13F filings that include Tesla as a holding. ```python -from sec_api import DirectorsBoardMembersApi +from sec_api import QueryApi -directorsBoardMembersApi = DirectorsBoardMembersApi("YOUR_API_KEY") +queryApi = QueryApi(api_key="YOUR_API_KEY") query = { - "query": "ticker:AMZN", - "from": 0, - "size": 50, - "sort": [{"filedAt": {"order": "desc"}}], + "query": "formType:\"13F\" AND holdings.ticker:TSLA", + "from": "0", + "size": "10", + "sort": [{ "filedAt": { "order": "desc" } }] } -response = directorsBoardMembersApi.get_data(query) -print(response["data"]) +filings = queryApi.get_filings(query) ``` -> See the documentation for more details: https://sec-api.io/docs/directors-and-board-members-data-api - -## Executive Compensation Data API +> See the documentation for more details: https://sec-api.io/docs/query-api/13f-institutional-ownership-api -The API provides standardized compensation data of all key executives as reported in SEC filing DEF 14A. The dataset is updated in real-time. +## Form 13D/13G API -You can search compensation data by 13 parameters, such as company ticker, executive name & position, annual salary, option awards and more. +The API allows you to easily search and access all SEC Form 13D and Form 13G filings in a standardized JSON format. You can search the database by any form field, such as the CUSIP of the acquired security, name of the security owner, or the aggregate amount owned in percetnage of total shares outstanding. ```python -from sec_api import ExecCompApi - -execCompApi = ExecCompApi("YOUR_API_KEY") - -# Get data by ticker -result_ticker = execCompApi.get_data("TSLA") +from sec_api import Form13DGApi -# Get data by CIK -result_cik = execCompApi.get_data("789019") +form13DGApi = Form13DGApi("YOUR_API_KEY") -# List all exec compensations of CIK 70858 for year 2020 and 2019 -# Sort result by year first, by name second +# find the 50 most recently filed 13D/G filings disclosing 10% of more ownership of any Point72 company. query = { - "query": "cik:70858 AND (year:2020 OR year:2019)", + "query": "owners.name:Point72 AND owners.amountAsPercent:[10 TO *]", "from": "0", - "size": "200", - "sort": [{"year": {"order": "desc"}}, {"name.keyword": {"order": "asc"}}], + "size": "50", + "sort": [ { "filedAt": { "order": "desc" } } ] } -result_query = execCompApi.get_data(query) -``` - -### Response Example - -```json -[ - { - "id": "8e9177e3bcdb30ada8d092c195bd9d63", - "cik": "1318605", - "ticker": "TSLA", - "name": "Andrew Baglino", - "position": "SVP, Powertrain and Energy Engineering", - "year": 2020, - "salary": 283269, - "bonus": 0, - "stockAwards": 0, - "optionAwards": 46261354, - "nonEquityIncentiveCompensation": 0, - "changeInPensionValueAndDeferredEarnings": 0, - "otherCompensation": 0, - "total": 46544623 - } - // and many more -] -``` - -> See the documentation for more details: https://sec-api.io/docs/executive-compensation-api - -## Insider Trading Data API -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. - -```python -from sec_api import InsiderTradingApi - -insiderTradingApi = InsiderTradingApi("YOUR_API_KEY") - -insider_trades = insiderTradingApi.get_data({ - "query": "issuer.tradingSymbol:TSLA" -}) +response = form13DGApi.get_data(query) -print(insider_trades["transactions"]) +print(response["filings"]) ``` -> See the documentation for more details: https://sec-api.io/docs/insider-ownership-trading-api +> See the documentation for more details: https://sec-api.io/docs/form-13d-13g-search-api ### Response Example ```json -[ - { - "accessionNo": "0000899243-22-028189", - "filedAt": "2022-08-09T21:23:00-04:00", - "documentType": "4", - "periodOfReport": "2022-08-09", - "issuer": { - "cik": "1318605", - "name": "Tesla, Inc.", - "tradingSymbol": "TSLA" - }, - "reportingOwner": { - "cik": "1494730", - "name": "Musk Elon", - "address": { - "street1": "C/O TESLA, INC.", - "street2": "1 TESLA ROAD", - "city": "AUSTIN", - "state": "TX", - "zipCode": "78725" - }, - "relationship": { - "isDirector": true, - "isOfficer": true, - "officerTitle": "CEO", - "isTenPercentOwner": true, - "isOther": false - } - }, - "nonDerivativeTable": { - "transactions": [ +{ + "total": { + "value": 8, + "relation": "eq" + }, + "filings": [ + { + "id": "bbb1ef1892bfc12a2e398c903871e3ae", + "accessionNo": "0000902664-22-005029", + "formType": "SC 13D", + "filedAt": "2022-12-05T16:00:20-05:00", + "filers": [ { - "securityTitle": "Common Stock", - "transactionDate": "2022-08-09", - "coding": { - "formType": "4", - "code": "S", - "equitySwapInvolved": false + "cik": "1813658", + "name": "Tempo Automation Holdings, Inc. (Subject)" + }, + { + "cik": "1954961", + "name": "Point72 Private Investments, LLC (Filed by)" + } + ], + "nameOfIssuer": "Tempo Automation Holdings, Inc.", + "titleOfSecurities": "Common Stock, par value $0.0001 per share", + "cusip": ["88024M108"], + "eventDate": "2022-11-22", + "schedule13GFiledPreviously": false, + "owners": [ + { + "name": "Point72 Private Investments, LLC", + "memberOfGroup": { + "a": false, + "b": false }, - "amounts": { - "shares": 435, - "pricePerShare": 872.469, - "pricePerShareFootnoteId": ["F1"], - "acquiredDisposedCode": "D" - } + "sourceOfFunds": ["OO"], + "legalProceedingsDisclosureRequired": false, + "place": "Delaware", + "soleVotingPower": 0, + "sharedVotingPower": 5351000, + "soleDispositivePower": 0, + "sharedDispositivePower": 5351000, + "aggregateAmountOwned": 5351000, + "amountExcludesCertainShares": false, + "amountAsPercent": 20.3, + "typeOfReportingPerson": ["OO"] } ] - // and many more } - } -] + ] +} ``` ## Form N-PORT API @@ -822,131 +806,107 @@ print(response["offerings"]) > See the documentation for more details: https://sec-api.io/docs/form-d-xml-json-api -## Form ADV API +## Financial Restatements & Non-Reliance on Prior Financial Results (Item 4.02) -Search the entire Form ADV filing database and find all ADV filings filed by firm advisers (SEC and state registered), individual advisers and firm brochures published in part 2 of ADV filings. The database comprises 41,000 ADV filings filed by advisory firms and 380,000 individual advisers and is updated daily. Search and find ADV filings by any filing property, such as CRD, assets under management, type of adviser (e.g. broker dealer) and more. Direct owners from Schedule A, indirect owners from Schedule B as well as private funds from Schedule D are easily accessible. +Access and search all financial restatements and non-reliance on prior financial results filings from 2004 to present. The database includes information about the CIK, ticker and company name the restatement is associated with, the publication date of the restatement, list of identified issues, affected reporting periods that require restatement, affected financial statement items, auditor involvement, and more. ```python -from sec_api import FormAdvApi +from sec_api import Item_4_02_Api -formAdvApi = FormAdvApi("YOUR_API_KEY") +item_4_02_api = Item_4_02_Api("YOUR_API_KEY") -response = formAdvApi.get_firms( - { - "query": "Info.FirmCrdNb:361", - "from": "0", - "size": "10", - "sort": [{"Info.FirmCrdNb": {"order": "desc"}}], - } -) -print(response["filings"]) +query = { + "query": "ticker:*AEON*", + "from": "0", + "size": "50", + "sort": [{"filedAt": {"order": "desc"}}], +} -direct_owners = formAdvApi.get_direct_owners(crd="793") -print(direct_owners) +response = item_4_02_api.get_data(query) +print(response["data"]) +``` -indirect_owners = formAdvApi.get_indirect_owners(crd="326262") -print(indirect_owners) +> See the documentation for more details: https://sec-api.io/docs/form-8k-data-search-api -private_funds = formAdvApi.get_private_funds(crd="793") -print(private_funds) +## Directors & Board Members Data API -response = formAdvApi.get_individuals( - { - "query": "CrntEmps.CrntEmp.orgPK:149777", - "from": "0", - "size": "10", - "sort": [{"id": {"order": "desc"}}], - } -) -print(response["filings"]) +Access and search the entire database of all directors and board members of all publicly listed companies on US stock exchanges. The database includes information about the CIK, ticker and company name the director is associated with, the name of the director, her/his age, position, director class, date of first election, independence status, committee memberships as well as qualifications and experiences. -response = formAdvApi.get_brochures(149777) -print(response["brochures"]) +```python +from sec_api import DirectorsBoardMembersApi + +directorsBoardMembersApi = DirectorsBoardMembersApi("YOUR_API_KEY") + +query = { + "query": "ticker:AMZN", + "from": 0, + "size": 50, + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = directorsBoardMembersApi.get_data(query) +print(response["data"]) ``` -> See the documentation for more details: https://sec-api.io/docs/investment-adviser-and-adv-api +> See the documentation for more details: https://sec-api.io/docs/directors-and-board-members-data-api -## Form 13D/13G API +## Executive Compensation Data API -The API allows you to easily search and access all SEC Form 13D and Form 13G filings in a standardized JSON format. You can search the database by any form field, such as the CUSIP of the acquired security, name of the security owner, or the aggregate amount owned in percetnage of total shares outstanding. +The API provides standardized compensation data of all key executives as reported in SEC filing DEF 14A. The dataset is updated in real-time. + +You can search compensation data by 13 parameters, such as company ticker, executive name & position, annual salary, option awards and more. ```python -from sec_api import Form13DGApi +from sec_api import ExecCompApi -form13DGApi = Form13DGApi("YOUR_API_KEY") +execCompApi = ExecCompApi("YOUR_API_KEY") -# find the 50 most recently filed 13D/G filings disclosing 10% of more ownership of any Point72 company. +# Get data by ticker +result_ticker = execCompApi.get_data("TSLA") + +# Get data by CIK +result_cik = execCompApi.get_data("789019") + +# List all exec compensations of CIK 70858 for year 2020 and 2019 +# Sort result by year first, by name second query = { - "query": "owners.name:Point72 AND owners.amountAsPercent:[10 TO *]", + "query": "cik:70858 AND (year:2020 OR year:2019)", "from": "0", - "size": "50", - "sort": [ { "filedAt": { "order": "desc" } } ] + "size": "200", + "sort": [{"year": {"order": "desc"}}, {"name.keyword": {"order": "asc"}}], } - -response = form13DGApi.get_data(query) - -print(response["filings"]) +result_query = execCompApi.get_data(query) ``` -> See the documentation for more details: https://sec-api.io/docs/form-13d-13g-search-api - ### Response Example ```json -{ - "total": { - "value": 8, - "relation": "eq" - }, - "filings": [ - { - "id": "bbb1ef1892bfc12a2e398c903871e3ae", - "accessionNo": "0000902664-22-005029", - "formType": "SC 13D", - "filedAt": "2022-12-05T16:00:20-05:00", - "filers": [ - { - "cik": "1813658", - "name": "Tempo Automation Holdings, Inc. (Subject)" - }, - { - "cik": "1954961", - "name": "Point72 Private Investments, LLC (Filed by)" - } - ], - "nameOfIssuer": "Tempo Automation Holdings, Inc.", - "titleOfSecurities": "Common Stock, par value $0.0001 per share", - "cusip": ["88024M108"], - "eventDate": "2022-11-22", - "schedule13GFiledPreviously": false, - "owners": [ - { - "name": "Point72 Private Investments, LLC", - "memberOfGroup": { - "a": false, - "b": false - }, - "sourceOfFunds": ["OO"], - "legalProceedingsDisclosureRequired": false, - "place": "Delaware", - "soleVotingPower": 0, - "sharedVotingPower": 5351000, - "soleDispositivePower": 0, - "sharedDispositivePower": 5351000, - "aggregateAmountOwned": 5351000, - "amountExcludesCertainShares": false, - "amountAsPercent": 20.3, - "typeOfReportingPerson": ["OO"] - } - ] - } - ] -} +[ + { + "id": "8e9177e3bcdb30ada8d092c195bd9d63", + "cik": "1318605", + "ticker": "TSLA", + "name": "Andrew Baglino", + "position": "SVP, Powertrain and Energy Engineering", + "year": 2020, + "salary": 283269, + "bonus": 0, + "stockAwards": 0, + "optionAwards": 46261354, + "nonEquityIncentiveCompensation": 0, + "changeInPensionValueAndDeferredEarnings": 0, + "otherCompensation": 0, + "total": 46544623 + } + // and many more +] ``` -## Float (Outstanding Shares) API +> See the documentation for more details: https://sec-api.io/docs/executive-compensation-api + +## Outstanding Shares & Public Float API -The Float API returns the number of outstanding shares of any publicly traded company listed on US exchanges. The dataset includes the most recent float as well as historical float data. If a company registered multiple share classes, the API returns the number of shares outstanding of each class. +The Float API returns the number of outstanding shares and public float of any publicly traded company listed on US exchanges. The dataset includes the most recently reported number of outstanding shares and float as well as historical data. If a company registered multiple share classes, the API returns the number of shares outstanding of each class. ```python from sec_api import FloatApi @@ -1108,6 +1068,83 @@ print(response["data"]) > See the documentation for more details: https://sec-api.io/docs/sro-filings-database-api +## CUSIP/CIK/Ticker Mapping API + +Resolve a CUSIP, CIK, ticker symbol or company name to a set of standardized company details. Listing companies by exchange, sector and industry is also supported. + +Map any of the following parameters to company details: + +- CUSIP +- CIK +- Ticker +- Company name +- Exchange +- Sector +- Industry + +The function returns an array of all matching companies in JSON format. For example, a look up of the ticker `IBM` returns multiple matches including `IBMD` and `IBME`. + +A company object includes the following properties: + +- `name` (string) - the name of the company, e.g. Tesla Inc +- `ticker` (string) - the ticker symbol of the company. +- `cik` (string) - the CIK of the company. Trailing zeros are removed. +- `cusip` (string) - one or multiple CUSIPs linked to the company. Multiple CUSIPs are delimited by space, e.g. "054748108 92931L302 92931L401" +- `exchange` (string) - the main exchange the company is listed on, e.g. NASDAQ +- `isDelisted` (boolean) - true if the company is no longer listed, false otherwise. +- `category` (string) - the security category, e.g. "Domestic Common Stock" +- `sector` (string) - the sector of the company, e.g. "Consumer Cyclical" +- `industry` (string) - the industry of the company, e.g. "Auto Manufacturers" +- `sic` (string) - four-digit SIC code, e.g. "3711" +- `sicSector` (string) - SIC sector name of the company, e.g. "Manufacturing" +- `sicIndustry` (string) - SIC industry name of the company, e.g. "Motor Vehicles & Passenger Car Bodies" +- `currency` (string) - operating currency of the company, e.g. "USD" +- `location` (string) - location of the company's headquarters +- `id` (string) - unique internal ID of the company, e.g. "e27d6e9606f216c569e46abf407685f3" + +Response type: `JSON` + +### Usage + +```python +from sec_api import MappingApi + +mappingApi = MappingApi(api_key="YOUR_API_KEY") + +result1 = mappingApi.resolve("ticker", "TSLA") +result2 = mappingApi.resolve("cik", "1318605") +result3 = mappingApi.resolve("cusip", "88160R101") +result4 = mappingApi.resolve("exchange", "NASDAQ") +``` + +#### Response Example + +```json +[ + { + "name": "Tesla Inc", + "ticker": "TSLA", + "cik": "1318605", + "cusip": "88160R101", + "exchange": "NASDAQ", + "isDelisted": false, + "category": "Domestic Common Stock", + "sector": "Consumer Cyclical", + "industry": "Auto Manufacturers", + "sic": "3711", + "sicSector": "Manufacturing", + "sicIndustry": "Motor Vehicles & Passenger Car Bodies", + "famaSector": "", + "famaIndustry": "Automobiles and Trucks", + "currency": "USD", + "location": "California; U.S.A", + "id": "e27d6e9606f216c569e46abf407685f3" + } +] +``` + +> See the documentation for more details: https://sec-api.io/docs/mapping-api + ## Proxy Support In certain cases, your corporate IT infrastructure may encounter issues with HTTPS requests, leading to SSL certificate errors. To resolve this, HTTP and HTTPS proxies can be passed into all API wrappers as shown in the example below. If you're unsure about which proxies to use, please consult your company's IT administrator. diff --git a/examples.py b/examples.py index 51df4be..99de3b6 100644 --- a/examples.py +++ b/examples.py @@ -15,6 +15,7 @@ SubsidiaryApi, AaerApi, SroFilingsApi, + Item_4_02_Api, ) # @@ -331,3 +332,19 @@ response = sroFilingsApi.get_data(query) print(response["data"]) # """ + +# +# Form 8-K Item 4.02 API Example +# +""" +item_4_02_api = Item_4_02_Api("YOUR_API_KEY") + +query = { + "query": "ticker:AEON", + "from": "0", + "size": "50", + "sort": [{"filedAt": {"order": "desc"}}], +} +response = item_4_02_api.get_data(query) +print(response["data"]) +# """ diff --git a/sec_api/__init__.py b/sec_api/__init__.py index ee08503..9529306 100644 --- a/sec_api/__init__.py +++ b/sec_api/__init__.py @@ -24,6 +24,9 @@ # Investment Adviser API from sec_api.index import FormAdvApi +# Structured data from Form 8-Ks +from sec_api.index import Item_4_02_Api + # Other APIs from sec_api.index import MappingApi from sec_api.index import FloatApi diff --git a/sec_api/index.py b/sec_api/index.py index 968dd22..58b86b0 100644 --- a/sec_api/index.py +++ b/sec_api/index.py @@ -8,21 +8,29 @@ render_api_endpoint = "https://archive.sec-api.io" xbrl_api_endpoint = "https://api.sec-api.io/xbrl-to-json" extractor_api_endpoint = "https://api.sec-api.io/extractor" -mapping_api_endpoint = "https://api.sec-api.io/mapping" -exec_comp_api_endpoint = "https://api.sec-api.io/compensation" -directors_board_members_api_endpoint = ( - "https://api.sec-api.io/directors-and-board-members" -) +# +form_adv_endpoint = "https://api.sec-api.io/form-adv" +# insider_api_endpoint = "https://api.sec-api.io/insider-trading" form_nport_api_endpoint = "https://api.sec-api.io/form-nport" -form_d_api_endpoint = "https://api.sec-api.io/form-d" -form_adv_endpoint = "https://api.sec-api.io/form-adv" form_13D_13G_endpoint = "https://api.sec-api.io/form-13d-13g" +# form_S1_424B4_endpoint = "https://api.sec-api.io/form-s1-424b4" +form_d_api_endpoint = "https://api.sec-api.io/form-d" +# +form_8K_item_4_02_api_endpoint = "https://api.sec-api.io/form-8k" +# +exec_comp_api_endpoint = "https://api.sec-api.io/compensation" +directors_board_members_api_endpoint = ( + "https://api.sec-api.io/directors-and-board-members" +) float_api_endpoint = "https://api.sec-api.io/float" subsidiary_endpoint = "https://api.sec-api.io/subsidiaries" +# aaer_search_endpoint = "https://api.sec-api.io/aaers" sro_search_endpoint = "https://api.sec-api.io/sro" +# +mapping_api_endpoint = "https://api.sec-api.io/mapping" def handle_api_error(response): @@ -695,3 +703,32 @@ def get_data(self, query): handle_api_error(response) else: handle_api_error(response) + + +class Item_4_02_Api: + """ + Base class for Form 8-K Item 4.02 API + """ + + def __init__(self, api_key, proxies=None): + self.api_key = api_key + self.api_endpoint = form_8K_item_4_02_api_endpoint + "?token=" + api_key + self.proxies = proxies if proxies else {} + + def get_data(self, query): + response = {} + + # use backoff strategy to handle "too many requests" error. + for x in range(3): + response = requests.post( + self.api_endpoint, json=query, proxies=self.proxies + ) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + # wait 500 * (x + 1) milliseconds and try again + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) diff --git a/setup.py b/setup.py index 8d12032..2dcdde7 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setup( name="sec-api", - version="1.0.20", + version="1.0.21", author="SEC API", author_email="support@sec-api.io", description="SEC EDGAR Filings API", From 9f02c26aa560fc0582d3f1d83e7b5290bacc3e24 Mon Sep 17 00:00:00 2001 From: janlukasschroeder Date: Mon, 30 Sep 2024 07:11:47 -0400 Subject: [PATCH 04/20] fixed example query --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7fe04f5..de329f5 100644 --- a/README.md +++ b/README.md @@ -816,7 +816,7 @@ from sec_api import Item_4_02_Api item_4_02_api = Item_4_02_Api("YOUR_API_KEY") query = { - "query": "ticker:*AEON*", + "query": "ticker:*", "from": "0", "size": "50", "sort": [{"filedAt": {"order": "desc"}}], From 61cb1e0f31b95b04b44bd12e94a9a284acd9e5b9 Mon Sep 17 00:00:00 2001 From: janlukasschroeder Date: Mon, 30 Sep 2024 14:11:01 -0400 Subject: [PATCH 05/20] fixed bug: inline XBRL filings with "ix?doc=/" in URL cause "Max retries exceeded" error in RenderApi --- examples.py | 7 ++++--- sec_api/index.py | 4 +++- setup.py | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/examples.py b/examples.py index 99de3b6..496f2ad 100644 --- a/examples.py +++ b/examples.py @@ -26,7 +26,8 @@ # 10-K HTM File URL example filing_data = renderApi.get_filing( - url="https://www.sec.gov/Archives/edgar/data/320193/000032019320000096/aapl-20200926.htm" + # url="https://www.sec.gov/Archives/edgar/data/320193/000032019320000096/aapl-20200926.htm" + url="https://www.sec.gov/ix?doc=/Archives/edgar/data/1320695/000132069520000148/ths12-31x201910krecast.htm" ) print(filing_data) @@ -340,8 +341,8 @@ item_4_02_api = Item_4_02_Api("YOUR_API_KEY") query = { - "query": "ticker:AEON", - "from": "0", + "query": "filedAt:[2010-01-01 TO 2019-12-31]", + "from": "0", # increase by 50 to fetch the next 50 results, e.g. 50 (=page 2), 100 (=page 3), 150 (=page 4), ... "size": "50", "sort": [{"filedAt": {"order": "desc"}}], } diff --git a/sec_api/index.py b/sec_api/index.py index 58b86b0..bd08bf4 100644 --- a/sec_api/index.py +++ b/sec_api/index.py @@ -107,7 +107,9 @@ def __init__(self, api_key, proxies=None): def get_filing(self, url, as_pdf=False): response = {} - filename = re.sub(r"https://www.sec.gov/Archives/edgar/data", "", url) + # remove "ix?doc=/" from URL + filename = re.sub(r"ix\?doc=/", "", url) + filename = re.sub(r"https://www.sec.gov/Archives/edgar/data", "", filename) _url = self.api_endpoint + filename + "?token=" + self.api_key # use backoff strategy to handle "too many requests" error. diff --git a/setup.py b/setup.py index 2dcdde7..f2d01c0 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setup( name="sec-api", - version="1.0.21", + version="1.0.22", author="SEC API", author_email="support@sec-api.io", description="SEC EDGAR Filings API", From 797017b52a78c8cf72007710330d87a5718437c3 Mon Sep 17 00:00:00 2001 From: janlukasschroeder Date: Mon, 14 Oct 2024 14:41:30 -0400 Subject: [PATCH 06/20] added .get_file(url, return_binary=True) to RenderApi --- README.md | 8 ++++++++ examples.py | 12 +++++++++++- sec_api/index.py | 24 ++++++++++++++++++++++-- setup.py | 2 +- 4 files changed, 42 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index de329f5..3282b2a 100644 --- a/README.md +++ b/README.md @@ -163,6 +163,14 @@ url = "https://www.sec.gov/Archives/edgar/data/1662684/000110465921082303/tm2119 filing = renderApi.get_filing(url) print(filing) + +# for non-text data, such as a PDF files or an images, +# use get_file() and set `return_binary=True` to get the binary data +pdf_file_url = "https://www.sec.gov/Archives/edgar/data/1798925/999999999724004095/filename1.pdf" +binary_data = renderApi.get_file(pdf_file_url, return_binary=True) + +with open("filename.pdf", "wb") as f: + f.write(binary_data) ``` > See the documentation for more details: https://sec-api.io/docs/sec-filings-render-api diff --git a/examples.py b/examples.py index 496f2ad..c3d6162 100644 --- a/examples.py +++ b/examples.py @@ -30,7 +30,17 @@ url="https://www.sec.gov/ix?doc=/Archives/edgar/data/1320695/000132069520000148/ths12-31x201910krecast.htm" ) -print(filing_data) +print(filing_data[:300]) + +# for non-text data, such as a PDF files or an images, +# use get_file() and set `return_binary=True` to get the binary data +pdf_file_url = ( + "https://www.sec.gov/Archives/edgar/data/1798925/999999999724004095/filename1.pdf" +) +binary_data = renderApi.get_file(pdf_file_url, return_binary=True) + +with open("filename.pdf", "wb") as f: + f.write(binary_data) # """ # diff --git a/sec_api/index.py b/sec_api/index.py index bd08bf4..3638ed6 100644 --- a/sec_api/index.py +++ b/sec_api/index.py @@ -105,7 +105,7 @@ def __init__(self, api_key, proxies=None): self.api_endpoint = render_api_endpoint self.proxies = proxies if proxies else {} - def get_filing(self, url, as_pdf=False): + def get_filing(self, url, return_binary=False): response = {} # remove "ix?doc=/" from URL filename = re.sub(r"ix\?doc=/", "", url) @@ -116,7 +116,27 @@ def get_filing(self, url, as_pdf=False): for x in range(3): response = requests.get(_url, proxies=self.proxies) if response.status_code == 200: - return response.text + return response.text if not return_binary else response.content + elif response.status_code == 429: + # wait 500 * (x + 1) milliseconds and try again + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + def get_file(self, url, return_binary=False): + response = {} + # remove "ix?doc=/" from URL + filename = re.sub(r"ix\?doc=/", "", url) + filename = re.sub(r"https://www.sec.gov/Archives/edgar/data", "", filename) + _url = self.api_endpoint + filename + "?token=" + self.api_key + + # use backoff strategy to handle "too many requests" error. + for x in range(3): + response = requests.get(_url, proxies=self.proxies) + if response.status_code == 200: + return response.text if not return_binary else response.content elif response.status_code == 429: # wait 500 * (x + 1) milliseconds and try again time.sleep(0.5 * (x + 1)) diff --git a/setup.py b/setup.py index f2d01c0..9a800be 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setup( name="sec-api", - version="1.0.22", + version="1.0.23", author="SEC API", author_email="support@sec-api.io", description="SEC EDGAR Filings API", From 05b58465b0b5caec2629885c7041b1fce24e47aa Mon Sep 17 00:00:00 2001 From: janlukasschroeder Date: Mon, 14 Oct 2024 16:13:47 -0400 Subject: [PATCH 07/20] added PDF Generator API --- README.md | 23 +++++++++++++++++++++++ examples.py | 19 +++++++++++++++++++ sec_api/__init__.py | 1 + sec_api/index.py | 36 ++++++++++++++++++++++++++++++++++-- setup.py | 2 +- 5 files changed, 78 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3282b2a..70b2ca8 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ It includes: - [SEC Filing Search and Full-Text Search API](#sec-edgar-filings-query-api) - [Real-Time Filing Stream API](#sec-edgar-filings-real-time-stream-api) - [Filing Download & PDF Render API](#filing-render--download-api) +- [PDF Generator API](#pdf-generator-api) **Converter & Extractor APIs:** @@ -175,6 +176,28 @@ with open("filename.pdf", "wb") as f: > See the documentation for more details: https://sec-api.io/docs/sec-filings-render-api +## PDF Generator API + +SEC filings, including Forms 10-K, 10-Q, 8-K, and others, are typically published in HTML, XML, or text formats. The PDF Generator API enables the conversion of any SEC filing or exhibit into a PDF file, preserving all original formatting, tables, images, and other elements from the filing. + +```python +from sec_api import PdfGeneratorApi + +pdfGeneratorApi = PdfGeneratorApi("YOUR_API_KEY") + +# Form 8-K exhibit URL +edgar_file_url = "https://www.sec.gov/ix?doc=/Archives/edgar/data/1320695/000132069520000148/ths12-31x201910krecast.htm" +# Form 10-K filing URL +# edgar_file_url = "https://www.sec.gov/Archives/edgar/data/320193/000032019320000096/aapl-20200926.htm" + +pdf_file = pdfGeneratorApi.get_pdf(edgar_file_url) + +with open("filename.pdf", "wb") as f: + f.write(pdf_file) +``` + +> See the documentation for more details: https://sec-api.io/docs/sec-filings-render-api + ## SEC EDGAR Filings Real-Time Stream API The Stream API provides a live stream (aka feed) of newly published filings on SEC EDGAR via WebSockets. A new filing is sent to your connected client as soon as it is published. diff --git a/examples.py b/examples.py index c3d6162..c3d564f 100644 --- a/examples.py +++ b/examples.py @@ -1,5 +1,6 @@ from sec_api.index import ( RenderApi, + PdfGeneratorApi, XbrlApi, ExtractorApi, MappingApi, @@ -43,6 +44,24 @@ f.write(binary_data) # """ +# +# PDF Generator API +# +""" +pdfGeneratorApi = PdfGeneratorApi("YOUR_API_KEY") + +# Form 8-K exhibit URL +edgar_file_url = "https://www.sec.gov/ix?doc=/Archives/edgar/data/1320695/000132069520000148/ths12-31x201910krecast.htm" +# Form 10-K filing URL +# edgar_file_url = "https://www.sec.gov/Archives/edgar/data/320193/000032019320000096/aapl-20200926.htm" + +pdf_file = pdfGeneratorApi.get_pdf(edgar_file_url) + +with open("filename.pdf", "wb") as f: + f.write(pdf_file) +# """ + + # # XBRL-to-JSON API example # diff --git a/sec_api/__init__.py b/sec_api/__init__.py index 9529306..bb93a91 100644 --- a/sec_api/__init__.py +++ b/sec_api/__init__.py @@ -2,6 +2,7 @@ from sec_api.index import QueryApi from sec_api.index import FullTextSearchApi from sec_api.index import RenderApi +from sec_api.index import PdfGeneratorApi # Extractor & Converter APIs from sec_api.index import XbrlApi diff --git a/sec_api/index.py b/sec_api/index.py index 3638ed6..8084993 100644 --- a/sec_api/index.py +++ b/sec_api/index.py @@ -5,7 +5,8 @@ query_api_endpoint = "https://api.sec-api.io" full_text_search_api_endpoint = "https://api.sec-api.io/full-text-search" -render_api_endpoint = "https://archive.sec-api.io" +filing_download_api_endpoint = "https://archive.sec-api.io" +pdf_generator_api_endpoint = "https://api.sec-api.io/filing-reader" xbrl_api_endpoint = "https://api.sec-api.io/xbrl-to-json" extractor_api_endpoint = "https://api.sec-api.io/extractor" # @@ -102,7 +103,7 @@ class RenderApi: def __init__(self, api_key, proxies=None): self.api_key = api_key - self.api_endpoint = render_api_endpoint + self.api_endpoint = filing_download_api_endpoint self.proxies = proxies if proxies else {} def get_filing(self, url, return_binary=False): @@ -146,6 +147,37 @@ def get_file(self, url, return_binary=False): handle_api_error(response) +class PdfGeneratorApi: + """ + Base class for PDF Generator API + """ + + def __init__(self, api_key, proxies=None): + self.api_key = api_key + self.api_endpoint = pdf_generator_api_endpoint + self.proxies = proxies if proxies else {} + + def get_pdf(self, url): + response = {} + file_url = re.sub(r"ix\?doc=/", "", url) + _url = ( + self.api_endpoint + "?type=pdf&url=" + file_url + "&token=" + self.api_key + ) + + # use backoff strategy to handle "too many requests" error. + for x in range(3): + response = requests.get(_url, proxies=self.proxies) + if response.status_code == 200: + return response.content + elif response.status_code == 429: + # wait 500 * (x + 1) milliseconds and try again + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + class XbrlApi: """ Base class for XBRL-to-JSON API diff --git a/setup.py b/setup.py index 9a800be..fef8c1b 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setup( name="sec-api", - version="1.0.23", + version="1.0.24", author="SEC API", author_email="support@sec-api.io", description="SEC EDGAR Filings API", From fc4bbe81b8f5085a1ca306066b2c0281cd65e1f8 Mon Sep 17 00:00:00 2001 From: janlukasschroeder Date: Wed, 16 Oct 2024 11:04:03 -0400 Subject: [PATCH 08/20] added retry strategy on 202 cache miss for PDF generator --- sec_api/index.py | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sec_api/index.py b/sec_api/index.py index 8084993..240950f 100644 --- a/sec_api/index.py +++ b/sec_api/index.py @@ -169,7 +169,7 @@ def get_pdf(self, url): response = requests.get(_url, proxies=self.proxies) if response.status_code == 200: return response.content - elif response.status_code == 429: + elif response.status_code == 429 or response.status_code == 202: # wait 500 * (x + 1) milliseconds and try again time.sleep(0.5 * (x + 1)) else: diff --git a/setup.py b/setup.py index fef8c1b..8f766b0 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setup( name="sec-api", - version="1.0.24", + version="1.0.25", author="SEC API", author_email="support@sec-api.io", description="SEC EDGAR Filings API", From 7023ed3551d932b986e9c733ba8b053e1c116f35 Mon Sep 17 00:00:00 2001 From: janlukasschroeder Date: Tue, 4 Feb 2025 09:36:04 -0500 Subject: [PATCH 09/20] added SEC Litigation Releases API, struct. data of Form 8K Item 4.01 and 5.02, EDGAR Entities Database --- README.md | 106 ++++++++++++++++++++++++++++++++++++++++---- examples.py | 64 +++++++++++++++++++++++++- sec_api/__init__.py | 3 ++ sec_api/index.py | 92 ++++++++++++++++++++++++++++++++++++++ setup.py | 2 +- 5 files changed, 256 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 70b2ca8..a6dcf60 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,9 @@ It includes: **Structured Material Event Data from Form 8-K** +- [Auditor and Accountant Changes (Item 4.01)](#auditor-and-accountant-changes-item-401) - [Financial Restatements & Non-Reliance on Prior Financial Results (Item 4.02)](#financial-restatements--non-reliance-on-prior-financial-results-item-402) +- [Changes of Directors, Board Members and Compensation Plans (Item 5.02)](#changes-of-directors-executives-board-members-and-compensation-plans-item-502) **Public Company Data** @@ -45,12 +47,14 @@ It includes: **Enforcement Actions & SRO Filings:** +- [SEC Litigation Releases](#sec-litigation-releases-database-api) - [AAER Database API - Accounting and Auditing Enforcement Releases](#aaer-database-api) - [SRO Filings Database API](#sro-filings-database-api) **Other APIs:** - [CUSIP/CIK/Ticker Mapping API](#cusipcikticker-mapping-api) +- [EDGAR Entities Database API](#edgar-entities-database) ## Data Coverage @@ -837,28 +841,71 @@ print(response["offerings"]) > See the documentation for more details: https://sec-api.io/docs/form-d-xml-json-api -## Financial Restatements & Non-Reliance on Prior Financial Results (Item 4.02) +## Structured Data of Material Event Disclosures under Form 8-K -Access and search all financial restatements and non-reliance on prior financial results filings from 2004 to present. The database includes information about the CIK, ticker and company name the restatement is associated with, the publication date of the restatement, list of identified issues, affected reporting periods that require restatement, affected financial statement items, auditor involvement, and more. +### Auditor and Accountant Changes (Item 4.01) + +Access and search over 25,000 change-of-accountant disclosures under Item 4.01 in SEC Form 8-K filings, spanning from 2004 to present. Access information about former and newly appointed auditors, the reason for the change, the date of the change, the type of engagement, statements regarding material weaknesses in internal controls, and more. ```python -from sec_api import Item_4_02_Api +from sec_api import Form_8K_Item_X_Api -item_4_02_api = Item_4_02_Api("YOUR_API_KEY") +item_X_api = Form_8K_Item_X_Api("YOUR_API_KEY") -query = { - "query": "ticker:*", - "from": "0", +item_4_01_request = { + "query": "item4_01:* AND filedAt:[2024-01-01 TO 2024-12-31]", + "from": "0", # increase by 50 to fetch the next 50 results "size": "50", "sort": [{"filedAt": {"order": "desc"}}], } +item_4_01_response = item_X_api.get_data(item_4_01_request) +print(item_4_01_response["data"]) +``` -response = item_4_02_api.get_data(query) -print(response["data"]) +> See the documentation for more details: https://sec-api.io/docs/form-8k-data-item4-1-search-api + +### Financial Restatements & Non-Reliance on Prior Financial Results (Item 4.02) + +Access and search over 8,000 financial restatements and non-reliance on prior financial results filings from 2004 to present. The database includes information about the CIK, ticker and company name the restatement is associated with, the publication date of the restatement, list of identified issues, affected reporting periods that require restatement, affected financial statement items, auditor involvement, and more. + +```python +from sec_api import Form_8K_Item_X_Api + +item_X_api = Form_8K_Item_X_Api("YOUR_API_KEY") + +item_4_02_request = { + "query": "item4_02:* AND filedAt:[2024-01-01 TO 2024-12-31]", + "from": "0", + "size": "50", + "sort": [{"filedAt": {"order": "desc"}}], +} +item_4_02_response = item_X_api.get_data(item_4_02_request) +print(item_4_02_response["data"]) ``` > See the documentation for more details: https://sec-api.io/docs/form-8k-data-search-api +### Changes of Directors, Executives, Board Members and Compensation Plans (Item 5.02) + +Access and search over 250,000 changes of directors, executives, board members and compensation plans disclosures under Item 5.02 in SEC Form 8-K filings, spanning from 2004 to present. The database includes information about the CIK, ticker and company name the change is associated with, the publication date of the change, the name of the director, her/his age, position, academic affiliations, compensation details, committee memberships, and more. + +```python +from sec_api import Form_8K_Item_X_Api + +item_X_api = Form_8K_Item_X_Api("YOUR_API_KEY") + +item_5_02_request = { + "query": "item5_02:* AND filedAt:[2024-01-01 TO 2024-12-31]", + "from": "0", + "size": "50", + "sort": [{"filedAt": {"order": "desc"}}], +} +item_5_02_response = item_X_api.get_data(item_5_02_request) +print(item_5_02_response["data"]) +``` + +> See the documentation for more details: https://sec-api.io/docs/form-8k-data-item5-2-search-api + ## Directors & Board Members Data API Access and search the entire database of all directors and board members of all publicly listed companies on US stock exchanges. The database includes information about the CIK, ticker and company name the director is associated with, the name of the director, her/his age, position, director class, date of first election, independence status, committee memberships as well as qualifications and experiences. @@ -1077,6 +1124,28 @@ print(response["data"]) > See the documentation for more details: https://sec-api.io/docs/aaer-database-api +## SEC Litigation Releases Database API + +Access and search the SEC Litigation Releases database. The database includes metadata and extracted structured data from all SEC Litigation Releases filed from 1995 to present. + +```python +from sec_api import SecLitigationApi + +secLitigationApi = SecLitigationApi("YOUR_API_KEY") + +query = { + "query": "releasedAt:[2024-01-01 TO 2024-12-31]", + "from": "0", + "size": "50", + "sort": [{"releasedAt": {"order": "desc"}}], +} + +response = secLitigationApi.get_data(query) +print(response["data"]) +``` + +> See the documentation for more details: https://sec-api.io/docs/sec-litigation-releases-database-api + ## SRO Filings Database API Access and search all SRO filings published from 1995 to present. The database includes more than 30,000 SRO filings from all types of organizations, including National Securities Exchanges (NYSE, NASDAQ, CBOE, etc.), Joint Industry Plans, FINRA, Futures Exchanges (CME, CBOT, etc.), and more. @@ -1176,6 +1245,25 @@ result4 = mappingApi.resolve("exchange", "NASDAQ") > See the documentation for more details: https://sec-api.io/docs/mapping-api +## EDGAR Entities Database + +Access information on over 800,000 EDGAR filing entities that have filed with the SEC since 1994. The database includes information about the CIK, IRS number, state of incorporation, fiscal year end, SIC code, current auditor, latest ICFR audit date, filer category, and more. + +```python +edgarEntitiesApi = EdgarEntitiesApi("YOUR_API_KEY") + +search_request = { + "query": "cik:1318605", + "from": "0", + "size": "50", + "sort": [{"cikUpdatedAt": {"order": "desc"}}], +} +response = edgarEntitiesApi.get_data(search_request) +print(response["data"]) +``` + +> See the documentation for more details: https://sec-api.io/docs/edgar-entities-database-api + ## Proxy Support In certain cases, your corporate IT infrastructure may encounter issues with HTTPS requests, leading to SSL certificate errors. To resolve this, HTTP and HTTPS proxies can be passed into all API wrappers as shown in the example below. If you're unsure about which proxies to use, please consult your company's IT administrator. diff --git a/examples.py b/examples.py index c3d564f..e6e15fd 100644 --- a/examples.py +++ b/examples.py @@ -3,7 +3,6 @@ PdfGeneratorApi, XbrlApi, ExtractorApi, - MappingApi, DirectorsBoardMembersApi, ExecCompApi, InsiderTradingApi, @@ -15,8 +14,12 @@ Form_S1_424B4_Api, SubsidiaryApi, AaerApi, + SecLitigationsApi, SroFilingsApi, Item_4_02_Api, + Form_8K_Item_X_Api, + MappingApi, + EdgarEntitiesApi, ) # @@ -346,6 +349,24 @@ # """ +# +# SEC Litigation Releases API Example +# +""" +secLitigationsApi = SecLitigationsApi("YOUR_API_KEY") + +query = { + "query": "releasedAt:[2024-01-01 TO 2024-12-31]", + "from": "0", + "size": "50", + "sort": [{"releasedAt": {"order": "desc"}}], +} + +response = secLitigationsApi.get_data(query) +print(response["data"]) +# """ + + # # SRO Filings API Example # @@ -378,3 +399,44 @@ response = item_4_02_api.get_data(query) print(response["data"]) # """ + +# +# Form 8-K Item X API Examples +# +""" +item_X_api = Form_8K_Item_X_Api("YOUR_API_KEY") + +item_4_01_request = { + "query": "item4_01:* AND filedAt:[2024-01-01 TO 2024-12-31]", + "from": "0", # increase by 50 to fetch the next 50 results, e.g. 50 (=page 2), 100 (=page 3), 150 (=page 4), ... + "size": "50", + "sort": [{"filedAt": {"order": "desc"}}], +} +item_4_01_response = item_X_api.get_data(item_4_01_request) +print(item_4_01_response["data"]) + +item_5_02_request = { + "query": "item5_02:* AND filedAt:[2024-01-01 TO 2024-12-31]", + "from": "0", # increase by 50 to fetch the next 50 results, e.g. 50 (=page 2), 100 (=page 3), 150 (=page 4), ... + "size": "50", + "sort": [{"filedAt": {"order": "desc"}}], +} +item_5_02_response = item_X_api.get_data(item_5_02_request) +print(item_5_02_response["data"]) +# """ + +# +# EDGAR Entities Database API Example +# +""" +edgarEntitiesApi = EdgarEntitiesApi("YOUR_API_KEY") + +search_request = { + "query": "cik:1318605", + "from": "0", + "size": "50", + "sort": [{"cikUpdatedAt": {"order": "desc"}}], +} +response = edgarEntitiesApi.get_data(search_request) +print(response["data"]) +# """ diff --git a/sec_api/__init__.py b/sec_api/__init__.py index bb93a91..2876d34 100644 --- a/sec_api/__init__.py +++ b/sec_api/__init__.py @@ -27,10 +27,13 @@ # Structured data from Form 8-Ks from sec_api.index import Item_4_02_Api +from sec_api.index import Form_8K_Item_X_Api # Other APIs from sec_api.index import MappingApi +from sec_api.index import EdgarEntitiesApi from sec_api.index import FloatApi from sec_api.index import SubsidiaryApi from sec_api.index import AaerApi +from sec_api.index import SecLitigationsApi from sec_api.index import SroFilingsApi diff --git a/sec_api/index.py b/sec_api/index.py index 240950f..fe3d8e5 100644 --- a/sec_api/index.py +++ b/sec_api/index.py @@ -20,6 +20,7 @@ form_d_api_endpoint = "https://api.sec-api.io/form-d" # form_8K_item_4_02_api_endpoint = "https://api.sec-api.io/form-8k" +form_8K_item_x_api_endpoint = "https://api.sec-api.io/form-8k" # exec_comp_api_endpoint = "https://api.sec-api.io/compensation" directors_board_members_api_endpoint = ( @@ -29,9 +30,11 @@ subsidiary_endpoint = "https://api.sec-api.io/subsidiaries" # aaer_search_endpoint = "https://api.sec-api.io/aaers" +sec_litigations_search_endpoint = "https://api.sec-api.io/sec-litigation-releases" sro_search_endpoint = "https://api.sec-api.io/sro" # mapping_api_endpoint = "https://api.sec-api.io/mapping" +edgar_entities_endpoint = "https://api.sec-api.io/edgar-entities" def handle_api_error(response): @@ -729,6 +732,36 @@ def get_data(self, query): handle_api_error(response) +class SecLitigationsApi: + """ + Base class for SEC Litigation Releases API + https://sec-api.io/docs/sec-litigation-releases-database-api + """ + + def __init__(self, api_key, proxies=None): + self.api_key = api_key + self.api_search_endpoint = sec_litigations_search_endpoint + "?token=" + api_key + self.proxies = proxies if proxies else {} + + def get_data(self, query): + response = {} + + # use backoff strategy to handle "too many requests" error. + for x in range(3): + response = requests.post( + self.api_search_endpoint, json=query, proxies=self.proxies + ) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + # wait 500 * (x + 1) milliseconds and try again + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + class SroFilingsApi: """ Base class for SRO Filings Database API @@ -759,6 +792,35 @@ def get_data(self, query): handle_api_error(response) +class Form_8K_Item_X_Api: + """ + Base class for Form 8-K Item X API + """ + + def __init__(self, api_key, proxies=None): + self.api_key = api_key + self.api_endpoint = form_8K_item_x_api_endpoint + "?token=" + api_key + self.proxies = proxies if proxies else {} + + def get_data(self, query): + response = {} + + # use backoff strategy to handle "too many requests" error. + for x in range(3): + response = requests.post( + self.api_endpoint, json=query, proxies=self.proxies + ) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + # wait 500 * (x + 1) milliseconds and try again + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + class Item_4_02_Api: """ Base class for Form 8-K Item 4.02 API @@ -786,3 +848,33 @@ def get_data(self, query): handle_api_error(response) else: handle_api_error(response) + + +class EdgarEntitiesApi: + """ + Base class for EDGAR Entities Database API + https://sec-api.io/docs/edgar-entities-database-api + """ + + def __init__(self, api_key, proxies=None): + self.api_key = api_key + self.api_endpoint = edgar_entities_endpoint + "?token=" + api_key + self.proxies = proxies if proxies else {} + + def get_data(self, query): + response = {} + + # use backoff strategy to handle "too many requests" error. + for x in range(3): + response = requests.post( + self.api_endpoint, json=query, proxies=self.proxies + ) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + # wait 500 * (x + 1) milliseconds and try again + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) diff --git a/setup.py b/setup.py index 8f766b0..7dd4c7d 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setup( name="sec-api", - version="1.0.25", + version="1.0.26", author="SEC API", author_email="support@sec-api.io", description="SEC EDGAR Filings API", From a9efa7f46cd0859faffcee5fa804ac6b0369ec23 Mon Sep 17 00:00:00 2001 From: janlukasschroeder Date: Tue, 4 Feb 2025 11:57:52 -0500 Subject: [PATCH 10/20] fixed SEC litigations API examples --- README.md | 8 ++++---- setup.py | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index a6dcf60..d482b65 100644 --- a/README.md +++ b/README.md @@ -1129,18 +1129,18 @@ print(response["data"]) Access and search the SEC Litigation Releases database. The database includes metadata and extracted structured data from all SEC Litigation Releases filed from 1995 to present. ```python -from sec_api import SecLitigationApi +from sec_api import SecLitigationsApi -secLitigationApi = SecLitigationApi("YOUR_API_KEY") +secLitigationsApi = SecLitigationsApi("YOUR_API_KEY") -query = { +searchRequest = { "query": "releasedAt:[2024-01-01 TO 2024-12-31]", "from": "0", "size": "50", "sort": [{"releasedAt": {"order": "desc"}}], } -response = secLitigationApi.get_data(query) +response = secLitigationsApi.get_data(searchRequest) print(response["data"]) ``` diff --git a/setup.py b/setup.py index 7dd4c7d..02998db 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setup( name="sec-api", - version="1.0.26", + version="1.0.27", author="SEC API", author_email="support@sec-api.io", description="SEC EDGAR Filings API", From 8c181f4347e4bee9d9cb7bc66457392db0b84574 Mon Sep 17 00:00:00 2001 From: janlukasschroeder Date: Mon, 17 Feb 2025 07:57:47 -0500 Subject: [PATCH 11/20] added Form 13F holdings + cover pages API, Form N-PX proxy voting records, SEC enforcement actions, SEC administrative proceedings --- README.md | 255 +++++++++++++++++++++++++++++++++----------- examples.py | 209 ++++++++++++++++++++++++++++-------- sec_api/__init__.py | 26 +++-- sec_api/index.py | 188 +++++++++++++++++++++++++++++++- setup.py | 2 +- 5 files changed, 559 insertions(+), 121 deletions(-) diff --git a/README.md b/README.md index d482b65..211b64a 100644 --- a/README.md +++ b/README.md @@ -1,36 +1,38 @@ # SEC API - A SEC.gov EDGAR Filings Query & Real-Time Stream API -**sec-api** is a Python package allowing you to search the entire SEC EDGAR filings corpus and access petabytes of regulatory information published by public and private companies, insiders such as directors and board members, hedge and mutual funds, financial advisors, business development companies, and more. +**sec-api** is a Python package allowing you to search the entire SEC EDGAR filings corpus and access petabytes of regulatory information published by public and private companies, insiders such as directors and board members, hedge and mutual funds, financial advisors, business development companies, and more. It includes: -It includes: - -**EDGAR Filing Search & Download** +**EDGAR Filing Search & Download APIs** - [SEC Filing Search and Full-Text Search API](#sec-edgar-filings-query-api) - [Real-Time Filing Stream API](#sec-edgar-filings-real-time-stream-api) -- [Filing Download & PDF Render API](#filing-render--download-api) -- [PDF Generator API](#pdf-generator-api) +- [Download API - Download any SEC filing, exhibit and attached file](#filing--exhibit-download-api) +- [PDF Generator API - Download SEC filings and exhibits as PDF](#pdf-generator-api) -**Converter & Extractor APIs:** +**Converter & Extractor APIs** - [XBRL-to-JSON Converter API + Financial Statements](#xbrl-to-json-converter-api) - [10-K/10-Q/8-K Section Extraction API](#10-k10-q8-k-section-extractor-api) -**Ownership Data APIs:** +**Investment Advisers** + +- [Form ADV API - Investment Advisors (Firm & Indvl. Advisors, Brochures, Schedules)](#form-adv-api) + +**Ownership Data APIs** -- [Form 3/4/5 API - Insider Trading](#insider-trading-data-api) -- [Form 13F API - Institutional Investment Manager Holdings](#form-13f-institutional-holdings-database) +- [Form 3/4/5 API - Insider Trading Disclosures](#insider-trading-data-api) +- [Form 13F API - Institutional Investment Manager Holdings & Cover Pages](#form-13f-institutional-holdings-database) - [Form 13D/13G API - Activist and Passive Investor Holdings](#form-13d-13g-api) -- [Form N-PORT API - Mutual Fund Holdings](#form-n-port-api) +- [Form N-PORT API - Mutual Funds, ETFs and Closed-End Fund Holdings](#form-n-port-api) -**Security Offerings APIs:** +**Proxy Voting Records** -- [Form S-1/424B4 API - Registration Statements and Prospectuses (IPOs, Debt/Warrants/... Offerings)](#form-s-1424b4-api) -- [Form D API - Private Security Offerings](#form-d-api) +- [Form N-PX Proxy Voting Records API](#form-n-px-proxy-voting-records-api) -**Investment Advisers:** +**Security Offerings APIs** -- [Form ADV API - Investment Advisors (Firm & Indvl. Advisors, Brochures, Schedules)](#form-adv-api) +- [Form S-1/424B4 API - Registration Statements and Prospectuses (IPOs, Debt/Warrants/... Offerings)](#form-s-1424b4-api) +- [Form D API - Private Security Offerings](#form-d-api) **Structured Material Event Data from Form 8-K** @@ -45,13 +47,15 @@ It includes: - [Outstanding Shares & Public Float](#outstanding-shares--public-float-api) - [Company Subsidiary API](#subsidiary-api) -**Enforcement Actions & SRO Filings:** +**Enforcement Actions, Proceedings, AAERs & SRO Filings** +- [SEC Enforcement Actions](#sec-enforcement-actions-database-api) - [SEC Litigation Releases](#sec-litigation-releases-database-api) +- [SEC Administrative Proceedings](#sec-administrative-proceedings-database-api) - [AAER Database API - Accounting and Auditing Enforcement Releases](#aaer-database-api) - [SRO Filings Database API](#sro-filings-database-api) -**Other APIs:** +**Other APIs** - [CUSIP/CIK/Ticker Mapping API](#cusipcikticker-mapping-api) - [EDGAR Entities Database API](#edgar-entities-database) @@ -154,28 +158,42 @@ print(filings) > See the documentation for more details: https://sec-api.io/docs/full-text-search-api -## Filing Render & Download API +## Filing & Exhibit Download API -Used to download any filing or exhibit. You can process the downloaded filing in memory or save the filing to your hard drive. +Download any SEC EDGAR filing, exhibit and attached file in its original format (HTML, XML, JPEG, Excel, text, PDF, etc.). The API supports downloading all EDGAR form types, including 10-K, 10-Q, 8-K, 13-F, S-1, 424B4, and many others published since 1993 and provides access to over 18 million filings and over 100 million exhibits and filing attachments. Download up to 40 files per second. ```python from sec_api import RenderApi renderApi = RenderApi(api_key="YOUR_API_KEY") -url = "https://www.sec.gov/Archives/edgar/data/1662684/000110465921082303/tm2119986d1_8k.htm" - -filing = renderApi.get_filing(url) - -print(filing) - -# for non-text data, such as a PDF files or an images, -# use get_file() and set `return_binary=True` to get the binary data -pdf_file_url = "https://www.sec.gov/Archives/edgar/data/1798925/999999999724004095/filename1.pdf" -binary_data = renderApi.get_file(pdf_file_url, return_binary=True) - -with open("filename.pdf", "wb") as f: - f.write(binary_data) +# example URLs: SEC filings, exhibits, images, Excel sheets, PDFs +url_8k_html = "https://www.sec.gov/Archives/edgar/data/1045810/000104581023000014/nvda-20230222.htm" +url_8k_txt = "https://www.sec.gov/Archives/edgar/data/1045810/000104581023000014/0001045810-23-000014.txt" +url_exhibit99 = "https://www.sec.gov/Archives/edgar/data/1045810/000104581023000014/q4fy23pr.htm" +url_xbrl_instance = "https://www.sec.gov/Archives/edgar/data/1045810/000104581023000014/nvda-20230222_htm.xml" +url_excel_file = "https://www.sec.gov/Archives/edgar/data/1045810/000104581023000014/Financial_Report.xlsx" +url_pdf_file = "https://www.sec.gov/Archives/edgar/data/1798925/999999999724004095/filename1.pdf" +url_image_file = "https://www.sec.gov/Archives/edgar/data/1424404/000106299324017776/form10kxz001.jpg" + +filing_8k_html = renderApi.get_file(url_8k_html) +filing_8k_txt = renderApi.get_file(url_8k_txt) +exhibit99 = renderApi.get_file(url_exhibit99) +xbrl_instance = renderApi.get_file(url_xbrl_instance) + +# use .get_file() and set return_binary=True +# to get non-text files such as images, PDFs, etc. +excel_file = renderApi.get_file(url_excel_file, return_binary=True) +pdf_file = renderApi.get_file(url_pdf_file, return_binary=True) +image_file = renderApi.get_file(url_image_file, return_binary=True) + +# save files to disk +with open("filing_8k_html.htm", "wb") as f: + f.write(filing_8k_html.encode("utf-8")) +with open("pdf_file.pdf", "wb") as f: + f.write(pdf_file) +with open("image.jpg", "wb") as f: + f.write(image_file) ``` > See the documentation for more details: https://sec-api.io/docs/sec-filings-render-api @@ -189,15 +207,19 @@ from sec_api import PdfGeneratorApi pdfGeneratorApi = PdfGeneratorApi("YOUR_API_KEY") -# Form 8-K exhibit URL -edgar_file_url = "https://www.sec.gov/ix?doc=/Archives/edgar/data/1320695/000132069520000148/ths12-31x201910krecast.htm" -# Form 10-K filing URL -# edgar_file_url = "https://www.sec.gov/Archives/edgar/data/320193/000032019320000096/aapl-20200926.htm" +# examples: 10-K filing, Form 8-K exhibit +url_10k_filing = "https://www.sec.gov/Archives/edgar/data/320193/000032019320000096/aapl-20200926.htm" +url_8k_exhibit_url = "https://www.sec.gov/ix?doc=/Archives/edgar/data/1320695/000132069520000148/ths12-31x201910krecast.htm" -pdf_file = pdfGeneratorApi.get_pdf(edgar_file_url) +# get PDFs +pdf_10k_filing = pdfGeneratorApi.get_pdf(url_10k_filing) +pdf_8k_exhibit = pdfGeneratorApi.get_pdf(url_8k_exhibit_url) -with open("filename.pdf", "wb") as f: - f.write(pdf_file) +# save PDFs to disk +with open("pdf_10k_filing.pdf", "wb") as f: + f.write(pdf_10k_filing) +with open("pdf_8k_exhibit.pdf", "wb") as f: + f.write(pdf_8k_exhibit) ``` > See the documentation for more details: https://sec-api.io/docs/sec-filings-render-api @@ -676,24 +698,51 @@ print(insider_trades["transactions"]) ## Form 13F Institutional Holdings Database -Find the most recently disclosed Form 13F filings that include Tesla as a holding. +Access Form 13F holdings in structured JSON format, including information on current and historical portfolio holdings of SEC-registered funds and investment managers, including issuer name, title of the securities class, CUSIP, CIK and ticker of the holding, value of the position in dollar, the number of shares held, investment discretion, voting authority, and more. ```python -from sec_api import QueryApi +from sec_api import Form13FHoldingsApi -queryApi = QueryApi(api_key="YOUR_API_KEY") +form13FHoldingsApi = Form13FHoldingsApi(api_key="YOUR_API_KEY") -query = { - "query": "formType:\"13F\" AND holdings.ticker:TSLA", +search_params = { + "query": "cik:1350694 AND periodOfReport:2024-03-31", "from": "0", "size": "10", "sort": [{ "filedAt": { "order": "desc" } }] } -filings = queryApi.get_filings(query) +response = form13FHoldingsApi.get_data(search_params) +holdings = response["data"] + +print(holdings) +``` + +> See the documentation for more details: https://sec-api.io/docs/form-13-f-filings-institutional-holdings-api + +## Form 13F Cover Pages API + +Search and access cover pages of Form 13F filings in standardized JSON format. Cover pages include details about the investment manager and fund, such as CIK, SEC file and CRD number, name, address, report type, other managers, and more. + +```python +from sec_api import Form13FCoverPagesApi + +form13FCoverPagesApi = Form13FCoverPagesApi(api_key="YOUR_API_KEY") + +search_params = { + "query": "cik:1698218 AND periodOfReport:[2023-01-1 TO 2024-12-31]", + "from": "0", + "size": "10", + "sort": [{ "filedAt": { "order": "desc" }}] +} + +response = form13FCoverPagesApi.get_data(query) +cover_pages = response["data"] + +print(cover_pages) ``` -> See the documentation for more details: https://sec-api.io/docs/query-api/13f-institutional-ownership-api +> See the documentation for more details: https://sec-api.io/docs/form-13-f-filings-institutional-holdings-api ## Form 13D/13G API @@ -782,20 +831,54 @@ from sec_api import FormNportApi nportApi = FormNportApi("YOUR_API_KEY") -response = nportApi.get_data( - { - "query": "fundInfo.totAssets:[100000000 TO *]", - "from": "0", - "size": "10", - "sort": [{"filedAt": {"order": "desc"}}], - } -) +search_params = { + "query": "fundInfo.totAssets:[100000000 TO *]", + "from": "0", + "size": "10", + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = nportApi.get_data(search_params) print(response["filings"]) ``` > See the documentation for more details: https://sec-api.io/docs/n-port-data-api +## Form N-PX Proxy Voting Records API + +The Form N-PX API consists of two APIs: the N-PX Search API and the Voting Records API. The N-PX Search API enables filtering all N-PX filings published on the SEC EDGAR database since 2024. The API accepts search queries as JSON formatted payload and returns the matching N-PX filings in JSON format. The Voting Records API allows downloading the proxy voting records in structured JSON format for a specific filing by providing the filing's accession number. + +```python +from sec_api import FormNPXApi + +formNpxApi = FormNPXApi("YOUR_API_KEY") + +search_params = { + "query": "cik:884546", + "from": "0", + "size": "1", + "sort": [{"filedAt": {"order": "desc"}}], +} + +# get N-PX filing metadata: registrant type, investment company type, +# series and class IDs, report type, period of report, and more +response = formNpxApi.get_metadata(search_params) +npx_filing_metadata = response["data"] + +print(npx_filing_metadata) + +# get proxy voting records: issuer name, CUSIP, meeting date, vote description, +# vote categories, shares voted, how voted, management recommendation, and more +accessionNo = npx_filing_metadata[0]["accessionNo"] +response = formNpxApi.get_voting_records(accessionNo) +voting_records = response["proxyVotingRecords"] + +print(voting_records[0]) +``` + +> See the documentation for more details: https://sec-api.io/docs/form-npx-proxy-voting-records-api + ## Form S-1/424B4 API Access and find structured and standardized data extracted from S-1, F-1, and S-11 registration statements as well as 424B4 prospectus filings. The JSON data includes public offering prices, underwriting discounts, proceeds before expenses, security types being offered, underwriters (lead and co-managers), law firms, auditors, employee counts and management information (name, age, position). @@ -1102,27 +1185,27 @@ print(response["data"]) } ``` -## AAER Database API +## SEC Enforcement Actions Database API -Access and search the Accounting and Auditing Enforcement Releases (AAER) database. The database includes all AAERs filed from 1997 to present. +Access and search SEC enforcement actions published from 1997 to present. The database includes information about the parties involved in the action, nature of charges and complaints, penalty amounts, requested reliefs, violated rules and regulations, and more. ```python -from sec_api import AaerApi +from sec_api import SecEnforcementActionsApi -aaerApi = AaerApi("YOUR_API_KEY") +enforcementActionsApi = SecEnforcementActionsApi("YOUR_API_KEY") -query = { - "query": "dateTime:[2012-01-01 TO 2020-12-31]", +search_params = { + "query": "releasedAt:[2024-01-01 TO 2024-12-31]", "from": "0", "size": "50", - "sort": [{"dateTime": {"order": "desc"}}], + "sort": [{"releasedAt": {"order": "desc"}}], } -response = aaerApi.get_data(query) +response = enforcementActionsApi.get_data(search_params) print(response["data"]) ``` -> See the documentation for more details: https://sec-api.io/docs/aaer-database-api +> See the documentation for more details: https://sec-api.io/docs/sec-enforcement-actions-database-api ## SEC Litigation Releases Database API @@ -1146,6 +1229,50 @@ print(response["data"]) > See the documentation for more details: https://sec-api.io/docs/sec-litigation-releases-database-api +## SEC Administrative Proceedings Database API + +Access and search all 18,000+ administrative proceedings filed by the SEC from 1995 to present. The database includes information about respondents (name, CIK, ticker), type of proceeding, publication dates, complaints and orders, violated rules and regulations, disgorgement amounts, penalties, and more. + +```python +from sec_api import SecAdministrativeProceedingsApi + +adminProceedingsApi = SecAdministrativeProceedingsApi("YOUR_API_KEY") + +searchRequest = { + "query": "releasedAt:[2024-01-01 TO 2024-12-31]", + "from": "0", + "size": "50", + "sort": [{"releasedAt": {"order": "desc"}}], +} + +response = adminProceedingsApi.get_data(searchRequest) +print(response["data"]) +``` + +> See the documentation for more details: https://sec-api.io/docs/sec-administrative-proceedings-database-api + +## AAER Database API + +Access and search the Accounting and Auditing Enforcement Releases (AAER) database. The database includes all AAERs filed from 1997 to present. + +```python +from sec_api import AaerApi + +aaerApi = AaerApi("YOUR_API_KEY") + +query = { + "query": "dateTime:[2012-01-01 TO 2020-12-31]", + "from": "0", + "size": "50", + "sort": [{"dateTime": {"order": "desc"}}], +} + +response = aaerApi.get_data(query) +print(response["data"]) +``` + +> See the documentation for more details: https://sec-api.io/docs/aaer-database-api + ## SRO Filings Database API Access and search all SRO filings published from 1995 to present. The database includes more than 30,000 SRO filings from all types of organizations, including National Securities Exchanges (NYSE, NASDAQ, CBOE, etc.), Joint Industry Plans, FINRA, Futures Exchanges (CME, CBOT, etc.), and more. diff --git a/examples.py b/examples.py index e6e15fd..4cf7ccd 100644 --- a/examples.py +++ b/examples.py @@ -3,21 +3,34 @@ PdfGeneratorApi, XbrlApi, ExtractorApi, - DirectorsBoardMembersApi, - ExecCompApi, + # + FormAdvApi, + # InsiderTradingApi, + Form13FHoldingsApi, + Form13FCoverPagesApi, FormNportApi, - FormDApi, - FormAdvApi, - FloatApi, Form13DGApi, + # + FormNPXApi, + # Form_S1_424B4_Api, + FormDApi, + # + Item_4_02_Api, + Form_8K_Item_X_Api, + # + DirectorsBoardMembersApi, + ExecCompApi, SubsidiaryApi, - AaerApi, + FloatApi, + # + SecEnforcementActionsApi, SecLitigationsApi, + SecAdministrativeProceedingsApi, + AaerApi, SroFilingsApi, - Item_4_02_Api, - Form_8K_Item_X_Api, + # MappingApi, EdgarEntitiesApi, ) @@ -26,25 +39,37 @@ # Render API # """ -renderApi = RenderApi("YOUR_API_KEY") - -# 10-K HTM File URL example -filing_data = renderApi.get_filing( - # url="https://www.sec.gov/Archives/edgar/data/320193/000032019320000096/aapl-20200926.htm" - url="https://www.sec.gov/ix?doc=/Archives/edgar/data/1320695/000132069520000148/ths12-31x201910krecast.htm" -) - -print(filing_data[:300]) - -# for non-text data, such as a PDF files or an images, -# use get_file() and set `return_binary=True` to get the binary data -pdf_file_url = ( - "https://www.sec.gov/Archives/edgar/data/1798925/999999999724004095/filename1.pdf" -) -binary_data = renderApi.get_file(pdf_file_url, return_binary=True) - -with open("filename.pdf", "wb") as f: - f.write(binary_data) +from sec_api import RenderApi + +renderApi = RenderApi(api_key="YOUR_API_KEY") + +# example URLs: SEC filings, exhibits, images, Excel sheets, PDFs +url_8k_html = "https://www.sec.gov/Archives/edgar/data/1045810/000104581023000014/nvda-20230222.htm" +url_8k_txt = "https://www.sec.gov/Archives/edgar/data/1045810/000104581023000014/0001045810-23-000014.txt" +url_exhibit99 = "https://www.sec.gov/Archives/edgar/data/1045810/000104581023000014/q4fy23pr.htm" +url_xbrl_instance = "https://www.sec.gov/Archives/edgar/data/1045810/000104581023000014/nvda-20230222_htm.xml" +url_excel_file = "https://www.sec.gov/Archives/edgar/data/1045810/000104581023000014/Financial_Report.xlsx" +url_pdf_file = "https://www.sec.gov/Archives/edgar/data/1798925/999999999724004095/filename1.pdf" +url_image_file = "https://www.sec.gov/Archives/edgar/data/1424404/000106299324017776/form10kxz001.jpg" + +filing_8k_html = renderApi.get_file(url_8k_html) +filing_8k_txt = renderApi.get_file(url_8k_txt) +exhibit99 = renderApi.get_file(url_exhibit99) +xbrl_instance = renderApi.get_file(url_xbrl_instance) + +# use .get_file() and set return_binary=True +# to get non-text files such as images, PDFs, etc. +excel_file = renderApi.get_file(url_excel_file, return_binary=True) +pdf_file = renderApi.get_file(url_pdf_file, return_binary=True) +image_file = renderApi.get_file(url_image_file, return_binary=True) + +# save files to disk +with open("filing_8k_html.htm", "wb") as f: + f.write(filing_8k_html.encode("utf-8")) +with open("pdf_file.pdf", "wb") as f: + f.write(pdf_file) +with open("image.jpg", "wb") as f: + f.write(image_file) # """ # @@ -53,15 +78,19 @@ """ pdfGeneratorApi = PdfGeneratorApi("YOUR_API_KEY") -# Form 8-K exhibit URL -edgar_file_url = "https://www.sec.gov/ix?doc=/Archives/edgar/data/1320695/000132069520000148/ths12-31x201910krecast.htm" -# Form 10-K filing URL -# edgar_file_url = "https://www.sec.gov/Archives/edgar/data/320193/000032019320000096/aapl-20200926.htm" +# examples: 10-K filing, Form 8-K exhibit +url_10k_filing = "https://www.sec.gov/Archives/edgar/data/320193/000032019320000096/aapl-20200926.htm" +url_8k_exhibit_url = "https://www.sec.gov/ix?doc=/Archives/edgar/data/1320695/000132069520000148/ths12-31x201910krecast.htm" -pdf_file = pdfGeneratorApi.get_pdf(edgar_file_url) +# get PDFs +pdf_10k_filing = pdfGeneratorApi.get_pdf(url_10k_filing) +pdf_8k_exhibit = pdfGeneratorApi.get_pdf(url_8k_exhibit_url) -with open("filename.pdf", "wb") as f: - f.write(pdf_file) +# save PDFs to disk +with open("pdf_10k_filing.pdf", "wb") as f: + f.write(pdf_10k_filing) +with open("pdf_8k_exhibit.pdf", "wb") as f: + f.write(pdf_8k_exhibit) # """ @@ -184,6 +213,45 @@ print(insider_trades["transactions"]) # """ + +# +# Form 13F Holdings API Example +# +""" +form13FHoldingsApi = Form13FHoldingsApi("YOUR_API_KEY") + +search_params = { + "query": "cik:1698218", + "from": "0", + "size": "50", + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = form13FHoldingsApi.get_data(search_params) + +print(response["data"]) +# """ + + +# +# Form 13F Cover Pages API Example +# +""" +form13FCoverPagesApi = Form13FCoverPagesApi("YOUR_API_KEY") + +search_params = { + "query": "cik:1698218", + "from": "0", + "size": "50", + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = form13FCoverPagesApi.get_data(search_params) + +print(response["data"]) +# """ + + # # Form NPORT API Example # @@ -295,6 +363,31 @@ # """ +# +# Form N-PX API Examples +# +""" +formNpxApi = FormNPXApi("YOUR_API_KEY") + +search_params = { + "query": "cik:884546", + "from": "0", + "size": "1", + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = formNpxApi.get_metadata(search_params) +npx_filing_metadata = response["data"] + +print(npx_filing_metadata) + +accessionNo = npx_filing_metadata[0]["accessionNo"] +response = formNpxApi.get_voting_records(accessionNo) + +print(response["proxyVotingRecords"][0]) +# """ + + # # Form S-1/424B4 API Example # @@ -330,25 +423,23 @@ print(response["data"]) # """ - # -# AAER API Example +# SEC Enforcement Actions API Example # """ -aaerApi = AaerApi("YOUR_API_KEY") +enforcementActionsApi = SecEnforcementActionsApi("YOUR_API_KEY") -query = { - "query": "dateTime:[2012-01-01 TO 2020-12-31]", +search_params = { + "query": "releasedAt:[2024-01-01 TO 2024-12-31]", "from": "0", "size": "50", - "sort": [{"dateTime": {"order": "desc"}}], + "sort": [{"releasedAt": {"order": "desc"}}], } -response = aaerApi.get_data(query) +response = enforcementActionsApi.get_data(search_params) print(response["data"]) # """ - # # SEC Litigation Releases API Example # @@ -366,6 +457,40 @@ print(response["data"]) # """ +# +# SEC Administrative Proceedings API Example +# +""" +adminProceedingsApi = SecAdministrativeProceedingsApi("YOUR_API_KEY") + +search_params = { + "query": "releasedAt:[2024-01-01 TO 2024-12-31]", + "from": "0", + "size": "50", + "sort": [{"releasedAt": {"order": "desc"}}], +} + +response = adminProceedingsApi.get_data(search_params) +print(response["data"]) +# """ + +# +# AAER API Example +# +""" +aaerApi = AaerApi("YOUR_API_KEY") + +query = { + "query": "dateTime:[2012-01-01 TO 2020-12-31]", + "from": "0", + "size": "50", + "sort": [{"dateTime": {"order": "desc"}}], +} + +response = aaerApi.get_data(query) +print(response["data"]) +# """ + # # SRO Filings API Example diff --git a/sec_api/__init__.py b/sec_api/__init__.py index 2876d34..e774b63 100644 --- a/sec_api/__init__.py +++ b/sec_api/__init__.py @@ -8,16 +8,16 @@ from sec_api.index import XbrlApi from sec_api.index import ExtractorApi - -# Directors, Executives and Board Members APIs -from sec_api.index import ExecCompApi -from sec_api.index import DirectorsBoardMembersApi - # Ownership APIs from sec_api.index import InsiderTradingApi +from sec_api.index import Form13FHoldingsApi +from sec_api.index import Form13FCoverPagesApi from sec_api.index import FormNportApi from sec_api.index import Form13DGApi +# Form N-PX Proxy Voting Records +from sec_api.index import FormNPXApi + # Offering APIs from sec_api.index import Form_S1_424B4_Api from sec_api.index import FormDApi @@ -29,11 +29,19 @@ from sec_api.index import Item_4_02_Api from sec_api.index import Form_8K_Item_X_Api -# Other APIs -from sec_api.index import MappingApi -from sec_api.index import EdgarEntitiesApi +# Directors, Executives and Board Members APIs +from sec_api.index import ExecCompApi +from sec_api.index import DirectorsBoardMembersApi from sec_api.index import FloatApi from sec_api.index import SubsidiaryApi -from sec_api.index import AaerApi + +# Enforcement Actions, Litigations and Administrative Proceedings, SRO Filings +from sec_api.index import SecEnforcementActionsApi from sec_api.index import SecLitigationsApi +from sec_api.index import SecAdministrativeProceedingsApi +from sec_api.index import AaerApi from sec_api.index import SroFilingsApi + +# Other APIs +from sec_api.index import EdgarEntitiesApi +from sec_api.index import MappingApi diff --git a/sec_api/index.py b/sec_api/index.py index fe3d8e5..6fafc8a 100644 --- a/sec_api/index.py +++ b/sec_api/index.py @@ -13,9 +13,13 @@ form_adv_endpoint = "https://api.sec-api.io/form-adv" # insider_api_endpoint = "https://api.sec-api.io/insider-trading" +form_13F_holdings_endpoint = "https://api.sec-api.io/form-13f/holdings" +form_13F_cover_pages_endpoint = "https://api.sec-api.io/form-13f/cover-pages" form_nport_api_endpoint = "https://api.sec-api.io/form-nport" form_13D_13G_endpoint = "https://api.sec-api.io/form-13d-13g" # +form_NPX_endpoint = "https://api.sec-api.io/form-npx" +# form_S1_424B4_endpoint = "https://api.sec-api.io/form-s1-424b4" form_d_api_endpoint = "https://api.sec-api.io/form-d" # @@ -29,8 +33,12 @@ float_api_endpoint = "https://api.sec-api.io/float" subsidiary_endpoint = "https://api.sec-api.io/subsidiaries" # -aaer_search_endpoint = "https://api.sec-api.io/aaers" +sec_enforcement_actions = "https://api.sec-api.io/sec-enforcement-actions" sec_litigations_search_endpoint = "https://api.sec-api.io/sec-litigation-releases" +sec_administrative_proceedings_endpoint = ( + "https://api.sec-api.io/sec-administrative-proceedings" +) +aaer_search_endpoint = "https://api.sec-api.io/aaers" sro_search_endpoint = "https://api.sec-api.io/sro" # mapping_api_endpoint = "https://api.sec-api.io/mapping" @@ -421,6 +429,66 @@ def get_data(self, query): handle_api_error(response) +class Form13FHoldingsApi: + """ + Base class for Form 13F Holdings API + https://sec-api.io/docs/form-13-f-filings-institutional-holdings-api + """ + + def __init__(self, api_key, proxies=None): + self.api_key = api_key + self.api_endpoint = form_13F_holdings_endpoint + "?token=" + api_key + self.proxies = proxies if proxies else {} + + def get_data(self, query): + response = {} + + # use backoff strategy to handle "too many requests" error. + for x in range(3): + response = requests.post( + self.api_endpoint, json=query, proxies=self.proxies + ) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + # wait 500 * (x + 1) milliseconds and try again + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + +class Form13FCoverPagesApi: + """ + Base class for Form 13F Cover Pages API + https://sec-api.io/docs/form-13-f-filings-institutional-holdings-api + """ + + def __init__(self, api_key, proxies=None): + self.api_key = api_key + self.api_endpoint = form_13F_cover_pages_endpoint + "?token=" + api_key + self.proxies = proxies if proxies else {} + + def get_data(self, query): + response = {} + + # use backoff strategy to handle "too many requests" error. + for x in range(3): + response = requests.post( + self.api_endpoint, json=query, proxies=self.proxies + ) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + # wait 500 * (x + 1) milliseconds and try again + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + class FormNportApi: """ Base class for Form NPORT API @@ -644,6 +712,54 @@ def get_data(self, query): handle_api_error(response) +class FormNPXApi: + """ + Base class for Form N-PX Proxy Voting Records API + https://sec-api.io/docs/form-npx-proxy-voting-records-api + """ + + def __init__(self, api_key, proxies=None): + self.api_key = api_key + self.api_endpoint_metadata = form_NPX_endpoint + "?token=" + api_key + self.api_endpoint_records = ( + form_NPX_endpoint + "/?token=" + api_key + ) + self.proxies = proxies if proxies else {} + + def get_metadata(self, query): + response = {} + + # use backoff strategy to handle "too many requests" error. + for x in range(3): + response = requests.post( + self.api_endpoint_metadata, json=query, proxies=self.proxies + ) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + def get_voting_records(self, accessionNo): + api_endpoint = self.api_endpoint_records.replace("", accessionNo) + response = {} + + # use backoff strategy to handle "too many requests" error. + for x in range(3): + response = requests.get(api_endpoint, proxies=self.proxies) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + class Form_S1_424B4_Api: """ Base class for Form S1/424B4 API @@ -702,15 +818,15 @@ def get_data(self, query): handle_api_error(response) -class AaerApi: +class SecEnforcementActionsApi: """ - Base class for AAER Database API - https://sec-api.io/docs/aaer-database-api + Base class for SEC Enforcement Actions API + https://sec-api.io/docs/sec-enforcement-actions-database-api """ def __init__(self, api_key, proxies=None): self.api_key = api_key - self.api_search_endpoint = aaer_search_endpoint + "?token=" + api_key + self.api_search_endpoint = sec_enforcement_actions + "?token=" + api_key self.proxies = proxies if proxies else {} def get_data(self, query): @@ -762,6 +878,68 @@ def get_data(self, query): handle_api_error(response) +class SecAdministrativeProceedingsApi: + """ + Base class for SEC Administrative Proceedings API + https://sec-api.io/docs/sec-administrative-proceedings-database-api + """ + + def __init__(self, api_key, proxies=None): + self.api_key = api_key + self.api_search_endpoint = ( + sec_administrative_proceedings_endpoint + "?token=" + api_key + ) + self.proxies = proxies if proxies else {} + + def get_data(self, query): + response = {} + + # use backoff strategy to handle "too many requests" error. + for x in range(3): + response = requests.post( + self.api_search_endpoint, json=query, proxies=self.proxies + ) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + # wait 500 * (x + 1) milliseconds and try again + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + +class AaerApi: + """ + Base class for AAER Database API + https://sec-api.io/docs/aaer-database-api + """ + + def __init__(self, api_key, proxies=None): + self.api_key = api_key + self.api_search_endpoint = aaer_search_endpoint + "?token=" + api_key + self.proxies = proxies if proxies else {} + + def get_data(self, query): + response = {} + + # use backoff strategy to handle "too many requests" error. + for x in range(3): + response = requests.post( + self.api_search_endpoint, json=query, proxies=self.proxies + ) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + # wait 500 * (x + 1) milliseconds and try again + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + class SroFilingsApi: """ Base class for SRO Filings Database API diff --git a/setup.py b/setup.py index 02998db..fdab23f 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setup( name="sec-api", - version="1.0.27", + version="1.0.28", author="SEC API", author_email="support@sec-api.io", description="SEC EDGAR Filings API", From 34a7ae1805b1c2e875776dff78f29ab8d035242b Mon Sep 17 00:00:00 2001 From: janlukasschroeder Date: Mon, 24 Feb 2025 09:47:00 -0500 Subject: [PATCH 12/20] added Form C API - Crowdfunding Campaigns --- README.md | 24 ++++++++++++++++++++++++ examples.py | 19 +++++++++++++++++++ sec_api/__init__.py | 1 + sec_api/index.py | 31 +++++++++++++++++++++++++++++++ setup.py | 2 +- 5 files changed, 76 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 211b64a..64977ef 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,7 @@ **Security Offerings APIs** - [Form S-1/424B4 API - Registration Statements and Prospectuses (IPOs, Debt/Warrants/... Offerings)](#form-s-1424b4-api) +- [Form C API - Crowdfunding Offerings & Campaigns](#form-c-api---crowdfunding-campaigns) - [Form D API - Private Security Offerings](#form-d-api) **Structured Material Event Data from Form 8-K** @@ -901,6 +902,29 @@ print(response["data"]) > See the documentation for more details: https://sec-api.io/docs/form-s1-424b4-data-search-api +## Form C API - Crowdfunding Campaigns + +Search and access Form C filings of crowdfunding campaigns from 2016 to present. The database includes information about the issuer (name, number of employees, total assets, etc), the target amount to be raised, the type of security offered, the deadline of the campaign, and more. + +```python +from sec_api import FormCApi + +formCApi = FormCApi("YOUR_API_KEY") + +search_params = { + "query": "id:*", + "from": "0", + "size": "10", + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = formCApi.get_data(search_params) + +print(response["data"]) +``` + +> See the documentation for more details: https://sec-api.io/docs/form-c-crowdfunding-api + ## Form D API Search and find Form D offering filings by any filing property, e.g. total offering amount, offerings filed by hedge funds, type of securities offered and many more. diff --git a/examples.py b/examples.py index 4cf7ccd..a2f2888 100644 --- a/examples.py +++ b/examples.py @@ -15,6 +15,7 @@ FormNPXApi, # Form_S1_424B4_Api, + FormCApi, FormDApi, # Item_4_02_Api, @@ -270,6 +271,24 @@ print(response["filings"]) # """ +# +# Form C API Example +# +""" +formCApi = FormCApi("YOUR_API_KEY") + +search_params = { + "query": "id:*", + "from": "0", + "size": "10", + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = formCApi.get_data(search_params) + +print(response["data"]) +# """ + # # Form D API Example # diff --git a/sec_api/__init__.py b/sec_api/__init__.py index e774b63..32415b9 100644 --- a/sec_api/__init__.py +++ b/sec_api/__init__.py @@ -20,6 +20,7 @@ # Offering APIs from sec_api.index import Form_S1_424B4_Api +from sec_api.index import FormCApi from sec_api.index import FormDApi # Investment Adviser API diff --git a/sec_api/index.py b/sec_api/index.py index 6fafc8a..f462c23 100644 --- a/sec_api/index.py +++ b/sec_api/index.py @@ -22,6 +22,7 @@ # form_S1_424B4_endpoint = "https://api.sec-api.io/form-s1-424b4" form_d_api_endpoint = "https://api.sec-api.io/form-d" +form_C_endpoint = "https://api.sec-api.io/form-c" # form_8K_item_4_02_api_endpoint = "https://api.sec-api.io/form-8k" form_8K_item_x_api_endpoint = "https://api.sec-api.io/form-8k" @@ -518,6 +519,36 @@ def get_data(self, query): handle_api_error(response) +class FormCApi: + """ + Base class for Form C API + https://sec-api.io/docs/form-c-crowdfunding-api + """ + + def __init__(self, api_key, proxies=None): + self.api_key = api_key + self.api_endpoint = form_C_endpoint + "?token=" + api_key + self.proxies = proxies if proxies else {} + + def get_data(self, query): + response = {} + + # use backoff strategy to handle "too many requests" error. + for x in range(3): + response = requests.post( + self.api_endpoint, json=query, proxies=self.proxies + ) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + # wait 500 * (x + 1) milliseconds and try again + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + class FormDApi: """ Base class for Form D API diff --git a/setup.py b/setup.py index fdab23f..5dc9894 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setup( name="sec-api", - version="1.0.28", + version="1.0.29", author="SEC API", author_email="support@sec-api.io", description="SEC EDGAR Filings API", From ce591f9a3cd1e51068c66b3874bd88d414e708c4 Mon Sep 17 00:00:00 2001 From: janlukasschroeder Date: Mon, 17 Mar 2025 06:31:03 -0400 Subject: [PATCH 13/20] added APIs for Regulation A filings: Form 1-A, Form 1-K, Form 1-Z --- .gitignore | 3 +- README.md | 99 ++++++++++++++++++++++++++++++++++++- examples.py | 86 ++++++++++++++++++++++++++++++++ sec_api/__init__.py | 4 ++ sec_api/index.py | 116 ++++++++++++++++++++++++++++++++++++++++++++ setup.py | 2 +- 6 files changed, 306 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 19c63a9..7ec69ef 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,5 @@ build .pypirc sec_api.egg-info deploy.sh -sec_api/__pycache__ \ No newline at end of file +sec_api/__pycache__ +requirements.txt \ No newline at end of file diff --git a/README.md b/README.md index 64977ef..70e3677 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ -# SEC API - A SEC.gov EDGAR Filings Query & Real-Time Stream API +# SEC API - Access SEC and EDGAR Data with Python -**sec-api** is a Python package allowing you to search the entire SEC EDGAR filings corpus and access petabytes of regulatory information published by public and private companies, insiders such as directors and board members, hedge and mutual funds, financial advisors, business development companies, and more. It includes: +[![Downloads](https://pepy.tech/badge/sec-api)](https://pepy.tech/project/sec-api) [![Documentation](https://img.shields.io/badge/Documentation-sec--api.io-blue)](https://sec-api.io/docs) + +**sec-api** is a Python package for searching and accessing the entire SEC EDGAR filings corpus, providing access to petabytes of regulatory data from public and private companies, insiders (directors, board members, etc.), funds (ETFs, hedge funds, etc.), financial advisors, business development companies, and more. It includes: **EDGAR Filing Search & Download APIs** @@ -34,6 +36,7 @@ - [Form S-1/424B4 API - Registration Statements and Prospectuses (IPOs, Debt/Warrants/... Offerings)](#form-s-1424b4-api) - [Form C API - Crowdfunding Offerings & Campaigns](#form-c-api---crowdfunding-campaigns) - [Form D API - Private Security Offerings](#form-d-api) +- [Regulation A APIs - Offering Statements by Small Companies (Form 1-A, Form 1-K, Form 1-Z)](#regulation-a-apis) **Structured Material Event Data from Form 8-K** @@ -948,6 +951,98 @@ print(response["offerings"]) > See the documentation for more details: https://sec-api.io/docs/form-d-xml-json-api +## Regulation A APIs + +Access and search all Regulation A offering statements (Tier 1 and 2) filed with the SEC from 2015 to present. The database includes Form 1-A (offerings), Form 1-K (annual reports) and Form 1-Z (exit report) filings as well as withdrawls and amendments. Information about the issuer (total assets, debt, etc.), offering (type, total amount, offering price, auditor, etc.), and more is available. + +### Search All Regulation A Filings + +```python +from sec_api import RegASearchAllApi + +regASearchAllApi = RegASearchAllApi("YOUR_API_KEY") + +search_params = { + "query": "filedAt:[2024-01-01 TO 2024-12-31]", + "from": "0", # increase by 50 to fetch the next 50 results + "size": "50", + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = regASearchAllApi.get_data(search_params) +offeringStatement = response["data"][0] + +print(offeringStatement) +``` + +> See the documentation for more details: https://sec-api.io/docs/reg-a-offering-statements-api + +### Form 1-A API + +```python +from sec_api import Form1AApi + +form1AApi = Form1AApi("YOUR_API_KEY") + +search_params = { + "query": "summaryInfo.indicateTier1Tier2Offering:Tier1", + "from": "0", + "size": "50", + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = form1AApi.get_data(search_params) +form1A = response["data"][0] + +print(form1A) +``` + +> See the documentation for more details: https://sec-api.io/docs/reg-a-offering-statements-api + +### Form 1-K API + +```python +from sec_api import Form1KApi + +form1KApi = Form1KApi("YOUR_API_KEY") + +search_params = { + "query": "fileNo:24R-00472", + "from": "0", + "size": "50", + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = form1KApi.get_data(search_params) +form1Ks = response["data"] + +print(form1Ks) +``` + +> See the documentation for more details: https://sec-api.io/docs/reg-a-offering-statements-api + +### Form 1-Z API + +```python +from sec_api import Form1ZApi + +form1ZApi = Form1ZApi("YOUR_API_KEY") + +search_params = { + "query": "cik:*", + "from": "0", + "size": "50", + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = form1ZApi.get_data(search_params) +form1Zs = response["data"] + +print(form1Zs) +``` + +> See the documentation for more details: https://sec-api.io/docs/reg-a-offering-statements-api + ## Structured Data of Material Event Disclosures under Form 8-K ### Auditor and Accountant Changes (Item 4.01) diff --git a/examples.py b/examples.py index a2f2888..8280474 100644 --- a/examples.py +++ b/examples.py @@ -17,6 +17,10 @@ Form_S1_424B4_Api, FormCApi, FormDApi, + RegASearchAllApi, + Form1AApi, + Form1KApi, + Form1ZApi, # Item_4_02_Api, Form_8K_Item_X_Api, @@ -307,6 +311,88 @@ print(response["offerings"]) # """ +# +# Regulation A Search All API Example +# +""" +regASearchAllApi = RegASearchAllApi("YOUR_API_KEY") + +search_params = { + "query": "filedAt:[2024-01-01 TO 2024-12-31]", + "from": "0", # increase by 50 to fetch the next 50 results + "size": "50", + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = regASearchAllApi.get_data(search_params) +offeringStatement = response["data"][0] + +print(offeringStatement) +# """ + +# +# Form 1-A API +# +""" +from sec_api import Form1AApi + +form1AApi = Form1AApi("YOUR_API_KEY") + +search_params = { + "query": "summaryInfo.indicateTier1Tier2Offering:Tier1", + "from": "0", + "size": "50", + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = form1AApi.get_data(search_params) +form1A = response["data"][0] + +print(form1A) +# """ + +# +# Form 1-K API +# +""" +from sec_api import Form1KApi + +form1KApi = Form1KApi("YOUR_API_KEY") + +search_params = { + "query": "fileNo:24R-00472", + "from": "0", + "size": "50", + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = form1KApi.get_data(search_params) +form1Ks = response["data"] + +print(form1Ks) +# """ + +# +# Form 1-Z API +# +""" +from sec_api import Form1ZApi + +form1ZApi = Form1ZApi("YOUR_API_KEY") + +search_params = { + "query": "cik:*", + "from": "0", + "size": "50", + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = form1ZApi.get_data(search_params) +form1Zs = response["data"] + +print(form1Zs) +# """ + # # Form ADV API Example diff --git a/sec_api/__init__.py b/sec_api/__init__.py index 32415b9..d394517 100644 --- a/sec_api/__init__.py +++ b/sec_api/__init__.py @@ -22,6 +22,10 @@ from sec_api.index import Form_S1_424B4_Api from sec_api.index import FormCApi from sec_api.index import FormDApi +from sec_api.index import RegASearchAllApi +from sec_api.index import Form1AApi +from sec_api.index import Form1KApi +from sec_api.index import Form1ZApi # Investment Adviser API from sec_api.index import FormAdvApi diff --git a/sec_api/index.py b/sec_api/index.py index f462c23..103dedf 100644 --- a/sec_api/index.py +++ b/sec_api/index.py @@ -23,6 +23,10 @@ form_S1_424B4_endpoint = "https://api.sec-api.io/form-s1-424b4" form_d_api_endpoint = "https://api.sec-api.io/form-d" form_C_endpoint = "https://api.sec-api.io/form-c" +reg_A_search_all_endpoint = "https://api.sec-api.io/reg-a/search" +form_1A_endpoint = "https://api.sec-api.io/reg-a/form-1a" +form_1K_endpoint = "https://api.sec-api.io/reg-a/form-1k" +form_1Z_endpoint = "https://api.sec-api.io/reg-a/form-1z" # form_8K_item_4_02_api_endpoint = "https://api.sec-api.io/form-8k" form_8K_item_x_api_endpoint = "https://api.sec-api.io/form-8k" @@ -578,6 +582,118 @@ def get_data(self, query): handle_api_error(response) +class RegASearchAllApi: + """ + Base class for Regulation A Search All API + https://sec-api.io/docs/reg-a-offering-statements-api#search-api-endpoint + """ + + def __init__(self, api_key, proxies=None): + self.api_key = api_key + self.api_endpoint = reg_A_search_all_endpoint + "?token=" + api_key + self.proxies = proxies if proxies else {} + + def get_data(self, query): + response = {} + + for x in range(3): + response = requests.post( + self.api_endpoint, json=query, proxies=self.proxies + ) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + +class Form1AApi: + """ + Base class for Form 1-A API + https://sec-api.io/docs/reg-a-offering-statements-api#form-1-a-offering-statements-api + """ + + def __init__(self, api_key, proxies=None): + self.api_key = api_key + self.api_endpoint = form_1A_endpoint + "?token=" + api_key + self.proxies = proxies if proxies else {} + + def get_data(self, query): + response = {} + + for x in range(3): + response = requests.post( + self.api_endpoint, json=query, proxies=self.proxies + ) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + +class Form1KApi: + """ + Base class for Form 1-K API + https://sec-api.io/docs/reg-a-offering-statements-api#form-1-k-annual-reports-api + """ + + def __init__(self, api_key, proxies=None): + self.api_key = api_key + self.api_endpoint = form_1K_endpoint + "?token=" + api_key + self.proxies = proxies if proxies else {} + + def get_data(self, query): + response = {} + + for x in range(3): + response = requests.post( + self.api_endpoint, json=query, proxies=self.proxies + ) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + +class Form1ZApi: + """ + Base class for Form 1-Z API + https://sec-api.io/docs/reg-a-offering-statements-api#form-1-z-exit-reports-api + """ + + def __init__(self, api_key, proxies=None): + self.api_key = api_key + self.api_endpoint = form_1Z_endpoint + "?token=" + api_key + self.proxies = proxies if proxies else {} + + def get_data(self, query): + response = {} + + for x in range(3): + response = requests.post( + self.api_endpoint, json=query, proxies=self.proxies + ) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + class FormAdvApi: """ Base class for Form ADV API diff --git a/setup.py b/setup.py index 5dc9894..a798695 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setup( name="sec-api", - version="1.0.29", + version="1.0.30", author="SEC API", author_email="support@sec-api.io", description="SEC EDGAR Filings API", From e8f2780108e87d3479af94c7eede6848b9c1b3ef Mon Sep 17 00:00:00 2001 From: janlukasschroeder Date: Mon, 24 Mar 2025 05:14:57 -0400 Subject: [PATCH 14/20] added Form 144 API - restricted stock sales notifications --- README.md | 24 ++++++++++++++++++++++++ examples.py | 20 ++++++++++++++++++++ sec_api/__init__.py | 1 + sec_api/index.py | 29 +++++++++++++++++++++++++++++ setup.py | 2 +- 5 files changed, 75 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 70e3677..c90fb9c 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ **Ownership Data APIs** - [Form 3/4/5 API - Insider Trading Disclosures](#insider-trading-data-api) +- [Form 144 API - Restricted Stock Sales by Insiders](#form-144-api) - [Form 13F API - Institutional Investment Manager Holdings & Cover Pages](#form-13f-institutional-holdings-database) - [Form 13D/13G API - Activist and Passive Investor Holdings](#form-13d-13g-api) - [Form N-PORT API - Mutual Funds, ETFs and Closed-End Fund Holdings](#form-n-port-api) @@ -700,6 +701,29 @@ print(insider_trades["transactions"]) ] ``` +## Form 144 API + +The Form 144 API allows you to search and access all Form 144 filings from 2022 to present. Form 144 filings are filed with the SEC by corporate insiders who intend to sell restricted securities, such as vested stocks. The database includes information about the CIK and name of the insider, the issuer name and trading symbol, number of shares intended to be sold, the date of the transaction, the total value of the transaction, and more. + +```python +from sec_api import Form144Api + +form144Api = Form144Api("YOUR_API_KEY") + +search_params = { + "query": "entities.ticker:TSLA", + "from": "0", + "size": "50", + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = form144Api.get_data(search_params) + +print(response["data"]) +``` + +> See the documentation for more details: https://sec-api.io/docs/form-144-restricted-sales-api + ## Form 13F Institutional Holdings Database Access Form 13F holdings in structured JSON format, including information on current and historical portfolio holdings of SEC-registered funds and investment managers, including issuer name, title of the securities class, CUSIP, CIK and ticker of the holding, value of the position in dollar, the number of shares held, investment discretion, voting authority, and more. diff --git a/examples.py b/examples.py index 8280474..225a07f 100644 --- a/examples.py +++ b/examples.py @@ -7,6 +7,7 @@ FormAdvApi, # InsiderTradingApi, + Form144Api, Form13FHoldingsApi, Form13FCoverPagesApi, FormNportApi, @@ -219,6 +220,25 @@ # """ +# +# Form 144 API Example +# +""" +form144Api = Form144Api("YOUR_API_KEY") + +search_params = { + "query": "entities.ticker:TSLA", + "from": "0", + "size": "1", + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = form144Api.get_data(search_params) + +print(response["data"]) +# """ + + # # Form 13F Holdings API Example # diff --git a/sec_api/__init__.py b/sec_api/__init__.py index d394517..270e2e3 100644 --- a/sec_api/__init__.py +++ b/sec_api/__init__.py @@ -10,6 +10,7 @@ # Ownership APIs from sec_api.index import InsiderTradingApi +from sec_api.index import Form144Api from sec_api.index import Form13FHoldingsApi from sec_api.index import Form13FCoverPagesApi from sec_api.index import FormNportApi diff --git a/sec_api/index.py b/sec_api/index.py index 103dedf..a107540 100644 --- a/sec_api/index.py +++ b/sec_api/index.py @@ -13,6 +13,7 @@ form_adv_endpoint = "https://api.sec-api.io/form-adv" # insider_api_endpoint = "https://api.sec-api.io/insider-trading" +form_144_api_endpoint = "https://api.sec-api.io/form-144" form_13F_holdings_endpoint = "https://api.sec-api.io/form-13f/holdings" form_13F_cover_pages_endpoint = "https://api.sec-api.io/form-13f/cover-pages" form_nport_api_endpoint = "https://api.sec-api.io/form-nport" @@ -434,6 +435,34 @@ def get_data(self, query): handle_api_error(response) +class Form144Api: + """ + Base class for Form 144 API + https://sec-api.io/docs/form-144-restricted-sales-api + """ + + def __init__(self, api_key, proxies=None): + self.api_key = api_key + self.api_endpoint = form_144_api_endpoint + "?token=" + api_key + self.proxies = proxies if proxies else {} + + def get_data(self, query): + response = {} + + for x in range(3): + response = requests.post( + self.api_endpoint, json=query, proxies=self.proxies + ) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + class Form13FHoldingsApi: """ Base class for Form 13F Holdings API diff --git a/setup.py b/setup.py index a798695..66cea19 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setup( name="sec-api", - version="1.0.30", + version="1.0.31", author="SEC API", author_email="support@sec-api.io", description="SEC EDGAR Filings API", From 7fa3490e68aefb14bc26997537e81c8d588728a9 Mon Sep 17 00:00:00 2001 From: janlukasschroeder Date: Wed, 23 Apr 2025 03:16:08 -0400 Subject: [PATCH 15/20] added Form N-CEN API --- README.md | 27 +++++++++++++++++++++++++-- examples.py | 19 +++++++++++++++++++ sec_api/__init__.py | 3 +++ sec_api/index.py | 30 ++++++++++++++++++++++++++++++ setup.py | 2 +- 5 files changed, 78 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c90fb9c..a49bd33 100644 --- a/README.md +++ b/README.md @@ -28,9 +28,10 @@ - [Form 13D/13G API - Activist and Passive Investor Holdings](#form-13d-13g-api) - [Form N-PORT API - Mutual Funds, ETFs and Closed-End Fund Holdings](#form-n-port-api) -**Proxy Voting Records** +**Investment Companies** -- [Form N-PX Proxy Voting Records API](#form-n-px-proxy-voting-records-api) +- [Form N-CEN API - Annual Reports](#form-n-cen-api---annual-reports-by-investment-companies) +- [Form N-PX API - Proxy Voting Records](#form-n-px-proxy-voting-records-api) **Security Offerings APIs** @@ -873,6 +874,28 @@ print(response["filings"]) > See the documentation for more details: https://sec-api.io/docs/n-port-data-api +## Form N-CEN API - Annual Reports by Investment Companies + +The Form N-CEN API allows searching and accessing all Form N-CEN filings (annual reports by investment companies) from 2018 to present in a structured JSON format. The database includes information about the investment company, such as CIK, name, address, type of investment company, series information, directors, underwriters, total assets, and more. All types of funds are supported, including master-feeder, index, exchange-traded, money market, and more. + +```python +from sec_api import FormNcenApi + +formNcenApi = FormNcenApi("YOUR_API_KEY") + +search_params = { + "query": 'managementInvestmentQuestionSeriesInfo.fundTypes:"Exchange-Traded Fund"', + "from": "0", + "size": "10", + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = formNcenApi.get_data(search_params) +print(response["data"]) +``` + +> See the documentation for more details: https://sec-api.io/docs/form-ncen-api-annual-reports-investment-companies + ## Form N-PX Proxy Voting Records API The Form N-PX API consists of two APIs: the N-PX Search API and the Voting Records API. The N-PX Search API enables filtering all N-PX filings published on the SEC EDGAR database since 2024. The API accepts search queries as JSON formatted payload and returns the matching N-PX filings in JSON format. The Voting Records API allows downloading the proxy voting records in structured JSON format for a specific filing by providing the filing's accession number. diff --git a/examples.py b/examples.py index 225a07f..353d7e3 100644 --- a/examples.py +++ b/examples.py @@ -13,6 +13,7 @@ FormNportApi, Form13DGApi, # + FormNcenApi, FormNPXApi, # Form_S1_424B4_Api, @@ -488,6 +489,24 @@ # """ +# +# Form N-CEN API Example +# +""" +formNcenApi = FormNcenApi("YOUR_API_KEY") + +search_params = { + "query": "accessionNo:*", + "from": "0", + "size": "10", + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = formNcenApi.get_data(search_params) +print(response["data"]) +# """ + + # # Form N-PX API Examples # diff --git a/sec_api/__init__.py b/sec_api/__init__.py index 270e2e3..6966fbd 100644 --- a/sec_api/__init__.py +++ b/sec_api/__init__.py @@ -16,7 +16,10 @@ from sec_api.index import FormNportApi from sec_api.index import Form13DGApi +# Investment Companies: +# Form N-CEN Annual Reports # Form N-PX Proxy Voting Records +from sec_api.index import FormNcenApi from sec_api.index import FormNPXApi # Offering APIs diff --git a/sec_api/index.py b/sec_api/index.py index a107540..f7f1809 100644 --- a/sec_api/index.py +++ b/sec_api/index.py @@ -19,6 +19,7 @@ form_nport_api_endpoint = "https://api.sec-api.io/form-nport" form_13D_13G_endpoint = "https://api.sec-api.io/form-13d-13g" # +form_NCEN_endpoint = "https://api.sec-api.io/form-ncen" form_NPX_endpoint = "https://api.sec-api.io/form-npx" # form_S1_424B4_endpoint = "https://api.sec-api.io/form-s1-424b4" @@ -888,6 +889,35 @@ def get_data(self, query): handle_api_error(response) +class FormNcenApi: + """ + Base class for Form N-CEN API - Annual Reports of Registered Investment Companies + https://sec-api.io/docs/form-ncen-api-annual-reports-investment-companies + """ + + def __init__(self, api_key, proxies=None): + self.api_key = api_key + self.api_endpoint = form_NCEN_endpoint + "?token=" + api_key + self.proxies = proxies if proxies else {} + + def get_data(self, query): + response = {} + + # use backoff strategy to handle "too many requests" error. + for x in range(3): + response = requests.post( + self.api_endpoint, json=query, proxies=self.proxies + ) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + class FormNPXApi: """ Base class for Form N-PX Proxy Voting Records API diff --git a/setup.py b/setup.py index 66cea19..6f5dae2 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setup( name="sec-api", - version="1.0.31", + version="1.0.32", author="SEC API", author_email="support@sec-api.io", description="SEC EDGAR Filings API", From a576af5d5dcd6381ab4350c0f5ad0568a6c52af7 Mon Sep 17 00:00:00 2001 From: janlukasschroeder Date: Thu, 2 Apr 2026 07:30:25 -0400 Subject: [PATCH 16/20] Add API wrappers, tests, and comprehensive README with response examples - Add DownloadApi class (inherits RenderApi for backward compat), AuditFeesApi, EdgarIndexApi, and 3 new FormAdvApi methods (get_other_business_names, get_separately_managed_accounts, get_financial_industry_affiliations) - Update Download API endpoint from archive.sec-api.io to edgar-mirror.sec-api.io - Add integration test suite (40 tests) covering all API classes - Add collapsible response examples to all README sections with full example response links, matching the NPM package structure - Split Form ADV, Insider Trading (Form 3/4/5), and Form N-PX into sub-sections - Add Bulk Datasets section, Quick Start code, and complete TOC with verified links - Add examples/api-responses/ with JSON response files for all APIs --- .gitignore | 6 +- README.md | 2589 ++++++++-- examples/api-responses/aaer.json | 70 + examples/api-responses/audit-fees.json | 49 + .../directors-board-members.json | 231 + examples/api-responses/edgar-entities.json | 85 + .../edgar-index-ingestion-log.json | 14 + .../api-responses/executive-compensation.json | 66 + examples/api-responses/float.json | 1280 +++++ examples/api-responses/form-13d-13g.json | 115 + .../api-responses/form-13f-cover-pages.json | 48 + examples/api-responses/form-13f-holdings.json | 155 + examples/api-responses/form-144.json | 117 + examples/api-responses/form-8k-item-4-01.json | 41 + examples/api-responses/form-8k-item-4-02.json | 50 + examples/api-responses/form-8k-item-5-02.json | 78 + examples/api-responses/form-8k.json | 50 + .../api-responses/form-adv-brochures.json | 76 + .../api-responses/form-adv-direct-owners.json | 142 + ...m-adv-financial-industry-affiliations.json | 4286 +++++++++++++++++ examples/api-responses/form-adv-firms.json | 624 +++ .../form-adv-indirect-owners.json | 167 + .../api-responses/form-adv-individuals.json | 114 + .../form-adv-other-business-names.json | 413 ++ .../api-responses/form-adv-private-funds.json | 410 ++ .../form-adv-separately-managed-accounts.json | 203 + examples/api-responses/form-c.json | 145 + examples/api-responses/form-d.json | 166 + examples/api-responses/form-ncen.json | 196 + examples/api-responses/form-nport.json | 314 ++ examples/api-responses/form-npx-metadata.json | 70 + .../form-npx-voting-records.json | 89 + examples/api-responses/form-s1-424b4.json | 157 + examples/api-responses/full-text-search.json | 41 + .../api-responses/insider-trading-form3.json | 53 + .../api-responses/insider-trading-form4.json | 168 + .../api-responses/insider-trading-form5.json | 75 + examples/api-responses/mapping.json | 21 + examples/api-responses/query-api-10q.json | 152 + examples/api-responses/query-api-8k.json | 102 + examples/api-responses/reg-a-form-1a.json | 130 + examples/api-responses/reg-a-form-1k.json | 73 + examples/api-responses/reg-a-form-1z.json | 68 + examples/api-responses/reg-a-search.json | 90 + .../sec-administrative-proceedings.json | 78 + .../sec-enforcement-actions.json | 84 + .../sec-litigation-releases.json | 118 + examples/api-responses/sro-filings.json | 31 + examples/api-responses/subsidiary.json | 94 + sec_api/__init__.py | 7 + sec_api/index.py | 103 +- setup.py | 2 +- tests/test_apis.py | 653 +++ 53 files changed, 14362 insertions(+), 397 deletions(-) create mode 100644 examples/api-responses/aaer.json create mode 100644 examples/api-responses/audit-fees.json create mode 100644 examples/api-responses/directors-board-members.json create mode 100644 examples/api-responses/edgar-entities.json create mode 100644 examples/api-responses/edgar-index-ingestion-log.json create mode 100644 examples/api-responses/executive-compensation.json create mode 100644 examples/api-responses/float.json create mode 100644 examples/api-responses/form-13d-13g.json create mode 100644 examples/api-responses/form-13f-cover-pages.json create mode 100644 examples/api-responses/form-13f-holdings.json create mode 100644 examples/api-responses/form-144.json create mode 100644 examples/api-responses/form-8k-item-4-01.json create mode 100644 examples/api-responses/form-8k-item-4-02.json create mode 100644 examples/api-responses/form-8k-item-5-02.json create mode 100644 examples/api-responses/form-8k.json create mode 100644 examples/api-responses/form-adv-brochures.json create mode 100644 examples/api-responses/form-adv-direct-owners.json create mode 100644 examples/api-responses/form-adv-financial-industry-affiliations.json create mode 100644 examples/api-responses/form-adv-firms.json create mode 100644 examples/api-responses/form-adv-indirect-owners.json create mode 100644 examples/api-responses/form-adv-individuals.json create mode 100644 examples/api-responses/form-adv-other-business-names.json create mode 100644 examples/api-responses/form-adv-private-funds.json create mode 100644 examples/api-responses/form-adv-separately-managed-accounts.json create mode 100644 examples/api-responses/form-c.json create mode 100644 examples/api-responses/form-d.json create mode 100644 examples/api-responses/form-ncen.json create mode 100644 examples/api-responses/form-nport.json create mode 100644 examples/api-responses/form-npx-metadata.json create mode 100644 examples/api-responses/form-npx-voting-records.json create mode 100644 examples/api-responses/form-s1-424b4.json create mode 100644 examples/api-responses/full-text-search.json create mode 100644 examples/api-responses/insider-trading-form3.json create mode 100644 examples/api-responses/insider-trading-form4.json create mode 100644 examples/api-responses/insider-trading-form5.json create mode 100644 examples/api-responses/mapping.json create mode 100644 examples/api-responses/query-api-10q.json create mode 100644 examples/api-responses/query-api-8k.json create mode 100644 examples/api-responses/reg-a-form-1a.json create mode 100644 examples/api-responses/reg-a-form-1k.json create mode 100644 examples/api-responses/reg-a-form-1z.json create mode 100644 examples/api-responses/reg-a-search.json create mode 100644 examples/api-responses/sec-administrative-proceedings.json create mode 100644 examples/api-responses/sec-enforcement-actions.json create mode 100644 examples/api-responses/sec-litigation-releases.json create mode 100644 examples/api-responses/sro-filings.json create mode 100644 examples/api-responses/subsidiary.json create mode 100644 tests/test_apis.py diff --git a/.gitignore b/.gitignore index 7ec69ef..1c8cd11 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ venv env +.env dist build .idea @@ -7,4 +8,7 @@ build sec_api.egg-info deploy.sh sec_api/__pycache__ -requirements.txt \ No newline at end of file +requirements.txt +tmp +.superseded +TODO.md \ No newline at end of file diff --git a/README.md b/README.md index a49bd33..1d9dfce 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,67 @@ -# SEC API - Access SEC and EDGAR Data with Python + -**sec-api** is a Python package for searching and accessing the entire SEC EDGAR filings corpus, providing access to petabytes of regulatory data from public and private companies, insiders (directors, board members, etc.), funds (ETFs, hedge funds, etc.), financial advisors, business development companies, and more. It includes: +# SEC-API.io Python Library + + + +**The industry-standard for SEC & EDGAR data**, trusted by the world's largest hedge funds, investment banks, exchanges, law firms, and universities. Developed by PhDs in finance and physics. + +
+ +[![Documentation](https://img.shields.io/badge/Documentation-sec--api.io-blue)](https://sec-api.io/docs) [![Downloads](https://pepy.tech/badge/sec-api)](https://pepy.tech/project/sec-api) + +- **20+ million EDGAR filings** and **100+ million exhibits** — from investor presentations, credit agreements, M&A, government contracts, and executive employment agreements to board composition and subsidiaries +- **800,000+ entities, survivorship-bias free** — covers every SEC-regulated filer that ever reported, including delisted companies, dissolved funds, terminated advisors, and entities no longer reporting. From insiders and public/private companies to ETFs, mutual funds, hedge funds, foreign private issuers, BDCs, REITs, shell companies, and more +- **All 500+ EDGAR form types** — annual and quarterly reports (10-K, 10-Q, 20-F, 40-F), proxy statements (DEF 14A) and voting records, registration statements and prospectuses, and everything in between, including form types no longer in use +- **Full historical time range** — from 1993 to present, with data updated in real-time + +The full API documentation is available at [sec-api.io/docs](https://sec-api.io/docs). + +## Quick Start + +```bash +pip install sec-api +``` + +**Download EDGAR Filings and Exhibits** + +```python +from sec_api import DownloadApi + +# 200+ requests / second per account +downloadApi = DownloadApi(api_key="YOUR_API_KEY") + +filing_url = "https://www.sec.gov/Archives/edgar/data/1318605/000162828025045968/tsla-20250930.htm" + +data = downloadApi.get_file(filing_url) + +print(data[:1000]) +``` + +Get your free API key on [sec-api.io](https://sec-api.io/signup) and replace `YOUR_API_KEY` with it. + +## Feature Overview **EDGAR Filing Search & Download APIs** -- [SEC Filing Search and Full-Text Search API](#sec-edgar-filings-query-api) +- [SEC Filing Search API](#sec-edgar-filings-query-api) +- [Full-Text Search API](#full-text-search-api) - [Real-Time Filing Stream API](#sec-edgar-filings-real-time-stream-api) - [Download API - Download any SEC filing, exhibit and attached file](#filing--exhibit-download-api) - [PDF Generator API - Download SEC filings and exhibits as PDF](#pdf-generator-api) +- [EDGAR Filings Ingestion Logs API](#edgar-filings-ingestion-logs-api) **Converter & Extractor APIs** - [XBRL-to-JSON Converter API + Financial Statements](#xbrl-to-json-converter-api) - [10-K/10-Q/8-K Section Extraction API](#10-k10-q8-k-section-extractor-api) +**Bulk Datasets** + +- [Bulk Datasets - Download complete EDGAR filing datasets](#bulk-datasets) + **Investment Advisers** - [Form ADV API - Investment Advisors (Firm & Indvl. Advisors, Brochures, Schedules)](#form-adv-api) @@ -23,9 +69,12 @@ **Ownership Data APIs** - [Form 3/4/5 API - Insider Trading Disclosures](#insider-trading-data-api) + - [Form 3 - Initial Ownership Statements](#form-3---initial-ownership-statements) + - [Form 4 - Changes in Ownership](#form-4---changes-in-ownership) + - [Form 5 - Annual Ownership Statements](#form-5---annual-ownership-statements) - [Form 144 API - Restricted Stock Sales by Insiders](#form-144-api) - [Form 13F API - Institutional Investment Manager Holdings & Cover Pages](#form-13f-institutional-holdings-database) -- [Form 13D/13G API - Activist and Passive Investor Holdings](#form-13d-13g-api) +- [Form 13D/13G API - Activist and Passive Investor Holdings](#form-13d13g-api) - [Form N-PORT API - Mutual Funds, ETFs and Closed-End Fund Holdings](#form-n-port-api) **Investment Companies** @@ -52,6 +101,7 @@ - [Executive Compensation Data API](#executive-compensation-data-api) - [Outstanding Shares & Public Float](#outstanding-shares--public-float-api) - [Company Subsidiary API](#subsidiary-api) +- [Audit Fees Data API](#audit-fees-data-api) **Enforcement Actions, Proceedings, AAERs & SRO Filings** @@ -66,36 +116,9 @@ - [CUSIP/CIK/Ticker Mapping API](#cusipcikticker-mapping-api) - [EDGAR Entities Database API](#edgar-entities-database) -## Data Coverage - -- Access to over 18 million SEC EDGAR filings from 1993 to the present -- Supports all 150+ filing types, including 10-Q, 10-K, Form 4, 8-K, 13-F, S-1, 424B4, and many others. [See the full list of supported form types here.](https://sec-api.io/list-of-sec-filing-types) -- Real-time access to newly published filings. -- Includes XBRL-to-JSON converter and parser APIs for extracting standardized financial statements from any 10-K or 10-Q filing. -- 13F Holdings API provided, allowing real-time monitoring of institutional ownership. -- Every filing is linked to its corresponding CIK and ticker. -- All filings available in JSON format — no need for XBRL/XML parsing. - -## Overview - -- The Query API gives access to all over 18 million SEC EDGAR filings of over 8,000 publicly listed companies, ETFs, hedge funds, mutual funds, and investors dating back to 1993. -- Connect to the real-time stream API to receive new filings as soon as they are published on SEC EDGAR -- The Full-Text Search API allows you to search the full text of all filings submitted since 2001. The full text of a filing includes all data in the filing itself as well as all attachments (such as exhibits) to the filing. -- Free API key available on [sec-api.io](https://sec-api.io) - -See the official documentation for more: [sec-api.io/docs](https://sec-api.io/docs) - -## Installation - -```bash -pip install sec-api -``` - -Get your free API key on [sec-api.io](https://sec-api.io) and replace `YOUR_API_KEY` with it. - ## SEC EDGAR Filings Query API -The Query API allows you to search and filter all 18 million filings and exhibits published on SEC EDGAR using a large set of search parameters. The database behind the Query API includes all EDGAR filing form types published since 1993 and over 800,000 EDGAR filer entities, with new filings being indexed and searchable as soon as they are published on SEC EDGAR. +The Query API allows you to search and filter all 20 million filings and exhibits published on SEC EDGAR using a large set of search parameters. The database behind the Query API includes all EDGAR filing form types published since 1993 and over 800,000 EDGAR filer entities, with new filings being indexed and searchable as soon as they are published on SEC EDGAR. You can search filings by ticker, CIK, form type, filing date, SIC code, period of report, series and class IDs, items of 8-K and other filings, and many more. The API returns all filing metadata in a [standardized JSON format](https://sec-api.io/docs/query-api#response-format). @@ -103,7 +126,7 @@ Examples are provided below, in the [official documentation](https://sec-api.io/ ### Examples -The following example retrieves all 10-Q filings filed by TSLA in 2020. +The following example retrieves all 10-Q filings filed by TSLA in 2025. ```python from sec_api import QueryApi @@ -111,7 +134,7 @@ from sec_api import QueryApi queryApi = QueryApi(api_key="YOUR_API_KEY") query = { - "query": "ticker:TSLA AND filedAt:[2020-01-01 TO 2020-12-31] AND formType:\"10-Q\"", + "query": "ticker:TSLA AND filedAt:[2025-01-01 TO 2025-12-31] AND formType:\"10-Q\"", "from": "0", "size": "10", "sort": [{ "filedAt": { "order": "desc" } }] @@ -122,6 +145,67 @@ filings = queryApi.get_filings(query) print(filings) ``` +
+ Example Response (shortened) + +```json +{ + "total": { "value": 47, "relation": "eq" }, + "filings": [ + { + "id": "3ba530142cd52e76b7e15cc9000d2c33", + "ticker": "TSLA", + "formType": "10-Q", + "description": "Form 10-Q - Quarterly report [Sections 13 or 15(d)]", + "accessionNo": "0001628280-25-045968", + "cik": "1318605", + "companyNameLong": "Tesla, Inc. (Filer)", + "companyName": "Tesla, Inc.", + "filedAt": "2025-10-22T21:08:43-04:00", + "periodOfReport": "2025-09-30", + "linkToHtml": "https://www.sec.gov/Archives/edgar/data/1318605/000162828025045968/0001628280-25-045968-index.htm", + "linkToFilingDetails": "https://www.sec.gov/Archives/edgar/data/1318605/000162828025045968/tsla-20250930.htm", + "linkToTxt": "https://www.sec.gov/Archives/edgar/data/1318605/000162828025045968/0001628280-25-045968.txt", + "entities": [ + { + "fiscalYearEnd": "1231", + "stateOfIncorporation": "TX", + "act": "34", + "cik": "1318605", + "fileNo": "001-34756", + "irsNo": "912197729", + "companyName": "Tesla, Inc. (Filer)", + "type": "10-Q", + "sic": "3711 Motor Vehicles & Passenger Car Bodies" + } + ], + "documentFormatFiles": [ + { + "sequence": "1", + "size": "1573631", + "documentUrl": "https://www.sec.gov/ix?doc=/Archives/edgar/data/1318605/000162828025045968/tsla-20250930.htm", + "description": "10-Q", + "type": "10-Q" + } + ], + "dataFiles": [ + { + "sequence": "5", + "size": "54524", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1318605/000162828025045968/tsla-20250930.xsd", + "description": "XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT", + "type": "EX-101.SCH" + } + ] + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/query-api-10q.json) + Find the most recently reported Form 8-K filings that include Item 9.01 "Financial Statements and Exhibits". ```python @@ -135,14 +219,75 @@ query = { filings = queryApi.get_filings(query) ``` +
+ Example Response (shortened) + +```json +{ + "total": { "value": 47, "relation": "eq" }, + "filings": [ + { + "id": "3ba530142cd52e76b7e15cc9000d2c33", + "ticker": "TSLA", + "formType": "10-Q", + "description": "Form 10-Q - Quarterly report [Sections 13 or 15(d)]", + "accessionNo": "0001628280-25-045968", + "cik": "1318605", + "companyNameLong": "Tesla, Inc. (Filer)", + "companyName": "Tesla, Inc.", + "filedAt": "2025-10-22T21:08:43-04:00", + "periodOfReport": "2025-09-30", + "linkToHtml": "https://www.sec.gov/Archives/edgar/data/1318605/000162828025045968/0001628280-25-045968-index.htm", + "linkToFilingDetails": "https://www.sec.gov/Archives/edgar/data/1318605/000162828025045968/tsla-20250930.htm", + "linkToTxt": "https://www.sec.gov/Archives/edgar/data/1318605/000162828025045968/0001628280-25-045968.txt", + "entities": [ + { + "fiscalYearEnd": "1231", + "stateOfIncorporation": "TX", + "act": "34", + "cik": "1318605", + "fileNo": "001-34756", + "irsNo": "912197729", + "companyName": "Tesla, Inc. (Filer)", + "type": "10-Q", + "sic": "3711 Motor Vehicles & Passenger Car Bodies", + "filmNo": "251411222", + "undefined": "04 Manufacturing)" + } + ], + "documentFormatFiles": [ + { + "sequence": "1", + "size": "1573631", + "documentUrl": "https://www.sec.gov/ix?doc=/Archives/edgar/data/1318605/000162828025045968/tsla-20250930.htm", + "description": "10-Q", + "type": "10-Q" + } + ], + "dataFiles": [ + { + "sequence": "5", + "size": "54524", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1318605/000162828025045968/tsla-20250930.xsd", + "description": "XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT", + "type": "EX-101.SCH" + } + ] + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/query-api-8k.json) + > See the documentation for more details: https://sec-api.io/docs/query-api ## Full-Text Search API Full-text search allows you to search the full text of all EDGAR filings submitted since 2001. The full text of a filing includes all data in the filing itself as well as all attachments (such as exhibits) to the filing. ---- - The example below returns all 8-K and 10-Q filings and their exhibits, filed between 01-01-2021 and 14-06-2021, that include the exact phrase "LPCN 1154". ```python @@ -162,6 +307,32 @@ filings = fullTextSearchApi.get_filings(query) print(filings) ``` +
+ Example Response + +```json +{ + "total": { "value": 3, "relation": "eq" }, + "filings": [ + { + "accessionNo": "0001104659-21-080527", + "cik": "1535955", + "companyNameLong": "Lipocine Inc. (LPCN) (CIK 0001535955)", + "ticker": "LPCN", + "description": "EXHIBIT 99.1", + "formType": "8-K", + "type": "EX-99.1", + "filingUrl": "https://www.sec.gov/Archives/edgar/data/1535955/000110465921080527/tm2119438d1_ex99-1.htm", + "filedAt": "2021-06-14" + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/full-text-search.json) + > See the documentation for more details: https://sec-api.io/docs/full-text-search-api ## Filing & Exhibit Download API @@ -169,9 +340,9 @@ print(filings) Download any SEC EDGAR filing, exhibit and attached file in its original format (HTML, XML, JPEG, Excel, text, PDF, etc.). The API supports downloading all EDGAR form types, including 10-K, 10-Q, 8-K, 13-F, S-1, 424B4, and many others published since 1993 and provides access to over 18 million filings and over 100 million exhibits and filing attachments. Download up to 40 files per second. ```python -from sec_api import RenderApi +from sec_api import DownloadApi -renderApi = RenderApi(api_key="YOUR_API_KEY") +downloadApi = DownloadApi(api_key="YOUR_API_KEY") # example URLs: SEC filings, exhibits, images, Excel sheets, PDFs url_8k_html = "https://www.sec.gov/Archives/edgar/data/1045810/000104581023000014/nvda-20230222.htm" @@ -182,16 +353,16 @@ url_excel_file = "https://www.sec.gov/Archives/edgar/data/1045810/00010458102 url_pdf_file = "https://www.sec.gov/Archives/edgar/data/1798925/999999999724004095/filename1.pdf" url_image_file = "https://www.sec.gov/Archives/edgar/data/1424404/000106299324017776/form10kxz001.jpg" -filing_8k_html = renderApi.get_file(url_8k_html) -filing_8k_txt = renderApi.get_file(url_8k_txt) -exhibit99 = renderApi.get_file(url_exhibit99) -xbrl_instance = renderApi.get_file(url_xbrl_instance) +filing_8k_html = downloadApi.get_file(url_8k_html) +filing_8k_txt = downloadApi.get_file(url_8k_txt) +exhibit99 = downloadApi.get_file(url_exhibit99) +xbrl_instance = downloadApi.get_file(url_xbrl_instance) # use .get_file() and set return_binary=True # to get non-text files such as images, PDFs, etc. -excel_file = renderApi.get_file(url_excel_file, return_binary=True) -pdf_file = renderApi.get_file(url_pdf_file, return_binary=True) -image_file = renderApi.get_file(url_image_file, return_binary=True) +excel_file = downloadApi.get_file(url_excel_file, return_binary=True) +pdf_file = downloadApi.get_file(url_pdf_file, return_binary=True) +image_file = downloadApi.get_file(url_image_file, return_binary=True) # save files to disk with open("filing_8k_html.htm", "wb") as f: @@ -357,9 +528,8 @@ xbrl_json = xbrlApi.xbrl_to_json( xbrl_json = xbrlApi.xbrl_to_json(accession_no="0001564590-21-004599") ``` -### Example Response - -Note: response is shortened. +
+ Example Response (shortened) ```json { @@ -459,13 +629,18 @@ Note: response is shortened. } ``` +
+ > See the documentation for more details: https://sec-api.io/docs/xbrl-to-json-converter-api ## 10-K/10-Q/8-K Section Extractor API The Extractor API returns individual sections from 10-Q, 10-K and 8-K filings. The extracted section is cleaned and standardized - in raw text or in standardized HTML. You can programmatically extract one or multiple sections from any 10-Q, 10-K and 8-K filing. -**All 10-K sections can be extracted:** +Supported sections: + +
+ 10-K Sections - 1 - Business - 1A - Risk Factors @@ -487,27 +662,31 @@ The Extractor API returns individual sections from 10-Q, 10-K and 8-K filings. T - 12 - Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters - 13 - Certain Relationships and Related Transactions, and Director Independence - 14 - Principal Accountant Fees and Services +- 15 - Exhibits and Financial Statement Schedules -**All 10-Q sections can be extracted:** +
-Part 1: +
+ 10-Q Sections -- 1 - Financial Statements -- 2 - Management’s Discussion and Analysis of Financial Condition and Results of Operations -- 3 - Quantitative and Qualitative Disclosures About Market Risk -- 4 - Controls and Procedures +- **Part 1:** + - 1 - Financial Statements + - 2 - Management’s Discussion and Analysis of Financial Condition and Results of Operations + - 3 - Quantitative and Qualitative Disclosures About Market Risk + - 4 - Controls and Procedures -Part 2: +- **Part 2:** + - 1 - Legal Proceedings + - 1A - Risk Factors + - 2 - Unregistered Sales of Equity Securities and Use of Proceeds + - 3 - Defaults Upon Senior Securities + - 4 - Mine Safety Disclosures + - 5 - Other Information + - 6 - Exhibits -- 1 - Legal Proceedings -- 1A - Risk Factors -- 2 -Unregistered Sales of Equity Securities and Use of Proceeds -- 3 - Defaults Upon Senior Securities -- 4 - Mine Safety Disclosures -- 5 - Other Information -- 6 - Exhibits - -**All 8-K sections can be extracted:** +
+
+ 8-K Sections - 1.01: Entry into a Material Definitive Agreement - 1.02: Termination of a Material Definitive Agreement @@ -523,13 +702,13 @@ Part 2: - 3.01: Notice of Delisting or Failure to Satisfy a Continued Listing Rule or Standard; Transfer of Listing - 3.02: Unregistered Sales of Equity Securities - 3.03: Material Modifications to Rights of Security Holders -- 4.01: Changes in Registrant's Certifying Accountant +- 4.01: Changes in Registrant’s Certifying Accountant - 4.02: Non-Reliance on Previously Issued Financial Statements or a Related Audit Report or Completed Interim Review - 5.01: Changes in Control of Registrant - 5.02: Departure of Directors or Certain Officers; Election of Directors; Appointment of Certain Officers: Compensatory Arrangements of Certain Officers - 5.03: Amendments to Articles of Incorporation or Bylaws; Change in Fiscal Year -- 5.04: Temporary Suspension of Trading Under Registrant's Employee Benefit Plans -- 5.05: Amendments to the Registrant's Code of Ethics, or Waiver of a Provision of the Code of Ethics +- 5.04: Temporary Suspension of Trading Under Registrant’s Employee Benefit Plans +- 5.05: Amendments to the Registrant’s Code of Ethics, or Waiver of a Provision of the Code of Ethics - 5.06: Change in Shell Company Status - 5.07: Submission of Matters to a Vote of Security Holders - 5.08: Shareholder Nominations Pursuant to Exchange Act Rule 14a-11 @@ -545,6 +724,8 @@ Part 2: - 9.01: Financial Statements and Exhibits - Signature +
+ ### Usage ```python @@ -584,9 +765,29 @@ extracted_section_8k = extractorApi.get_section(filing_url_8k, "1-1", "text") > See the documentation for more details: https://sec-api.io/docs/sec-filings-item-extraction-api +## Bulk Datasets + +Download complete datasets for offline analysis and large-scale processing. All datasets are updated daily between 10:30 PM and 11:30 PM EST. Browse all available datasets at [sec-api.io/datasets](https://sec-api.io/datasets). + +| Dataset | Form Types | Coverage | Format | +| --------------------------------------------------- | --------------------------- | ------------ | -------------------- | +| Form 10-K - Annual Reports | 10-K, 10-K/A, 10-KSB, 10-KT | 1993-present | ZIP (HTML, TXT) | +| Form 10-Q - Quarterly Reports | 10-Q, 10-Q/A | 1993-present | ZIP (HTML, TXT) | +| Form 8-K Exhibit 99 - Press Releases | 8-K, 8-K/A | 1994-present | ZIP (HTML, TXT, PDF) | +| Earnings Results (Item 2.02) | 8-K, 8-K/A | 2004-present | ZIP (HTML, TXT, PDF) | +| Form 3 - Initial Ownership | 3, 3/A | 2009-present | JSONL | +| Form 4 - Changes in Ownership | 4, 4/A | 2009-present | JSONL | +| Form 5 - Annual Ownership | 5, 5/A | 2009-present | JSONL | +| Form 13F - Institutional Holdings | 13F-HR, 13F-HR/A | 2013-present | JSONL | +| Form N-PORT - Fund Holdings | NPORT, NPORT/A | 2019-present | JSONL | +| Form DEF 14A - Proxy Statements | DEF 14A | 1994-present | ZIP (HTML, TXT) | +| [View all datasets...](https://sec-api.io/datasets) | | | | + ## Form ADV API -Search the entire Form ADV filing database and find all ADV filings filed by firm advisers (SEC and state registered), individual advisers and firm brochures published in part 2 of ADV filings. The database comprises 41,000 ADV filings filed by advisory firms and 380,000 individual advisers and is updated daily. Search and find ADV filings by any filing property, such as CRD, assets under management, type of adviser (e.g. broker dealer) and more. Direct owners from Schedule A, indirect owners from Schedule B as well as private funds from Schedule D are easily accessible. +Search and access Form ADV data for registered investment advisers, including firm information, individual advisors, direct/indirect owners, private fund data, and brochures. + +### Search Advisory Firms ```python from sec_api import FormAdvApi @@ -602,16 +803,54 @@ response = formAdvApi.get_firms( } ) print(response["filings"]) +``` -direct_owners = formAdvApi.get_direct_owners(crd="793") -print(direct_owners) +
+ Example Response (shortened) -indirect_owners = formAdvApi.get_indirect_owners(crd="326262") -print(indirect_owners) +```json +{ + "total": { "value": 1, "relation": "eq" }, + "filings": [ + { + "Info": { + "SECRgnCD": "NYRO", + "FirmCrdNb": 361, + "SECNb": "801-16048", + "BusNm": "GOLDMAN SACHS & CO. LLC", + "LegalNm": "GOLDMAN SACHS & CO. LLC" + }, + "MainAddr": { + "Strt1": "200 WEST STREET", + "City": "NEW YORK", + "State": "NY", + "Cntry": "United States", + "PostlCd": "10282", + "PhNb": "212-902-1000" + }, + "Rgstn": [ + { "FirmType": "Registered", "St": "APPROVED", "Dt": "1981-05-13" } + ], + "FormInfo": { + "Part1A": { + "Item1": { "Q1F5": 18, "Q1ODesc": "More than $50 billion" }, + "Item5A": { "TtlEmp": 2268 }, + "Item5F": { "Q5F2C": 133644228926, "Q5F2F": 46269 } + } + }, + "id": 361 + } + ] +} +``` -private_funds = formAdvApi.get_private_funds(crd="793") -print(private_funds) +
+[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/form-adv-firms.json) + +### Search Individual Advisors + +```python response = formAdvApi.get_individuals( { "query": "CrntEmps.CrntEmp.orgPK:149777", @@ -621,157 +860,878 @@ response = formAdvApi.get_individuals( } ) print(response["filings"]) - -response = formAdvApi.get_brochures(149777) -print(response["brochures"]) ``` -> See the documentation for more details: https://sec-api.io/docs/investment-adviser-and-adv-api - -## Insider Trading Data API +
+ Example Response (shortened) -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. +```json +{ + "total": { "value": 10000, "relation": "gte" }, + "filings": [ + { + "Info": { + "lastNm": "Nebot", + "firstNm": "Roman", + "indvlPK": 8213636, + "actvAGReg": "Y", + "link": "https://adviserinfo.sec.gov/individual/summary/8213636" + }, + "CrntEmps": { + "CrntEmp": [ + { + "orgNm": "MORGAN STANLEY", + "orgPK": 149777, + "CrntRgstns": { + "CrntRgstn": [ + { + "regAuth": "FL", + "regCat": "RA", + "st": "APPROVED", + "stDt": "2026-02-02" + } + ] + } + } + ] + }, + "Exms": { + "Exm": [ + { + "exmCd": "S66", + "exmNm": "Uniform Combined State Law Examination", + "exmDt": "2025-12-08" + } + ] + }, + "id": 8213636 + } + ] +} +``` -```python -from sec_api import InsiderTradingApi +
-insiderTradingApi = InsiderTradingApi("YOUR_API_KEY") +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/form-adv-individuals.json) -insider_trades = insiderTradingApi.get_data({ - "query": "issuer.tradingSymbol:TSLA" -}) +### Get Direct Owners (Schedule A) -print(insider_trades["transactions"]) +```python +direct_owners = formAdvApi.get_direct_owners(crd="793") +print(direct_owners) ``` -> See the documentation for more details: https://sec-api.io/docs/insider-ownership-trading-api - -### Response Example +
+ Example Response (shortened) ```json [ { - "accessionNo": "0000899243-22-028189", - "filedAt": "2022-08-09T21:23:00-04:00", - "documentType": "4", - "periodOfReport": "2022-08-09", - "issuer": { - "cik": "1318605", - "name": "Tesla, Inc.", - "tradingSymbol": "TSLA" - }, - "reportingOwner": { - "cik": "1494730", - "name": "Musk Elon", - "address": { - "street1": "C/O TESLA, INC.", - "street2": "1 TESLA ROAD", - "city": "AUSTIN", - "state": "TX", - "zipCode": "78725" - }, - "relationship": { - "isDirector": true, - "isOfficer": true, - "officerTitle": "CEO", - "isTenPercentOwner": true, - "isOther": false - } - }, - "nonDerivativeTable": { - "transactions": [ - { - "securityTitle": "Common Stock", - "transactionDate": "2022-08-09", - "coding": { - "formType": "4", - "code": "S", - "equitySwapInvolved": false - }, - "amounts": { - "shares": 435, - "pricePerShare": 872.469, - "pricePerShareFootnoteId": ["F1"], - "acquiredDisposedCode": "D" - } - } - ] - // and many more - } + "name": "ZEMLYAK, JAMES MARK", + "ownerType": "I", + "titleStatus": "EXECUTIVE VICE PRESIDENT & DIRECTOR", + "dateTitleStatusAcquired": "2002-08", + "ownershipCode": "NA", + "isControlPerson": true, + "isPublicReporting": false, + "crd": "1586132" + }, + { + "name": "STIFEL FINANCIAL CORP.", + "ownerType": "DE", + "titleStatus": "SHAREHOLDER", + "dateTitleStatusAcquired": "1982-02", + "ownershipCode": "E", + "isControlPerson": true, + "isPublicReporting": true } ] ``` -## Form 144 API - -The Form 144 API allows you to search and access all Form 144 filings from 2022 to present. Form 144 filings are filed with the SEC by corporate insiders who intend to sell restricted securities, such as vested stocks. The database includes information about the CIK and name of the insider, the issuer name and trading symbol, number of shares intended to be sold, the date of the transaction, the total value of the transaction, and more. +
-```python -from sec_api import Form144Api +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/form-adv-direct-owners.json) -form144Api = Form144Api("YOUR_API_KEY") +### Get Indirect Owners (Schedule B) -search_params = { - "query": "entities.ticker:TSLA", - "from": "0", - "size": "50", - "sort": [{"filedAt": {"order": "desc"}}], -} +```python +indirect_owners = formAdvApi.get_indirect_owners(crd="326262") +print(indirect_owners) +``` -response = form144Api.get_data(search_params) +
+ Example Response (shortened) -print(response["data"]) +```json +[ + { + "name": "CORIENT PARTNERS LLC", + "ownerType": "DE", + "entityOwned": "CORIENT PRIVATE WEALTH LLC", + "status": "OWNER", + "dateStatusAcquired": "2022-02", + "ownershipCode": "E", + "isControlPerson": true, + "isPublicReporting": false, + "crd": "" + }, + { + "name": "CI FINANCIAL CORP.", + "ownerType": "FE", + "entityOwned": "CORIENT HOLDINGS INC", + "status": "OWNER", + "dateStatusAcquired": "2019-11", + "ownershipCode": "E", + "isControlPerson": true, + "isPublicReporting": false, + "crd": "" + } +] ``` -> See the documentation for more details: https://sec-api.io/docs/form-144-restricted-sales-api +
-## Form 13F Institutional Holdings Database +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/form-adv-indirect-owners.json) -Access Form 13F holdings in structured JSON format, including information on current and historical portfolio holdings of SEC-registered funds and investment managers, including issuer name, title of the securities class, CUSIP, CIK and ticker of the holding, value of the position in dollar, the number of shares held, investment discretion, voting authority, and more. +### Get Other Business Names (Schedule D, Section 1.B) ```python -from sec_api import Form13FHoldingsApi - -form13FHoldingsApi = Form13FHoldingsApi(api_key="YOUR_API_KEY") - -search_params = { - "query": "cik:1350694 AND periodOfReport:2024-03-31", - "from": "0", - "size": "10", - "sort": [{ "filedAt": { "order": "desc" } }] -} +other_business_names = formAdvApi.get_other_business_names(crd="149777") +print(other_business_names) +``` -response = form13FHoldingsApi.get_data(search_params) -holdings = response["data"] +
+ Example Response (shortened) -print(holdings) +```json +[ + { + "name": "MORGAN STANLEY SMITH BARNEY", + "jurisdictions": [ + "AL", + "AK", + "AZ", + "AR", + "CA", + "CO", + "CT", + "DE", + "DC", + "FL" + ] + }, + { + "name": "MORGAN STANLEY WEALTH MANAGEMENT", + "jurisdictions": [ + "AL", + "AK", + "AZ", + "AR", + "CA", + "CO", + "CT", + "DE", + "DC", + "FL" + ] + } +] ``` -> See the documentation for more details: https://sec-api.io/docs/form-13-f-filings-institutional-holdings-api +
-## Form 13F Cover Pages API +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/form-adv-other-business-names.json) -Search and access cover pages of Form 13F filings in standardized JSON format. Cover pages include details about the investment manager and fund, such as CIK, SEC file and CRD number, name, address, report type, other managers, and more. +### Get Separately Managed Accounts (Schedule D, Section 5.K) + +Retrieve details about separately managed accounts, including asset type distributions, borrowings, derivative exposures, and custodians. ```python -from sec_api import Form13FCoverPagesApi +separately_managed_accounts = formAdvApi.get_separately_managed_accounts(crd="149777") +print(separately_managed_accounts) +``` -form13FCoverPagesApi = Form13FCoverPagesApi(api_key="YOUR_API_KEY") +
+ Example Response (shortened) -search_params = { - "query": "cik:1698218 AND periodOfReport:[2023-01-1 TO 2024-12-31]", - "from": "0", - "size": "10", - "sort": [{ "filedAt": { "order": "desc" }}] +```json +{ + "1-separatelyManagedAccounts": { + "a": { + "i-exchangeTradedEquity": { "midYear": "58 %", "endOfYear": "58 %" }, + "ii-nonExchangeTradedEquity": { "midYear": "0 %", "endOfYear": "0 %" }, + "iii-usGovernmentBonds": { "midYear": "2 %", "endOfYear": "2 %" } + } + }, + "2-borrowingsAndDerivatives": { + "a-i-midYear": { + "regulatoryAssetsUnderManagement": { + "lessThan10": "$ 1,556,490,216,199", + "between10And149": "$ 113,832,393,489", + "moreThan150": "$ 16,522,479,023" + }, + "borrowings": { + "lessThan10": "$ 1,640,415,435", + "between10And149": "$ 53,635,978,014", + "moreThan150": "$ 67,201,944,992" + } + } + }, + "3-custodiansForSeparatelyManagedAccounts": [ + { + "a-legalName": "MORGAN STANLEY SMITH BARNEY LLC", + "b-businessName": "MORGAN STANLEY", + "d-isRelatedPerson": true, + "g-amountHeldAtCustodian": "$ 1,733,996,722,410" + } + ] } +``` -response = form13FCoverPagesApi.get_data(query) -cover_pages = response["data"] +
-print(cover_pages) -``` +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/form-adv-separately-managed-accounts.json) -> See the documentation for more details: https://sec-api.io/docs/form-13-f-filings-institutional-holdings-api +### Get Financial Industry Affiliations (Schedule D, Section 7.A) + +Retrieve related persons and financial industry affiliations, such as affiliated broker-dealers, investment advisers, insurance companies, and pooled investment vehicle sponsors. + +```python +financial_industry_affiliations = formAdvApi.get_financial_industry_affiliations(crd="149777") +print(financial_industry_affiliations) +``` + +
+ Example Response (shortened) + +```json +[ + { + "1-nameOfRelatedPerson": "MS CAPITAL PARTNERS ADVISER INC.", + "2-businessName": "MS CAPITAL PARTNERS ADVISER INC.", + "3-secFileNumber": "80169426", + "4a-crdNumber": "147521", + "5-typesOfRelatedPerson": ["b-otherAdviser", "f-commodityPoolOperator"], + "6-controlsRelatedPerson": false, + "7-underCommonControl": false, + "8a-relatedPersonActsAsCustodian": false, + "9a-exemptFromRegistration": false, + "11-shareSupervisedPersons": true, + "12-shareSameLocation": false + } +] +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/form-adv-financial-industry-affiliations.json) + +### Get Private Funds (Schedule D, Section 7.B.1) + +```python +private_funds = formAdvApi.get_private_funds(crd="793") +print(private_funds) +``` + +
+ Example Response (shortened) + +```json +[ + { + "1a-nameOfFund": "EI FUND II LLC", + "1b-fundIdentificationNumber": "805-4502496130", + "2-lawOrganizedUnder": { "state": "Missouri", "country": "United States" }, + "3a-namesOfGeneralPartnerManagerTrusteeDirector": [ + "STIFEL NICOLAUS & COMPANY, INC." + ], + "6c-isFeederFundInMasterFeederAgreement": true, + "6d-nameIdOfMasterFund": "EI FUND V, LP", + "10-typeOfFund": { + "selectedTypes": ["other private fund"], + "otherFundType": "FEEDER INTO PRIVATE EQUITY FUND" + }, + "11-grossAssetValue": 2027469, + "12-minInvestmentCommitment": 100000, + "13-numberOfBeneficialOwners": 25 + } +] +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/form-adv-private-funds.json) + +### Get Brochures + +```python +response = formAdvApi.get_brochures(149777) +print(response["brochures"]) +``` + +
+ Example Response + +```json +{ + "brochures": [ + { + "versionId": 1033575, + "name": "CONSULTING GROUP ADVISOR PROGRAM BROCHURE", + "dateSubmitted": "2026-03-30", + "url": "https://files.adviserinfo.sec.gov/IAPD/Content/Common/crd_iapd_Brochure.aspx?BRCHR_VRSN_ID=1033575" + }, + { + "versionId": 1033576, + "name": "PORTFOLIO MANAGEMENT AND INSTITUTIONAL CASH ADVISORY PROGRAM BROCHURE", + "dateSubmitted": "2026-03-30", + "url": "https://files.adviserinfo.sec.gov/IAPD/Content/Common/crd_iapd_Brochure.aspx?BRCHR_VRSN_ID=1033576" + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/form-adv-brochures.json) + +> See the documentation for more details: https://sec-api.io/docs/investment-adviser-and-adv-api + +## Insider Trading Data API + +Access Form 3, 4, and 5 filings that disclose insider ownership and trading activity by company officers, directors, and beneficial owners. + +### Form 3 - Initial Ownership Statements + +```python +from sec_api import InsiderTradingApi + +insiderTradingApi = InsiderTradingApi("YOUR_API_KEY") + +data = insiderTradingApi.get_data({ + "query": "documentType:3 AND issuer.tradingSymbol:NTB", + "from": "0", + "size": "50", + "sort": [{"filedAt": {"order": "desc"}}], +}) +print(data["transactions"]) +``` + +
+ Example Response + +```json +{ + "total": { "value": 10000, "relation": "gte" }, + "transactions": [ + { + "id": "9ec6b4513d930d643aa7bd45821be7ab", + "accessionNo": "0001975035-26-000012", + "filedAt": "2026-04-01T08:46:43-04:00", + "schemaVersion": "X0607", + "documentType": "3", + "periodOfReport": "2026-03-31", + "notSubjectToSection16": false, + "issuer": { + "cik": "1653242", + "name": "Bank of N.T. Butterfield & Son Ltd", + "tradingSymbol": "NTB" + }, + "reportingOwner": { + "cik": "2120720", + "name": "Henton Andrew Michael", + "address": { + "street1": "59 FRONT STREET", + "city": "HAMILTON", + "zipCode": "HM 12" + }, + "relationship": { + "isDirector": true, + "isOfficer": false, + "isTenPercentOwner": false, + "isOther": false + } + }, + "nonDerivativeTable": { + "holdings": [ + { + "securityTitle": "Bank of N.T. Butterfield & Son Ltd", + "coding": {}, + "postTransactionAmounts": { + "sharesOwnedFollowingTransaction": 667 + }, + "ownershipNature": { + "directOrIndirectOwnership": "D" + } + } + ] + }, + "ownerSignatureName": "Tara Hidalgo, by power of attorney for Andr", + "ownerSignatureNameDate": "2026-04-01" + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/insider-trading-form3.json) + +### Form 4 - Changes in Ownership + +```python +data = insiderTradingApi.get_data({ + "query": "documentType:4 AND issuer.tradingSymbol:TSLA", + "from": "0", + "size": "50", + "sort": [{"filedAt": {"order": "desc"}}], +}) +print(data["transactions"]) +``` + +
+ Example Response + +```json +{ + "total": { "value": 837, "relation": "eq" }, + "transactions": [ + { + "id": "b5e3ff9eca7a16f1b7fef6aef6767fbc", + "accessionNo": "0001104659-26-025379", + "filedAt": "2026-03-09T19:00:14-04:00", + "schemaVersion": "X0508", + "documentType": "4", + "periodOfReport": "2026-03-05", + "notSubjectToSection16": false, + "issuer": { + "cik": "1318605", + "name": "Tesla, Inc.", + "tradingSymbol": "TSLA" + }, + "reportingOwner": { + "cik": "1771340", + "name": "Taneja Vaibhav", + "address": { + "street1": "C/O TESLA, INC.", + "street2": "1 TESLA ROAD", + "city": "AUSTIN", + "state": "TX", + "zipCode": "78725" + }, + "relationship": { + "isDirector": false, + "isOfficer": true, + "officerTitle": "Chief Financial Officer", + "isTenPercentOwner": false, + "isOther": false + } + }, + "nonDerivativeTable": { + "transactions": [ + { + "securityTitle": "Common Stock", + "transactionDate": "2026-03-05", + "coding": { + "formType": "4", + "code": "M", + "equitySwapInvolved": false, + "footnoteId": ["F1"] + }, + "amounts": { + "shares": 6538, + "pricePerShare": 0, + "acquiredDisposedCode": "A" + }, + "postTransactionAmounts": { + "sharesOwnedFollowingTransaction": 20371, + "sharesOwnedFollowingTransactionFootnoteId": ["F2"] + }, + "ownershipNature": { + "directOrIndirectOwnership": "D" + } + } + // ... more transactions + ], + "holdings": [ + { + "securityTitle": "Common Stock", + "coding": {}, + "postTransactionAmounts": { + "sharesOwnedFollowingTransaction": 111000 + }, + "ownershipNature": { + "directOrIndirectOwnership": "I", + "natureOfOwnership": "See Footnote", + "natureOfOwnershipFootnoteId": ["F4"] + } + } + ] + }, + "derivativeTable": { + "transactions": [ + { + "securityTitle": "Restricted Stock Unit", + "conversionOrExercisePrice": 0, + "transactionDate": "2026-03-05", + "coding": { + "formType": "4", + "code": "M", + "equitySwapInvolved": false + }, + "exerciseDateFootnoteId": ["F5"], + "expirationDateFootnoteId": ["F5"], + "underlyingSecurity": { + "title": "Common Stock", + "shares": 6538 + }, + "amounts": { + "shares": 6538, + "pricePerShare": 0, + "acquiredDisposedCode": "D" + }, + "postTransactionAmounts": { + "sharesOwnedFollowingTransaction": 65382 + }, + "ownershipNature": { + "directOrIndirectOwnership": "D" + } + } + ] + }, + "footnotes": [ + { + "id": "F1", + "text": "Shares of the Issuer's common stock were issued to the reporting person upon the vesting of restricted stock units on March 5, 2026." + } + // ... more footnotes + ], + "ownerSignatureName": "By: Aaron Beckman, Power of Attorney For: Vaibhav Taneja", + "ownerSignatureNameDate": "2026-03-09" + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/insider-trading-form4.json) + +### Form 5 - Annual Ownership Statements + +```python +data = insiderTradingApi.get_data({ + "query": "documentType:5 AND issuer.tradingSymbol:SPWR", + "from": "0", + "size": "50", + "sort": [{"filedAt": {"order": "desc"}}], +}) +print(data["transactions"]) +``` + +
+ Example Response + +```json +{ + "total": { "value": 10000, "relation": "gte" }, + "transactions": [ + { + "id": "00101d987e5fd4e6d2bdcd1d9c17b170", + "accessionNo": "0001213900-26-031111", + "filedAt": "2026-03-18T18:49:54-04:00", + "schemaVersion": "X0609", + "documentType": "5", + "periodOfReport": "2025-12-28", + "notSubjectToSection16": false, + "issuer": { + "cik": "1838987", + "name": "SunPower Inc.", + "tradingSymbol": "SPWR" + }, + "reportingOwner": { + "cik": "1253573", + "name": "MAIER LOTHAR", + "address": { + "street1": "C/O SUNPOWER INC.", + "street2": "45600 NORTHPORT LOOP EAST", + "city": "FREMONT", + "state": "CA", + "zipCode": "94538" + }, + "relationship": { + "isDirector": true, + "isOfficer": false, + "isTenPercentOwner": false, + "isOther": false + } + }, + "nonDerivativeTable": { + "transactions": [ + { + "securityTitle": "Common Stock", + "transactionDate": "2025-05-23", + "coding": { + "formType": "4", + "code": "A", + "equitySwapInvolved": false + }, + "timeliness": "L", + "amounts": { + "shares": 243169, + "pricePerShare": 0, + "pricePerShareFootnoteId": ["F1"], + "acquiredDisposedCode": "A" + }, + "postTransactionAmounts": { + "sharesOwnedFollowingTransaction": 243169 + }, + "ownershipNature": { + "directOrIndirectOwnership": "D" + } + } + ] + }, + "footnotes": [ + { + "id": "F1", + "text": "On May 23, 2025, the Company granted the Reporting Person 243,169 restricted stock units pursuant to the Company's 2023 Equity Incentive Plan, as amended, each of which fully vested into one share of common stock on the grant date." + } + ], + "ownerSignatureName": "/s/ Lothar Maier", + "ownerSignatureNameDate": "2026-03-17" + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/insider-trading-form5.json) + +> See the documentation for more details: https://sec-api.io/docs/insider-ownership-trading-api + +## Form 144 API + +The Form 144 API allows you to search and access all Form 144 filings from 2022 to present. Form 144 filings are filed with the SEC by corporate insiders who intend to sell restricted securities, such as vested stocks. The database includes information about the CIK and name of the insider, the issuer name and trading symbol, number of shares intended to be sold, the date of the transaction, the total value of the transaction, and more. + +```python +from sec_api import Form144Api + +form144Api = Form144Api("YOUR_API_KEY") + +search_params = { + "query": "entities.ticker:TSLA", + "from": "0", + "size": "50", + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = form144Api.get_data(search_params) + +print(response["data"]) +``` + +
+ Example Response + +```json +{ + "total": { "value": 72, "relation": "eq" }, + "data": [ + { + "id": "3196e422cd21d5a12a3acf756bb3e0a1", + "accessionNo": "0001950047-26-003078", + "fileNo": "001-34756", + "formType": "144", + "filedAt": "2026-03-30T17:31:46-04:00", + "entities": [ + { + "cik": "1318605", + "ticker": "TSLA", + "companyName": "Tesla, Inc. (Subject)", + "type": "144" + }, + { "cik": "1331680", "companyName": "Wilson-Thompson Kathleen (Reporting)", "type": "144" } + ], + "issuerInfo": { + "issuerCik": "1318605", + "issuerTicker": "TSLA", + "issuerName": "Tesla, Inc.", + "secFileNumber": "001-34756", + "issuerAddress": { + "street1": "1 Tesla Road", + "city": "Austin", + "stateOrCountry": "TX", + "zipCode": "78725" + }, + "nameOfPersonForWhoseAccountTheSecuritiesAreToBeSold": "KATHLEEN WILSON-THOMPSON", + "relationshipsToIssuer": "Director" + }, + "securitiesInformation": [ + { + "securitiesClassTitle": "Common", + "numberOfUnitsToBeSold": 25809, + "aggregateMarketValue": 9338470.47, + "approxSaleDate": "2026-03-30", + "securitiesExchangeName": "NASDAQ" + } + ], + "securitiesToBeSold": [ + { + "securitiesClassTitle": "Common", + "acquiredDate": "2026-03-30", + "natureOfAcquisitionTransaction": "Exercise of Stock Options", + "nameOfPersonFromWhomAcquired": "Issuer", + "amountOfSecuritiesAcquired": 1648 + } + ] + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/form-144.json) + +> See the documentation for more details: https://sec-api.io/docs/form-144-restricted-sales-api + +## Form 13F Institutional Holdings Database + +Access Form 13F holdings in structured JSON format, including information on current and historical portfolio holdings of SEC-registered funds and investment managers, including issuer name, title of the securities class, CUSIP, CIK and ticker of the holding, value of the position in dollar, the number of shares held, investment discretion, voting authority, and more. + +```python +from sec_api import Form13FHoldingsApi + +form13FHoldingsApi = Form13FHoldingsApi(api_key="YOUR_API_KEY") + +search_params = { + "query": "cik:1350694 AND periodOfReport:2024-03-31", + "from": "0", + "size": "10", + "sort": [{ "filedAt": { "order": "desc" } }] +} + +response = form13FHoldingsApi.get_data(search_params) +holdings = response["data"] + +print(holdings) +``` + +
+ Example Response + +```json +{ + "total": { "value": 209, "relation": "eq" }, + "data": [ + { + "id": "289428b455d4eb55f298d84f544d3d61", + "accessionNo": "0001193125-26-054580", + "cik": "1067983", + "ticker": "BRK.B", + "companyName": "BERKSHIRE HATHAWAY INC", + "formType": "13F-HR", + "description": "Form 13F-HR - Quarterly report filed by institutional managers, Holdings", + "filedAt": "2026-02-17T16:05:04-05:00", + "periodOfReport": "2025-12-31", + "holdings": [ + { + "nameOfIssuer": "ALLY FINL INC", + "cusip": "02005N100", + "titleOfClass": "COM", + "value": 576074081, + "shrsOrPrnAmt": { "sshPrnamt": 12719675, "sshPrnamtType": "SH" }, + "investmentDiscretion": "DFND", + "votingAuthority": { "Sole": 12719675, "Shared": 0, "None": 0 }, + "otherManager": "4", + "ticker": "ALLY", + "cik": "40729" + } + ] + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/form-13f-holdings.json) + +> See the documentation for more details: https://sec-api.io/docs/form-13-f-filings-institutional-holdings-api + +## Form 13F Cover Pages API + +Search and access cover pages of Form 13F filings in standardized JSON format. Cover pages include details about the investment manager and fund, such as CIK, SEC file and CRD number, name, address, report type, other managers, and more. + +```python +from sec_api import Form13FCoverPagesApi + +form13FCoverPagesApi = Form13FCoverPagesApi(api_key="YOUR_API_KEY") + +search_params = { + "query": "cik:1698218 AND periodOfReport:[2023-01-1 TO 2024-12-31]", + "from": "0", + "size": "10", + "sort": [{ "filedAt": { "order": "desc" }}] +} + +response = form13FCoverPagesApi.get_data(query) +cover_pages = response["data"] + +print(cover_pages) +``` + +
+ Example Response + +```json +{ + "total": { "value": 13, "relation": "eq" }, + "data": [ + { + "id": "1ef1c3fa0b53c72620f026f0ab47e7c6", + "accessionNo": "0001350694-26-000001", + "filedAt": "2026-02-13T16:03:50-05:00", + "formType": "13F-HR", + "cik": "1350694", + "crdNumber": "105129", + "secFileNumber": "801-35875", + "form13FFileNumber": "028-11794", + "periodOfReport": "2025-12-31", + "isAmendment": false, + "filingManager": { + "name": "Bridgewater Associates, LP", + "address": { + "street": "One Nyala Farms Road", + "city": "Westport", + "stateOrCountry": "CT", + "zipCode": 6880 + } + }, + "reportType": "13F HOLDINGS REPORT", + "signature": { + "name": "Michael Kitson", + "title": "Chief Compliance Officer and Counsel", + "phone": "203-226-3030", + "signature": "/s/Michael Kitson", + "city": "Westport", + "stateOrCountry": "CT", + "signatureDate": "02-13-2026" + }, + "tableEntryTotal": 1040, + "tableValueTotal": 27421613830 + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/form-13f-cover-pages.json) + +> See the documentation for more details: https://sec-api.io/docs/form-13-f-filings-institutional-holdings-api ## Form 13D/13G API @@ -795,9 +1755,8 @@ response = form13DGApi.get_data(query) print(response["filings"]) ``` -> See the documentation for more details: https://sec-api.io/docs/form-13d-13g-search-api - -### Response Example +
+ Example Response ```json { @@ -851,6 +1810,12 @@ print(response["filings"]) } ``` +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/form-13d-13g.json) + +> See the documentation for more details: https://sec-api.io/docs/form-13d-13g-search-api + ## Form N-PORT API Access and find standardized N-PORT SEC filings. @@ -872,6 +1837,61 @@ response = nportApi.get_data(search_params) print(response["filings"]) ``` +
+ Example Response + +```json +{ + "total": { "value": 10000, "relation": "gte" }, + "filings": [ + { + "submissionType": "NPORT-P", + "filerInfo": { + "filer": { + "issuerCredentials": { "cik": "0001552947", "ccc": "XXXXXXXX" } + }, + "seriesClassInfo": { + "seriesId": "S000075330", + "classId": ["C000234270", "C000234271", "C000234272"] + } + }, + "genInfo": { + "regName": "Two Roads Shared Trust", + "seriesName": "Holbrook Structured Credit Income Fund", + "seriesId": "S000075330", + "repPdEnd": "2026-04-30", + "repPdDate": "2026-01-31" + }, + "fundInfo": { + "totAssets": 589656494.57, + "totLiabs": 26303874.88, + "netAssets": 563352619.69 + }, + "invstOrSecs": [ + { + "name": "A&D MORTGAGE TRUST 2023-NQM2", + "title": "ADMT 2023-NQM2 A1", + "cusip": "00002DAA7", + "balance": 1287717.11, + "units": "PA", + "curCd": "USD", + "valUSD": 1289380.97, + "pctVal": 0.228876360015, + "payoffProfile": "Long", + "assetCat": "ABS-O", + "issuerCat": "CORP", + "invCountry": "US" + } + ] + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/form-nport.json) + > See the documentation for more details: https://sec-api.io/docs/n-port-data-api ## Form N-CEN API - Annual Reports by Investment Companies @@ -894,11 +1914,65 @@ response = formNcenApi.get_data(search_params) print(response["data"]) ``` +
+ Example Response + +```json +{ + "total": { "value": 10000, "relation": "gte" }, + "data": [ + { + "id": "8673f62b218d47bba6c85d8c101caba8", + "accessionNo": "0001639553-26-000002", + "fileNo": "811-23054", + "formType": "N-CEN", + "filedAt": "2026-03-16T17:18:30-04:00", + "periodOfReport": "2025-12-31", + "registrantInfo": { + "registrantFullName": "Variable Annuity-8 Series Account (of Empower Life & Annuity Insurance Co of New York)", + "investmentCompFileNo": "811-23054", + "registrantCik": "1639553", + "registrantCity": "New York", + "registrantState": "NY", + "registrantCountry": "US", + "registrantClassificationType": "N-4", + "chiefComplianceOfficers": [ + { + "ccoName": "Ahmed Abdul-Jaleel", + "crdNumber": "008065071", + "ccoCity": "Greenwood Village", + "ccoState": "CO" + } + ], + "principalUnderwriters": [ + { + "principalUnderwriterName": "Empower Financial Services, Inc.", + "principalUnderwriterFileNo": "008-33854" + } + ], + "publicAccountants": [ + { + "publicAccountantName": "Deloitte & Touche LLP", + "pcaobNumber": "34" + } + ] + } + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/form-ncen.json) + > See the documentation for more details: https://sec-api.io/docs/form-ncen-api-annual-reports-investment-companies ## Form N-PX Proxy Voting Records API -The Form N-PX API consists of two APIs: the N-PX Search API and the Voting Records API. The N-PX Search API enables filtering all N-PX filings published on the SEC EDGAR database since 2024. The API accepts search queries as JSON formatted payload and returns the matching N-PX filings in JSON format. The Voting Records API allows downloading the proxy voting records in structured JSON format for a specific filing by providing the filing's accession number. +Access Form N-PX filings that disclose proxy voting records of mutual funds and other registered management investment companies. Use `get_metadata` to search filings and `get_voting_records` to retrieve individual voting records by accession number. + +### Search N-PX Filing Metadata ```python from sec_api import FormNPXApi @@ -912,15 +1986,55 @@ search_params = { "sort": [{"filedAt": {"order": "desc"}}], } -# get N-PX filing metadata: registrant type, investment company type, -# series and class IDs, report type, period of report, and more response = formNpxApi.get_metadata(search_params) npx_filing_metadata = response["data"] print(npx_filing_metadata) +``` + +
+ Example Response + +```json +{ + "total": { "value": 2, "relation": "eq" }, + "data": [ + { + "id": "723cc6d725f186bd4436136332d7fc98", + "accessionNo": "0001021408-25-003152", + "formType": "N-PX", + "filedAt": "2025-08-25T14:01:44-04:00", + "periodOfReport": "2025-06-30", + "cik": "884546", + "companyName": "CHARLES SCHWAB INVESTMENT MANAGEMENT INC", + "formData": { + "coverPage": { + "reportingPerson": { + "name": "Charles Schwab Investment Management Inc", + "address": { + "street1": "211 Main Street", + "city": "San Francisco", + "stateOrCountry": "CA", + "zipCode": "94105" + } + }, + "reportInfo": { + "reportType": "INSTITUTIONAL MANAGER VOTING REPORT" + } + } + } + } + ] +} +``` -# get proxy voting records: issuer name, CUSIP, meeting date, vote description, -# vote categories, shares voted, how voted, management recommendation, and more +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/form-npx-metadata.json) + +### Get Voting Records by Accession Number + +```python accessionNo = npx_filing_metadata[0]["accessionNo"] response = formNpxApi.get_voting_records(accessionNo) voting_records = response["proxyVotingRecords"] @@ -928,6 +2042,47 @@ voting_records = response["proxyVotingRecords"] print(voting_records[0]) ``` +
+ Example Response + +```json +{ + "id": "723cc6d725f186bd4436136332d7fc98", + "accessionNo": "0001021408-25-003152", + "formType": "N-PX", + "filedAt": "2025-08-25T14:01:44-04:00", + "periodOfReport": "2025-06-30", + "cik": "884546", + "companyName": "CHARLES SCHWAB INVESTMENT MANAGEMENT INC", + "proxyVotingRecords": [ + { + "issuerName": "10x Genomics, Inc.", + "cusip": "88025U109", + "meetingDate": "06/03/2025", + "voteDescription": "To approve, on a non-binding, advisory basis, the compensation of our named executive officers.", + "voteCategories": { + "voteCategory": [{ "categoryType": "SECTION 14A SAY-ON-PAY VOTES" }] + }, + "voteSource": "ISSUER", + "sharesVoted": 653315, + "vote": { + "voteRecord": [ + { + "howVoted": "AGAINST", + "sharesVoted": 653315, + "managementRecommendation": "AGAINST" + } + ] + } + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/form-npx-voting-records.json) + > See the documentation for more details: https://sec-api.io/docs/form-npx-proxy-voting-records-api ## Form S-1/424B4 API @@ -950,6 +2105,60 @@ response = form_s1_424B4_api.get_data(query) print(response["data"]) ``` +
+ Example Response + +```json +{ + "total": { "value": 5, "relation": "eq" }, + "data": [ + { + "id": "f838c5f9775441d7aa3b04e087e0e469", + "filedAt": "2021-11-12T17:00:47-05:00", + "accessionNo": "0001193125-21-328239", + "formType": "424B4", + "cik": "1874178", + "ticker": "RIVN", + "entityName": "Rivian Automotive, Inc. / DE", + "tickers": [ + { "ticker": "RIVN", "type": "Class A Common Stock", "exchange": "Nasdaq" } + ], + "securities": [ + { "name": "153,000,000 Shares Class A Common Stock" }, + { "name": "Class B common stock" } + ], + "publicOfferingPrice": { "perShare": 78, "total": 11934000000 }, + "underwritingDiscount": { "perShare": 1.1098, "total": 169799400 }, + "proceedsBeforeExpenses": { "perShare": 76.8902, "total": 11764200600 }, + "underwriters": [ + { "name": "Morgan Stanley & Co. LLC" }, + { "name": "Goldman Sachs & Co. LLC" }, + { "name": "J.P. Morgan Securities LLC" } + ], + "lawFirms": [ + { "name": "Latham & Watkins LLP", "location": "" }, + { "name": "Skadden, Arps, Slate, Meagher & Flom LLP", "location": "" } + ], + "auditors": [ + { "name": "KPMG LLP" } + ], + "management": [ + { "name": "Robert J. Scaringe", "age": 38, "position": "Founder and Chief Executive Officer, Chairman of the Board of Directors" }, + { "name": "Claire McDonough", "age": 40, "position": "Chief Financial Officer" } + ], + "employees": { + "total": 9195, + "asOfDate": "2021-10-31" + } + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/form-s1-424b4.json) + > See the documentation for more details: https://sec-api.io/docs/form-s1-424b4-data-search-api ## Form C API - Crowdfunding Campaigns @@ -973,6 +2182,55 @@ response = formCApi.get_data(search_params) print(response["data"]) ``` +
+ Example Response + +```json +{ + "total": { "value": 10000, "relation": "gte" }, + "data": [ + { + "id": "5ed83df80bfdb0dd611508c07e138867", + "accessionNo": "0002103209-26-000005", + "formType": "C/A", + "filedAt": "2026-03-31T18:45:06-04:00", + "cik": "2103209", + "companyName": "GigaWatt, Inc", + "issuerInformation": { + "issuerInfo": { + "nameOfIssuer": "GigaWatt, Inc.", + "legalStatus": { + "legalStatusForm": "Corporation", + "jurisdictionOrganization": "CA", + "dateIncorporation": "09-17-2025" + }, + "issuerWebsite": "https://www.gigawattinc.com/" + } + }, + "offeringInformation": { + "securityOfferedType": "Other", + "securityOfferedOtherDesc": "Class B Common Stock", + "noOfSecurityOffered": 10000, + "price": 2, + "offeringAmount": 20000, + "maximumOfferingAmount": 1235000, + "deadlineDate": "04-23-2026" + }, + "annualReportDisclosureRequirements": { + "currentEmployees": 21, + "totalAssetMostRecentFiscalYear": 2559852, + "revenueMostRecentFiscalYear": 7485272, + "netIncomeMostRecentFiscalYear": 83037 + } + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/form-c.json) + > See the documentation for more details: https://sec-api.io/docs/form-c-crowdfunding-api ## Form D API @@ -996,6 +2254,55 @@ response = formDApi.get_data( print(response["offerings"]) ``` +
+ Example Response + +```json +{ + "total": { "value": 10000, "relation": "gte" }, + "offerings": [ + { + "schemaVersion": "X0708", + "submissionType": "D/A", + "primaryIssuer": { + "cik": "0001925002", + "entityName": "Fund I, a series of Material Ventures, LP", + "issuerAddress": { + "street1": "119 SOUTH MAIN STREET", + "city": "SEATTLE", + "stateOrCountry": "WA", + "zipCode": "98104" + }, + "entityType": "Limited Partnership", + "yearOfInc": { "withinFiveYears": true, "value": "2021" } + }, + "offeringData": { + "industryGroup": { + "industryGroupType": "Pooled Investment Fund", + "investmentFundInfo": { "investmentFundType": "Venture Capital Fund", "is40Act": false } + }, + "federalExemptionsExclusions": { "item": ["06b", "3C", "3C.1"] }, + "typesOfSecuritiesOffered": { "isPooledInvestmentFundType": true }, + "minimumInvestmentAccepted": 25000, + "offeringSalesAmounts": { + "totalOfferingAmount": 10000000, + "totalAmountSold": 5254355, + "totalRemaining": 4745645 + }, + "investors": { "hasNonAccreditedInvestors": false, "totalNumberAlreadyInvested": 47 } + }, + "accessionNo": "0001925002-26-000003", + "filedAt": "2026-03-31T20:56:04-04:00", + "id": "eafcfda4b7698259276857a92943d990" + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/form-d.json) + > See the documentation for more details: https://sec-api.io/docs/form-d-xml-json-api ## Regulation A APIs @@ -1022,6 +2329,48 @@ offeringStatement = response["data"][0] print(offeringStatement) ``` +
+ Example Response + +```json +{ + "total": { "value": 1419, "relation": "eq" }, + "data": [ + { + "id": "af09549e0cb0775585c3481d61f8e471", + "accessionNo": "0001829126-24-008673", + "fileNo": "24R-00889", + "formType": "1-Z", + "filedAt": "2024-12-31T17:27:40-05:00", + "cik": "1973742", + "companyName": "Worldwide Stages, Inc.", + "item1": { + "issuerName": "Worldwide Stages, Inc.", + "street1": "5000 Northfield Lane", + "city": "Spring Hill", + "stateOrCountry": "TN", + "zipCode": "37174" + }, + "summaryInfoOffering": [ + { + "offeringQualificationDate": "08-10-2023", + "offeringSecuritiesQualifiedSold": 7500000, + "offeringSecuritiesSold": 3870, + "pricePerSecurity": 10, + "auditorSpName": ["Fruci & Associates II, PLLC"], + "legalSpName": ["Nelson Mullins Riley & Scarborough"], + "issuerNetProceeds": 25900.4 + } + ] + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/reg-a-search.json) + > See the documentation for more details: https://sec-api.io/docs/reg-a-offering-statements-api ### Form 1-A API @@ -1044,6 +2393,46 @@ form1A = response["data"][0] print(form1A) ``` +
+ Example Response + +```json +{ + "total": { "value": 1954, "relation": "eq" }, + "data": [ + { + "id": "3049ff20a7a655422f33f02c192c75bf", + "accessionNo": "0001493152-26-012984", + "formType": "1-A", + "filedAt": "2026-03-26T17:11:42-04:00", + "cik": "1587603", + "companyName": "WINNERS, INC.", + "issuerInfo": { + "street1": "401 RYLAND STREET", + "city": "RENO", + "stateOrCountry": "NV", + "totalAssets": 475537, + "totalLiabilities": 838770, + "totalRevenues": 495, + "netIncome": -978989 + }, + "summaryInfo": { + "indicateTier1Tier2Offering": "Tier1", + "financialStatementAuditStatus": "Unaudited", + "securitiesOfferedTypes": ["Equity (common or preferred stock)"], + "securitiesOffered": 10000000, + "pricePerSecurity": 0.5, + "totalAggregateOffering": 5000000 + } + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/reg-a-form-1a.json) + > See the documentation for more details: https://sec-api.io/docs/reg-a-offering-statements-api ### Form 1-K API @@ -1066,6 +2455,47 @@ form1Ks = response["data"] print(form1Ks) ``` +
+ Example Response + +```json +{ + "total": { "value": 4, "relation": "eq" }, + "data": [ + { + "id": "9e7259d5bfcc20d7bdf19c7037ab1186", + "accessionNo": "0001493152-25-009865", + "formType": "1-K", + "filedAt": "2025-03-11T16:38:05-04:00", + "periodOfReport": "2024-12-31", + "cik": "1786471", + "companyName": "Aptera Motors Corp", + "item1": { + "formIndication": "Annual Report", + "fiscalYearEnd": "12-31-2024", + "city": "Carlsbad", + "stateOrCountry": "CA" + }, + "summaryInfo": [ + { + "commissionFileNumber": "024-11479", + "offeringQualificationDate": "05-19-2021", + "qualifiedSecuritiesSold": 14000000, + "offeringSecuritiesSold": 12630689, + "pricePerSecurity": 8.02, + "aggregrateOfferingPrice": 101297126, + "issuerNetProceeds": 99964154 + } + ] + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/reg-a-form-1k.json) + > See the documentation for more details: https://sec-api.io/docs/reg-a-offering-statements-api ### Form 1-Z API @@ -1088,6 +2518,50 @@ form1Zs = response["data"] print(form1Zs) ``` +
+ Example Response + +```json +{ + "total": { "value": 361, "relation": "eq" }, + "data": [ + { + "id": "9b9dfa9d1532fbe9150cea549881f0cc", + "accessionNo": "0001683168-26-002068", + "formType": "1-Z/A", + "filedAt": "2026-03-23T06:02:42-04:00", + "cik": "1585380", + "ticker": "INKW", + "companyName": "Greene Concepts, Inc", + "item1": { + "issuerName": "Greene Concepts, Inc.", + "city": "Marion", + "stateOrCountry": "NC" + }, + "summaryInfoOffering": [ + { + "offeringQualificationDate": "04-03-2023", + "offeringSecuritiesQualifiedSold": 4500000000, + "offeringSecuritiesSold": 3047136365, + "pricePerSecurity": 0.0006, + "issuerNetProceeds": 1932001 + } + ], + "certificationSuspension": [ + { + "securitiesClassTitle": "Common Stock", + "approxRecordHolders": 5050 + } + ] + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/reg-a-form-1z.json) + > See the documentation for more details: https://sec-api.io/docs/reg-a-offering-statements-api ## Structured Data of Material Event Disclosures under Form 8-K @@ -1111,6 +2585,50 @@ item_4_01_response = item_X_api.get_data(item_4_01_request) print(item_4_01_response["data"]) ``` +
+ Example Response + +```json +{ + "total": { "value": 10000, "relation": "gte" }, + "data": [ + { + "id": "7ed33db091e32b437ff9c4571531869d", + "accessionNo": "0001388658-26-000022", + "formType": "8-K", + "filedAt": "2026-03-31T19:49:16-04:00", + "periodOfReport": "2026-03-30", + "cik": "1388658", + "ticker": "IRTC", + "companyName": "iRhythm Holdings, Inc.", + "items": [ + "Item 4.01: Changes in Registrant's Certifying Accountant", + "Item 9.01: Financial Statements and Exhibits" + ], + "item4_01": { + "keyComponents": "iRhythm Holdings, Inc. dismissed PricewaterhouseCoopers LLP as its independent auditor on March 30, 2026, and subsequently engaged KPMG LLP as the new auditor for the fiscal year ending December 31, 2026.", + "newAccountantDate": "2026-03-30", + "engagedNewAccountant": true, + "formerAccountantDate": "2026-03-30", + "engagementEndReason": "dismissal", + "formerAccountantName": "PricewaterhouseCoopers LLP", + "newAccountantName": "KPMG LLP", + "consultedNewAccountant": false, + "reportedDisagreements": false, + "reportableEventsExist": false, + "reportedIcfrWeakness": false, + "opinionType": "unqualified", + "approvedChange": true + } + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/form-8k-item-4-01.json) + > See the documentation for more details: https://sec-api.io/docs/form-8k-data-item4-1-search-api ### Financial Restatements & Non-Reliance on Prior Financial Results (Item 4.02) @@ -1132,6 +2650,48 @@ item_4_02_response = item_X_api.get_data(item_4_02_request) print(item_4_02_response["data"]) ``` +
+ Example Response + +```json +{ + "total": { "value": 8546, "relation": "eq" }, + "data": [ + { + "id": "1153464e0d82cd42a5773bede05220a8", + "accessionNo": "0001765048-26-000002", + "formType": "8-K", + "filedAt": "2026-03-26T09:53:26-04:00", + "cik": "1765048", + "ticker": "GCGJ", + "companyName": "GUOCHUN INTERNATIONAL INC.", + "items": [ + "Item 4.02: Non-Reliance on Previously Issued Financial Statements or a Related Audit Report or Completed Interim Review" + ], + "item4_02": { + "keyComponents": "The Company determined that action should be taken to preclude reliance on previously issued unaudited condensed financial statements for the period ended September 30, 2025, due to an erroneously recorded amount in other general and administrative expenses.", + "identifiedIssues": [ + "Erroneously recorded amount in other general and administrative expenses" + ], + "affectedReportingPeriods": ["Q3 2025"], + "identifiedBy": ["Company"], + "restatementIsNecessary": true, + "impactIsMaterial": false, + "materialWeaknessIdentified": false, + "affectedLineItems": [ + "Other General and Administrative Expenses", + "Prepayments" + ] + } + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/form-8k-item-4-02.json) + > See the documentation for more details: https://sec-api.io/docs/form-8k-data-search-api ### Changes of Directors, Executives, Board Members and Compensation Plans (Item 5.02) @@ -1153,6 +2713,59 @@ item_5_02_response = item_X_api.get_data(item_5_02_request) print(item_5_02_response["data"]) ``` +
+ Example Response + +```json +{ + "total": { "value": 10000, "relation": "gte" }, + "data": [ + { + "id": "9589d3da16d0e3bd48e6ebb799dd9988", + "accessionNo": "0001193125-26-135660", + "formType": "8-K", + "filedAt": "2026-04-01T07:00:10-04:00", + "periodOfReport": "2026-04-01", + "cik": "1109354", + "ticker": "BRKR", + "companyName": "BRUKER CORP", + "items": [ + "Item 5.02: Departure of Directors or Certain Officers; Election of Directors; Appointment of Certain Officers: Compensatory Arrangements of Certain Officers", + "Item 9.01: Financial Statements and Exhibits" + ], + "item5_02": { + "keyComponents": "Thierry L. Bernard was appointed as a new director to the Board of Bruker Corporation, expanding the Board to twelve directors.", + "personnelChanges": [ + { + "type": "appointment", + "effectiveDate": "2026-04-01", + "positions": ["Director"], + "person": { + "name": "Thierry L. Bernard", + "positionsAtOtherCompanies": [ + "CEO and Managing Director of QIAGEN N.V.", + "Board Member at Neogen Corporation" + ], + "academicAffiliations": [ + "Sciences Po", + "LSE", + "Harvard Business School" + ] + }, + "disagreements": false, + "interim": false + } + ] + } + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/form-8k-item-5-02.json) + > See the documentation for more details: https://sec-api.io/docs/form-8k-data-item5-2-search-api ## Directors & Board Members Data API @@ -1175,6 +2788,49 @@ response = directorsBoardMembersApi.get_data(query) print(response["data"]) ``` +
+ Example Response + +```json +{ + "total": { "value": 20, "relation": "eq" }, + "data": [ + { + "id": "42fe18db08211769589dc61fbd461443", + "filedAt": "2026-01-08T16:31:36-05:00", + "accessionNo": "0001308179-26-000008", + "cik": "320193", + "ticker": "AAPL", + "entityName": "Apple Inc.", + "directors": [ + { + "name": "Alex Gorsky", + "position": "Former Chair and CEO, Johnson & Johnson; Director", + "age": "65", + "directorClass": "II", + "dateFirstElected": "2021", + "isIndependent": false, + "committeeMemberships": ["Nominating Committee", "People and Compensation Committee"], + "qualificationsAndExperience": ["executive leadership experience", "brand marketing expertise", "experience in health and technology"] + }, + { + "name": "Tim Cook", + "position": "CEO; Chief Executive Officer", + "age": "65", + "dateFirstElected": "2011", + "committeeMemberships": [], + "qualificationsAndExperience": ["extensive executive leadership experience in the technology industry", "management of worldwide operations"] + } + ] + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/directors-board-members.json) + > See the documentation for more details: https://sec-api.io/docs/directors-and-board-members-data-api ## Executive Compensation Data API @@ -1351,6 +3007,81 @@ print(response["data"]) } ``` +## Audit Fees Data API + +Access audit fee data disclosed in proxy statements (DEF 14A), including fees paid to auditors for audit services, audit-related services, tax services, and other services. + +```python +from sec_api import AuditFeesApi + +auditFeesApi = AuditFeesApi("YOUR_API_KEY") + +query = { + "query": "cik:1318605", + "from": "0", + "size": "10", + "sort": [{"filedAt": {"order": "desc"}}], +} + +response = auditFeesApi.get_data(query) +print(response["data"]) +``` + +
+ Example Response + +```json +{ + "total": { "value": 10000, "relation": "gte" }, + "data": [ + { + "id": "a522dfd61d00caa01da0b4f4b38607c5", + "accessionNo": "0001717547-26-000026", + "formType": "DEF 14A", + "filedAt": "2026-04-01T08:33:43-04:00", + "periodOfReport": "2026-05-13", + "entities": [ + { + "cik": "1717547", + "ticker": "BRSP", + "companyName": "BrightSpire Capital, Inc. (Filer)", + "irsNo": "384046290", + "fiscalYearEnd": "1231", + "stateOfIncorporation": "MD", + "sic": "6798 Real Estate Investment Trusts" + } + ], + "records": [ + { + "year": 2025, + "auditFees": 1251363, + "auditRelatedFees": null, + "taxFees": null, + "allOtherFees": null, + "totalFees": 1251363, + "auditor": "Deloitte & Touche LLP" + }, + { + "year": 2024, + "auditFees": 1487239, + "auditRelatedFees": null, + "taxFees": 714695, + "allOtherFees": null, + "totalFees": 2201934, + "auditor": "Ernst & Young" + } + ] + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/audit-fees.json) + +> See the documentation for more details: https://sec-api.io/docs/audit-fees-api + ## SEC Enforcement Actions Database API Access and search SEC enforcement actions published from 1997 to present. The database includes information about the parties involved in the action, nature of charges and complaints, penalty amounts, requested reliefs, violated rules and regulations, and more. @@ -1371,6 +3102,46 @@ response = enforcementActionsApi.get_data(search_params) print(response["data"]) ``` +
+ Example Response + +```json +{ + "total": { "value": 137, "relation": "eq" }, + "data": [ + { + "id": "7efc54567587f7930a3e3c1919b5ed8e", + "releaseNo": "2024-212", + "releasedAt": "2024-12-20T17:25:11-05:00", + "url": "https://www.sec.gov/newsroom/press-releases/2024-212", + "title": "Tai Mo Shan to Pay $123 Million for Negligently Misleading Investors About Stability of Terra USD", + "summary": "The SEC charged Tai Mo Shan Limited with misleading investors about the stability of Terra USD and acting as a statutory underwriter for LUNA crypto assets, resulting in a $123 million settlement.", + "tags": ["disclosure fraud", "crypto", "unregistered securities"], + "entities": [ + { "name": "Tai Mo Shan Limited", "type": "company", "role": "defendant" }, + { "name": "Terraform Labs PTE Ltd.", "type": "company", "role": "other" } + ], + "hasAgreedToSettlement": true, + "penaltyAmounts": [ + { "penaltyAmount": "73452756", "penaltyAmountText": "$73,452,756", "imposedOn": "Tai Mo Shan Limited" }, + { "penaltyAmount": "36726378", "penaltyAmountText": "$36,726,378", "imposedOn": "Tai Mo Shan Limited" } + ], + "requestedRelief": [ + "disgorgement of profits", + "prejudgment interest", + "civil penalties", + "cease and desist from violations" + ], + "violatedSections": ["registration and fraud provisions"] + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/sec-enforcement-actions.json) + > See the documentation for more details: https://sec-api.io/docs/sec-enforcement-actions-database-api ## SEC Litigation Releases Database API @@ -1393,6 +3164,50 @@ response = secLitigationsApi.get_data(searchRequest) print(response["data"]) ``` +
+ Example Response + +```json +{ + "total": { "value": 288, "relation": "eq" }, + "data": [ + { + "id": "d459bd679554a02194c7c5f272f138fa", + "releaseNo": "LR-26206", + "releasedAt": "2024-12-31T01:53:13-05:00", + "title": "Dale B. Chappell, et al.", + "subTitle": "SEC Charges Humanigen's CEO and Chief Scientific Officer with Insider Trading", + "summary": "The SEC has charged Humanigen's CEO Cameron Durrant and Chief Scientific Officer Dale B. Chappell with insider trading for selling company stock based on nonpublic information.", + "tags": ["insider trading", "biopharmaceutical", "antifraud"], + "entities": [ + { "name": "Cameron Durrant", "type": "individual", "role": "defendant" }, + { "name": "Dale B. Chappell", "type": "individual", "role": "defendant" }, + { "name": "Humanigen, Inc.", "type": "company", "role": "other", "ticker": "HGENQ" } + ], + "requestedRelief": [ + "permanent injunctions", + "disgorgement of ill-gotten gains with prejudgment interest", + "civil penalties", + "officer and director bars" + ], + "violatedSections": [ + "Section 17(a) of the Securities Act of 1933", + "Section 10(b) of the Securities Exchange Act of 1934", + "Rule 10b-5" + ], + "parallelActionsTakenBy": [ + "Department of Justice's Fraud Section", + "U.S. Attorney's Office for the District of New Jersey" + ] + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/sec-litigation-releases.json) + > See the documentation for more details: https://sec-api.io/docs/sec-litigation-releases-database-api ## SEC Administrative Proceedings Database API @@ -1415,6 +3230,43 @@ response = adminProceedingsApi.get_data(searchRequest) print(response["data"]) ``` +
+ Example Response + +```json +{ + "total": { "value": 711, "relation": "eq" }, + "data": [ + { + "id": "0ab80b58b2fcf40e7497aa0000759a37", + "releasedAt": "2024-12-31T12:19:45-05:00", + "releaseNo": ["34-102060", "AAER-4554"], + "fileNumbers": ["3-22386"], + "respondents": [ + { "name": "Accell Audit & Compliance, PA", "type": "company", "role": "respondent" } + ], + "title": "ORDER INSTITUTING PUBLIC ADMINISTRATIVE PROCEEDINGS PURSUANT TO RULE 102(e) OF THE COMMISSION'S RULES OF PRACTICE, MAKING FINDINGS, AND IMPOSING REMEDIAL SANCTIONS", + "summary": "The SEC has instituted public administrative proceedings against Accell Audit & Compliance, PA, resulting in its suspension from appearing or practicing before the Commission due to its involvement in fraudulent financial reporting with Ignite International Brands, Ltd.", + "tags": ["fraudulent financial reporting", "accounting misconduct"], + "entities": [ + { "name": "Accell Audit & Compliance, PA", "type": "company", "role": "respondent" }, + { "name": "Ignite International Brands, Ltd.", "type": "company", "role": "related party" } + ], + "hasAgreedToSettlement": true, + "penaltyAmounts": [ + { "penaltyAmount": "75000", "penaltyAmountText": "$75,000", "imposedOn": "Accell Audit & Compliance, PA" } + ], + "violatedSections": ["Section 10(b) of the Exchange Act", "Rule 10b-5"], + "orders": ["Accell is suspended from appearing or practicing before the Commission as an accountant."] + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/sec-administrative-proceedings.json) + > See the documentation for more details: https://sec-api.io/docs/sec-administrative-proceedings-database-api ## AAER Database API @@ -1437,6 +3289,44 @@ response = aaerApi.get_data(query) print(response["data"]) ``` +
+ Example Response + +```json +{ + "total": { "value": 427, "relation": "eq" }, + "data": [ + { + "id": "b2dfd65355cdf4c4a629103a211882ce", + "dateTime": "2024-12-31T12:19:45-05:00", + "aaerNo": "AAER-4554", + "releaseNo": ["34-102060"], + "respondents": [ + { "name": "Accell Audit & Compliance, PA", "type": "company" } + ], + "urls": [ + { "type": "primary", "url": "https://www.sec.gov/files/litigation/admin/2024/34-102060.pdf" } + ], + "summary": "The SEC has instituted public administrative proceedings against Accell Audit & Compliance, PA, resulting in a suspension and a $75,000 penalty for failing to exercise due professional care in auditing Ignite International Brands, Ltd.'s financial statements.", + "tags": ["auditing misconduct", "fraudulent financial reporting"], + "entities": [ + { "name": "Accell Audit & Compliance, PA", "type": "company", "role": "respondent" }, + { "name": "Ignite International Brands, Ltd.", "type": "company", "role": "entity audited" } + ], + "hasAgreedToSettlement": true, + "penaltyAmounts": [ + { "penaltyAmount": "75000", "penaltyAmountText": "$75,000", "imposedOn": "Accell Audit & Compliance, PA" } + ], + "violatedSections": ["Section 10(b) of the Exchange Act", "Rule 10b-5"] + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/aaer.json) + > See the documentation for more details: https://sec-api.io/docs/aaer-database-api ## SRO Filings Database API @@ -1459,6 +3349,34 @@ response = sroFilingsApi.get_data(query) print(response["data"]) ``` +
+ Example Response + +```json +{ + "total": { "value": 7963, "relation": "eq" }, + "data": [ + { + "id": "dea4e1fa1371b4b91e08c7c3f5f42eae", + "releaseNumber": "34-105132", + "issueDate": "2026-03-31", + "fileNumber": "SR-NYSEAMER-2026-25", + "sro": "NYSE American LLC (NYSEAMER)", + "details": "Notice of Filing and Immediate Effectiveness of a Proposed Rule Change to Modify the NYSE American Options Fee Schedule...", + "commentsDue": "21 days after publication in the Federal Register.", + "urls": [ + { "type": "34-105132", "url": "https://www.sec.gov/files/rules/sro/nyseamer/2026/34-105132.pdf" }, + { "type": "Exhibit 5", "url": "https://www.sec.gov/files/rules/sro/nyseamer/2026/34-105132-ex5.pdf" } + ] + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/sro-filings.json) + > See the documentation for more details: https://sec-api.io/docs/sro-filings-database-api ## CUSIP/CIK/Ticker Mapping API @@ -1555,222 +3473,107 @@ response = edgarEntitiesApi.get_data(search_request) print(response["data"]) ``` +
+ Example Response + +```json +{ + "total": { "value": 1, "relation": "eq" }, + "data": [ + { + "id": "1318605", + "cik": "1318605", + "name": "Tesla, Inc.", + "businessAddress": { + "street1": "1 TESLA ROAD", + "city": "AUSTIN", + "state": "TX", + "stateName": "TEXAS", + "zip": "78725" + }, + "mailingAddress": { + "street1": "1 TESLA ROAD", + "city": "AUSTIN", + "state": "TX", + "stateName": "TEXAS", + "zip": "78725" + }, + "stateOfIncorporation": "TX", + "phone": "512-516-8177", + "irsNo": "912197729", + "fiscalYearEnd": "1231", + "sic": "3711", + "sicLabel": "3711 MOTOR VEHICLES & PASSENGER CAR BODIES", + "formTypes": { "4": true, "144": true, "8-K": true, "10-Q": true, "10-K": true }, + "filerCategory": "Large Accelerated Filer", + "currentReportingStatus": true, + "wellKnownSeasonedIssuer": true, + "auditorName": "PricewaterhouseCoopers LLP", + "auditorLocation": "San Jose, California" + } + ] +} +``` + +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/edgar-entities.json) + > See the documentation for more details: https://sec-api.io/docs/edgar-entities-database-api -## Proxy Support +## EDGAR Filings Ingestion Logs API -In certain cases, your corporate IT infrastructure may encounter issues with HTTPS requests, leading to SSL certificate errors. To resolve this, HTTP and HTTPS proxies can be passed into all API wrappers as shown in the example below. If you're unsure about which proxies to use, please consult your company's IT administrator. +Retrieve a log of all filings ingested from SEC EDGAR on a specific date. Returns accession numbers, form types, and filing timestamps for all filings published on the requested date. Data is available from December 2, 2025 onwards. ```python -from sec_api import QueryApi, RenderApi, ... +from sec_api import EdgarIndexApi -proxies = { - "http": "http://your-proxy.com", - "https": "https://your-proxy.com", -} +edgarIndexApi = EdgarIndexApi("YOUR_API_KEY") -queryApi = QueryApi(api_key="YOUR_API_KEY", proxies=proxies) -renderApi = RenderApi(api_key="YOUR_API_KEY", proxies=proxies) -``` - -## Query API Response Format - -- `accessionNo` (string) - Accession number of filing, e.g. 0000028917-20-000033 -- `cik` (string) - CIK of the filing issuer. Important: trailing `0` are removed. -- `ticker` (string) - Ticker of company, e.g. AMOT. A ticker is not available when non-publicly traded companies report filings (e.g. form 4 reported by directors). Please contact us if you find filings that you think should have tickers (but don't). -- `companyName` (string) - Name of company, e.g. Allied Motion Technologies Inc -- `companyNameLong` (string) - Long version of company name including the filer type (Issuer, Filer, Reporting), e.g. ALLIED MOTION TECHNOLOGIES INC (0000046129) (Issuer) -- `formType` (string) - sec.gov form type, e.g 10-K. [See the list of supported form types here.](https://sec-api.io/#list-of-sec-form-types) -- `description` (string) - Description of the form, e.g. Statement of changes in beneficial ownership of securities -- `linkToFilingDetails` (string) - Link to HTML, XML or PDF version of the filing. -- `linkToTxt` (string) - Link to the plain text version of the filing. This file can be multiple MBs large. -- `linkToHtml` (string) - Link to index page of the filing listing all exhibits and the original HTML file. -- `linkToXbrl` (string, optional) - Link to XBRL version of the filing (if available). -- `filedAt` (string) - The date (format: YYYY-MM-DD HH:mm:SS TZ) the filing was filed, eg 2019-12-06T14:41:26-05:00. -- `periodOfReport` (string, if reported) - Period of report, e.g. 2021-06-08 -- `effectivenessDate` (string, if reported) - Effectiveness date, e.g. 2021-06-08 -- `registrationForm` (string, if reported) - Registration form as reported on EFFECT forms, e.g. S-1 -- `referenceAccessionNo` (string, if reported) - Reference accession number as reported on EFFECT forms, e.g. 0001213900-22-001446 -- `items` (array of strings, if reported) - Items represents an array of item strings as reported on form 8-K, 8-K/A, D, D/A, ABS-15G, ABS-15G/A, 1-U, 1-U/A. For example: `["Item 3.02: Unregistered Sales of Equity Securities", "Item 9.01: Financial Statements and Exhibits"]` -- `groupMembers` (array, if reported) - Group members represents an array of member strings as reported on SC 13G, SC 13G/A, SC 13D, SC 13D/A filings, e.g. `[ "ALEC N. LITOWITZMAGNETAR CAPITAL PARTNERS LPSUPERNOVA MANAGEMENT LLC" ]` -- `id` (string) - Unique ID of the filing. -- `entities` (array) - A list of all entities referred to in the filing. The first item in the array always represents the filing issuer. Each array element is an object with the following keys: - - `companyName` (string) - Company name of the entity, e.g. DILLARD'S, INC. (Issuer) - - `cik` (string) - CIK of the entity. Trailing 0 are not removed here, e.g. 0000028917 - - `irsNo` (string, optional) - IRS number of the entity, e.g. 710388071 - - `stateOfIncorporation` (string, optional) - State of incorporation of entity, e.g. AR - - `fiscalYearEnd` (string, optional) - Fiscal year end of the entity, e.g. 0201 - - `sic` (string, optional) - SIC of the entity, e.g. 5311 Retail-Department Stores - - `type` (string, optional) - Type of the filing being filed. Same as formType, e.g. 4 - - `act` (string, optional) - The SEC act pursuant to which the filing was filed, e.g. 34 - - `fileNo` (string, optional) - Filer number of the entity, e.g. 001-06140 - - `filmNo` (string, optional) - Film number of the entity, e.g. 20575664 -- `documentFormatFiles` (array) - An array listing all primary files of the filing. The first item of the array is always the filing itself. The last item of the array is always the TXT version of the filing. All other items can represent exhibits, press releases, PDF documents, presentations, graphics, XML files, and more. An array item is represented as follows: - - `sequence` (string, optional) - The sequence number of the filing, e.g. 1 - - `description` (string, optional) - Description of the file, e.g. EXHIBIT 31.1 - - `documentUrl` (string) - URL to the file on SEC.gov - - `type` (string, optional) - Type of the file, e.g. EX-32.1, GRAPHIC or 10-Q - - `size` (string, optional) - Size of the file, e.g. 6627216 -- `dataFiles` (array) - List of data files (filing attachments, exhibits, XBRL files) attached to the filing. - - `sequence` (string) - Sequence number of the file, e.g. 6 - - `description` (string) - Description of the file, e.g. XBRL INSTANCE DOCUMENT - - `documentUrl` (string) - URL to the file on SEC.gov - - `type` (string, optional) - Type of the file, e.g. EX-101.INS, EX-101.DEF or EX-101.PRE - - `size` (string, optional) - Size of the file, e.g. 6627216 -- `seriesAndClassesContractsInformation` (array) - List of series and classes/contracts information - - `series` (string) - Series ID, e.g. S000001297 - - `name` (string) - Name of entity, e.g. PRUDENTIAL ANNUITIES LIFE ASSUR CORP VAR ACCT B CL 1 SUB ACCTS - - `classesContracts` (array) - List of classes/contracts. Each list item has the following keys: - - `classContract` (string) - Class/Contract ID, e.g. C000011787 - - `name` (string) - Name of class/contract entity, e.g. Class L - - `ticker` (string) - Ticker class/contract entity, e.g. URTLX - -### 13F Institutional Ownerships - -13F filings report institutional ownerships. Each 13F filing has an attribute `holdings` (array). An array item in holdings represents one holding and has the following attributes: - -- `nameOfIssuer` (string) - Name of issuer, e.g. MICRON TECHNOLOGY INC -- `titleOfClass` (string) - Title of class, e.g. COM -- `cusip` (string) - CUSIP of security, e.g. 98850P109 -- `value` (integer) - Absolute holding value in $, e.g. 18000. Note: `value` doesn't have to be multiplied by 1000 anymore. It's done by our API automatically. -- `shrsOrPrnAmt` (object) - - `sshPrnamt` (integer) - Shares or PRN AMT, e.g. 345 - - `sshPrnamtType` (string) - Share/PRN type, e.g. "SH" -- `putCall` (string, optional) - Put / Call, e.g. Put -- `investmentDiscretion` (string) - Investment discretion, e.g. "SOLE" -- `otherManager` (string, optional) - Other manager, e.g. 7 -- `votingAuthority` (object) - - `Sole` (integer) - Sole, e.g. 345 - - `Shared` (integer) - Shared, e.g. 345 - - `None` (integer) - None, e.g. 345 - -### Query API Example JSON Response +response = edgarIndexApi.get_ingestion_log("2025-12-02") +print(response["data"]) +``` + +
+ Example Response ```json { - "id": "79ad9e452ea42402df4fe55c636191d6", - "accessionNo": "0001213900-21-032169", - "cik": "1824149", - "ticker": "JOFF", - "companyName": "JOFF Fintech Acquisition Corp.", - "companyNameLong": "JOFF Fintech Acquisition Corp. (Filer)", - "formType": "10-Q", - "description": "Form 10-Q - Quarterly report [Sections 13 or 15(d)]", - "filedAt": "2021-06-11T17:25:44-04:00", - "linkToTxt": "https://www.sec.gov/Archives/edgar/data/1824149/000121390021032169/0001213900-21-032169.txt", - "linkToHtml": "https://www.sec.gov/Archives/edgar/data/1824149/000121390021032169/0001213900-21-032169-index.htm", - "linkToXbrl": "", - "linkToFilingDetails": "https://www.sec.gov/Archives/edgar/data/1824149/000121390021032169/f10q0321_jofffintech.htm", - "entities": [ - { - "companyName": "JOFF Fintech Acquisition Corp. (Filer)", - "cik": "1824149", - "irsNo": "852863893", - "stateOfIncorporation": "DE", - "fiscalYearEnd": "1231", - "type": "10-Q", - "act": "34", - "fileNo": "001-40005", - "filmNo": "211012398", - "sic": "6770 Blank Checks" - } - ], - "documentFormatFiles": [ - { - "sequence": "1", - "description": "QUARTERLY REPORT", - "documentUrl": "https://www.sec.gov/Archives/edgar/data/1824149/000121390021032169/f10q0321_jofffintech.htm", - "type": "10-Q", - "size": "274745" - }, - { - "sequence": "2", - "description": "CERTIFICATION", - "documentUrl": "https://www.sec.gov/Archives/edgar/data/1824149/000121390021032169/f10q0321ex31-1_jofffintech.htm", - "type": "EX-31.1", - "size": "12209" - }, - { - "sequence": "3", - "description": "CERTIFICATION", - "documentUrl": "https://www.sec.gov/Archives/edgar/data/1824149/000121390021032169/f10q0321ex31-2_jofffintech.htm", - "type": "EX-31.2", - "size": "12220" - }, - { - "sequence": "4", - "description": "CERTIFICATION", - "documentUrl": "https://www.sec.gov/Archives/edgar/data/1824149/000121390021032169/f10q0321ex32-1_jofffintech.htm", - "type": "EX-32.1", - "size": "4603" - }, - { - "sequence": "5", - "description": "CERTIFICATION", - "documentUrl": "https://www.sec.gov/Archives/edgar/data/1824149/000121390021032169/f10q0321ex32-2_jofffintech.htm", - "type": "EX-32.2", - "size": "4607" - }, - { - "sequence": " ", - "description": "Complete submission text file", - "documentUrl": "https://www.sec.gov/Archives/edgar/data/1824149/000121390021032169/0001213900-21-032169.txt", - "type": " ", - "size": "2344339" - } - ], - "dataFiles": [ - { - "sequence": "6", - "description": "XBRL INSTANCE FILE", - "documentUrl": "https://www.sec.gov/Archives/edgar/data/1824149/000121390021032169/joff-20210331.xml", - "type": "EX-101.INS", - "size": "248137" - }, - { - "sequence": "7", - "description": "XBRL SCHEMA FILE", - "documentUrl": "https://www.sec.gov/Archives/edgar/data/1824149/000121390021032169/joff-20210331.xsd", - "type": "EX-101.SCH", - "size": "43550" - }, - { - "sequence": "8", - "description": "XBRL CALCULATION FILE", - "documentUrl": "https://www.sec.gov/Archives/edgar/data/1824149/000121390021032169/joff-20210331_cal.xml", - "type": "EX-101.CAL", - "size": "21259" - }, - { - "sequence": "9", - "description": "XBRL DEFINITION FILE", - "documentUrl": "https://www.sec.gov/Archives/edgar/data/1824149/000121390021032169/joff-20210331_def.xml", - "type": "EX-101.DEF", - "size": "182722" - }, + "lastUpdatedAt": "2025-12-02T21:57:46-05:00", + "total": { "value": 3041, "relation": "eq" }, + "data": [ { - "sequence": "10", - "description": "XBRL LABEL FILE", - "documentUrl": "https://www.sec.gov/Archives/edgar/data/1824149/000121390021032169/joff-20210331_lab.xml", - "type": "EX-101.LAB", - "size": "309660" + "accessionNo": "0001193125-25-305761", + "formType": "S-1MEF", + "filedAt": "2025-12-02T21:57:17-05:00" }, { - "sequence": "11", - "description": "XBRL PRESENTATION FILE", - "documentUrl": "https://www.sec.gov/Archives/edgar/data/1824149/000121390021032169/joff-20210331_pre.xml", - "type": "EX-101.PRE", - "size": "186873" + "accessionNo": "0001493152-25-025840", + "formType": "4", + "filedAt": "2025-12-02T21:56:21-05:00" } - ], - "seriesAndClassesContractsInformation": [], - "periodOfReport": "2021-03-31", - "effectivenessDate": "2021-03-31" + ] } ``` -## Contact +
+ +[Full example response](https://github.com/janlukasschroeder/sec-api-python/blob/master/examples/api-responses/edgar-index-ingestion-log.json) + +> See the documentation for more details: https://sec-api.io/docs/edgar-index-apis + +## Proxy Support + +In certain cases, your corporate IT infrastructure may encounter issues with HTTPS requests, leading to SSL certificate errors. To resolve this, HTTP and HTTPS proxies can be passed into all API wrappers as shown in the example below. If you're unsure about which proxies to use, please consult your company's IT administrator. + +```python +from sec_api import QueryApi, DownloadApi, ... -Let us know how we can improve the library or if you have any feature suggestions. We're happy to implement them. +proxies = { + "http": "http://your-proxy.com", + "https": "https://your-proxy.com", +} -support@sec-api.io +queryApi = QueryApi(api_key="YOUR_API_KEY", proxies=proxies) +downloadApi = DownloadApi(api_key="YOUR_API_KEY", proxies=proxies) +``` diff --git a/examples/api-responses/aaer.json b/examples/api-responses/aaer.json new file mode 100644 index 0000000..ff235ee --- /dev/null +++ b/examples/api-responses/aaer.json @@ -0,0 +1,70 @@ +{ + "total": { + "value": 427, + "relation": "eq" + }, + "data": [ + { + "id": "b2dfd65355cdf4c4a629103a211882ce", + "dateTime": "2024-12-31T12:19:45-05:00", + "aaerNo": "AAER-4554", + "releaseNo": [ + "34-102060" + ], + "respondents": [ + { + "name": "Accell Audit & Compliance, PA", + "type": "company" + } + ], + "respondentsText": "Accell Audit & Compliance, PA", + "urls": [ + { + "type": "primary", + "url": "https://www.sec.gov/files/litigation/admin/2024/34-102060.pdf" + } + ], + "summary": "The SEC has instituted public administrative proceedings against Accell Audit & Compliance, PA, resulting in a suspension and a $75,000 penalty for failing to exercise due professional care in auditing Ignite International Brands, Ltd.'s financial statements.", + "tags": [ + "auditing misconduct", + "fraudulent financial reporting" + ], + "entities": [ + { + "name": "Accell Audit & Compliance, PA", + "type": "company", + "role": "respondent" + }, + { + "name": "Ignite International Brands, Ltd.", + "type": "company", + "role": "entity audited" + } + ], + "complaints": [ + "Accell failed to exercise due professional care or skepticism, or to obtain sufficient appropriate audit evidence for a significant, unusual sale to an Ignite-related party that did not occur during the reporting period.", + "Accell staff knew about, but failed to address, inconsistencies and contradictory evidence, and misrepresented the timing and facts of the supposed sale.", + "Accell issued an unqualified audit opinion on Ignite’s 2020 financial statements, falsely stating its opinion that the statements 'present fairly, in all material respects, the financial position of the company'.", + "Accell’s actions aided and abetted Ignite’s fraudulent financial reporting." + ], + "parallelActionsTakenBy": [], + "hasAgreedToSettlement": true, + "hasAgreedToPayPenalty": true, + "penaltyAmounts": [ + { + "penaltyAmount": "75000", + "penaltyAmountText": "$75,000", + "imposedOn": "Accell Audit & Compliance, PA" + } + ], + "requestedRelief": [ + "suspension from appearing or practicing before the Commission" + ], + "violatedSections": [ + "Section 10(b) of the Exchange Act", + "Rule 10b-5" + ], + "otherAgenciesInvolved": [] + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/audit-fees.json b/examples/api-responses/audit-fees.json new file mode 100644 index 0000000..6d617d8 --- /dev/null +++ b/examples/api-responses/audit-fees.json @@ -0,0 +1,49 @@ +{ + "total": { + "value": 10000, + "relation": "gte" + }, + "data": [ + { + "id": "a522dfd61d00caa01da0b4f4b38607c5", + "accessionNo": "0001717547-26-000026", + "formType": "DEF 14A", + "filedAt": "2026-04-01T08:33:43-04:00", + "periodOfReport": "2026-05-13", + "entities": [ + { + "cik": "1717547", + "ticker": "BRSP", + "companyName": "BrightSpire Capital, Inc. (Filer)", + "irsNo": "384046290", + "fiscalYearEnd": "1231", + "stateOfIncorporation": "MD", + "sic": "6798 Real Estate Investment Trusts", + "act": "34", + "fileNo": "001-38377", + "filmNo": "26824836" + } + ], + "records": [ + { + "year": 2025, + "auditFees": 1251363, + "auditRelatedFees": null, + "taxFees": null, + "allOtherFees": null, + "totalFees": 1251363, + "auditor": "Deloitte & Touche LLP" + }, + { + "year": 2024, + "auditFees": 1487239, + "auditRelatedFees": null, + "taxFees": 714695, + "allOtherFees": null, + "totalFees": 2201934, + "auditor": "Ernst & Young" + } + ] + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/directors-board-members.json b/examples/api-responses/directors-board-members.json new file mode 100644 index 0000000..268278a --- /dev/null +++ b/examples/api-responses/directors-board-members.json @@ -0,0 +1,231 @@ +{ + "total": { + "value": 20, + "relation": "eq" + }, + "data": [ + { + "id": "42fe18db08211769589dc61fbd461443", + "filedAt": "2026-01-08T16:31:36-05:00", + "accessionNo": "0001308179-26-000008", + "cik": "320193", + "ticker": "AAPL", + "entityName": "Apple Inc.", + "directors": [ + { + "name": "Alex Gorsky", + "position": "Former Chair and CEO, Johnson & Johnson; Director", + "age": "65", + "directorClass": "II", + "dateFirstElected": "2021", + "isIndependent": false, + "committeeMemberships": [ + "Nominating Committee", + "People and Compensation Committee" + ], + "qualificationsAndExperience": [ + "executive leadership experience", + "brand marketing expertise", + "experience in health and technology" + ] + }, + { + "name": "Andrea Jung", + "position": "President and CEO, Grameen America; Director", + "age": "67", + "directorClass": "I", + "dateFirstElected": "2008", + "isIndependent": null, + "committeeMemberships": [ + "Nominating Committee", + "People and Compensation Committee (Chair)" + ], + "qualificationsAndExperience": [ + "executive leadership experience", + "global business perspective", + "extensive brand marketing and consumer products experience", + "service as a chair and chief executive officer of a large international public company" + ] + }, + { + "name": "Art Levinson", + "position": "Board Chair; Chair of the Board", + "age": "75", + "directorClass": "", + "dateFirstElected": "2000", + "isIndependent": null, + "committeeMemberships": [ + "Audit Committee", + "People and Compensation Committee" + ], + "qualificationsAndExperience": [ + "Founder and CEO, Calico", + "executive leadership experience", + "financial expertise", + "brand marketing experience", + "expertise in the health sector", + "technology and innovation" + ] + }, + { + "name": "Deirdre O’Brien", + "position": "Senior Vice President, Retail + People", + "age": "59", + "directorClass": "", + "dateFirstElected": "", + "isIndependent": null, + "committeeMemberships": [], + "qualificationsAndExperience": [ + "Oversees Apple’s retail stores and online teams", + "Leads Apple’s People team", + "Joined Apple in July 1988", + "Served in various roles including Vice President, People and Operations" + ] + }, + { + "name": "Kate Adams", + "position": "Senior Vice President, General Counsel and Secretary", + "age": "61", + "directorClass": "", + "dateFirstElected": "November 2017", + "isIndependent": null, + "committeeMemberships": [], + "qualificationsAndExperience": [ + "Oversees all of Apple’s legal matters", + "Experience in corporate governance", + "Experience in intellectual property", + "Experience in litigation", + "Experience in compliance", + "Experience in global security", + "Experience in privacy", + "Former General Counsel of Honeywell International Inc.", + "Partner at the law firm of Sidley Austin LLP" + ] + }, + { + "name": "Kevan Parekh", + "position": "Senior Vice President, Chief Financial Officer", + "age": "54", + "directorClass": "", + "dateFirstElected": "", + "isIndependent": null, + "committeeMemberships": [], + "qualificationsAndExperience": [ + "oversees Apple’s accounting, business support, financial planning and analysis, treasury, investor relations, internal audit, and tax functions", + "joined Apple in June 2013", + "previous positions include Vice President, Financial Planning and Analysis and Vice President, Worldwide Finance for Sales, Marketing, and Retail", + "held various senior leadership roles at Thomson Reuters and General Motors" + ] + }, + { + "name": "Monica Lozano", + "position": "Former President and CEO, College Futures Foundation; Director", + "age": "69", + "directorClass": "I", + "dateFirstElected": "2021", + "isIndependent": null, + "committeeMemberships": [ + "Audit Committee" + ], + "qualificationsAndExperience": [ + "executive leadership experience", + "experience in operations and strategic planning", + "media and marketing experience", + "retired President and Chief Executive Officer of the College Futures Foundation", + "co-founded The Aspen Institute Latinos and Society Program" + ] + }, + { + "name": "Ron Sugar", + "position": "Former Chair and CEO, Northrop Grumman Corporation; Director", + "age": "77", + "directorClass": "I", + "dateFirstElected": "2010", + "isIndependent": null, + "committeeMemberships": [ + "Audit Committee" + ], + "qualificationsAndExperience": [ + "executive leadership experience as a chairman and chief executive officer of a large international public company", + "financial expertise as a former chief financial officer", + "experience in worldwide operations", + "understanding of advanced technology", + "experience with government relations and public policy", + "global business perspective from tenure at global companies and service on other boards" + ] + }, + { + "name": "Sabih Khan", + "position": "Chief Operating Officer", + "age": "59", + "directorClass": "", + "dateFirstElected": "", + "isIndependent": null, + "committeeMemberships": [], + "qualificationsAndExperience": [ + "oversaw Apple’s worldwide operations", + "led global supply chain team", + "managed environmental and social initiatives", + "supervised AppleCare customer service and support", + "held positions of Senior Vice President, Operations and Vice President, Product Operations", + "worked at GE Plastics" + ] + }, + { + "name": "Sue Wagner", + "position": "Co-founder and Director, BlackRock; Chair", + "age": "64", + "directorClass": "I", + "dateFirstElected": "2014", + "isIndependent": null, + "committeeMemberships": [ + "People and Compensation Committee", + "Nominating Committee", + "Audit Committee" + ], + "qualificationsAndExperience": [ + "operational experience and a global business perspective", + "service as chief operating officer of a large multinational public company", + "extensive financial expertise", + "experience in the highly regulated financial services industry", + "co-founder of BlackRock, Inc.", + "served as BlackRock’s Vice Chair", + "member of BlackRock’s Global Executive Committee and Global Operating Committee", + "led the alternative investments and international client businesses" + ] + }, + { + "name": "Tim Cook", + "position": "CEO; Chief Executive Officer", + "age": "65", + "directorClass": "", + "dateFirstElected": "2011", + "isIndependent": null, + "committeeMemberships": [], + "qualificationsAndExperience": [ + "extensive executive leadership experience in the technology industry", + "management of worldwide operations", + "sales, service, and support" + ] + }, + { + "name": "Wanda Austin", + "position": "Former President and CEO, The Aerospace Corporation; Director", + "age": "71", + "directorClass": "I", + "dateFirstElected": "2024", + "isIndependent": true, + "committeeMemberships": [ + "Audit Committee" + ], + "qualificationsAndExperience": [ + "executive leadership experience", + "expertise in advanced technology and innovation", + "experience with environment, cybersecurity, and public policy", + "global business perspective" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/edgar-entities.json b/examples/api-responses/edgar-entities.json new file mode 100644 index 0000000..e316043 --- /dev/null +++ b/examples/api-responses/edgar-entities.json @@ -0,0 +1,85 @@ +{ + "total": { + "value": 1, + "relation": "eq" + }, + "data": [ + { + "id": "1318605", + "cik": "1318605", + "cikUpdatedAt": "2026-02-27T19:00:21-05:00", + "name": "Tesla, Inc.", + "nameUpdatedAt": "2026-02-27T19:00:21-05:00", + "businessAddress": { + "street1": "1 TESLA ROAD", + "city": "AUSTIN", + "state": "TX", + "stateName": "TEXAS", + "zip": "78725" + }, + "businessAddressUpdatedAt": "2026-02-27T19:00:21-05:00", + "mailingAddress": { + "street1": "1 TESLA ROAD", + "city": "AUSTIN", + "state": "TX", + "stateName": "TEXAS", + "zip": "78725" + }, + "mailingAddressUpdatedAt": "2026-02-27T19:00:21-05:00", + "stateOfIncorporation": "TX", + "stateOfIncorporationUpdatedAt": "2026-02-27T19:00:21-05:00", + "phone": "512-516-8177", + "phoneUpdatedAt": "2026-02-27T19:00:21-05:00", + "irsNo": "912197729", + "irsNoUpdatedAt": "2026-02-27T19:00:21-05:00", + "fiscalYearEnd": "1231", + "fiscalYearEndUpdatedAt": "2026-02-27T19:00:21-05:00", + "sic": "3711", + "sicUpdatedAt": "2026-02-27T19:00:21-05:00", + "sicLabel": "3711 MOTOR VEHICLES & PASSENGER CAR BODIES", + "sicLabelUpdatedAt": "2026-02-27T19:00:21-05:00", + "cfOffice": "04 Manufacturing", + "cfOfficeUpdatedAt": "2026-02-27T19:00:21-05:00", + "formTypes": { + "4": true, + "144": true, + "DEFA14A": true, + "DEF 14A": true, + "ARS": true, + "PX14A6G": true, + "8-K": true, + "10-Q": true, + "S-8": true, + "SCHEDULE 13G/A": true, + "10-K": true + }, + "formTypesUpdatedAt": "2026-02-27T19:00:21-05:00", + "emergingGrowthCompany": false, + "emergingGrowthCompanyUpdatedAt": "2025-10-02T09:04:54-04:00", + "currentReportingStatus": true, + "currentReportingStatusUpdatedAt": "2025-10-22T21:08:43-04:00", + "interactiveDataCurrent": true, + "interactiveDataCurrentUpdatedAt": "2025-10-22T21:08:43-04:00", + "filerCategory": "Large Accelerated Filer", + "filerCategoryUpdatedAt": "2025-10-22T21:08:43-04:00", + "smallBusiness": false, + "smallBusinessUpdatedAt": "2025-10-22T21:08:43-04:00", + "shellCompany": false, + "shellCompanyUpdatedAt": "2025-10-22T21:08:43-04:00", + "auditorLocationUpdatedAt": "2026-01-28T20:55:03-05:00", + "voluntaryFilerUpdatedAt": "2026-01-28T20:55:03-05:00", + "auditorNameUpdatedAt": "2026-01-28T20:55:03-05:00", + "wellKnownSeasonedIssuerUpdatedAt": "2026-01-28T20:55:03-05:00", + "latestIcfrAuditSource": "0001628280-26-003952", + "wellKnownSeasonedIssuer": true, + "voluntaryFiler": false, + "latestIcfrAuditFiledAt": "2026-01-28T20:55:03-05:00", + "latestIcfrAuditSourceUpdatedAt": "2026-01-28T20:55:03-05:00", + "auditorName": "PricewaterhouseCoopers LLP", + "latestIcfrAuditFiledAtUpdatedAt": "2026-01-28T20:55:03-05:00", + "auditorFirmId": "238", + "auditorFirmIdUpdatedAt": "2026-01-28T20:55:03-05:00", + "auditorLocation": "San Jose, California" + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/edgar-index-ingestion-log.json b/examples/api-responses/edgar-index-ingestion-log.json new file mode 100644 index 0000000..2981b7f --- /dev/null +++ b/examples/api-responses/edgar-index-ingestion-log.json @@ -0,0 +1,14 @@ +{ + "lastUpdatedAt": "2025-12-02T21:57:46-05:00", + "total": { + "value": 3041, + "relation": "eq" + }, + "data": [ + { + "accessionNo": "0001193125-25-305761", + "formType": "S-1MEF", + "filedAt": "2025-12-02T21:57:17-05:00" + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/executive-compensation.json b/examples/api-responses/executive-compensation.json new file mode 100644 index 0000000..ba4b2be --- /dev/null +++ b/examples/api-responses/executive-compensation.json @@ -0,0 +1,66 @@ +[ + { + "id": "19b4cc24f7170d4f2a69fe20299e8478", + "cik": "1318605", + "ticker": "TSLA", + "name": "Tom Zhu", + "position": "SVP, APAC and Global Vehicle Manufacturing", + "year": 2024, + "salary": 350000, + "bonus": 0, + "stockAwards": 0, + "optionAwards": 0, + "nonEquityIncentiveCompensation": 0, + "changeInPensionValueAndDeferredEarnings": 0, + "otherCompensation": 168250, + "total": 518250 + }, + { + "id": "0d16240cd4ed290eeb096d007570f3f2", + "cik": "1318605", + "ticker": "TSLA", + "name": "Andrew Baglino", + "position": "Former SVP, Powertrain and Energy Engineering", + "year": 2024, + "salary": 121620, + "bonus": 0, + "stockAwards": 0, + "optionAwards": 0, + "nonEquityIncentiveCompensation": 0, + "changeInPensionValueAndDeferredEarnings": 0, + "otherCompensation": 3000, + "total": 124620 + }, + { + "id": "cf7779d6e76ea8fbb5d95a250758dd93", + "cik": "1318605", + "ticker": "TSLA", + "name": "Elon Musk", + "position": "Technoking of Tesla and Chief Executive Officer", + "year": 2024, + "salary": 0, + "bonus": 0, + "stockAwards": 0, + "optionAwards": 0, + "nonEquityIncentiveCompensation": 0, + "changeInPensionValueAndDeferredEarnings": 0, + "otherCompensation": 0, + "total": 0 + }, + { + "id": "61bb71efb2560e6bcb3ccc5b9870f9c2", + "cik": "1318605", + "ticker": "TSLA", + "name": "Vaibhav Taneja", + "position": "Chief Financial Officer", + "year": 2024, + "salary": 303846, + "bonus": 0, + "stockAwards": 26136809, + "optionAwards": 113029280, + "nonEquityIncentiveCompensation": 0, + "changeInPensionValueAndDeferredEarnings": 0, + "otherCompensation": 3000, + "total": 139472935 + } +] \ No newline at end of file diff --git a/examples/api-responses/float.json b/examples/api-responses/float.json new file mode 100644 index 0000000..08e7291 --- /dev/null +++ b/examples/api-responses/float.json @@ -0,0 +1,1280 @@ +{ + "total": { + "value": 59, + "relation": "eq" + }, + "data": [ + { + "id": "2ff3110e1d6a331323fc8171584b6802", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2026-01-16", + "shareClass": "", + "value": 14681140000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2026-01-30T06:01:32-05:00", + "periodOfReport": "2025-12-27", + "sourceFilingAccessionNo": "0000320193-26-000006" + }, + { + "id": "736081ee32d8abd105e3d9cf4fadc5fb", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2025-10-17", + "shareClass": "", + "value": 14776353000 + } + ], + "publicFloat": [ + { + "period": "2025-03-28", + "shareClass": "", + "value": 3253431000000 + } + ] + }, + "reportedAt": "2025-10-31T06:01:26-04:00", + "periodOfReport": "2025-09-27", + "sourceFilingAccessionNo": "0000320193-25-000079" + }, + { + "id": "7db9401c1ccd605c7929e0535175e167", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2025-07-18", + "shareClass": "", + "value": 14840390000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2025-08-01T06:00:42-04:00", + "periodOfReport": "2025-06-28", + "sourceFilingAccessionNo": "0000320193-25-000073" + }, + { + "id": "fb524a709ba47793e3633846b4f3ebfe", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2025-04-18", + "shareClass": "", + "value": 14935826000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2025-05-02T06:00:46-04:00", + "periodOfReport": "2025-03-29", + "sourceFilingAccessionNo": "0000320193-25-000057" + }, + { + "id": "ee47c3024a1da1c0ff5786fbfdf826d7", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2025-01-17", + "shareClass": "", + "value": 15022073000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2025-01-31T06:01:27-05:00", + "periodOfReport": "2024-12-28", + "sourceFilingAccessionNo": "0000320193-25-000008" + }, + { + "id": "cfd9f6bac914441c82fbfbd979272a3c", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2024-10-18", + "shareClass": "", + "value": 15115823000 + } + ], + "publicFloat": [ + { + "period": "2024-03-29", + "shareClass": "", + "value": 2628553000000 + } + ] + }, + "reportedAt": "2024-11-01T06:01:36-04:00", + "periodOfReport": "2024-09-28", + "sourceFilingAccessionNo": "0000320193-24-000123" + }, + { + "id": "55b4a80fc189b93a7cbc6fabfb9f89fc", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2024-07-19", + "shareClass": "", + "value": 15204137000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2024-08-01T18:03:34-04:00", + "periodOfReport": "2024-06-29", + "sourceFilingAccessionNo": "0000320193-24-000081" + }, + { + "id": "c54b09042148c67bc5cc010c21363d88", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2024-04-19", + "shareClass": "", + "value": 15334082000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2024-05-02T18:04:25-04:00", + "periodOfReport": "2024-03-30", + "sourceFilingAccessionNo": "0000320193-24-000069" + }, + { + "id": "69ffb97145e8de6f0071f284b7083e38", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2024-01-19", + "shareClass": "", + "value": 15441881000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2024-02-01T18:03:38-05:00", + "periodOfReport": "2023-12-30", + "sourceFilingAccessionNo": "0000320193-24-000006" + }, + { + "id": "62f45d7b580777724365b801f20ee26b", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2023-10-20", + "shareClass": "", + "value": 15552752000 + } + ], + "publicFloat": [ + { + "period": "2023-03-31", + "shareClass": "", + "value": 2591165000000 + } + ] + }, + "reportedAt": "2023-11-02T18:08:27-04:00", + "periodOfReport": "2023-09-30", + "sourceFilingAccessionNo": "0000320193-23-000106" + }, + { + "id": "d025be2beca17174aab206ce8dd4d35e", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2023-07-21", + "shareClass": "", + "value": 15634232000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2023-08-03T18:04:43-04:00", + "periodOfReport": "2023-07-01", + "sourceFilingAccessionNo": "0000320193-23-000077" + }, + { + "id": "72d860fb69108b6a5b6099b5e7804c4c", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2023-04-21", + "shareClass": "", + "value": 15728702000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2023-05-04T18:03:52-04:00", + "periodOfReport": "2023-04-01", + "sourceFilingAccessionNo": "0000320193-23-000064" + }, + { + "id": "27e78a07a4d3eb327e86243eb127665e", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2023-01-20", + "shareClass": "", + "value": 15821946000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2023-02-02T18:01:30-05:00", + "periodOfReport": "2022-12-31", + "sourceFilingAccessionNo": "0000320193-23-000006" + }, + { + "id": "de0199316b5aa205e0c9930e02a41da0", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2022-10-14", + "shareClass": "", + "value": 15908118000 + } + ], + "publicFloat": [ + { + "period": "2022-03-25", + "shareClass": "", + "value": 2830067000000 + } + ] + }, + "reportedAt": "2022-10-27T18:01:14-04:00", + "periodOfReport": "2022-09-24", + "sourceFilingAccessionNo": "0000320193-22-000108" + }, + { + "id": "66e517cee30511af673ee5ebcf01177d", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2022-07-15", + "shareClass": "", + "value": 16070752000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2022-07-28T18:06:56-04:00", + "periodOfReport": "2022-06-25", + "sourceFilingAccessionNo": "0000320193-22-000070" + }, + { + "id": "002d1be7acef580149342ad3fd10a863", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2022-04-15", + "shareClass": "", + "value": 16185181000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2022-04-28T18:03:58-04:00", + "periodOfReport": "2022-03-26", + "sourceFilingAccessionNo": "0000320193-22-000059" + }, + { + "id": "eedd52b901ee61ded1e08666f86f9c33", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2022-01-14", + "shareClass": "", + "value": 16319441000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2022-01-27T18:00:58-05:00", + "periodOfReport": "2021-12-25", + "sourceFilingAccessionNo": "0000320193-22-000007" + }, + { + "id": "6f2f78e191d3e503075d88b8b0b6507f", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2021-10-15", + "shareClass": "", + "value": 16406397000 + } + ], + "publicFloat": [ + { + "period": "2021-03-26", + "shareClass": "", + "value": 2021360000000 + } + ] + }, + "reportedAt": "2021-10-28T18:04:28-04:00", + "periodOfReport": "2021-09-25", + "sourceFilingAccessionNo": "0000320193-21-000105" + }, + { + "id": "ffb6730a5b341d6b0e6c823359c1e707", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2021-07-16", + "shareClass": "", + "value": 16530166000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2021-07-27T18:03:42-04:00", + "periodOfReport": "2021-06-26", + "sourceFilingAccessionNo": "0000320193-21-000065" + }, + { + "id": "4abf6b817a3f45d0fbef9224970109a5", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2021-04-16", + "shareClass": "", + "value": 16687631000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2021-04-28T18:02:54-04:00", + "periodOfReport": "2021-03-27", + "sourceFilingAccessionNo": "0000320193-21-000056" + }, + { + "id": "85af3a8aea02a9e5583e32de2006d80f", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2021-01-15", + "shareClass": "", + "value": 16788096000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2021-01-27T18:03:06-05:00", + "periodOfReport": "2020-12-26", + "sourceFilingAccessionNo": "0000320193-21-000010" + }, + { + "id": "732c2ef9a454f80e178173967dbc5ef0", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2020-10-16", + "shareClass": "", + "value": 17001802000 + } + ], + "publicFloat": [ + { + "period": "2020-03-27", + "shareClass": "", + "value": 1070633000000 + } + ] + }, + "reportedAt": "2020-10-29T18:06:25-04:00", + "periodOfReport": "2020-09-26", + "sourceFilingAccessionNo": "0000320193-20-000096" + }, + { + "id": "7e95cf3872f6364d01e914669c969b6e", + "tickers": [ + "AAPL", + "" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2020-07-17", + "shareClass": "", + "value": 4275634000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2020-07-30T19:29:09-04:00", + "periodOfReport": "2020-06-27", + "sourceFilingAccessionNo": "0000320193-20-000062" + }, + { + "id": "90f6c7a0fd36106d902ef694b3296f82", + "tickers": [ + "AAPL", + "" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2020-04-17", + "shareClass": "", + "value": 4334335000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2020-04-30T18:03:10-04:00", + "periodOfReport": "2020-03-28", + "sourceFilingAccessionNo": "0000320193-20-000052" + }, + { + "id": "36853a06f7c0191d1b8c324ca6464ce3", + "tickers": [ + "AAPL", + "" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2020-01-17", + "shareClass": "", + "value": 4375480000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2020-01-28T18:02:44-05:00", + "periodOfReport": "2019-12-28", + "sourceFilingAccessionNo": "0000320193-20-000010" + }, + { + "id": "471953e7a4931c0414584011ad720e77", + "tickers": [ + "AAPL", + "" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2019-10-18", + "shareClass": "", + "value": 4443265000 + } + ], + "publicFloat": [ + { + "period": "2019-03-29", + "shareClass": "", + "value": 874698000000 + } + ] + }, + "reportedAt": "2019-10-30T18:12:36-04:00", + "periodOfReport": "2019-09-28", + "sourceFilingAccessionNo": "0000320193-19-000119" + }, + { + "id": "8daeed32ac6f7c216c0dd3eb234ebf81", + "tickers": [ + "AAPL", + "" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2019-07-19", + "shareClass": "", + "value": 4519180000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2019-07-31T16:31:53-04:00", + "periodOfReport": "2019-06-29", + "sourceFilingAccessionNo": "0000320193-19-000076" + }, + { + "id": "4e5b799e1c59f6badf336f97c5724a3f", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2019-04-22", + "shareClass": "", + "value": 4601075000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2019-05-01T16:32:00-04:00", + "periodOfReport": "2019-03-30", + "sourceFilingAccessionNo": "0000320193-19-000066" + }, + { + "id": "ca479ed42de7176815f4c4347a53967d", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2019-01-18", + "shareClass": "", + "value": 4715280000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2019-01-30T16:31:37-05:00", + "periodOfReport": "2018-12-29", + "sourceFilingAccessionNo": "0000320193-19-000010" + }, + { + "id": "5d2041723203d95646e7978ebd00fced", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2018-10-26", + "shareClass": "", + "value": 4745398000 + } + ], + "publicFloat": [ + { + "period": "2018-03-30", + "shareClass": "", + "value": 828880000000 + } + ] + }, + "reportedAt": "2018-11-05T08:01:40-05:00", + "periodOfReport": "2018-09-29", + "sourceFilingAccessionNo": "0000320193-18-000145" + }, + { + "id": "f024ec5edb45d24687106101e2ae8460", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2018-07-20", + "shareClass": "", + "value": 4829926000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2018-08-01T16:31:48-04:00", + "periodOfReport": "2018-06-30", + "sourceFilingAccessionNo": "0000320193-18-000100" + }, + { + "id": "0651aa0fe1d64ec831b69643dd3c8314", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2018-04-20", + "shareClass": "", + "value": 4915138000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2018-05-02T16:32:12-04:00", + "periodOfReport": "2018-03-31", + "sourceFilingAccessionNo": "0000320193-18-000070" + }, + { + "id": "f76b0e745685a6409a7830d5dfa68d12", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2018-01-19", + "shareClass": "", + "value": 5074013000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2018-02-02T08:01:26-05:00", + "periodOfReport": "2017-12-30", + "sourceFilingAccessionNo": "0000320193-18-000007" + }, + { + "id": "db91e8bb1cc79b9acd902f4fc3c51a03", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2017-10-20", + "shareClass": "", + "value": 5134312000 + } + ], + "publicFloat": [ + { + "period": "2017-03-31", + "shareClass": "", + "value": 747509000000 + } + ] + }, + "reportedAt": "2017-11-03T08:01:37-04:00", + "periodOfReport": "2017-09-30", + "sourceFilingAccessionNo": "0000320193-17-000070" + }, + { + "id": "617db7400399b79f571040dc9d41f797", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2017-07-21", + "shareClass": "", + "value": 5165228000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2017-08-02T16:31:28-04:00", + "periodOfReport": "2017-07-01", + "sourceFilingAccessionNo": "0000320193-17-000009" + }, + { + "id": "a71b32ac00f47aa21a51e66b006b07d0", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2017-04-21", + "shareClass": "", + "value": 5213840000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2017-05-03T16:32:23-04:00", + "periodOfReport": "2017-04-01", + "sourceFilingAccessionNo": "0001628280-17-004790" + }, + { + "id": "00d1c05f0461f23f29010b1c15ab46a2", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2017-01-20", + "shareClass": "", + "value": 5246540000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2017-02-01T16:33:29-05:00", + "periodOfReport": "2016-12-31", + "sourceFilingAccessionNo": "0001628280-17-000717" + }, + { + "id": "9dc7c3b02a6925c76134049e85bf2571", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2016-10-14", + "shareClass": "", + "value": 5332313000 + } + ], + "publicFloat": [ + { + "period": "2016-03-25", + "shareClass": "", + "value": 578807000000 + } + ] + }, + "reportedAt": "2016-10-26T16:42:16-04:00", + "periodOfReport": "2016-09-24", + "sourceFilingAccessionNo": "0001628280-16-020309" + }, + { + "id": "956eacd519a843bb0474a8f5bbe966a4", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2016-07-15", + "shareClass": "", + "value": 5388443000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2016-07-27T16:32:36-04:00", + "periodOfReport": "2016-06-25", + "sourceFilingAccessionNo": "0001628280-16-017809" + }, + { + "id": "ddc88714e5dacc363eb446b549446934", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2016-04-08", + "shareClass": "", + "value": 5477425000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2016-04-27T16:32:53-04:00", + "periodOfReport": "2016-03-26", + "sourceFilingAccessionNo": "0001193125-16-559625" + }, + { + "id": "540f42a8d3028ca73f0df3b9de6c1df6", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2016-01-08", + "shareClass": "", + "value": 5544583000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2016-01-27T16:32:03-05:00", + "periodOfReport": "2015-12-26", + "sourceFilingAccessionNo": "0001193125-16-439878" + }, + { + "id": "e36cda7339828fd4545d49348005d490", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2015-10-09", + "shareClass": "", + "value": 5575331000 + } + ], + "publicFloat": [ + { + "period": "2015-03-27", + "shareClass": "", + "value": 709923000000 + } + ] + }, + "reportedAt": "2015-10-28T16:31:09-04:00", + "periodOfReport": "2015-09-26", + "sourceFilingAccessionNo": "0001193125-15-356351" + }, + { + "id": "f599ff4c28a949d52a3e2382b807b9db", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2015-07-10", + "shareClass": "", + "value": 5702722000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2015-07-22T17:01:17-04:00", + "periodOfReport": "2015-06-27", + "sourceFilingAccessionNo": "0001193125-15-259935" + }, + { + "id": "81ed6e6cae87003bef71ec752c8cbd8b", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2015-04-10", + "shareClass": "", + "value": 5761030000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2015-04-28T17:01:16-04:00", + "periodOfReport": "2015-03-28", + "sourceFilingAccessionNo": "0001193125-15-153166" + }, + { + "id": "9adf04dc33b72a17b7ba2629ba811c82", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2015-01-09", + "shareClass": "", + "value": 5824748000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2015-01-28T16:39:32-05:00", + "periodOfReport": "2014-12-27", + "sourceFilingAccessionNo": "0001193125-15-023697" + }, + { + "id": "67f5430e8a72c6380a44dba48b4dc273", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2014-10-10", + "shareClass": "", + "value": 5864840000 + } + ], + "publicFloat": [ + { + "period": "2014-03-28", + "shareClass": "", + "value": 462522000000 + } + ] + }, + "reportedAt": "2014-10-27T17:11:55-04:00", + "periodOfReport": "2014-09-27", + "sourceFilingAccessionNo": "0001193125-14-383437" + }, + { + "id": "3d3a44bc5a791f1152812450c86536d3", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2014-07-11", + "shareClass": "", + "value": 5987867000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2014-07-23T16:32:48-04:00", + "periodOfReport": "2014-06-28", + "sourceFilingAccessionNo": "0001193125-14-277160" + }, + { + "id": "d2a0c187245a6b025e4e6ad851460a4e", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2014-04-11", + "shareClass": "", + "value": 861381000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2014-04-24T17:02:12-04:00", + "periodOfReport": "2014-03-29", + "sourceFilingAccessionNo": "0001193125-14-157311" + }, + { + "id": "f84bf5d467acd8b2fbb797d567646f72", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2014-01-10", + "shareClass": "", + "value": 891989000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2014-01-28T17:07:27-05:00", + "periodOfReport": "2013-12-28", + "sourceFilingAccessionNo": "0001193125-14-024487" + }, + { + "id": "17742bfc89177286caf6fb3d7689eebe", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2013-10-18", + "shareClass": "", + "value": 899738000 + } + ], + "publicFloat": [ + { + "period": "2013-03-29", + "shareClass": "", + "value": 416005000000 + } + ] + }, + "reportedAt": "2013-10-29T20:38:28-04:00", + "periodOfReport": "2013-09-28", + "sourceFilingAccessionNo": "0001193125-13-416534" + }, + { + "id": "79dc147988ff496afb3947738b04da10", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2013-07-12", + "shareClass": "", + "value": 908497000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2013-07-24T17:02:02-04:00", + "periodOfReport": "2013-06-29", + "sourceFilingAccessionNo": "0001193125-13-300670" + }, + { + "id": "e2db2bfe9f6d6373dcde52f043ed63aa", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2013-04-12", + "shareClass": "", + "value": 938649000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2013-04-23T21:29:23-04:00", + "periodOfReport": "2013-03-30", + "sourceFilingAccessionNo": "0001193125-13-168288" + }, + { + "id": "895d48ae8ff4484ae89c536b207c238d", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2013-01-11", + "shareClass": "", + "value": 939058000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2013-01-24T17:01:37-05:00", + "periodOfReport": "2012-12-29", + "sourceFilingAccessionNo": "0001193125-13-022339" + }, + { + "id": "7cfb4fedeef9b2d6b64fdcb30642c1af", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2012-10-19", + "shareClass": "", + "value": 940692000 + } + ], + "publicFloat": [ + { + "period": "2012-03-30", + "shareClass": "", + "value": 560356000000 + } + ] + }, + "reportedAt": "2012-10-31T17:07:19-04:00", + "sourceFilingAccessionNo": "0001193125-12-444068" + }, + { + "id": "3dea1b6de3ad2b9d47555e9b4544e577", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2012-07-13", + "shareClass": "", + "value": 937406000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2012-07-25T16:39:39-04:00", + "periodOfReport": "2012-06-30", + "sourceFilingAccessionNo": "0001193125-12-314552" + }, + { + "id": "8d0e0e2b70f0adde8604603b5f058a1c", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2012-04-13", + "shareClass": "", + "value": 935062000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2012-04-25T17:01:16-04:00", + "periodOfReport": "2012-03-31", + "sourceFilingAccessionNo": "0001193125-12-182321" + }, + { + "id": "a86b1d0866c0193a1b40ca978315c46e", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2012-01-13", + "shareClass": "", + "value": 932370000 + } + ], + "publicFloat": [] + }, + "reportedAt": "2012-01-25T16:42:11-05:00", + "periodOfReport": "2011-12-31", + "sourceFilingAccessionNo": "0001193125-12-023398" + }, + { + "id": "9b26d18820b836f87035f2804be9789a", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2011-10-14", + "shareClass": "", + "value": 929409000 + } + ], + "publicFloat": [ + { + "period": "2011-03-25", + "shareClass": "", + "value": 322921000000 + } + ] + }, + "reportedAt": "2011-10-26T16:35:25-04:00", + "sourceFilingAccessionNo": "0001193125-11-282113" + }, + { + "id": "4119a04082a67c002a2c7e4f9d5aaa2f", + "tickers": [ + "AAPL" + ], + "cik": "320193", + "float": { + "outstandingShares": [ + { + "period": "2011-07-08", + "shareClass": "", + "value": 927090886 + } + ], + "publicFloat": [] + }, + "reportedAt": "2011-07-20T16:32:13-04:00", + "sourceFilingAccessionNo": "0001193125-11-192493" + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/form-13d-13g.json b/examples/api-responses/form-13d-13g.json new file mode 100644 index 0000000..cd9a6ff --- /dev/null +++ b/examples/api-responses/form-13d-13g.json @@ -0,0 +1,115 @@ +{ + "total": { + "value": 10000, + "relation": "gte" + }, + "filings": [ + { + "id": "a5d7c15340884b72fd2e95a5afde92e9", + "accessionNo": "0001493152-26-014470", + "formType": "SC 13D/A", + "filedAt": "2026-04-01T06:20:43-04:00", + "filers": [ + { + "cik": "1983324", + "name": "Real Messenger Corp (Subject)" + }, + { + "cik": "2099450", + "name": "Ma Kwai Hoi (Filed by)" + } + ], + "nameOfIssuer": "Real Messenger Corporation", + "titleOfSecurities": "Ordinary Shares", + "cusip": [], + "eventDate": "2026-03-25", + "amendmentNo": "1", + "schedule13GFiledPreviously": false, + "owners": [ + { + "name": [ + "Kwai Hoi MA" + ], + "memberOfGroup": { + "a": false, + "b": false + }, + "sourceOfFunds": "OO", + "legalProceedingsDisclosureRequired": false, + "place": "X0", + "soleVotingPower": 7217555, + "sharedVotingPower": 0, + "soleDispositivePower": 7217555, + "sharedDispositivePower": 0, + "aggregateAmountOwned": 7217555, + "isAggregateExcludeShares": false, + "amountAsPercent": 65.86, + "typeOfReportingPerson": [ + "IN" + ] + }, + { + "name": [ + "Bloomington DH Holdings Limited" + ], + "memberOfGroup": { + "a": false, + "b": false + }, + "sourceOfFunds": "OO", + "legalProceedingsDisclosureRequired": false, + "place": "D8", + "soleVotingPower": 5937555, + "sharedVotingPower": 0, + "soleDispositivePower": 5937555, + "sharedDispositivePower": 0, + "aggregateAmountOwned": 5937555, + "isAggregateExcludeShares": false, + "amountAsPercent": 54.18, + "typeOfReportingPerson": [ + "CO" + ] + } + ], + "item1": { + "securityTitle": "Ordinary Shares", + "issuerName": "Real Messenger Corporation", + "issuerPrincipalAddress": { + "street1": "695 Town Center Drive, Suite 1200", + "street2": "", + "city": "Costa Mesa", + "stateOrCountry": "CA", + "zipCode": "92626" + }, + "commentText": "The following constitutes Amendment No. 1 (\"Amendment No. 1\") to the Schedule 13D filed with the Securities and Exchange Commission (\"SEC\") by Kwai Hoi MA and Bloomington DH Holdings Limited on December 19, 2025. This Amendment No. 1 amends and supplements the Schedule 13D as specifically set forth herein." + }, + "item2": { + "filingPersonName": "", + "principalBusinessAddress": "", + "principalJob": "", + "hasBeenConvicted": "", + "convictionDescription": "", + "citizenship": "" + }, + "item3": { + "fundsSource": "Item 3 of the Schedule 13D is supplemented and superseded, as the case may be, as follows:\n\nOn July 17, 2025, the Reporting Persons received a transfer of 1,129,875 Class A Ordinary Shares of the Issuer from Nova Pulsar Holdings Limited, which consists of the shares in conversion of outstanding Notes owed to the Reporting Persons.\n\nOn March 25, 2026, Bloomington DH Holdings Limited entered into a Subscription Agreement with the Issuer, where the Issuer agreed to issue to Bloomington DH Holdings Limited 1,837,680 Class B Ordinary Shares of the Issuer at a price of US$0.5912 per Share, for a total purchase price of US$1,086,438.46. The total purchase price was funded by Kwai Hoi MA in the form of shareholder loans to the Issuer." + }, + "item4": { + "transactionPurpose": "Item 4 of the Schedule 13D is supplemented and superseded, as the case may be, as follows:\n\nOn March 25, 2026, Bloomington DH Holdings Limited entered into a Subscription Agreement with the Issuer, where the Issuer agreed to issue to Bloomington DH Holdings Limited 1,837,680 Class B Ordinary Shares of the Issuer at a price of US$0.5912 per Share, for a total purchase price of US$1,086,438.46." + }, + "item5": { + "percentageOfClassSecurities": "Item 5(a) of the Schedule 13D is supplemented and superseded, as the case may be, as follows:\n\nThe responses of each of the Reporting Persons with respect to Rows 11 and 13 on the cover pages of this Amendment No. 1 that relate to the aggregate number and percentage of Ordinary Shares are incorporated herein by reference. The percentage is calculated based on after giving effect to the transactions contemplated hereby.", + "numberOfShares": "Item 5(b) of the Schedule 13D is supplemented and superseded, as the case may be, as follows:\n\nThe responses of each of the Reporting Persons with respect to Rows 7, 8, 9, and 10 of the cover pages of this Amendment No. 1 that relate to the number of Ordinary Shares as to which each of the Reporting Persons referenced in Item 2 above has sole or shared power to vote or to direct the vote of and sole or shared power to dispose of or to direct the disposition of are incorporated herein by reference.", + "transactionDescription": "Item 5(c) of the Schedule 13D is supplemented and superseded, as the case may be, as follows:\n\nThe information set forth in Item 4 of this Amendment No. 1 is incorporated by reference.", + "listOfShareholders": "Item 5(d) of the Schedule 13D is supplemented and superseded, as the case may be, as follows:\n\nExcept as described in Item 3 of this Amendment No. 1, no person other than the Reporting Persons is known to have the right to receive or the power to direct the receipt of dividends from, or the proceeds from the sale of, the shares of the Issuer's Ordinary Shares beneficially owned by the Reporting Person as reported in this Amendment No. 1.", + "date5PercentOwnership": "Not applicable" + }, + "item6": { + "contractDescription": "" + }, + "item7": { + "filedExhibits": "Subscription Agreement dated March 25, 2026 between the Company and the Purchaser (filed as Exhibit 10.1 to the Company's Current Report on Form 6-K filed on March 26, 2026 and incorporated by reference herein)" + } + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/form-13f-cover-pages.json b/examples/api-responses/form-13f-cover-pages.json new file mode 100644 index 0000000..7948f44 --- /dev/null +++ b/examples/api-responses/form-13f-cover-pages.json @@ -0,0 +1,48 @@ +{ + "total": { + "value": 13, + "relation": "eq" + }, + "data": [ + { + "id": "1ef1c3fa0b53c72620f026f0ab47e7c6", + "accessionNo": "0001350694-26-000001", + "filedAt": "2026-02-13T16:03:50-05:00", + "formType": "13F-HR", + "cik": "1350694", + "crdNumber": "105129", + "secFileNumber": "801-35875", + "form13FFileNumber": "028-11794", + "periodOfReport": "2025-12-31", + "isAmendment": false, + "amendmentInfo": {}, + "filingManager": { + "name": "Bridgewater Associates, LP", + "address": { + "street": "One Nyala Farms Road", + "city": "Westport", + "stateOrCountry": "CT", + "zipCode": 6880 + } + }, + "reportType": "13F HOLDINGS REPORT", + "otherManagersReportingForThisManager": [], + "provideInfoForInstruction5": false, + "signature": { + "name": "Michael Kitson", + "title": "Chief Compliance Officer and Counsel", + "phone": "203-226-3030", + "signature": "/s/Michael Kitson", + "city": "Westport", + "stateOrCountry": "CT", + "signatureDate": "02-13-2026" + }, + "tableEntryTotal": 1040, + "tableEntryTotalAsReported": 1040, + "tableValueTotal": 27421613830, + "tableValueTotalAsReported": 27421613830, + "otherIncludedManagersCount": 0, + "otherIncludedManagers": [] + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/form-13f-holdings.json b/examples/api-responses/form-13f-holdings.json new file mode 100644 index 0000000..f971663 --- /dev/null +++ b/examples/api-responses/form-13f-holdings.json @@ -0,0 +1,155 @@ +{ + "total": { + "value": 209, + "relation": "eq" + }, + "data": [ + { + "id": "289428b455d4eb55f298d84f544d3d61", + "accessionNo": "0001193125-26-054580", + "cik": "1067983", + "ticker": "BRK.B", + "companyName": "BERKSHIRE HATHAWAY INC", + "companyNameLong": "BERKSHIRE HATHAWAY INC (Filer)", + "formType": "13F-HR", + "description": "Form 13F-HR - Quarterly report filed by institutional managers, Holdings", + "filedAt": "2026-02-17T16:05:04-05:00", + "linkToTxt": "https://www.sec.gov/Archives/edgar/data/1067983/000119312526054580/0001193125-26-054580.txt", + "linkToHtml": "https://www.sec.gov/Archives/edgar/data/1067983/000119312526054580/0001193125-26-054580-index.htm", + "linkToXbrl": "", + "linkToFilingDetails": "https://www.sec.gov/Archives/edgar/data/1067983/000119312526054580/xslForm13F_X02/primary_doc.xml", + "entities": [ + { + "companyName": "BERKSHIRE HATHAWAY INC (Filer)", + "cik": "1067983", + "irsNo": "470813844", + "stateOfIncorporation": "DE", + "fiscalYearEnd": "1231", + "type": "13F-HR", + "act": "34", + "fileNo": "028-04545", + "filmNo": "26640865", + "sic": "6331 Fire, Marine & Casualty Insurance", + "undefined": "02 Finance)" + } + ], + "documentFormatFiles": [ + { + "sequence": "1", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1067983/000119312526054580/xslForm13F_X02/primary_doc.xml", + "type": "13F-HR", + "size": " " + }, + { + "sequence": "1", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1067983/000119312526054580/primary_doc.xml", + "type": "13F-HR", + "size": "5556" + }, + { + "sequence": "2", + "description": "INFORMATION TABLE FOR FORM 13F", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1067983/000119312526054580/xslForm13F_X02/50240.xml", + "type": "INFORMATION TABLE", + "size": " " + }, + { + "sequence": "2", + "description": "INFORMATION TABLE FOR FORM 13F", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1067983/000119312526054580/50240.xml", + "type": "INFORMATION TABLE", + "size": "55376" + }, + { + "sequence": " ", + "description": "Complete submission text file", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1067983/000119312526054580/0001193125-26-054580.txt", + "type": " ", + "size": "62306" + } + ], + "dataFiles": [], + "seriesAndClassesContractsInformation": [], + "periodOfReport": "2025-12-31", + "effectivenessDate": "2026-02-17", + "holdings": [ + { + "nameOfIssuer": "ALLY FINL INC", + "cusip": "02005N100", + "titleOfClass": "COM", + "value": 576074081, + "shrsOrPrnAmt": { + "sshPrnamt": 12719675, + "sshPrnamtType": "SH" + }, + "investmentDiscretion": "DFND", + "votingAuthority": { + "Sole": 12719675, + "Shared": 0, + "None": 0 + }, + "otherManager": "4", + "ticker": "ALLY", + "cik": "40729" + }, + { + "nameOfIssuer": "ALLY FINL INC", + "cusip": "02005N100", + "titleOfClass": "COM", + "value": 126987499, + "shrsOrPrnAmt": { + "sshPrnamt": 2803875, + "sshPrnamtType": "SH" + }, + "investmentDiscretion": "DFND", + "votingAuthority": { + "Sole": 2803875, + "Shared": 0, + "None": 0 + }, + "otherManager": "2,4,11", + "ticker": "ALLY", + "cik": "40729" + }, + { + "nameOfIssuer": "ALLY FINL INC", + "cusip": "02005N100", + "titleOfClass": "COM", + "value": 191495178, + "shrsOrPrnAmt": { + "sshPrnamt": 4228200, + "sshPrnamtType": "SH" + }, + "investmentDiscretion": "DFND", + "votingAuthority": { + "Sole": 4228200, + "Shared": 0, + "None": 0 + }, + "otherManager": "4,5", + "ticker": "ALLY", + "cik": "40729" + }, + { + "nameOfIssuer": "ALLY FINL INC", + "cusip": "02005N100", + "titleOfClass": "COM", + "value": 142074730, + "shrsOrPrnAmt": { + "sshPrnamt": 3137000, + "sshPrnamtType": "SH" + }, + "investmentDiscretion": "DFND", + "votingAuthority": { + "Sole": 3137000, + "Shared": 0, + "None": 0 + }, + "otherManager": "4,8,11", + "ticker": "ALLY", + "cik": "40729" + } + ] + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/form-144.json b/examples/api-responses/form-144.json new file mode 100644 index 0000000..a9184ec --- /dev/null +++ b/examples/api-responses/form-144.json @@ -0,0 +1,117 @@ +{ + "total": { + "value": 72, + "relation": "eq" + }, + "data": [ + { + "id": "3196e422cd21d5a12a3acf756bb3e0a1", + "accessionNo": "0001950047-26-003078", + "fileNo": "001-34756", + "formType": "144", + "filedAt": "2026-03-30T17:31:46-04:00", + "entities": [ + { + "cik": "1318605", + "ticker": "TSLA", + "companyName": "Tesla, Inc. (Subject)", + "irsNo": "912197729", + "fiscalYearEnd": "1231", + "stateOfIncorporation": "TX", + "sic": "3711 Motor Vehicles & Passenger Car Bodies", + "type": "144", + "act": "33", + "fileNo": "001-34756", + "filmNo": "26813321" + }, + { + "cik": "1331680", + "companyName": "Wilson-Thompson Kathleen (Reporting)", + "type": "144" + } + ], + "issuerInfo": { + "issuerCik": "1318605", + "issuerTicker": "TSLA", + "issuerName": "Tesla, Inc.", + "secFileNumber": "001-34756", + "issuerAddress": { + "street1": "1 Tesla Road", + "city": "Austin", + "stateOrCountry": "TX", + "zipCode": "78725" + }, + "issuerContactPhone": "5125168177", + "nameOfPersonForWhoseAccountTheSecuritiesAreToBeSold": "KATHLEEN WILSON-THOMPSON", + "relationshipsToIssuer": "Director" + }, + "securitiesInformation": [ + { + "securitiesClassTitle": "Common", + "brokerOrMarketMakerDetails": { + "name": "Morgan Stanley Smith Barney LLC Executive Financial Services", + "address": { + "street1": "1 New York Plaza", + "street2": "8th Floor", + "city": "New York", + "stateOrCountry": "NY", + "zipCode": "10004" + } + }, + "numberOfUnitsToBeSold": 25809, + "aggregateMarketValue": 9338470.47, + "noOfUnitsOutstanding": 3752431984, + "approxSaleDate": "2026-03-30", + "securitiesExchangeName": "NASDAQ" + } + ], + "securitiesToBeSold": [ + { + "securitiesClassTitle": "Common", + "acquiredDate": "2026-03-30", + "natureOfAcquisitionTransaction": "Exercise of Stock Options", + "nameOfPersonFromWhomAcquired": "Issuer", + "isGiftTransaction": false, + "amountOfSecuritiesAcquired": 1648, + "paymentDate": "2026-03-30", + "natureOfPayment": "Cash" + }, + { + "securitiesClassTitle": "Common", + "acquiredDate": "2026-03-30", + "natureOfAcquisitionTransaction": "Previously Exercised Stock Options", + "nameOfPersonFromWhomAcquired": "Issuer", + "isGiftTransaction": false, + "amountOfSecuritiesAcquired": 24161, + "paymentDate": "2026-03-30", + "natureOfPayment": "Cash" + } + ], + "nothingToReportFlagOnSecuritiesSoldInPast3Months": false, + "securitiesSoldInPast3Months": [ + { + "sellerDetails": { + "name": "10b5-1 Sales for KATHLEEN WILSON-THOMPSON", + "address": { + "street1": "1 Tesla Road", + "city": "Austin", + "stateOrCountry": "TX", + "zipCode": "78725" + } + }, + "securitiesClassTitle": "Common", + "saleDate": "2026-02-25", + "amountOfSecuritiesSold": 25731, + "grossProceeds": 10692813.68 + } + ], + "noticeSignature": { + "noticeDate": "2026-03-30", + "planAdoptionDates": [ + "2025-11-26" + ], + "signature": "/s/ Kathleen Wilson-Thompson" + } + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/form-8k-item-4-01.json b/examples/api-responses/form-8k-item-4-01.json new file mode 100644 index 0000000..5a28d27 --- /dev/null +++ b/examples/api-responses/form-8k-item-4-01.json @@ -0,0 +1,41 @@ +{ + "total": { + "value": 10000, + "relation": "gte" + }, + "data": [ + { + "id": "7ed33db091e32b437ff9c4571531869d", + "accessionNo": "0001388658-26-000022", + "formType": "8-K", + "filedAt": "2026-03-31T19:49:16-04:00", + "periodOfReport": "2026-03-30", + "cik": "1388658", + "ticker": "IRTC", + "companyName": "iRhythm Holdings, Inc.", + "items": [ + "Item 4.01: Changes in Registrant's Certifying Accountant", + "Item 9.01: Financial Statements and Exhibits" + ], + "item4_01": { + "keyComponents": "iRhythm Holdings, Inc. dismissed PricewaterhouseCoopers LLP as its independent auditor on March 30, 2026, and subsequently engaged KPMG LLP as the new auditor for the fiscal year ending December 31, 2026. There were no disagreements or reportable events with PwC.", + "newAccountantDate": "2026-03-30", + "engagedNewAccountant": true, + "formerAccountantDate": "2026-03-30", + "engagementEndReason": "dismissal", + "formerAccountantName": "PricewaterhouseCoopers LLP", + "newAccountantName": "KPMG LLP", + "consultedNewAccountant": false, + "reportedDisagreements": false, + "reportableEventsExist": false, + "attachments": [ + "Exhibit 16.1" + ], + "reportedIcfrWeakness": false, + "opinionType": "unqualified", + "auditDisclaimer": false, + "approvedChange": true + } + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/form-8k-item-4-02.json b/examples/api-responses/form-8k-item-4-02.json new file mode 100644 index 0000000..3656636 --- /dev/null +++ b/examples/api-responses/form-8k-item-4-02.json @@ -0,0 +1,50 @@ +{ + "total": { + "value": 8546, + "relation": "eq" + }, + "data": [ + { + "id": "1153464e0d82cd42a5773bede05220a8", + "accessionNo": "0001765048-26-000002", + "formType": "8-K", + "filedAt": "2026-03-26T09:53:26-04:00", + "periodOfReport": "2026-03-26", + "cik": "1765048", + "ticker": "GCGJ", + "companyName": "GUOCHUN INTERNATIONAL INC.", + "items": [ + "Item 4.02: Non-Reliance on Previously Issued Financial Statements or a Related Audit Report or Completed Interim Review" + ], + "item4_02": { + "keyComponents": "The Company determined that action should be taken to preclude reliance on previously issued unaudited condensed financial statements for the period ended September 30, 2025, due to an erroneously recorded amount in other general and administrative expenses. The financial statements have been restated to correct this error.", + "identifiedIssues": [ + "Erroneously recorded amount in other general and administrative expenses" + ], + "affectedReportingPeriods": [ + "Q3 2025" + ], + "identifiedBy": [ + "Company" + ], + "restatementIsNecessary": true, + "reasonsForRestatement": [ + "Erroneous recording of other general and administrative expenses" + ], + "impactYetToBeDetermined": true, + "impactOfError": "Decrease in other general and administrative expenses of $8,250, with a corresponding increase in prepayments of $8,250.", + "impactIsMaterial": false, + "materialWeaknessIdentified": false, + "affectedLineItems": [ + "Other General and Administrative Expenses", + "Prepayments" + ], + "netIncomeDecreased": false, + "netIncomeIncreased": false, + "revenueDecreased": false, + "revenueIncreased": false, + "eventClassification": "Financial Restatement Due to Erroneous Recording in General and Administrative Expenses" + } + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/form-8k-item-5-02.json b/examples/api-responses/form-8k-item-5-02.json new file mode 100644 index 0000000..66dee22 --- /dev/null +++ b/examples/api-responses/form-8k-item-5-02.json @@ -0,0 +1,78 @@ +{ + "total": { + "value": 10000, + "relation": "gte" + }, + "data": [ + { + "id": "9589d3da16d0e3bd48e6ebb799dd9988", + "accessionNo": "0001193125-26-135660", + "formType": "8-K", + "filedAt": "2026-04-01T07:00:10-04:00", + "periodOfReport": "2026-04-01", + "cik": "1109354", + "ticker": "BRKR", + "companyName": "BRUKER CORP", + "items": [ + "Item 5.02: Departure of Directors or Certain Officers; Election of Directors; Appointment of Certain Officers: Compensatory Arrangements of Certain Officers", + "Item 9.01: Financial Statements and Exhibits" + ], + "item5_02": { + "keyComponents": "Thierry L. Bernard was appointed as a new director to the Board of Bruker Corporation, expanding the Board to twelve directors. His appointment is effective April 1, 2026, and he will serve until the 2027 Annual Meeting of Stockholders.", + "personnelChanges": [ + { + "type": "appointment", + "effectiveDate": "2026-04-01", + "positions": [ + "Director" + ], + "person": { + "name": "Thierry L. Bernard", + "positionsAtOtherCompanies": [ + "CEO and Managing Director of QIAGEN N.V.", + "Chair of the AdvaMedDx Board of Directors", + "Board Member at Neogen Corporation" + ], + "academicAffiliations": [ + "Sciences Po", + "LSE", + "College of Europe", + "Harvard Business School", + "Centro de Comercio Exterior de Barcelona" + ], + "background": "Joined QIAGEN in February 2015, named CEO in March 2020, previously held roles at bioMérieux SA and other international companies.", + "previousPositions": [ + "Corporate Vice President, Global Commercial Operations, Investor Relations and the Greater China Region at bioMérieux SA" + ] + }, + "compensation": { + "noCompensation": false + }, + "continuedConsultingRole": false, + "termExtended": false, + "termShortened": false, + "compensationIncreased": false, + "compensationDecreased": false, + "disagreements": false, + "interim": false + } + ], + "organizationChanges": { + "organ": "Board of Directors", + "details": "Expansion of the board", + "sizeIncrease": true, + "sizeDecrease": false, + "created": false, + "abolished": false, + "affectedPersonnel": [ + "Thierry L. Bernard" + ] + }, + "attachments": [ + "Form 8-K", + "Company Press Release" + ] + } + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/form-8k.json b/examples/api-responses/form-8k.json new file mode 100644 index 0000000..3656636 --- /dev/null +++ b/examples/api-responses/form-8k.json @@ -0,0 +1,50 @@ +{ + "total": { + "value": 8546, + "relation": "eq" + }, + "data": [ + { + "id": "1153464e0d82cd42a5773bede05220a8", + "accessionNo": "0001765048-26-000002", + "formType": "8-K", + "filedAt": "2026-03-26T09:53:26-04:00", + "periodOfReport": "2026-03-26", + "cik": "1765048", + "ticker": "GCGJ", + "companyName": "GUOCHUN INTERNATIONAL INC.", + "items": [ + "Item 4.02: Non-Reliance on Previously Issued Financial Statements or a Related Audit Report or Completed Interim Review" + ], + "item4_02": { + "keyComponents": "The Company determined that action should be taken to preclude reliance on previously issued unaudited condensed financial statements for the period ended September 30, 2025, due to an erroneously recorded amount in other general and administrative expenses. The financial statements have been restated to correct this error.", + "identifiedIssues": [ + "Erroneously recorded amount in other general and administrative expenses" + ], + "affectedReportingPeriods": [ + "Q3 2025" + ], + "identifiedBy": [ + "Company" + ], + "restatementIsNecessary": true, + "reasonsForRestatement": [ + "Erroneous recording of other general and administrative expenses" + ], + "impactYetToBeDetermined": true, + "impactOfError": "Decrease in other general and administrative expenses of $8,250, with a corresponding increase in prepayments of $8,250.", + "impactIsMaterial": false, + "materialWeaknessIdentified": false, + "affectedLineItems": [ + "Other General and Administrative Expenses", + "Prepayments" + ], + "netIncomeDecreased": false, + "netIncomeIncreased": false, + "revenueDecreased": false, + "revenueIncreased": false, + "eventClassification": "Financial Restatement Due to Erroneous Recording in General and Administrative Expenses" + } + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/form-adv-brochures.json b/examples/api-responses/form-adv-brochures.json new file mode 100644 index 0000000..e3eda2c --- /dev/null +++ b/examples/api-responses/form-adv-brochures.json @@ -0,0 +1,76 @@ +{ + "brochures": [ + { + "versionId": 1033575, + "name": "CONSULTING GROUP ADVISOR PROGRAM BROCHURE", + "dateSubmitted": "2026-03-30", + "url": "https://files.adviserinfo.sec.gov/IAPD/Content/Common/crd_iapd_Brochure.aspx?BRCHR_VRSN_ID=1033575" + }, + { + "versionId": 1033576, + "name": "PORTFOLIO MANAGEMENT AND INSTITUTIONAL CASH ADVISORY PROGRAM BROCHURE", + "dateSubmitted": "2026-03-30", + "url": "https://files.adviserinfo.sec.gov/IAPD/Content/Common/crd_iapd_Brochure.aspx?BRCHR_VRSN_ID=1033576" + }, + { + "versionId": 1033577, + "name": "ALTERNATIVE INVESTMENTS WRAP PROGRAM BROCHURE", + "dateSubmitted": "2026-03-30", + "url": "https://files.adviserinfo.sec.gov/IAPD/Content/Common/crd_iapd_Brochure.aspx?BRCHR_VRSN_ID=1033577" + }, + { + "versionId": 1033578, + "name": "OUTSOURCED CHIEF INVESTMENT OFFICE (OCIO)", + "dateSubmitted": "2026-03-30", + "url": "https://files.adviserinfo.sec.gov/IAPD/Content/Common/crd_iapd_Brochure.aspx?BRCHR_VRSN_ID=1033578" + }, + { + "versionId": 1033579, + "name": "FINANCIAL PLANNING SERVICES PROGRAM BROCHURE", + "dateSubmitted": "2026-03-30", + "url": "https://files.adviserinfo.sec.gov/IAPD/Content/Common/crd_iapd_Brochure.aspx?BRCHR_VRSN_ID=1033579" + }, + { + "versionId": 1033586, + "name": "PRIVATE WEALTH MANAGEMENT CONSULTING SERVICES PROGRAM BROCHURE", + "dateSubmitted": "2026-03-30", + "url": "https://files.adviserinfo.sec.gov/IAPD/Content/Common/crd_iapd_Brochure.aspx?BRCHR_VRSN_ID=1033586" + }, + { + "versionId": 1033581, + "name": "SEPARATE MANAGED ACCOUNT WRAP PROGRAM BROCHURE", + "dateSubmitted": "2026-03-30", + "url": "https://files.adviserinfo.sec.gov/IAPD/Content/Common/crd_iapd_Brochure.aspx?BRCHR_VRSN_ID=1033581" + }, + { + "versionId": 1033582, + "name": "INSTITUTIONAL SERVICES PROGRAM BROCHURE", + "dateSubmitted": "2026-03-30", + "url": "https://files.adviserinfo.sec.gov/IAPD/Content/Common/crd_iapd_Brochure.aspx?BRCHR_VRSN_ID=1033582" + }, + { + "versionId": 1033583, + "name": "SEPARATE MANAGED ACCOUNT COMMISSION-BASED PROGRAM BROCHURE", + "dateSubmitted": "2026-03-30", + "url": "https://files.adviserinfo.sec.gov/IAPD/Content/Common/crd_iapd_Brochure.aspx?BRCHR_VRSN_ID=1033583" + }, + { + "versionId": 1033584, + "name": "SELECT UMA PROGRAM BROCHURE", + "dateSubmitted": "2026-03-30", + "url": "https://files.adviserinfo.sec.gov/IAPD/Content/Common/crd_iapd_Brochure.aspx?BRCHR_VRSN_ID=1033584" + }, + { + "versionId": 1033585, + "name": "MORGAN STANLEY CORE PORTFOLIOS", + "dateSubmitted": "2026-03-30", + "url": "https://files.adviserinfo.sec.gov/IAPD/Content/Common/crd_iapd_Brochure.aspx?BRCHR_VRSN_ID=1033585" + }, + { + "versionId": 1033580, + "name": "GRAYSTONE CONSULTING PROGRAM BROCHURE", + "dateSubmitted": "2026-03-30", + "url": "https://files.adviserinfo.sec.gov/IAPD/Content/Common/crd_iapd_Brochure.aspx?BRCHR_VRSN_ID=1033580" + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/form-adv-direct-owners.json b/examples/api-responses/form-adv-direct-owners.json new file mode 100644 index 0000000..270883d --- /dev/null +++ b/examples/api-responses/form-adv-direct-owners.json @@ -0,0 +1,142 @@ +[ + { + "name": "ZEMLYAK, JAMES MARK", + "ownerType": "I", + "titleStatus": "EXECUTIVE VICE PRESIDENT & DIRECTOR", + "dateTitleStatusAcquired": "2002-08", + "ownershipCode": "NA", + "isControlPerson": true, + "isPublicReporting": false, + "crd": "1586132" + }, + { + "name": "STIFEL FINANCIAL CORP.", + "ownerType": "DE", + "titleStatus": "SHAREHOLDER", + "dateTitleStatusAcquired": "1982-02", + "ownershipCode": "E", + "isControlPerson": true, + "isPublicReporting": true, + "crd": "" + }, + { + "name": "NOLL, DOUGLAS WAYNE", + "ownerType": "I", + "titleStatus": "PRINCIPAL OPERATIONS OFFICER", + "dateTitleStatusAcquired": "1995-06", + "ownershipCode": "NA", + "isControlPerson": false, + "isPublicReporting": false, + "crd": "1614129" + }, + { + "name": "KRUSZEWSKI, RONALD JAMES", + "ownerType": "I", + "titleStatus": "PRESIDENT, CHIEF EXECUTIVE OFFICE & CHAIRMAN OF THE BOARD", + "dateTitleStatusAcquired": "2002-08", + "ownershipCode": "NA", + "isControlPerson": true, + "isPublicReporting": false, + "crd": "1434827" + }, + { + "name": "FISHER, MARK PHILIP", + "ownerType": "I", + "titleStatus": "GENERAL COUNSEL, SECRETARY", + "dateTitleStatusAcquired": "2014-06", + "ownershipCode": "NA", + "isControlPerson": false, + "isPublicReporting": false, + "crd": "4970942" + }, + { + "name": "AYD, PAUL JOSEPH", + "ownerType": "I", + "titleStatus": "CHIEF COMPLIANCE OFFICER - CAPITAL MARKETS", + "dateTitleStatusAcquired": "2015-05", + "ownershipCode": "NA", + "isControlPerson": false, + "isPublicReporting": false, + "crd": "2963853" + }, + { + "name": "HYDE, GINA ELIZABETH", + "ownerType": "I", + "titleStatus": "CHIEF COMPLIANCE OFFICER - CAPITAL MARKETS", + "dateTitleStatusAcquired": "2016-08", + "ownershipCode": "NA", + "isControlPerson": false, + "isPublicReporting": false, + "crd": "2812751" + }, + { + "name": "SCHRICK, FREDERICK RICHARD", + "ownerType": "I", + "titleStatus": "PRINCIPAL FINANCIAL OFFICER", + "dateTitleStatusAcquired": "2017-08", + "ownershipCode": "NA", + "isControlPerson": true, + "isPublicReporting": false, + "crd": "5636488" + }, + { + "name": "BROOKS, PATRICK RODGERS", + "ownerType": "I", + "titleStatus": "ROSFP - CAPITAL MARKETS", + "dateTitleStatusAcquired": "2009-05", + "ownershipCode": "NA", + "isControlPerson": false, + "isPublicReporting": false, + "crd": "2223412" + }, + { + "name": "MELINGER, ADAM SCOTT", + "ownerType": "I", + "titleStatus": "ROSFP - PCG", + "dateTitleStatusAcquired": "2019-08", + "ownershipCode": "NA", + "isControlPerson": false, + "isPublicReporting": false, + "crd": "2373020" + }, + { + "name": "DODSON, CHARLES EDWARD", + "ownerType": "I", + "titleStatus": "CCO ADVISORY SERVICES", + "dateTitleStatusAcquired": "2022-01", + "ownershipCode": "NA", + "isControlPerson": false, + "isPublicReporting": false, + "crd": "1744430" + }, + { + "name": "SLINEY, DAVID DEAN", + "ownerType": "I", + "titleStatus": "SENIOR VICE PRESIDENT & DIRECTOR", + "dateTitleStatusAcquired": "2020-07", + "ownershipCode": "NA", + "isControlPerson": true, + "isPublicReporting": false, + "crd": "2276514" + }, + { + "name": "BRIGHT, GEOFFREY CLYDE JR", + "ownerType": "I", + "titleStatus": "CHIEF COMPLIANCE OFFICER - PRIVATE CLIENT GROUP", + "dateTitleStatusAcquired": "2024-02", + "ownershipCode": "NA", + "isControlPerson": false, + "isPublicReporting": false, + "crd": "4696103" + }, + { + "name": "RAYMOND, CHARLES BRADFORD GREEN", + "ownerType": "I", + "titleStatus": "CO-HEAD GLOBAL INSTITUTIONAL EQUITIES & ADVISORY", + "dateTitleStatusAcquired": "2025-07", + "ownershipCode": "NA", + "isControlPerson": false, + "isPublicReporting": false, + "crd": "2796106" + } +] \ No newline at end of file diff --git a/examples/api-responses/form-adv-financial-industry-affiliations.json b/examples/api-responses/form-adv-financial-industry-affiliations.json new file mode 100644 index 0000000..552e3c0 --- /dev/null +++ b/examples/api-responses/form-adv-financial-industry-affiliations.json @@ -0,0 +1,4286 @@ +[ + { + "1-nameOfRelatedPerson": "MS CAPITAL PARTNERS ADVISER INC.", + "2-businessName": "MS CAPITAL PARTNERS ADVISER INC.", + "3-secFileNumber": "80169426", + "4a-crdNumber": "147521", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser", + "f-commodityPoolOperator" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": false, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": true, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY PRIVATE EQUITY ASIA, INC.", + "2-businessName": "MORGAN STANLEY PRIVATE EQUITY ASIA, INC.", + "3-secFileNumber": "80163987", + "4a-crdNumber": "134366", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY INVESTMENT MANAGEMENT INC.", + "2-businessName": "MORGAN STANLEY INVESTMENT MANAGEMENT INC.", + "3-secFileNumber": "80115757", + "4a-crdNumber": "110353", + "4b-cikNumbers": [ + "1230193" + ], + "5-typesOfRelatedPerson": [ + "b-otherAdviser", + "f-commodityPoolOperator", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": true, + "10b-foreignRegulator": [ + "Bahamas - Securities Commission of the Bahamas", + "China, People's Republic of - China Securities Regulatory Commission ", + "India - Securities and Exchange Board of India", + "South Korea - Financial Supervisory Commission / Financial Supervisory Service" + ], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "CONSULTING GROUP ADVISORY SERVICES LLC", + "2-businessName": "CONSULTING GROUP ADVISORY SERVICES LLC", + "3-secFileNumber": "80164791", + "4a-crdNumber": "137463", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": true, + "12-shareSameLocation": true + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY BANK, N.A.", + "2-businessName": "MORGAN STANLEY BANK, NA", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [ + "1871769" + ], + "5-typesOfRelatedPerson": [ + "h-bankingThriftingInstitution" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": true, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "201 S. MAIN STREET", + "street2": "5TH FLOOR", + "city": "SALT CITY CITY", + "state": "Utah", + "zipCode": "84111", + "country": "United States" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": true, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY PRIVATE BANK, NATIONAL ASSOCIATION", + "2-businessName": "MORGAN STANLEY PRIVATE BANK, NATIONAL ASSOCIATION", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [ + "1534177" + ], + "5-typesOfRelatedPerson": [ + "h-bankingThriftingInstitution" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": true, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "2000 WESTCHESTER AVE", + "street2": "", + "city": "PURCHASE", + "state": "New York", + "zipCode": "10577", + "country": "United States" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": true, + "12-shareSameLocation": true + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY & CO. LLC", + "2-businessName": "MORGAN STANLEY & CO. LLC", + "3-secFileNumber": "815869", + "4a-crdNumber": "8209", + "4b-cikNumbers": [ + "1359291" + ], + "5-typesOfRelatedPerson": [ + "a-brokerBealer", + "g-futuresCommissionMerchant" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": true, + "10b-foreignRegulator": [ + "Other - CANADA - MONTREAL EXCHANGE AND BOURSE DE MONTREAL", + "Other - MEXICO - MEXICAN DERIVATIVES EXCHANGE" + ], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": true + }, + { + "1-nameOfRelatedPerson": "CERES MANAGED FUTURES LLC", + "2-businessName": "CERES MANAGED FUTURES LLC", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "f-commodityPoolOperator", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY PRIVATE EQUITY ASIA V GP ONT, L.P.", + "2-businessName": "MORGAN STANLEY PRIVATE EQUITY ASIA V GP ONT, L.P.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "f-commodityPoolOperator", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MSREF VII GLOBAL-GP (CAYMAN), L.P.", + "2-businessName": "MSREF VII GLOBAL-GP (CAYMAN), L.P.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MSREF VII GLOBAL-GP (U.S.), L.L.C.", + "2-businessName": "MSREF VII GLOBAL-GP (U.S.), L.L.C.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP CRYSTAL-SMA I SLP LP", + "2-businessName": "AIP CRYSTAL-SMA I SLP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": true, + "9b-exemption": "ABA 2005 NO ACTION LETTER", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": true + }, + { + "1-nameOfRelatedPerson": "AIP GLOBAL DIVERSIFIED ALTERNATIVES V GP LP", + "2-businessName": "AIP GLOBAL DIVERSIFIED ALTERNATIVES V GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP GLOBAL DIVERSIFIED VI GP LP", + "2-businessName": "AIP GLOBAL DIVERSIFIED VI GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP GLOBAL INCOME I GP LP", + "2-businessName": "AIP GLOBAL INCOME I GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS TACTICAL VALUE FUND GP LP", + "2-businessName": "MS TACTICAL VALUE FUND GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": true + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY PRIVATE EQUITY ASIA IV, L.L.C.", + "2-businessName": "MORGAN STANLEY PRIVATE EQUITY ASIA IV, L.L.C.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "f-commodityPoolOperator", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MSREF VII GLOBAL-GP, L.P.", + "2-businessName": "MSREF VII GLOBAL-GP, L.P.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "f-commodityPoolOperator", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY FIXED INCOME GP INC.", + "2-businessName": "MORGAN STANLEY FIXED INCOME GP INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP COMPREHENSIVE SECONDARIES I GP LP", + "2-businessName": "AIP COMPREHENSIVE SECONDARIES I GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP COMPREHENSIVE SECONDARIES II GP LP", + "2-businessName": "AIP COMPREHENSIVE SECONDARIES II GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP GLOBAL INCOME II SLP LP", + "2-businessName": "AIP GLOBAL INCOME II SLP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": true, + "9b-exemption": "ABA 2005 NO ACTION LETTER", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP OPPORTUNISTIC ACI I GP LP", + "2-businessName": "AIP OPPORTUNISTIC ACI I GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP GLOBAL IMPACT I GP LP", + "2-businessName": "AIP GLOBAL IMPACT I GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP OPPORTUNISTIC ALTERNATIVES GP LP", + "2-businessName": "AIP OPPORTUNISTIC ALTERNATIVES GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP OPPORTUNISTIC SECONDARIES I SLP LP", + "2-businessName": "AIP OPPORTUNISTIC SECONDARIES I SLP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": true, + "9b-exemption": "ABA 2005 NO ACTION LETTER", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP RE FOF II GP LP", + "2-businessName": "AIP RE FOF II GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "GLOBAL DIVERSIFIED ALTERNATIVES III GP LP", + "2-businessName": "GLOBAL DIVERSIFIED ALTERNATIVES III GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "GLOBAL DIVERSIFIED ALTERNATIVES IV GP LP", + "2-businessName": "GLOBAL DIVERSIFIED ALTERNATIVES IV GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "GLOBAL DIVERSIFIED ALTERNATIVES IV SLP GP LTD", + "2-businessName": "GLOBAL DIVERSIFIED ALTERNATIVES IV SLP GP LTD", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": true, + "9b-exemption": "ABA 2005 NO ACTION LETTER", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY REAL ESTATE ADVISOR, INC.", + "2-businessName": "MORGAN STANLEY REAL ESTATE ADVISOR, INC.", + "3-secFileNumber": "80162377", + "4a-crdNumber": "127488", + "4b-cikNumbers": [ + "1404783" + ], + "5-typesOfRelatedPerson": [ + "b-otherAdviser", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP ASIA-SMA GP LP", + "2-businessName": "AIP ASIA-SMA GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP ASIA-SMA II SLP LP", + "2-businessName": "AIP ASIA-SMA II SLP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": true, + "9b-exemption": "ABA 2005 NO ACTION LETTER", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP BRICKYARD GP LP", + "2-businessName": "AIP BRICKYARD GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP DIAMOND-SMA I SLP LP", + "2-businessName": "AIP DIAMOND-SMA I SLP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": true, + "9b-exemption": "ABA 2005 NO ACTION LETTER", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP GATEWAY II GP LP", + "2-businessName": "AIP GATEWAY II GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP GLOBAL DIVERSIFIED VII SLP LP", + "2-businessName": "AIP GLOBAL DIVERSIFIED VII SLP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": true, + "9b-exemption": "ABA 2005 NO ACTION LETTER", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP GRANITE-SMA GP LP", + "2-businessName": "AIP GRANITE-SMA GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP MBAR SLP LP", + "2-businessName": "AIP MBAR SLP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": true, + "9b-exemption": "ABA 2005 NO ACTION LETTER", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP MCS VALUE SLP LP", + "2-businessName": "AIP MCS VALUE SLP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": true, + "9b-exemption": "ABA 2005 NO ACTION LETTER", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP MEDYARD GP LP", + "2-businessName": "AIP MEDYARD GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP NML-SMA GP LP", + "2-businessName": "AIP NML-SMA GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP OPPORTUNISTIC ACI II SLP GP LP", + "2-businessName": "AIP OPPORTUNISTIC ACI II SLP GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": true, + "9b-exemption": "ABA 2005 NO ACTION LETTER", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP RE FOF 2009 GP LP", + "2-businessName": "AIP RE FOF 2009 GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP RE FOF 2010 GP LP", + "2-businessName": "AIP RE FOF 2010 GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP SOUTHYARD GP INC.", + "2-businessName": "AIP SOUTHYARD GP INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP TRANSITIONAL DIVERSIFIED ALTERNATIVES GP LP", + "2-businessName": "AIP TRANSITIONAL DIVERSIFIED ALTERNATIVES GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "FLINT CAPITAL PARTNERS GP LP", + "2-businessName": "FLINT CAPITAL PARTNERS GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "GPF PRIVATE EQUITY GP LP", + "2-businessName": "GPF PRIVATE EQUITY GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "GTB CAPITAL PARTNERS GP LP", + "2-businessName": "GTB CAPITAL PARTNERS GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MESA WEST DSA, LLC", + "2-businessName": "MESA WEST DSA, LLC", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS CAPITAL PARTNERS VI GP INC.", + "2-businessName": "MS CAPITAL PARTNERS VI GP INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS CAPITAL PARTNERS VII GP INC.", + "2-businessName": "MS CAPITAL PARTNERS VII GP INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY INSURANCE SERVICES INC.", + "2-businessName": "MORGAN STANLEY INSURANCE SERVICES INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "l-insuranceCompany" + ], + "6-controlsRelatedPerson": true, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY PRIVATE EQUITY ASIA III, INC.", + "2-businessName": "MORGAN STANLEY PRIVATE EQUITY ASIA III, INC.", + "3-secFileNumber": "80167700", + "4a-crdNumber": "143479", + "4b-cikNumbers": [ + "1522733" + ], + "5-typesOfRelatedPerson": [ + "b-otherAdviser", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY PRIVATE EQUITY ASIA III, L.L.C.", + "2-businessName": "MORGAN STANLEY PRIVATE EQUITY ASIA III, L.L.C.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [ + "1522732" + ], + "5-typesOfRelatedPerson": [ + "f-commodityPoolOperator", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY PRIVATE EQUITY ASIA IV, INC.", + "2-businessName": "MORGAN STANLEY PRIVATE EQUITY ASIA IV, INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY PRIVATE EQUITY ASIA V, INC.", + "2-businessName": "MORGAN STANLEY PRIVATE EQUITY ASIA V, INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY PRIVATE EQUITY ASIA, LLC", + "2-businessName": "MORGAN STANLEY PRIVATE EQUITY ASIA, LLC", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "f-commodityPoolOperator", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY ALTERNATIVES HOLDING D INC.", + "2-businessName": "MORGAN STANLEY ALTERNATIVES HOLDING D INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS CAPITAL PARTNERS V GP L.P.", + "2-businessName": "MS CAPITAL PARTNERS V GP L.P.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS CAPITAL PARTNERS VIII GP LP", + "2-businessName": "MS CAPITAL PARTNERS VIII GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS CREDIT PARTNERS II GP L.P.", + "2-businessName": "MS CREDIT PARTNERS II GP L.P.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "f-commodityPoolOperator", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS CREDIT PARTNERS III GP L.P.", + "2-businessName": "MS CREDIT PARTNERS III GP L.P.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "f-commodityPoolOperator", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS CREDIT PARTNERS III S.A R.L.", + "2-businessName": "MS CREDIT PARTNERS III S.A R.L.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "f-commodityPoolOperator", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS ENERGY PARTNERS GP INC.", + "2-businessName": "MS ENERGY PARTNERS GP INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS ENERGY PARTNERS GP LP", + "2-businessName": "MS ENERGY PARTNERS GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS EXPANSION CAPITAL GP INC.", + "2-businessName": "MS EXPANSION CAPITAL GP INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS EXPANSION CAPITAL GP LP", + "2-businessName": "MS EXPANSION CAPITAL GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS EXPANSION CREDIT GP INC.", + "2-businessName": "MS EXPANSION CREDIT GP INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS EXPANSION CREDIT GP L.P.", + "2-businessName": "MS EXPANSION CREDIT GP L.P.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS EXPANSION EQUITY GP INC.", + "2-businessName": "MS EXPANSION EQUITY GP INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS TACTICAL VALUE FUND GP INC.", + "2-businessName": "MS TACTICAL VALUE FUND GP INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": true + }, + { + "1-nameOfRelatedPerson": "MSCP V GP INC.", + "2-businessName": "MSCP V GP INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MSCP V OFFSHORE INVESTORS GP LTD.", + "2-businessName": "MSCP V OFFSHORE INVESTORS GP LTD.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MSCVF I GP INC.", + "2-businessName": "MSCVF I GP INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MSCVF I GP LP", + "2-businessName": "MSCVF I GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MSREF VII GLOBAL (CAYMAN) II, LTD.", + "2-businessName": "MSREF VII GLOBAL (CAYMAN) II, LTD.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MSREF VIII GLOBAL-GP, L.P.", + "2-businessName": "MSREF VIII GLOBAL-GP, L.P.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "f-commodityPoolOperator", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MSREF VIII GP, L.L.C.", + "2-businessName": "MSREF VIII GP, L.L.C.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MSREF VIII, INC.", + "2-businessName": "MSREF VIII, INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MSREI IX GLOBAL-GP, L.P.", + "2-businessName": "MSREI IX GLOBAL-GP, L.P.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "f-commodityPoolOperator", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MSREI IX GP, L.L.C.", + "2-businessName": "MSREI IX GP, L.L.C.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "PRIVATE INVESTMENT PARTNERS INC.", + "2-businessName": "PRIVATE INVESTMENT PARTNERS INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "SBHU LIFE AGENCY, INC.", + "2-businessName": "SBHU LIFE AGENCY, INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "l-insuranceCompany" + ], + "6-controlsRelatedPerson": true, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP COSMIC SLP LP", + "2-businessName": "AIP COSMIC SLP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": true, + "9b-exemption": "ABA 2005 NO ACTION LETTER", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "BANCO MORGAN STANLEY S.A.", + "2-businessName": "BANCO MORGAN STANLEY S.A.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "h-bankingThriftingInstitution" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": true, + "10b-foreignRegulator": [ + "Other - BRAZILIAN CENTRAL BANK" + ], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY VENTURE PARTNERS III, L.L.C.", + "2-businessName": "MORGAN STANLEY VENTURE PARTNERS III, L.L.C.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS CREDIT PARTNERS GP INC.", + "2-businessName": "MS CREDIT PARTNERS GP INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "f-commodityPoolOperator", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS CREDIT PARTNERS HOLDINGS INC.", + "2-businessName": "MS CREDIT PARTNERS HOLDINGS INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [ + "1790614" + ], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS CREDIT PARTNERS II GP INC.", + "2-businessName": "MS CREDIT PARTNERS II GP INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "f-commodityPoolOperator", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS EXPANSION CREDIT II GP INC.", + "2-businessName": "MS EXPANSION CREDIT II GP INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS EXPANSION CREDIT II GP LP", + "2-businessName": "MS EXPANSION CREDIT II GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS EXPANSION EQUITY GP LP", + "2-businessName": "MS EXPANSION EQUITY GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MSDW VENTURE PARTNERS IV, LLC", + "2-businessName": "MSDW VENTURE PARTNERS IV, LLC", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MSDW VP IV HOLDINGS, INC.", + "2-businessName": "MSDW VP IV HOLDINGS, INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MSREI X GLOBAL-GP, LP", + "2-businessName": "MSREI X GLOBAL-GP, LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "f-commodityPoolOperator", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MSREI X GP, L.L.C.", + "2-businessName": "MSREI X GP, L.L.C.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MSVP 2002 FUND, LLC", + "2-businessName": "MSVP 2002 FUND, LLC", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MSVP 2002, INC.", + "2-businessName": "MSVP 2002, INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP ASIA-SMA III SLP LP", + "2-businessName": "AIP ASIA-SMA III SLP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": false, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP OPPORTUNISTIC SECONDARIES II SLP LP", + "2-businessName": "AIP OPPORTUNISTIC SECONDARIES II SLP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "E*TRADE FUTURES L.L.C.", + "2-businessName": "E*TRADE FUTURES L.L.C.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "g-futuresCommissionMerchant" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": true, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY INSTITUTIONAL INVESTMENT ADVISORS LLC", + "2-businessName": "MORGAN STANLEY INSTITUTIONAL INVESTMENT ADVISORS LLC", + "3-secFileNumber": "80169938", + "4a-crdNumber": "149122", + "4b-cikNumbers": [ + "2026079" + ], + "5-typesOfRelatedPerson": [ + "b-otherAdviser" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": true, + "12-shareSameLocation": true + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY NEXT LEVEL FUND GP, LLC", + "2-businessName": "MORGAN STANLEY NEXT LEVEL FUND GP, LLC", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP 1GT FUND (LUX) GP S.A.R.L.", + "2-businessName": "AIP 1GT FUND (LUX) GP S.A.R.L.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP 1GT FUND GP LP", + "2-businessName": "AIP 1GT FUND GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP RUBY-SMA I SLP LP", + "2-businessName": "AIP RUBY-SMA I SLP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": true, + "9b-exemption": "ABA 2005 NO ACTION LETTER", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "CT REAL ASSETS SLP LP", + "2-businessName": "CT REAL ASSETS SLP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": true, + "9b-exemption": "ABA 2005 NO ACTION LETTER", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS CAPITAL PARTNERS CV GP LLC", + "2-businessName": "MS CAPITAL PARTNERS CV GP LLC", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS CREDIT PARTNERS IV GP L.P.", + "2-businessName": "MS CREDIT PARTNERS IV GP L.P.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "f-commodityPoolOperator", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS EXPANSION EQUITY IX GP INC.", + "2-businessName": "MS EXPANSION EQUITY IX GP INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS TACTICAL VALUE FUND II GP INC.", + "2-businessName": "MS TACTICAL VALUE FUND II GP INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS TACTICAL VALUE FUND II GP LP", + "2-businessName": "MS TACTICAL VALUE FUND II GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS CREDIT PARTNERS IV GP INC.", + "2-businessName": "MS CREDIT PARTNERS IV GP INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "f-commodityPoolOperator", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "OLOMANA REAL ASSETS SLP LP", + "2-businessName": "OLOMANA REAL ASSETS SLP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": true, + "9b-exemption": "ABA 2005 NO ACTION LETTER", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "PARAMETRIC PORTFOLIO ASSOCIATES LLC", + "2-businessName": "PARAMETRIC PORTFOLIO ASSOCIATES", + "3-secFileNumber": "80160485", + "4a-crdNumber": "114310", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser", + "f-commodityPoolOperator", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": true, + "10b-foreignRegulator": [ + "Canada - Alberta Securities Commission", + "Canada - British Columbia Securities Commission", + "Canada - Manitoba Securities Commission", + "Canada - Nova Scotia Securities Commission", + "Canada - Ontario Securities Commission", + "Canada - Quebec, Financial Markets Authority", + "Ireland - Central Bank of Ireland" + ], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "EATON VANCE MANAGEMENT", + "2-businessName": "EATON VANCE MANAGEMENT", + "3-secFileNumber": "80115930", + "4a-crdNumber": "104859", + "4b-cikNumbers": [ + "1076598" + ], + "5-typesOfRelatedPerson": [ + "b-otherAdviser" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": true, + "10b-foreignRegulator": [ + "South Korea - Financial Supervisory Commission / Financial Supervisory Service" + ], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "BOSTON MANAGEMENT AND RESEARCH", + "2-businessName": "BOSTON MANAGEMENT AND RESEARCH", + "3-secFileNumber": "80143127", + "4a-crdNumber": "104853", + "4b-cikNumbers": [ + "877781" + ], + "5-typesOfRelatedPerson": [ + "b-otherAdviser", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "CALVERT RESEARCH AND MANAGEMENT", + "2-businessName": "CALVERT RESEARCH AND MANAGEMENT", + "3-secFileNumber": "801108378", + "4a-crdNumber": "285127", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "ATLANTA CAPITAL MANAGEMENT COMPANY, L.L.C.", + "2-businessName": "ATLANTA CAPITAL", + "3-secFileNumber": "80160673", + "4a-crdNumber": "116719", + "4b-cikNumbers": [ + "1027817" + ], + "5-typesOfRelatedPerson": [ + "b-otherAdviser" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP SEEDLING I SLP LP", + "2-businessName": "AIP SEEDLING I SLP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": true, + "9b-exemption": "ABA 2005 NO ACTION LETTER", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP DR SLP LP", + "2-businessName": "AIP DR SLP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": true, + "9b-exemption": "ABA 2005 NO ACTION LETTER", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP GLOBAL VENTURE I SLP LP", + "2-businessName": "AIP GLOBAL VENTURE I SLP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": true, + "9b-exemption": "ABA 2005 NO ACTION LETTER", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS CAPITAL PARTNERS VIII GP INC.", + "2-businessName": "MS CAPITAL PARTNERS VIII GP INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS EXPANSION EQUITY IX GP LP", + "2-businessName": "MS EXPANSION EQUITY IX GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS CAPITAL PARTNERS VI GP LP", + "2-businessName": "MS CAPITAL PARTNERS VI GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS CAPITAL PARTNERS VII GP LP", + "2-businessName": "MS CAPITAL PARTNERS VII GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY INVESTMENT MANAGEMENT LIMITED", + "2-businessName": "MORGAN STANLEY INVESTMENT MANAGEMENT LIMITED", + "3-secFileNumber": "80126847", + "4a-crdNumber": "105922", + "4b-cikNumbers": [ + "1358504" + ], + "5-typesOfRelatedPerson": [ + "b-otherAdviser", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": true, + "10b-foreignRegulator": [ + "Denmark - Danish Financial Supervisory Authority", + "Other - UNITED ARAB EMIRATES - ABU DHABI GLOBAL MARKET FINANCIAL SERVICES REGULATORY AUTHORITY", + "South Africa - Financial Services Board", + "South Korea - Financial Supervisory Commission / Financial Supervisory Service", + "United Kingdom - Financial Conduct Authority" + ], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY DISTRIBUTION, INC.", + "2-businessName": "MORGAN STANLEY DISTRIBUTION, INC.", + "3-secFileNumber": "844766", + "4a-crdNumber": "30344", + "4b-cikNumbers": [ + "886116" + ], + "5-typesOfRelatedPerson": [ + "a-brokerBealer" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": true, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MESA WEST CAPITAL, LLC", + "2-businessName": "MESA WEST CAPITAL", + "3-secFileNumber": "80172711", + "4a-crdNumber": "158959", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MESA WEST REAL ESTATE INCOME FUND V GP, L.L.C.", + "2-businessName": "MESA WEST REAL ESTATE INCOME FUND V GP, L.L.C.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY WEALTH MANAGEMENT CANADA INC.", + "2-businessName": "MORGAN STANLEY WEALTH MANAGEMENT CANADA INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "a-brokerBealer" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": true, + "10b-foreignRegulator": [ + "Canada - Alberta Securities Commission", + "Canada - British Columbia Securities Commission", + "Canada - Manitoba Securities Commission", + "Canada - New Brunswick Securities Commission", + "Canada - Newfoundland and Labrador, Financial Services Regulation Division", + "Canada - Northwest Territories, Office of the Registrar of Securities", + "Canada - Nova Scotia Securities Commission", + "Canada - Nunavut, Registrar of Securities", + "Canada - Ontario Securities Commission", + "Canada - Prince Edward Island, Securities Office", + "Canada - Quebec, Financial Markets Authority", + "Canada - Saskatchewan Financial Services Commission", + "Canada - Yukon Territories, Registrar of Securities" + ], + "11-shareSupervisedPersons": true, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS CAPITAL PARTNERS W50 CV GP LLC", + "2-businessName": "MS CAPITAL PARTNERS W50 CV GP LLC", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "EATON VANCE DISTRIBUTORS, INC.", + "2-businessName": "EATON VANCE DISTRIBUTORS, INC.", + "3-secFileNumber": "847939", + "4a-crdNumber": "37731", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "a-brokerBealer" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": true, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY VENTURE CAPITAL III INC", + "2-businessName": "MORGAN STANLEY VENTURE CAPITAL III INC", + "3-secFileNumber": "80152909", + "4a-crdNumber": "108708", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS SENIOR LOAN PARTNERS GP INC.", + "2-businessName": "MS SENIOR LOAN PARTNERS GP INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "f-commodityPoolOperator", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS SENIOR LOAN PARTNERS GP L.P.", + "2-businessName": "MS SENIOR LOAN PARTNERS GP L.P.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "f-commodityPoolOperator", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MSDW VENTURE PARTNERS IV INC", + "2-businessName": "MSDW VENTURE PARTNERS IV INC", + "3-secFileNumber": "80156916", + "4a-crdNumber": "108709", + "4b-cikNumbers": [ + "1230210" + ], + "5-typesOfRelatedPerson": [ + "b-otherAdviser", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MSIM DELAWARE GP INC.", + "2-businessName": "MSIM DELAWARE GP INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP COMPREHENSIVE SECONDARIES III SLP LP", + "2-businessName": "AIP COMPREHENSIVE SECONDARIES III SLP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": true, + "9b-exemption": "ABA 2005 NO ACTION LETTER", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP ORION PRIVATE EQUITY SLP LP", + "2-businessName": "AIP ORION PRIVATE EQUITY SLP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": true, + "9b-exemption": "ABA 2005 NO ACTION LETTER", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "AIP OPPORTUNISTIC SECONDARIES III SLP LP", + "2-businessName": "AIP OPPORTUNISTIC SECONDARIES III SLP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": true, + "9b-exemption": "ABA 2005 NO ACTION LETTER", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY AIP GP LP", + "2-businessName": "MORGAN STANLEY AIP GP LP", + "3-secFileNumber": "80160699", + "4a-crdNumber": "117050", + "4b-cikNumbers": [ + "1230207" + ], + "5-typesOfRelatedPerson": [ + "b-otherAdviser", + "f-commodityPoolOperator", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY CAPITAL SERVICES, LLC", + "2-businessName": "MORGAN STANLEY CAPITAL SERVICES, LLC", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "a-brokerBealer", + "d-swapDealer" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MORGAN STANLEY EATON VANCE CLO MANAGER LLC", + "2-businessName": "MORGAN STANLEY | EATON VANCE CLO MANAGER LLC", + "3-secFileNumber": "801118877", + "4a-crdNumber": "309263", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "b-otherAdviser", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS EXPANSION CREDIT III GP LP", + "2-businessName": "MS EXPANSION CREDIT III GP LP", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS PARTNERS III GP INC.", + "2-businessName": "MS PARTNERS III GP INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "f-commodityPoolOperator", + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + }, + { + "1-nameOfRelatedPerson": "MS EXPANSION CREDIT III GP INC.", + "2-businessName": "MS EXPANSION CREDIT III GP INC.", + "3-secFileNumber": "", + "4a-crdNumber": "", + "4b-cikNumbers": [], + "5-typesOfRelatedPerson": [ + "p-sponsorOfPooledInvestmentVehicles" + ], + "6-controlsRelatedPerson": false, + "7-underCommonControl": true, + "8a-relatedPersonActsAsCustodian": false, + "8b-notOperationallyIndependent": false, + "8c-locationOfRelatedPerson": { + "street1": "", + "street2": "", + "city": "", + "state": "", + "zipCode": "", + "country": "" + }, + "9a-exemptFromRegistration": false, + "9b-exemption": "", + "10a-registeredWithForeignRegulator": false, + "10b-foreignRegulator": [], + "11-shareSupervisedPersons": false, + "12-shareSameLocation": false + } +] \ No newline at end of file diff --git a/examples/api-responses/form-adv-firms.json b/examples/api-responses/form-adv-firms.json new file mode 100644 index 0000000..b0bc0ef --- /dev/null +++ b/examples/api-responses/form-adv-firms.json @@ -0,0 +1,624 @@ +{ + "total": { + "value": 1, + "relation": "eq" + }, + "filings": [ + { + "Info": { + "SECRgnCD": "NYRO", + "FirmCrdNb": 361, + "SECNb": "801-16048", + "BusNm": "GOLDMAN SACHS & CO. LLC", + "LegalNm": "GOLDMAN SACHS & CO. LLC", + "UmbrRgstn": "N" + }, + "MainAddr": { + "Strt1": "200 WEST STREET", + "City": "NEW YORK", + "State": "NY", + "Cntry": "United States", + "PostlCd": "10282", + "PhNb": "212-902-1000" + }, + "MailingAddr": {}, + "Rgstn": [ + { + "FirmType": "Registered", + "St": "APPROVED", + "Dt": "1981-05-13" + } + ], + "NoticeFiled": { + "States": [ + { + "RgltrCd": "AL", + "St": "FILED", + "Dt": "1992-10-28" + }, + { + "RgltrCd": "AK", + "St": "FILED", + "Dt": "1997-11-21" + }, + { + "RgltrCd": "AZ", + "St": "FILED", + "Dt": "1997-11-26" + }, + { + "RgltrCd": "AR", + "St": "FILED", + "Dt": "1988-10-19" + }, + { + "RgltrCd": "CA", + "St": "FILED", + "Dt": "1997-07-08" + }, + { + "RgltrCd": "CO", + "St": "FILED", + "Dt": "2001-04-30" + }, + { + "RgltrCd": "DE", + "St": "FILED", + "Dt": "2011-01-24" + }, + { + "RgltrCd": "DC", + "St": "FILED", + "Dt": "2001-04-30" + }, + { + "RgltrCd": "GA", + "St": "FILED", + "Dt": "2003-02-27" + }, + { + "RgltrCd": "ID", + "St": "FILED", + "Dt": "1997-11-14" + }, + { + "RgltrCd": "IL", + "St": "FILED", + "Dt": "1988-12-12" + }, + { + "RgltrCd": "IN", + "St": "FILED", + "Dt": "1988-09-06" + }, + { + "RgltrCd": "IA", + "St": "FILED", + "Dt": "1999-01-01" + }, + { + "RgltrCd": "KS", + "St": "FILED", + "Dt": "1997-11-18" + }, + { + "RgltrCd": "KY", + "St": "FILED", + "Dt": "1997-11-24" + }, + { + "RgltrCd": "LA", + "St": "FILED", + "Dt": "2001-10-08" + }, + { + "RgltrCd": "ME", + "St": "FILED", + "Dt": "1989-01-20" + }, + { + "RgltrCd": "MD", + "St": "FILED", + "Dt": "1992-01-01" + }, + { + "RgltrCd": "MA", + "St": "FILED", + "Dt": "2001-04-30" + }, + { + "RgltrCd": "MI", + "St": "FILED", + "Dt": "2001-04-30" + }, + { + "RgltrCd": "MN", + "St": "FILED", + "Dt": "1998-01-02" + }, + { + "RgltrCd": "MS", + "St": "FILED", + "Dt": "1997-11-17" + }, + { + "RgltrCd": "MT", + "St": "FILED", + "Dt": "1997-11-26" + }, + { + "RgltrCd": "NE", + "St": "FILED", + "Dt": "1999-11-24" + }, + { + "RgltrCd": "NV", + "St": "FILED", + "Dt": "1991-01-02" + }, + { + "RgltrCd": "NJ", + "St": "FILED", + "Dt": "1988-09-15" + }, + { + "RgltrCd": "NM", + "St": "FILED", + "Dt": "1989-01-25" + }, + { + "RgltrCd": "NY", + "St": "FILED", + "Dt": "1988-10-26" + }, + { + "RgltrCd": "NC", + "St": "FILED", + "Dt": "2001-04-03" + }, + { + "RgltrCd": "ND", + "St": "FILED", + "Dt": "1988-10-18" + }, + { + "RgltrCd": "OH", + "St": "FILED", + "Dt": "1999-11-19" + }, + { + "RgltrCd": "OK", + "St": "FILED", + "Dt": "1998-01-01" + }, + { + "RgltrCd": "OR", + "St": "FILED", + "Dt": "1988-11-18" + }, + { + "RgltrCd": "PA", + "St": "FILED", + "Dt": "1998-01-01" + }, + { + "RgltrCd": "PR", + "St": "FILED", + "Dt": "1996-11-01" + }, + { + "RgltrCd": "RI", + "St": "FILED", + "Dt": "1997-11-17" + }, + { + "RgltrCd": "SC", + "St": "FILED", + "Dt": "1988-10-24" + }, + { + "RgltrCd": "TN", + "St": "FILED", + "Dt": "1997-09-19" + }, + { + "RgltrCd": "UT", + "St": "FILED", + "Dt": "1997-10-09" + }, + { + "RgltrCd": "VT", + "St": "FILED", + "Dt": "1997-11-24" + }, + { + "RgltrCd": "VA", + "St": "FILED", + "Dt": "1998-02-03" + }, + { + "RgltrCd": "WV", + "St": "FILED", + "Dt": "1988-09-06" + }, + { + "RgltrCd": "WI", + "St": "FILED", + "Dt": "1997-11-17" + }, + { + "RgltrCd": "WY", + "St": "FILED", + "Dt": "2018-01-16" + }, + { + "RgltrCd": "VI", + "St": "FILED", + "Dt": "2008-02-28" + }, + { + "RgltrCd": "MO", + "St": "FILED", + "Dt": "1997-11-19" + }, + { + "RgltrCd": "WA", + "St": "FILED", + "Dt": "1998-12-29" + }, + { + "RgltrCd": "TX", + "St": "FILED", + "Dt": "2001-04-30" + }, + { + "RgltrCd": "NH", + "St": "FILED", + "Dt": "1988-10-26" + }, + { + "RgltrCd": "HI", + "St": "FILED", + "Dt": "1997-11-14" + }, + { + "RgltrCd": "CT", + "St": "FILED", + "Dt": "1997-09-26" + }, + { + "RgltrCd": "FL", + "St": "FILED", + "Dt": "1993-06-14" + }, + { + "RgltrCd": "SD", + "St": "FILED", + "Dt": "1988-10-21" + } + ] + }, + "Filing": [ + { + "Dt": "2026-03-31", + "FormVrsn": "10/2021" + } + ], + "FormInfo": { + "Part1A": { + "Item1": { + "WebAddrs": { + "WebAddrs": [ + "https://www.linkedin.com/showcase/goldman-sachs--private-wealth-management", + "https://privatewealth.goldmansachs.com/us/en/home", + "HTTP://X.COM/GOLDMANSACHS", + "https://www.instagram.com/goldmansachsprivatewealth/?hl=en", + "HTTP://WWW.GOLDMANSACHS.COM", + "HTTP://FACEBOOK.COM/GOLDMANSACHS", + "HTTPS://WWW.LINKEDIN.COM/COMPANY/GOLDMAN-SACHS", + "HTTP://WWW.GS.COM", + "https://www.instagram.com/goldmansachs/" + ], + "WebAddr": "https://www.instagram.com/goldmansachs/" + }, + "Q1F5": 18, + "Q1I": "Y", + "Q1M": "Y", + "Q1N": "N", + "Q1O": "Y", + "Q1ODesc": "More than $50 billion", + "Q1P": "FOR8UP27PHTHYVLBNG30" + }, + "Item2A": { + "Q2A1": "Y", + "Q2A2": "N", + "Q2A4": "N", + "Q2A5": "N", + "Q2A6": "N", + "Q2A7": "N", + "Q2A8": "N", + "Q2A9": "N", + "Q2A10": "N", + "Q2A11": "N", + "Q2A12": "N", + "Q2A13": "N" + }, + "Item2B": {}, + "Item3A": { + "OrgFormNm": "Limited Liability Company" + }, + "Item3B": { + "Q3B": "DECEMBER" + }, + "Item3C": { + "StateCD": "NY", + "CntryNm": "United States" + }, + "Item5A": { + "TtlEmp": 2268 + }, + "Item5B": { + "Q5B1": 1765, + "Q5B2": 1698, + "Q5B3": 0, + "Q5B4": 0, + "Q5B5": 60, + "Q5B6": 1 + }, + "Item5C": { + "Q5C1": "2355", + "Q5C2": 2 + }, + "Item5D": { + "Q5DA1": 0, + "Q5DA3": 0, + "Q5DB1": 29104, + "Q5DB3": 50962159253, + "Q5DC1": 0, + "Q5DC3": 0, + "Q5DD1": 0, + "Q5DD3": 0, + "Q5DE1": 0, + "Q5DE3": 0, + "Q5DF1": 0, + "Q5DF3": 0, + "Q5DG1": 9, + "Q5DG3": 4729043, + "Q5DH1": 1040, + "Q5DH3": 17527757435, + "Q5DI1": 1, + "Q5DI2": "Fewer than 5 clients", + "Q5DI3": 5787207, + "Q5DJ1": 0, + "Q5DJ3": 0, + "Q5DK1": 28, + "Q5DK3": 288850139, + "Q5DL1": 0, + "Q5DL3": 0, + "Q5DM1": 506, + "Q5DM3": 16937232904, + "Q5DN1": 15580, + "Q5DN3": 47917712945, + "Q5DN3Oth": "GS TRUST COMPANY, INDIAN TRIBES" + }, + "Item5E": { + "Q5E1": "Y", + "Q5E2": "N", + "Q5E3": "N", + "Q5E4": "Y", + "Q5E5": "Y", + "Q5E6": "Y", + "Q5E7": "Y", + "Q5E7Oth": "EXECUTION CHARGES, CUSTODY, MANAGEMENT FEE" + }, + "Item5F": { + "Q5F1": "Y", + "Q5F2A": 133354336653, + "Q5F2B": 289892273, + "Q5F2C": 133644228926, + "Q5F2D": 46265, + "Q5F2E": 4, + "Q5F2F": 46269, + "Q5F3": 9078887461 + }, + "Item5G": { + "Q5G1": "Y", + "Q5G2": "Y", + "Q5G3": "N", + "Q5G4": "Y", + "Q5G5": "Y", + "Q5G6": "N", + "Q5G7": "Y", + "Q5G8": "Y", + "Q5G9": "N", + "Q5G10": "N", + "Q5G11": "Y", + "Q5G12": "N" + }, + "Item5H": { + "Q5H": "1-10" + }, + "Item5I": { + "Q5I1": "Y", + "Q5I2A": 0, + "Q5I2B": 0, + "Q5I2C": 0 + }, + "Item5J": { + "Q5J1": "Y", + "Q5J2": "Y" + }, + "Item5K": { + "Q5K1": "Y", + "Q5K2": "Y", + "Q5K3": "Y", + "Q5K4": "Y" + }, + "Item5L": { + "Q5L1A": "Y", + "Q5L1B": "Y", + "Q5L1C": "Y", + "Q5L1D": "N", + "Q5L1E": "Y", + "Q5L2": "Y", + "Q5L3": "Y", + "Q5L4": "N" + }, + "Item6A": { + "Q6A1": "Y", + "Q6A2": "N", + "Q6A3": "Y", + "Q6A4": "Y", + "Q6A5": "N", + "Q6A6": "N", + "Q6A7": "N", + "Q6A8": "N", + "Q6A9": "Y", + "Q6A10": "Y", + "Q6A11": "N", + "Q6A12": "N", + "Q6A13": "N", + "Q6A14": "N" + }, + "Item6B": { + "Q6B1": "Y", + "Q6B2": "N", + "Q6B3": "Y" + }, + "Item7A": { + "Q7A1": "Y", + "Q7A2": "Y", + "Q7A3": "N", + "Q7A4": "Y", + "Q7A5": "N", + "Q7A6": "Y", + "Q7A7": "Y", + "Q7A8": "Y", + "Q7A9": "Y", + "Q7A10": "N", + "Q7A11": "N", + "Q7A12": "Y", + "Q7A13": "Y", + "Q7A14": "N", + "Q7A15": "N", + "Q7A16": "Y" + }, + "Item7B": { + "Q7B": "N" + }, + "Item8A": { + "Q8A1": "Y", + "Q8A2": "Y", + "Q8A3": "Y" + }, + "Item8B": { + "Q8B1": "Y", + "Q8B2": "Y", + "Q8B3": "Y" + }, + "Item8C": { + "Q8C1": "Y", + "Q8C2": "Y", + "Q8C3": "Y", + "Q8C4": "Y" + }, + "Item8D": { + "Q8D": "Y" + }, + "Item8E": { + "Q8E": "Y" + }, + "Item8F": { + "Q8F": "Y" + }, + "Item8G": { + "Q8G1": "Y", + "Q8G2": "Y" + }, + "Item8H": { + "Q8H1": "Y", + "Q8H2": "Y" + }, + "Item8I": { + "Q8I": "N" + }, + "Item9A": { + "Q9A1A": "Y", + "Q9A1B": "Y", + "Q9A2A": 132356397074, + "Q9A2B": 46194 + }, + "Item9B": { + "Q9B1A": "N", + "Q9B1B": "N", + "Q9B2A": 0, + "Q9B2B": 0 + }, + "Item9C": { + "Q9C1": "Y", + "Q9C2": "Y", + "Q9C3": "Y", + "Q9C4": "Y" + }, + "Item9D": { + "Q9D1": "Y", + "Q9D2": "Y" + }, + "Item9E": { + "Q9E": "2025-07" + }, + "Item9F": { + "Q9F": 91 + }, + "Item10A": { + "Q10A": "N" + }, + "Item11": { + "Q11": "Y" + }, + "Item11A": { + "Q11A1": "N", + "Q11A2": "Y" + }, + "Item11B": { + "Q11B1": "Y", + "Q11B2": "Y" + }, + "Item11C": { + "Q11C1": "Y", + "Q11C2": "Y", + "Q11C3": "N", + "Q11C4": "Y", + "Q11C5": "Y" + }, + "Item11D": { + "Q11D1": "Y", + "Q11D2": "Y", + "Q11D3": "N", + "Q11D4": "Y", + "Q11D5": "Y" + }, + "Item11E": { + "Q11E1": "Y", + "Q11E2": "Y", + "Q11E3": "N", + "Q11E4": "N" + }, + "Item11F": { + "Q11F": "Y" + }, + "Item11G": { + "Q11G": "Y" + }, + "Item11H": { + "Q11H1A": "Y", + "Q11H1B": "Y", + "Q11H1C": "Y", + "Q11H2": "Y" + } + } + }, + "id": 361 + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/form-adv-indirect-owners.json b/examples/api-responses/form-adv-indirect-owners.json new file mode 100644 index 0000000..9111467 --- /dev/null +++ b/examples/api-responses/form-adv-indirect-owners.json @@ -0,0 +1,167 @@ +[ + { + "name": "CORIENT PARTNERS LLC", + "ownerType": "DE", + "entityOwned": "CORIENT PRIVATE WEALTH LLC", + "status": "OWNER", + "dateStatusAcquired": "2022-02", + "ownershipCode": "E", + "isControlPerson": true, + "isPublicReporting": false, + "crd": "" + }, + { + "name": "CORIENT HOLDINGS INC", + "ownerType": "DE", + "entityOwned": "CORIENT MANAGEMENT LLC", + "status": "OWNER", + "dateStatusAcquired": "2023-07", + "ownershipCode": "F", + "isControlPerson": true, + "isPublicReporting": false, + "crd": "" + }, + { + "name": "CI FINANCIAL CORP.", + "ownerType": "FE", + "entityOwned": "CORIENT HOLDINGS INC", + "status": "OWNER", + "dateStatusAcquired": "2019-11", + "ownershipCode": "E", + "isControlPerson": true, + "isPublicReporting": false, + "crd": "" + }, + { + "name": "CORIENT MANAGEMENT LLC", + "ownerType": "FE", + "entityOwned": "CORIENT PARTNERS LLC", + "status": "OWNER", + "dateStatusAcquired": "2023-12", + "ownershipCode": "E", + "isControlPerson": true, + "isPublicReporting": false, + "crd": "" + }, + { + "name": "MC CIF WEALTH MANAGEMENT (UK) LTD", + "ownerType": "FE", + "entityOwned": "CI FINANCIAL CORP.", + "status": "OWNER", + "dateStatusAcquired": "2025-08", + "ownershipCode": "E", + "isControlPerson": true, + "isPublicReporting": false, + "crd": "" + }, + { + "name": "MC ACCELERATE HOLDINGS (UK) LP", + "ownerType": "FE", + "entityOwned": "MC CIF WEALTH MANAGEMENT (UK) LTD", + "status": "OWNER", + "dateStatusAcquired": "2025-08", + "ownershipCode": "E", + "isControlPerson": true, + "isPublicReporting": false, + "crd": "" + }, + { + "name": "MC ACCELERATE CO-INVEST (UK) LP", + "ownerType": "FE", + "entityOwned": "MC ACCELERATE HOLDINGS (UK) LP", + "status": "OWNER", + "dateStatusAcquired": "2025-08", + "ownershipCode": "E", + "isControlPerson": true, + "isPublicReporting": false, + "crd": "" + }, + { + "name": "MC CIF WEALTH MANAGEMENT HOLDINGS (UK) LTD", + "ownerType": "FE", + "entityOwned": "MC ACCELERATE CO-INVEST (UK) LP", + "status": "OWNER", + "dateStatusAcquired": "2025-08", + "ownershipCode": "D", + "isControlPerson": true, + "isPublicReporting": false, + "crd": "" + }, + { + "name": "MC MANAGER HOLDCO CIF (UK) LTD", + "ownerType": "FE", + "entityOwned": "MC CIF WEALTH MANAGEMENT HOLDINGS (UK) LTD", + "status": "OWNER", + "dateStatusAcquired": "2025-08", + "ownershipCode": "D", + "isControlPerson": true, + "isPublicReporting": false, + "crd": "" + }, + { + "name": "MUBADALA CAPITAL LP (UK)", + "ownerType": "FE", + "entityOwned": "MC MANAGER HOLDCO CIF (UK) LTD", + "status": "OWNER", + "dateStatusAcquired": "2025-08", + "ownershipCode": "E", + "isControlPerson": true, + "isPublicReporting": false, + "crd": "" + }, + { + "name": "MDC CAPITAL MANAGEMENT LLC (UAE)", + "ownerType": "FE", + "entityOwned": "MUBADALA CAPITAL LP (UK)", + "status": "OWNER", + "dateStatusAcquired": "2025-08", + "ownershipCode": "E", + "isControlPerson": true, + "isPublicReporting": false, + "crd": "" + }, + { + "name": "MUBADALA CAPITAL LLC (UAE)", + "ownerType": "FE", + "entityOwned": "MDC CAPITAL MANAGEMENT LLC (UAE)", + "status": "OWNER", + "dateStatusAcquired": "2025-08", + "ownershipCode": "E", + "isControlPerson": true, + "isPublicReporting": false, + "crd": "" + }, + { + "name": "MAMOURA DIVERSIFIED GLOBAL HOLDING PJSC (UAE)", + "ownerType": "FE", + "entityOwned": "MUBADALA CAPITAL LLC (UAE)", + "status": "OWNER", + "dateStatusAcquired": "2025-08", + "ownershipCode": "E", + "isControlPerson": true, + "isPublicReporting": false, + "crd": "" + }, + { + "name": "MUBADALA INVESTMENT COMPANY PJSC (UAE)", + "ownerType": "FE", + "entityOwned": "MAMOURA DIVERSIFIED GLOBAL HOLDING PJSC (UAE)", + "status": "OWNER", + "dateStatusAcquired": "2025-08", + "ownershipCode": "E", + "isControlPerson": true, + "isPublicReporting": false, + "crd": "" + }, + { + "name": "GOVERNMENT OF ABU DHABI", + "ownerType": "FE", + "entityOwned": "MUBADALA INVESTMENT COMPANY PJSC (UAE)", + "status": "OWNER", + "dateStatusAcquired": "2025-08", + "ownershipCode": "E", + "isControlPerson": true, + "isPublicReporting": false, + "crd": "" + } +] \ No newline at end of file diff --git a/examples/api-responses/form-adv-individuals.json b/examples/api-responses/form-adv-individuals.json new file mode 100644 index 0000000..93ea6fb --- /dev/null +++ b/examples/api-responses/form-adv-individuals.json @@ -0,0 +1,114 @@ +{ + "total": { + "value": 10000, + "relation": "gte" + }, + "filings": [ + { + "Info": { + "lastNm": "Nebot", + "firstNm": "Roman", + "indvlPK": 8213636, + "actvAGReg": "Y", + "link": "https://adviserinfo.sec.gov/individual/summary/8213636" + }, + "OthrNms": { + "OthrNm": [ + { + "lastNm": "Nebot creus", + "firstNm": "Roman", + "midNm": "D" + } + ] + }, + "CrntEmps": { + "CrntEmp": [ + { + "CrntRgstns": { + "CrntRgstn": [ + { + "regAuth": "FL", + "regCat": "RA", + "st": "APPROVED", + "stDt": "2026-02-02" + }, + { + "regAuth": "TX", + "regCat": "RA", + "st": "APPROVED", + "stDt": "2026-02-06" + } + ] + }, + "BrnchOfLocs": { + "BrnchOfLoc": [ + { + "str1": "200 South Biscayne Boulevard", + "str2": "Suite 1100", + "city": "Miami", + "state": "FL", + "cntry": "United States", + "postlCd": "33131" + } + ] + }, + "orgNm": "MORGAN STANLEY", + "orgPK": 149777, + "str1": "2000 WESTCHESTER AVENUE", + "city": "PURCHASE", + "state": "NY", + "cntry": "United States", + "postlCd": "10577-2530" + } + ] + }, + "Exms": { + "Exm": [ + { + "exmCd": "S66", + "exmNm": "Uniform Combined State Law Examination", + "exmDt": "2025-12-08" + } + ] + }, + "Dsgntns": {}, + "PrevRgstns": {}, + "EmpHss": { + "EmpHs": [ + { + "fromDt": "02/2019", + "toDt": "01/2026", + "orgNm": "Santander Internacional S.A.", + "city": "Miami", + "state": "FL" + }, + { + "fromDt": "09/1997", + "toDt": "02/2019", + "orgNm": "Santander Espa�a S.A.", + "city": "Barcelona" + }, + { + "fromDt": "01/2026", + "orgNm": "Morgan Stanley Smith Barney LLC", + "city": "Miami", + "state": "FL" + }, + { + "fromDt": "02/2026", + "orgNm": "Morgan Stanley Private Bank, N.A", + "city": "New York", + "state": "NY" + } + ] + }, + "OthrBuss": { + "OthrBus": { + "desc": "*680514- own house; Investment related: Yes; Spain; Rental Property; Sole Proprietor/Owner (proprietor, partner, officer, director, employee, trustee, agent); 09/2014; During business hours: 0; After business hours: 0; propietor *682268- inmobiliaria mocrebo sl; Investment related: Yes; Spain; Real Estate, passive inherited minority ownership in a familiy land-holding entity (underveloped agricultural land, non-income producing); Officer (proprietor, partner, officer, director, employee, trustee, agent); 07/1999; During business hours: 0; After business hours: 0; Administrative *682359- roman david nebot creus and my wife monica arnan colome; Investment related: Yes; Spain; Rental Property; Sole Proprietor/Owner (proprietor, partner, officer, director, employee, trustee, agent); 07/2021; During business hours: 0; After business hours: 0.1; occasional administrative tasks limited to maintenance coordination and communication with local property manager and tennat. No active busiiness operations, no employees, no marketing activity, and no financial advisory services provided" + } + }, + "DRPs": {}, + "id": 8213636 + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/form-adv-other-business-names.json b/examples/api-responses/form-adv-other-business-names.json new file mode 100644 index 0000000..e20a417 --- /dev/null +++ b/examples/api-responses/form-adv-other-business-names.json @@ -0,0 +1,413 @@ +[ + { + "name": "MORGAN STANLEY SMITH BARNEY", + "jurisdictions": [ + "AL", + "AK", + "AZ", + "AR", + "CA", + "CO", + "CT", + "DE", + "DC", + "FL", + "GA", + "GU", + "HI", + "ID", + "IL", + "IN", + "IA", + "KS", + "KY", + "LA", + "ME", + "MD", + "MA", + "MI", + "MN", + "MS", + "MO", + "MT", + "NE", + "NV", + "NH", + "NJ", + "NM", + "NY", + "NC", + "ND", + "OH", + "OK", + "OR", + "PA", + "PR", + "RI", + "SC", + "SD", + "TN", + "TX", + "UT", + "VT", + "VI", + "VA", + "WA", + "WV", + "WI", + "WY" + ] + }, + { + "name": "MORGAN STANLEY WEALTH MANAGEMENT", + "jurisdictions": [ + "AL", + "AK", + "AZ", + "AR", + "CA", + "CO", + "CT", + "DE", + "DC", + "FL", + "GA", + "GU", + "HI", + "ID", + "IL", + "IN", + "IA", + "KS", + "KY", + "LA", + "ME", + "MD", + "MA", + "MI", + "MN", + "MS", + "MO", + "MT", + "NE", + "NV", + "NH", + "NJ", + "NM", + "NY", + "NC", + "ND", + "OH", + "OK", + "OR", + "PA", + "PR", + "RI", + "SC", + "SD", + "TN", + "TX", + "UT", + "VT", + "VI", + "VA", + "WA", + "WV", + "WI", + "WY" + ] + }, + { + "name": "MORGAN STANLEY CONSULTING GROUP", + "jurisdictions": [ + "AL", + "AK", + "AZ", + "AR", + "CA", + "CO", + "CT", + "DE", + "DC", + "FL", + "GA", + "GU", + "HI", + "ID", + "IL", + "IN", + "IA", + "KS", + "KY", + "LA", + "ME", + "MD", + "MA", + "MI", + "MN", + "MS", + "MO", + "MT", + "NE", + "NV", + "NH", + "NJ", + "NM", + "NY", + "NC", + "ND", + "OH", + "OK", + "OR", + "PA", + "PR", + "RI", + "SC", + "SD", + "TN", + "TX", + "UT", + "VT", + "VI", + "VA", + "WA", + "WV", + "WI", + "WY" + ] + }, + { + "name": "CONSULTING GROUP", + "jurisdictions": [ + "AL", + "AK", + "AZ", + "AR", + "CA", + "CO", + "CT", + "DE", + "DC", + "FL", + "GA", + "GU", + "HI", + "ID", + "IL", + "IN", + "IA", + "KS", + "KY", + "LA", + "ME", + "MD", + "MA", + "MI", + "MN", + "MS", + "MO", + "MT", + "NE", + "NV", + "NH", + "NJ", + "NM", + "NY", + "NC", + "ND", + "OH", + "OK", + "OR", + "PA", + "PR", + "RI", + "SC", + "SD", + "TN", + "TX", + "UT", + "VT", + "VI", + "VA", + "WA", + "WV", + "WI", + "WY" + ] + }, + { + "name": "MORGAN STANLEY PRIVATE WEALTH MANAGEMENT", + "jurisdictions": [ + "AL", + "AK", + "AZ", + "AR", + "CA", + "CO", + "CT", + "DE", + "DC", + "FL", + "GA", + "GU", + "HI", + "ID", + "IL", + "IN", + "IA", + "KS", + "KY", + "LA", + "ME", + "MD", + "MA", + "MI", + "MN", + "MS", + "MO", + "MT", + "NE", + "NV", + "NH", + "NJ", + "NM", + "NY", + "NC", + "ND", + "OH", + "OK", + "OR", + "PA", + "PR", + "RI", + "SC", + "SD", + "TN", + "TX", + "UT", + "VT", + "VI", + "VA", + "WA", + "WV", + "WI", + "WY" + ] + }, + { + "name": "MORGAN STANLEY", + "jurisdictions": [ + "AL", + "AK", + "AZ", + "AR", + "CA", + "CO", + "CT", + "DE", + "DC", + "FL", + "GA", + "GU", + "HI", + "ID", + "IL", + "IN", + "IA", + "KS", + "KY", + "LA", + "ME", + "MD", + "MA", + "MI", + "MN", + "MS", + "MO", + "MT", + "NE", + "NV", + "NH", + "NJ", + "NM", + "NY", + "NC", + "ND", + "OH", + "OK", + "OR", + "PA", + "PR", + "RI", + "SC", + "SD", + "TN", + "TX", + "UT", + "VT", + "VI", + "VA", + "WA", + "WV", + "WI", + "WY" + ] + }, + { + "name": "GRAYSTONE CONSULTING", + "jurisdictions": [ + "AL", + "AK", + "AZ", + "AR", + "CA", + "CO", + "CT", + "DE", + "DC", + "FL", + "GA", + "HI", + "ID", + "IL", + "IN", + "IA", + "KS", + "KY", + "LA", + "ME", + "MD", + "MA", + "MI", + "MN", + "MS", + "MO", + "MT", + "NE", + "NV", + "NH", + "NJ", + "NM", + "NY", + "NC", + "ND", + "OH", + "OK", + "OR", + "PA", + "RI", + "SC", + "SD", + "TN", + "TX", + "UT", + "VT", + "VI", + "VA", + "WA", + "WV", + "WI", + "WY" + ] + } +] \ No newline at end of file diff --git a/examples/api-responses/form-adv-private-funds.json b/examples/api-responses/form-adv-private-funds.json new file mode 100644 index 0000000..22e6238 --- /dev/null +++ b/examples/api-responses/form-adv-private-funds.json @@ -0,0 +1,410 @@ +[ + { + "1a-nameOfFund": "EI FUND II LLC", + "1b-fundIdentificationNumber": "805-4502496130", + "2-lawOrganizedUnder": { + "state": "Missouri", + "country": "United States" + }, + "3a-namesOfGeneralPartnerManagerTrusteeDirector": [ + "STIFEL NICOLAUS & COMPANY, INC." + ], + "3b-filingAdvisers": "No Information Filed", + "4-1-exclusionUnder3c1": false, + "4-2-exclusionUnder3c7": true, + "5-nameCountryOfForeignFinancialRegAuthority": [], + "6a-isMasterFundInMasterFeederArrangement": false, + "6b-nameIdOfFeederFunds": [], + "6c-isFeederFundInMasterFeederAgreement": true, + "6d-nameIdOfMasterFund": "EI FUND V, LP", + "7a-f-feederFundDetails": [], + "8a-isFundOfFunds": true, + "8b-investsInFundsManagedByYouRelatedPerson": false, + "9-investsInSecuritiesAccordingTo6e": false, + "10-typeOfFund": { + "selectedTypes": [ + "other private fund" + ], + "otherFundType": "FEEDER INTO PRIVATE EQUITY FUND" + }, + "11-grossAssetValue": 2027469, + "12-minInvestmentCommitment": 100000, + "13-numberOfBeneficialOwners": 25, + "14-percentageOwnedByYou": 0, + "15a-percentageOwnedByFundsOfFunds": 0, + "15b-salesAreLimited": false, + "16-percentageOwnedByNonUnitedStatesPersons": 0, + "17a-isSubadviser": false, + "17b-nameAndSecFileNumber": "No Information Filed", + "18a-investmentAdvisersAdviseFund": false, + "18b-otherAdvisers": [], + "19-clientsAreSolicited": true, + "20-percentageClientsInvestedInFund": 0, + "21-fundReliedOnExemption": true, + "22-formDFileNumbers": [ + "021-151919" + ], + "23a-1-financialStatementsAreSubjectToAnnualAudit": true, + "23a-2-financialStatementsPreparedWithUsGaap": true, + "23b-f-auditors": [ + { + "23b-name": "KATZ SAPPER MILLER", + "23c-location": { + "city": "INDIANAPOLIS", + "state": "Indiana", + "country": "United States" + }, + "23d-isIndependentPublicAccountant": true, + "23e-isRegistered": true, + "23e-boardAssignedNumber": "2804", + "23f-isSubjectToInspection": true + } + ], + "23g-financialStatementsDistributedToInvestors": true, + "23h-reportsIncludeUnqualifiedOpinions": "yes", + "24a-fundUsesPrimeBrokers": false, + "24b-e-primeBrokers": [], + "25a-fundUsesCustodians": true, + "25b-g-custodians": [ + { + "25b-legalName": "STIFEL, NICOLAUS & COMPANY, INCORPORATED", + "25c-businessName": "STIFEL, NICOLAUS & COMPANY, INCORPORATED", + "25d-location": { + "city": "ST. LOUIS", + "state": "Missouri", + "country": "United States" + }, + "25e-isRelatedPerson": true, + "25f-1-secRegistrationNumber": "8 - 1447", + "25f-2-crdNumber": "793", + "25g-legalEntityIdentifier": "" + } + ], + "26a-fundUsesAdministrators": true, + "26b-f-administrators": [ + { + "26b-name": "HALL KISTLER & COMPANY", + "26c-location": { + "city": "CANTON", + "state": "Ohio", + "country": "United States" + }, + "26d-isRelatedPerson": false, + "26e-statementsProvidedTo": "no investors", + "26f-statementsSentBy": "ADMINISTRATOR PREPARES INVESTOR ACCOUNT STATEMENTS, AND STIFEL NICOLAUS SENDS THE STATEMENTS TO INVESTORS." + } + ], + "27-percentageOfAssetsValuedNotByRelatedPerson": 100, + "28a-fundUsesMarketers": false, + "28b-g-marketers": [] + }, + { + "1a-nameOfFund": "INTERNATIONAL SELECT INVESTMENTS LLC", + "1b-fundIdentificationNumber": "805-3139813148", + "2-lawOrganizedUnder": { + "state": "Indiana", + "country": "United States" + }, + "3a-namesOfGeneralPartnerManagerTrusteeDirector": [ + "STIFEL NICOLAUS & COMPANY, INC." + ], + "3b-filingAdvisers": "No Information Filed", + "4-1-exclusionUnder3c1": false, + "4-2-exclusionUnder3c7": true, + "5-nameCountryOfForeignFinancialRegAuthority": [], + "6a-isMasterFundInMasterFeederArrangement": false, + "6b-nameIdOfFeederFunds": [], + "6c-isFeederFundInMasterFeederAgreement": false, + "6d-nameIdOfMasterFund": "", + "7a-f-feederFundDetails": [], + "8a-isFundOfFunds": true, + "8b-investsInFundsManagedByYouRelatedPerson": false, + "9-investsInSecuritiesAccordingTo6e": true, + "10-typeOfFund": { + "selectedTypes": [ + "other private fund" + ], + "otherFundType": "FUND OF HEDGE FUNDS" + }, + "11-grossAssetValue": 0, + "12-minInvestmentCommitment": 200000, + "13-numberOfBeneficialOwners": 0, + "14-percentageOwnedByYou": 0, + "15a-percentageOwnedByFundsOfFunds": 0, + "15b-salesAreLimited": false, + "16-percentageOwnedByNonUnitedStatesPersons": 0, + "17a-isSubadviser": false, + "17b-nameAndSecFileNumber": "No Information Filed", + "18a-investmentAdvisersAdviseFund": false, + "18b-otherAdvisers": [], + "19-clientsAreSolicited": true, + "20-percentageClientsInvestedInFund": 0, + "21-fundReliedOnExemption": true, + "22-formDFileNumbers": [ + "021-87139" + ], + "23a-1-financialStatementsAreSubjectToAnnualAudit": true, + "23a-2-financialStatementsPreparedWithUsGaap": true, + "23b-f-auditors": [ + { + "23b-name": "KATZ SAPPER MILLER", + "23c-location": { + "city": "INDIANAPOLIS", + "state": "Indiana", + "country": "United States" + }, + "23d-isIndependentPublicAccountant": true, + "23e-isRegistered": true, + "23e-boardAssignedNumber": "2804", + "23f-isSubjectToInspection": true + } + ], + "23g-financialStatementsDistributedToInvestors": true, + "23h-reportsIncludeUnqualifiedOpinions": "yes", + "24a-fundUsesPrimeBrokers": true, + "24b-e-primeBrokers": [ + { + "24b-name": "STIFEL, NICOLAUS & COMPANY, INCORPORATED", + "24c-1-secRegistrationNumber": "8 - 1447", + "24c-2-crdNumber": "793", + "24d-location": { + "city": "ST. LOUIS", + "state": "Missouri", + "country": "United States" + }, + "24e-actsAsCustodian": true + } + ], + "25a-fundUsesCustodians": true, + "25b-g-custodians": [ + { + "25b-legalName": "STIFEL, NICOLAUS & COMPANY, INCORPORATED", + "25c-businessName": "STIFEL, NICOLAUS & COMPANY, INCORPORATED", + "25d-location": { + "city": "ST. LOUIS", + "state": "Missouri", + "country": "United States" + }, + "25e-isRelatedPerson": true, + "25f-1-secRegistrationNumber": "8 - 1447", + "25f-2-crdNumber": "793", + "25g-legalEntityIdentifier": "" + } + ], + "26a-fundUsesAdministrators": true, + "26b-f-administrators": [ + { + "26b-name": "SEI ARCHWAY TECHNOLOGY PARTNERS, LLC", + "26c-location": { + "city": "INDIANAPOLIS", + "state": "Indiana", + "country": "United States" + }, + "26d-isRelatedPerson": false, + "26e-statementsProvidedTo": "all investors", + "26f-statementsSentBy": "SEI ARCHWAY TECHNOLOGY PARTNERS PREPARES THE STATEMENTS, BUT STIFEL NICOLAUS MAILS THE STATEMENTS" + } + ], + "27-percentageOfAssetsValuedNotByRelatedPerson": 100, + "28a-fundUsesMarketers": false, + "28b-g-marketers": [] + }, + { + "1a-nameOfFund": "KCP ACCESS FUND LP", + "1b-fundIdentificationNumber": "805-2148796559", + "2-lawOrganizedUnder": { + "state": "Delaware", + "country": "United States" + }, + "3a-namesOfGeneralPartnerManagerTrusteeDirector": [ + "KCP FUND GENERAL PARTNER LLC" + ], + "3b-filingAdvisers": "No Information Filed", + "4-1-exclusionUnder3c1": false, + "4-2-exclusionUnder3c7": true, + "5-nameCountryOfForeignFinancialRegAuthority": [], + "6a-isMasterFundInMasterFeederArrangement": false, + "6b-nameIdOfFeederFunds": [], + "6c-isFeederFundInMasterFeederAgreement": true, + "6d-nameIdOfMasterFund": "ACCESS HOLDINGS FUND I LLP", + "7a-f-feederFundDetails": [], + "8a-isFundOfFunds": true, + "8b-investsInFundsManagedByYouRelatedPerson": false, + "9-investsInSecuritiesAccordingTo6e": false, + "10-typeOfFund": { + "selectedTypes": [ + "other private fund" + ], + "otherFundType": "FEEDER INTO PRIVATE EQUITY FUND" + }, + "11-grossAssetValue": 6416699, + "12-minInvestmentCommitment": 100000, + "13-numberOfBeneficialOwners": 11, + "14-percentageOwnedByYou": 0, + "15a-percentageOwnedByFundsOfFunds": 0, + "15b-salesAreLimited": false, + "16-percentageOwnedByNonUnitedStatesPersons": 0, + "17a-isSubadviser": false, + "17b-nameAndSecFileNumber": "No Information Filed", + "18a-investmentAdvisersAdviseFund": false, + "18b-otherAdvisers": [], + "19-clientsAreSolicited": true, + "20-percentageClientsInvestedInFund": 0, + "21-fundReliedOnExemption": true, + "22-formDFileNumbers": [ + "021-390314" + ], + "23a-1-financialStatementsAreSubjectToAnnualAudit": true, + "23a-2-financialStatementsPreparedWithUsGaap": true, + "23b-f-auditors": [ + { + "23b-name": "KATZ SAPPER MILLER", + "23c-location": { + "city": "INDIANAPOLIS", + "state": "Indiana", + "country": "United States" + }, + "23d-isIndependentPublicAccountant": true, + "23e-isRegistered": true, + "23e-boardAssignedNumber": "2804", + "23f-isSubjectToInspection": true + } + ], + "23g-financialStatementsDistributedToInvestors": true, + "23h-reportsIncludeUnqualifiedOpinions": "yes", + "24a-fundUsesPrimeBrokers": false, + "24b-e-primeBrokers": [], + "25a-fundUsesCustodians": true, + "25b-g-custodians": [ + { + "25b-legalName": "STIFEL, NICOLAUS & COMPANY, INCORPORATED", + "25c-businessName": "STIFEL, NICOLAUS & COMPANY, INCORPORATED", + "25d-location": { + "city": "ST. LOUIS", + "state": "Missouri", + "country": "United States" + }, + "25e-isRelatedPerson": true, + "25f-1-secRegistrationNumber": "8 - 1447", + "25f-2-crdNumber": "793", + "25g-legalEntityIdentifier": "" + } + ], + "26a-fundUsesAdministrators": true, + "26b-f-administrators": [ + { + "26b-name": "HALL KISTLER & COMPANY", + "26c-location": { + "city": "CANTON", + "state": "Ohio", + "country": "United States" + }, + "26d-isRelatedPerson": false, + "26e-statementsProvidedTo": "no investors", + "26f-statementsSentBy": "ADMINISTRATOR PREPARES INVESTOR ACCOUNT STATEMENTS, AND STIFEL NICOLAUS SENDS THE STATEMENTS TO INVESTORS." + } + ], + "27-percentageOfAssetsValuedNotByRelatedPerson": 100, + "28a-fundUsesMarketers": false, + "28b-g-marketers": [] + }, + { + "1a-nameOfFund": "KCP ACCOLADE FUND LP", + "1b-fundIdentificationNumber": "805-6829455057", + "2-lawOrganizedUnder": { + "state": "Delaware", + "country": "United States" + }, + "3a-namesOfGeneralPartnerManagerTrusteeDirector": [ + "KCP FUND GENERAL PARTNER LLC" + ], + "3b-filingAdvisers": "No Information Filed", + "4-1-exclusionUnder3c1": false, + "4-2-exclusionUnder3c7": true, + "5-nameCountryOfForeignFinancialRegAuthority": [], + "6a-isMasterFundInMasterFeederArrangement": false, + "6b-nameIdOfFeederFunds": [], + "6c-isFeederFundInMasterFeederAgreement": false, + "6d-nameIdOfMasterFund": "", + "7a-f-feederFundDetails": [], + "8a-isFundOfFunds": true, + "8b-investsInFundsManagedByYouRelatedPerson": false, + "9-investsInSecuritiesAccordingTo6e": false, + "10-typeOfFund": { + "selectedTypes": [ + "other private fund" + ], + "otherFundType": "FEEDER INTO PRIVATE EQUITY FUND" + }, + "11-grossAssetValue": 16582496, + "12-minInvestmentCommitment": 100000, + "13-numberOfBeneficialOwners": 27, + "14-percentageOwnedByYou": 0, + "15a-percentageOwnedByFundsOfFunds": 0, + "15b-salesAreLimited": false, + "16-percentageOwnedByNonUnitedStatesPersons": 0, + "17a-isSubadviser": false, + "17b-nameAndSecFileNumber": "No Information Filed", + "18a-investmentAdvisersAdviseFund": false, + "18b-otherAdvisers": [], + "19-clientsAreSolicited": true, + "20-percentageClientsInvestedInFund": 0, + "21-fundReliedOnExemption": true, + "22-formDFileNumbers": [ + "021-417548" + ], + "23a-1-financialStatementsAreSubjectToAnnualAudit": true, + "23a-2-financialStatementsPreparedWithUsGaap": true, + "23b-f-auditors": [ + { + "23b-name": "KATZ SAPPER MILLER", + "23c-location": { + "city": "INDIANAPOLIS", + "state": "Indiana", + "country": "United States" + }, + "23d-isIndependentPublicAccountant": true, + "23e-isRegistered": true, + "23e-boardAssignedNumber": "2804", + "23f-isSubjectToInspection": true + } + ], + "23g-financialStatementsDistributedToInvestors": true, + "23h-reportsIncludeUnqualifiedOpinions": "yes", + "24a-fundUsesPrimeBrokers": false, + "24b-e-primeBrokers": [], + "25a-fundUsesCustodians": true, + "25b-g-custodians": [ + { + "25b-legalName": "STIFEL, NICOLAUS & COMPANY, INCORPORATED", + "25c-businessName": "STIFEL, NICOLAUS & COMPANY, INCORPORATED", + "25d-location": { + "city": "ST. LOUIS", + "state": "Missouri", + "country": "United States" + }, + "25e-isRelatedPerson": true, + "25f-1-secRegistrationNumber": "8 - 1447", + "25f-2-crdNumber": "793", + "25g-legalEntityIdentifier": "" + } + ], + "26a-fundUsesAdministrators": true, + "26b-f-administrators": [ + { + "26b-name": "HALL KISTLER & COMPANY", + "26c-location": { + "city": "CANTON", + "state": "Ohio", + "country": "United States" + }, + "26d-isRelatedPerson": false, + "26e-statementsProvidedTo": "no investors", + "26f-statementsSentBy": "ADMINISTRATOR PREPARES INVESTOR ACCOUNT STATEMENTS, & STIFEL NICOLAUS SENDS THE STATEMENT TO INVESTORS." + } + ], + "27-percentageOfAssetsValuedNotByRelatedPerson": 100, + "28a-fundUsesMarketers": false, + "28b-g-marketers": [] + } +] \ No newline at end of file diff --git a/examples/api-responses/form-adv-separately-managed-accounts.json b/examples/api-responses/form-adv-separately-managed-accounts.json new file mode 100644 index 0000000..accc664 --- /dev/null +++ b/examples/api-responses/form-adv-separately-managed-accounts.json @@ -0,0 +1,203 @@ +{ + "1-separatelyManagedAccounts": { + "a": { + "i-exchangeTradedEquity": { + "midYear": "58 %", + "endOfYear": "58 %" + }, + "ii-nonExchangeTradedEquity": { + "midYear": "0 %", + "endOfYear": "0 %" + }, + "iii-usGovernmentBonds": { + "midYear": "2 %", + "endOfYear": "2 %" + }, + "iv-usStateAndLocalBonds": { + "midYear": "2 %", + "endOfYear": "2 %" + }, + "v-sovereignBonds": { + "midYear": "0 %", + "endOfYear": "0 %" + }, + "vi-investmentGradeCorporateBonds": { + "midYear": "4 %", + "endOfYear": "4 %" + }, + "vii-nonInvestmentGradeCorporateBonds": { + "midYear": "0 %", + "endOfYear": "0 %" + }, + "viii-derivatives": { + "midYear": "0 %", + "endOfYear": "0 %" + }, + "ix-registeredInvestmentCompanies": { + "midYear": "26 %", + "endOfYear": "25 %" + }, + "x-pooledInvestmentVehicles": { + "midYear": "4 %", + "endOfYear": "4 %" + }, + "xi-cash": { + "midYear": "3 %", + "endOfYear": "4 %" + }, + "xii-other": { + "midYear": "1 %", + "endOfYear": "1 %" + }, + "other": "STRUCTURED INVESTMENTS AND ANNUITIES" + }, + "b": { + "i-exchangeTradedEquity": { + "endOfYear": "%" + }, + "ii-nonExchangeTradedEquity": { + "endOfYear": "%" + }, + "iii-usGovernmentBonds": { + "endOfYear": "%" + }, + "iv-usStateAndLocalBonds": { + "endOfYear": "%" + }, + "v-sovereignBonds": { + "endOfYear": "%" + }, + "vi-investmentGradeCorporateBonds": { + "endOfYear": "%" + }, + "vii-nonInvestmentGradeCorporateBonds": { + "endOfYear": "%" + }, + "viii-derivatives": { + "endOfYear": "%" + }, + "ix-registeredInvestmentCompanies": { + "endOfYear": "%" + }, + "x-pooledInvestmentVehicles": { + "endOfYear": "%" + }, + "xi-cash": { + "endOfYear": "%" + }, + "xii-other": { + "endOfYear": "%" + }, + "other": "" + } + }, + "2-borrowingsAndDerivatives": { + "a-i-midYear": { + "regulatoryAssetsUnderManagement": { + "lessThan10": "$ 1,556,490,216,199", + "between10And149": "$ 113,832,393,489", + "moreThan150": "$ 16,522,479,023" + }, + "borrowings": { + "lessThan10": "$ 1,640,415,435", + "between10And149": "$ 53,635,978,014", + "moreThan150": "$ 67,201,944,992" + }, + "derivativeExposures": { + "lessThan10": { + "interestRate": "0 %", + "foreignExchange": "0 %", + "credit": "0 %", + "equity": "4 %", + "commodity": "0 %", + "other": "0 %" + }, + "between10And149": { + "interestRate": "0 %", + "foreignExchange": "0 %", + "credit": "0 %", + "equity": "58 %", + "commodity": "0 %", + "other": "0 %" + }, + "moreThan150": { + "interestRate": "0 %", + "foreignExchange": "0 %", + "credit": "0 %", + "equity": "185 %", + "commodity": "0 %", + "other": "0 %" + } + } + }, + "a-i-optional": "", + "a-ii-endOfYear": { + "regulatoryAssetsUnderManagement": { + "lessThan10": "$ 1,821,351,370,482", + "between10And149": "$ 123,456,784,214", + "moreThan150": "$ 16,815,420,636" + }, + "borrowings": { + "lessThan10": "$ 1,849,322,225", + "between10And149": "$ 57,207,183,075", + "moreThan150": "$ 73,243,668,360" + }, + "derivativeExposures": { + "lessThan10": { + "interestRate": "0 %", + "foreignExchange": "0 %", + "credit": "0 %", + "equity": "4 %", + "commodity": "0 %", + "other": "0 %" + }, + "between10And149": { + "interestRate": "0 %", + "foreignExchange": "0 %", + "credit": "0 %", + "equity": "60 %", + "commodity": "0 %", + "other": "0 %" + }, + "moreThan150": { + "interestRate": "0 %", + "foreignExchange": "0 %", + "credit": "0 %", + "equity": "213 %", + "commodity": "0 %", + "other": "0 %" + } + } + }, + "a-ii-optional": "", + "b": { + "regulatoryAssetsUnderManagement": { + "lessThan10": "$", + "between10And149": "$", + "moreThan150": "$" + }, + "borrowings": { + "lessThan10": "$", + "between10And149": "$", + "moreThan150": "$" + } + } + }, + "3-custodiansForSeparatelyManagedAccounts": [ + { + "a-legalName": "MORGAN STANLEY SMITH BARNEY LLC", + "b-businessName": "MORGAN STANLEY", + "c-locations": [ + { + "city": "PURCHASE", + "state": "New York", + "country": "United States" + } + ], + "d-isRelatedPerson": true, + "e-secRegistrationNumber": "8 - 68191", + "f-lei": "", + "g-amountHeldAtCustodian": "$ 1,733,996,722,410" + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/form-c.json b/examples/api-responses/form-c.json new file mode 100644 index 0000000..0f97adc --- /dev/null +++ b/examples/api-responses/form-c.json @@ -0,0 +1,145 @@ +{ + "total": { + "value": 10000, + "relation": "gte" + }, + "data": [ + { + "id": "5ed83df80bfdb0dd611508c07e138867", + "accessionNo": "0002103209-26-000005", + "fileNo": "020-36757", + "formType": "C/A", + "filedAt": "2026-03-31T18:45:06-04:00", + "cik": "2103209", + "ticker": "", + "companyName": "GigaWatt, Inc", + "issuerInformation": { + "isAmendment": false, + "natureOfAmendment": "Campaign Page Updates", + "issuerInfo": { + "nameOfIssuer": "GigaWatt, Inc.", + "legalStatus": { + "legalStatusForm": "Corporation", + "jurisdictionOrganization": "CA", + "dateIncorporation": "09-17-2025" + }, + "issuerAddress": { + "street1": "2386 E Walnut Ave", + "city": "Fullerton", + "stateOrCountry": "CA", + "zipCode": "92831" + }, + "issuerWebsite": "https://www.gigawattinc.com/" + }, + "isCoIssuer": false, + "companyName": "StartEngine Primary, LLC", + "commissionCik": "0001725012", + "commissionFileNumber": "008-70060" + }, + "offeringInformation": { + "compensationAmount": "7 - 13 percent", + "financialInterest": "One percent (1%) of securities of the total amount of investments raised in the offering, along the same terms as investors.", + "securityOfferedType": "Other", + "securityOfferedOtherDesc": "Class B Common Stock", + "noOfSecurityOffered": 10000, + "price": 2, + "priceDeterminationMethod": "N/A", + "offeringAmount": 20000, + "overSubscriptionAccepted": true, + "overSubscriptionAllocationType": "Other", + "descOverSubscription": "At issuer's discretion, with priority given to StartEngine Owners", + "maximumOfferingAmount": 1235000, + "deadlineDate": "04-23-2026" + }, + "annualReportDisclosureRequirements": { + "currentEmployees": 21, + "totalAssetMostRecentFiscalYear": 2559852, + "totalAssetPriorFiscalYear": 2169710, + "cashEquiMostRecentFiscalYear": 521671, + "cashEquiPriorFiscalYear": 575133, + "actReceivedMostRecentFiscalYear": 11126, + "actReceivedPriorFiscalYear": 2779, + "shortTermDebtMostRecentFiscalYear": 2659535, + "shortTermDebtPriorFiscalYear": 2311008, + "longTermDebtMostRecentFiscalYear": 707533, + "longTermDebtPriorFiscalYear": 748955, + "revenueMostRecentFiscalYear": 7485272, + "revenuePriorFiscalYear": 9788210, + "costGoodsSoldMostRecentFiscalYear": 5091719, + "costGoodsSoldPriorFiscalYear": 6836396, + "taxPaidMostRecentFiscalYear": 537, + "taxPaidPriorFiscalYear": 4631, + "netIncomeMostRecentFiscalYear": 83037, + "netIncomePriorFiscalYear": 45926, + "issueJurisdictionSecuritiesOffering": [ + "AL", + "AK", + "AZ", + "AR", + "CA", + "CO", + "CT", + "DC", + "DE", + "FL", + "GA", + "HI", + "ID", + "IL", + "IN", + "IA", + "KS", + "KY", + "LA", + "ME", + "MD", + "MA", + "MI", + "MN", + "MS", + "MO", + "MT", + "NE", + "NV", + "NH", + "NJ", + "NM", + "NY", + "NC", + "ND", + "OH", + "OK", + "OR", + "PA", + "PR", + "RI", + "SC", + "SD", + "TN", + "TX", + "UT", + "VT", + "VA", + "WA", + "WV", + "WI", + "WY" + ] + }, + "signatureInfo": { + "issuerSignature": { + "issuer": "GigaWatt, Inc.", + "issuerSignature": "Deep G. Patel", + "issuerTitle": "Founder, CEO, Board Member, Principal Accounting Officer" + }, + "signaturePersons": [ + { + "personSignature": "Deep G. Patel", + "personTitle": "Founder, CEO, Board Member, Principal Accounting Officer", + "signatureDate": "03-31-2026" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/form-d.json b/examples/api-responses/form-d.json new file mode 100644 index 0000000..1258708 --- /dev/null +++ b/examples/api-responses/form-d.json @@ -0,0 +1,166 @@ +{ + "total": { + "value": 10000, + "relation": "gte" + }, + "offerings": [ + { + "schemaVersion": "X0708", + "submissionType": "D/A", + "testOrLive": "LIVE", + "primaryIssuer": { + "cik": "0001925002", + "entityName": "Fund I, a series of Material Ventures, LP", + "issuerAddress": { + "street1": "119 SOUTH MAIN STREET", + "street2": "SUITE 220", + "city": "SEATTLE", + "stateOrCountry": "WA", + "stateOrCountryDescription": "WASHINGTON", + "zipCode": "98104" + }, + "issuerPhoneNumber": "3603409337", + "jurisdictionOfInc": "DELAWARE", + "issuerPreviousNameList": [ + { + "previousName": [ + "None" + ] + } + ], + "edgarPreviousNameList": [ + { + "value": "None" + } + ], + "entityType": "Limited Partnership", + "yearOfInc": { + "withinFiveYears": true, + "value": "2021" + } + }, + "relatedPersonsList": { + "relatedPersonInfo": [ + { + "relatedPersonName": { + "firstName": "Ltd.", + "lastName": "Belltower Fund Group" + }, + "relatedPersonAddress": { + "street1": "119 South Main Street", + "street2": "Suite 220", + "city": "Seattle", + "stateOrCountry": "WA", + "stateOrCountryDescription": "WASHINGTON", + "zipCode": "98104" + }, + "relatedPersonRelationshipList": { + "relationship": [ + "Director" + ] + }, + "relationshipClarification": "Manager of the general partner of the Issuer" + }, + { + "relatedPersonName": { + "firstName": "LLC", + "lastName": "Fund GP," + }, + "relatedPersonAddress": { + "street1": "119 South Main Street", + "street2": "Suite 220", + "city": "Seattle", + "stateOrCountry": "WA", + "stateOrCountryDescription": "WASHINGTON", + "zipCode": "98104" + }, + "relatedPersonRelationshipList": { + "relationship": [ + "Director" + ] + }, + "relationshipClarification": "General partner of the Issuer" + } + ] + }, + "offeringData": { + "industryGroup": { + "industryGroupType": "Pooled Investment Fund", + "investmentFundInfo": { + "investmentFundType": "Venture Capital Fund", + "is40Act": false + } + }, + "issuerSize": { + "revenueRange": "Decline to Disclose" + }, + "federalExemptionsExclusions": { + "item": [ + "06b", + "3C", + "3C.1" + ] + }, + "typeOfFiling": { + "newOrAmendment": { + "isAmendment": true, + "previousAccessionNumber": "0001976600-23-000006" + }, + "dateOfFirstSale": { + "value": "2022-04-01" + } + }, + "durationOfOffering": { + "moreThanOneYear": true + }, + "typesOfSecuritiesOffered": { + "isPooledInvestmentFundType": true + }, + "businessCombinationTransaction": { + "isBusinessCombinationTransaction": false + }, + "minimumInvestmentAccepted": 25000, + "salesCompensationList": {}, + "offeringSalesAmounts": { + "totalOfferingAmount": 10000000, + "totalAmountSold": 5254355, + "totalRemaining": 4745645 + }, + "investors": { + "hasNonAccreditedInvestors": false, + "totalNumberAlreadyInvested": 47 + }, + "salesCommissionsFindersFees": { + "salesCommissions": { + "dollarAmount": 0 + }, + "findersFees": { + "dollarAmount": 0 + } + }, + "useOfProceeds": { + "grossProceedsUsed": { + "dollarAmount": 0, + "isEstimate": true + }, + "clarificationOfResponse": "The manager of the general partner of the Issuer will receive a portion of a management fee as specified in the Issuer's partnership agreement." + }, + "signatureBlock": { + "authorizedRepresentative": false, + "signature": [ + { + "issuerName": "Fund I, a series of Material Ventures, LP", + "signatureName": "/s/ Abraham Wilson", + "nameOfSigner": "Abraham Wilson", + "signatureTitle": "Authorized Person of the Agent of Issuer's GP", + "signatureDate": "2026-03-31" + } + ] + } + }, + "accessionNo": "0001925002-26-000003", + "filedAt": "2026-03-31T20:56:04-04:00", + "id": "eafcfda4b7698259276857a92943d990" + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/form-ncen.json b/examples/api-responses/form-ncen.json new file mode 100644 index 0000000..104c9fc --- /dev/null +++ b/examples/api-responses/form-ncen.json @@ -0,0 +1,196 @@ +{ + "total": { + "value": 10000, + "relation": "gte" + }, + "data": [ + { + "id": "8673f62b218d47bba6c85d8c101caba8", + "accessionNo": "0001639553-26-000002", + "fileNo": "811-23054", + "formType": "N-CEN", + "filedAt": "2026-03-16T17:18:30-04:00", + "periodOfReport": "2025-12-31", + "entities": [ + { + "cik": "1639553", + "companyName": "Variable Annuity-8 Series Account (of Empower Life & Annuity Insurance Co of New York) (Filer)", + "irsNo": "132690792", + "fiscalYearEnd": "1231", + "stateOfIncorporation": "NY", + "act": "40", + "fileNo": "811-23054", + "filmNo": "26757950" + } + ], + "seriesClass": { + "reportClass": [ + { + "classIds": [ + "C000158471", + "C000158472" + ] + } + ] + }, + "generalInfo": { + "reportEndingPeriod": "2025-12-31", + "isReportPeriodLt12": false + }, + "registrantInfo": { + "registrantFullName": "Variable Annuity-8 Series Account (of Empower Life & Annuity Insurance Co of New York)", + "investmentCompFileNo": "811-23054", + "registrantCik": "1639553", + "registrantLei": "00000000000000000000", + "registrantStreet1": "370 Lexington Ave, Suite 703", + "registrantCity": "New York", + "registrantZipCode": "10017", + "registrantState": "NY", + "registrantCountry": "US", + "registrantPhoneNumber": "800-537-2033", + "websites": [ + "N/A" + ], + "locationBooksRecords": [ + { + "officeName": "Empower Annuity Insurance Company of America", + "officeAddress1": "8515 East Orchard Road", + "officeCity": "Greenwood Village", + "officeState": "CO", + "officeCountry": "US", + "officeRecordsZipCode": "80111", + "officePhone": "303-737-3000", + "booksRecordsDesc": "All accounts, books, or other documents required to be maintained by Section 31(a) of the Investment Company Act of 1940 and the rules promulgated thereunder." + } + ], + "isRegistrantFirstFiling": false, + "isRegistrantLastFiling": false, + "familyInvCompFullName": "Empower Funds, Inc.", + "isRegistrantFamilyInvComp": true, + "registrantClassificationType": "N-4", + "isSecuritiesActRegistration": true, + "chiefComplianceOfficers": [ + { + "ccoName": "Ahmed Abdul-Jaleel", + "crdNumber": "008065071", + "ccoStreet1": "8515 East Orchard Road", + "ccoCity": "Greenwood Village", + "ccoState": "CO", + "ccoCountry": "US", + "ccoZipCode": "80111", + "ccoPhone": "XXXXXX", + "isCcoChangedSinceLastFiling": true, + "ccoEmployers": [ + { + "ccoEmployerName": "N/A", + "ccoEmployerId": "N/A" + } + ] + } + ], + "isRegistrantSubmittedMatter": false, + "isPreviousLegalProceeding": false, + "isPreviousProceedingTerminated": false, + "isFinancialSupportDuringPeriod": false, + "isExemptionFromAct": false, + "principalUnderwriters": [ + { + "principalUnderwriterName": "Empower Financial Services, Inc.", + "principalUnderwriterFileNo": "008-33854", + "principalUnderwriterCrdNumber": "000013109", + "principalUnderwriterLei": "N/A", + "principalUnderWriterState": "CO", + "principalUnderWriterCountry": "US", + "isPrincipalUnderwriterAffiliatedWithRegistrant": true + } + ], + "isUnderwriterHiredOrTerminated": false, + "publicAccountants": [ + { + "publicAccountantName": "Deloitte & Touche LLP", + "pcaobNumber": "34", + "publicAccountantLei": "549300FJV7IV1ZHGAV28", + "publicAccountantState": "CO", + "publicAccountantCountry": "US" + } + ], + "isPublicAccountantChanged": false, + "isOpinionOffered": false, + "isMaterialChange": false, + "isAccountingPrincipleChange": false + }, + "unitInvestmentTrust": { + "depositors": [ + { + "depositorName": "Empower Life & Annuity Insurance Company of New York", + "depositorCrdNo": "N/A", + "depositorLei": "0PLSTTA4SUBLGLKEJ576", + "depositorState": "NY", + "depositorCountry": "US", + "depositorUltimateParentName": "Power Corporation of Canada" + } + ], + "uitAdmins": [ + { + "uitAdminName": "Empower Life & Annuity Insurance Company of New York", + "uitAdminLei": "0PLSTTA4SUBLGLKEJ576", + "uitAdminState": "NY", + "uitAdminCountry": "US", + "isUitAdminAffiliated": true, + "isUitAdminSubAdmin": false + } + ], + "isUitAdminHiredTerminated": false, + "registrantSeparateInsuranceAccount": { + "isRegistrantSeparateInsuranceAccount": true, + "separateAccountSeriesId": "S000050203" + }, + "numOfContracts": 20, + "contractSecurities": [ + { + "separateAccountSecurityName": "Empower SecureFoundation II Variable Annuity", + "separateAccountContractId": "C000158471", + "separateAccountTotalAsset": 1100626.28, + "numContractsSold": 0, + "grossPremiumReceived": 8.4, + "grossPremiumReceivedSection1035": 0, + "numContractsAffected": 0, + "contractValueRedeemed": 92145.22, + "contractValueRedeemedSection1035": 0, + "numContractsAffectedRedeemed": 0 + }, + { + "separateAccountSecurityName": "Empower SecureFoundation II Variable Annuity IRA", + "separateAccountContractId": "C000158472", + "separateAccountTotalAsset": 0, + "numContractsSold": 0, + "grossPremiumReceived": 0, + "grossPremiumReceivedSection1035": 0, + "numContractsAffected": 0, + "contractValueRedeemed": 0, + "contractValueRedeemedSection1035": 0, + "numContractsAffectedRedeemed": 0 + } + ], + "isRule6C7Reliance": false, + "isRule11A2Reliance": false, + "isRule12D1Dash4Reliance": false, + "isRule12D1GReliance": false + }, + "attachmentsTab": { + "isLegalProceedings": false, + "isProvisionFinancialSupport": false, + "isIPAReportInternalControl": false, + "isChangeAccPrinciples": false, + "isInfoRequiredEO": false, + "isOtherInfoRequired": false + }, + "signature": { + "registrantSignedName": "Variable Annuity-8 Series Account (of Empower Life & Annuity Insurance Co of New York)", + "signedDate": "2026-03-16", + "signature": "/s/ Elaina Ditillo", + "title": "Counsel" + } + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/form-nport.json b/examples/api-responses/form-nport.json new file mode 100644 index 0000000..45e53ca --- /dev/null +++ b/examples/api-responses/form-nport.json @@ -0,0 +1,314 @@ +{ + "total": { + "value": 10000, + "relation": "gte" + }, + "filings": [ + { + "submissionType": "NPORT-P", + "filerInfo": { + "filer": { + "issuerCredentials": { + "cik": "0001552947", + "ccc": "XXXXXXXX" + } + }, + "seriesClassInfo": { + "seriesId": "S000075330", + "classId": [ + "C000234270", + "C000234271", + "C000234272" + ] + } + }, + "genInfo": { + "regName": "Two Roads Shared Trust", + "regFileNumber": "811-22718", + "regCik": "0001552947", + "regLei": "549300REHU8QC2CK4V30", + "regStreet1": "225 PICTORIA DRIVE", + "regStreet2": "SUITE 450", + "regCity": "CINCINNATI", + "regStateConditional": { + "regCountry": "US", + "regState": "US-OH" + }, + "regZipOrPostalCode": "45246", + "regPhone": "402-895-1600", + "seriesName": "Holbrook Structured Credit Income Fund", + "seriesId": "S000075330", + "seriesLei": "549300VN9LSTDZVMEG10", + "repPdEnd": "2026-04-30", + "repPdDate": "2026-01-31", + "isFinalFiling": "N" + }, + "fundInfo": { + "totAssets": 589656494.57, + "totLiabs": 26303874.88, + "netAssets": 563352619.69, + "assetsAttrMiscSec": 0, + "assetsInvested": 0, + "amtPayOneYrBanksBorr": 0, + "amtPayOneYrCtrldComp": 0, + "amtPayOneYrOthAffil": 0, + "amtPayOneYrOther": 0, + "amtPayAftOneYrBanksBorr": 0, + "amtPayAftOneYrCtrldComp": 0, + "amtPayAftOneYrOthAffil": 0, + "amtPayAftOneYrOther": 0, + "delayDeliv": 0, + "standByCommit": 0, + "liquidPref": 0, + "cshNotRptdInCorD": 0, + "curMetrics": { + "curMetric": [ + { + "curCd": "USD", + "intrstRtRiskdv01": { + "period10Yr": 16013.864121, + "period1Yr": 11247.59154, + "period30Yr": 4288.904006, + "period3Mon": 797.324692, + "period5Yr": 73979.610662 + }, + "intrstRtRiskdv100": { + "period10Yr": 1606509.028942, + "period1Yr": 1101438.779831, + "period30Yr": 435795.28333, + "period3Mon": 82265.418559, + "period5Yr": 7395155.726345 + } + } + ] + }, + "creditSprdRiskInvstGrade": { + "period10Yr": 19059.318464, + "period1Yr": 10289.915308, + "period30Yr": 4867.597881, + "period3Mon": 130.272532, + "period5Yr": 73099.636591 + }, + "creditSprdRiskNonInvstGrade": { + "period10Yr": 1101.107886, + "period1Yr": 11563.009059, + "period30Yr": 815.163831, + "period3Mon": 17920.825732, + "period5Yr": 6039.88695 + }, + "isNonCashCollateral": "N", + "returnInfo": { + "monthlyTotReturns": { + "monthlyTotReturn": [ + { + "classId": "C000234270", + "rtn1": 0.47, + "rtn2": 0.51, + "rtn3": 0.55 + }, + { + "classId": "C000234271", + "rtn1": 0.49, + "rtn2": 0.64, + "rtn3": 0.47 + }, + { + "classId": "C000234272", + "rtn1": 0.51, + "rtn2": 0.66, + "rtn3": 0.49 + } + ] + }, + "othMon1": { + "netRealizedGain": 7903.87, + "netUnrealizedAppr": 41040.49 + }, + "othMon2": { + "netRealizedGain": 351039.84, + "netUnrealizedAppr": -303753.72 + }, + "othMon3": { + "netRealizedGain": 13348.82, + "netUnrealizedAppr": 370504.63 + } + }, + "mon1Flow": { + "redemption": 20566862.72, + "reinvestment": 2200048.38, + "sales": 29009934.75 + }, + "mon2Flow": { + "redemption": 28416519.67, + "reinvestment": 2121607.35, + "sales": 45362488.84 + }, + "mon3Flow": { + "redemption": 15947059.37, + "reinvestment": 2848443.49, + "sales": 35033302.63 + } + }, + "invstOrSecs": [ + { + "name": "A&D MORTGAGE TRUST 2023-NQM2", + "lei": "N/A", + "title": "ADMT 2023-NQM2 A1", + "cusip": "00002DAA7", + "identifiers": { + "isin": { + "value": "US00002DAA72" + } + }, + "balance": 1287717.11, + "units": "PA", + "curCd": "USD", + "valUSD": 1289380.97, + "pctVal": 0.228876360015, + "payoffProfile": "Long", + "assetCat": "ABS-O", + "issuerCat": "CORP", + "invCountry": "US", + "isRestrictedSec": "Y", + "fairValLevel": "2", + "debtSec": { + "maturityDt": "2068-05-25", + "couponKind": "Floating", + "annualizedRt": 6.131999, + "isDefault": "N", + "areIntrstPmntsInArrs": "N", + "isPaidKind": "N" + }, + "securityLending": { + "isCashCollateral": "N", + "isNonCashCollateral": "N", + "isLoanByFund": "N" + } + }, + { + "name": "A&D MORTGAGE TRUST 2025-NQM1", + "lei": "984500CE0D9FE0NM4277", + "title": "ADMT 2025-NQM5 A1", + "cusip": "00250AAC8", + "identifiers": { + "isin": { + "value": "US00250AAC80" + } + }, + "balance": 795399.76, + "units": "PA", + "curCd": "USD", + "valUSD": 800085.86, + "pctVal": 0.142022213447, + "payoffProfile": "Long", + "assetCat": "ABS-O", + "issuerCat": "CORP", + "invCountry": "US", + "isRestrictedSec": "Y", + "fairValLevel": "2", + "debtSec": { + "maturityDt": "2070-12-25", + "couponKind": "Floating", + "annualizedRt": 5.119999, + "isDefault": "N", + "areIntrstPmntsInArrs": "N", + "isPaidKind": "N" + }, + "securityLending": { + "isCashCollateral": "N", + "isNonCashCollateral": "N", + "isLoanByFund": "N" + } + }, + { + "name": "Atlas Senior Loan Fund X Ltd/Llc", + "lei": "N/A", + "title": "ATCLO 2018-10A D", + "cusip": "04942JAJ0", + "identifiers": { + "isin": { + "value": "US04942JAJ07" + } + }, + "balance": 9240000, + "units": "PA", + "curCd": "USD", + "valUSD": 9287382.72, + "pctVal": 1.648591378719, + "payoffProfile": "Long", + "assetCat": "ABS-CBDO", + "issuerCat": "CORP", + "invCountry": "KY", + "isRestrictedSec": "Y", + "fairValLevel": "2", + "debtSec": { + "maturityDt": "2031-01-15", + "couponKind": "Floating", + "annualizedRt": 6.6838, + "isDefault": "N", + "areIntrstPmntsInArrs": "N", + "isPaidKind": "N" + }, + "securityLending": { + "isCashCollateral": "N", + "isNonCashCollateral": "N", + "isLoanByFund": "N" + } + }, + { + "name": "Atlas Senior Loan Fund XII Ltd.", + "lei": "N/A", + "title": "ATCLO 2018-12A D", + "cusip": "04942UAL0", + "identifiers": { + "isin": { + "value": "US04942UAL08" + } + }, + "balance": 5000000, + "units": "PA", + "curCd": "USD", + "valUSD": 5019555, + "pctVal": 0.891014761369, + "payoffProfile": "Long", + "assetCat": "ABS-CBDO", + "issuerCat": "CORP", + "invCountry": "KY", + "isRestrictedSec": "Y", + "fairValLevel": "2", + "debtSec": { + "maturityDt": "2031-10-24", + "couponKind": "Floating", + "annualizedRt": 6.999631, + "isDefault": "N", + "areIntrstPmntsInArrs": "N", + "isPaidKind": "N" + }, + "securityLending": { + "isCashCollateral": "N", + "isNonCashCollateral": "N", + "isLoanByFund": "N" + } + } + ], + "explntrNotes": { + "explntrNote": [ + { + "note": "Returns are reported without deducting sales loads and redemption fees, if any.", + "noteItem": "B.5.a" + } + ] + }, + "signature": { + "dateSigned": "2026-02-27", + "nameOfApplicant": "Two Roads Shared Trust", + "signature": "Laura Szalyga", + "signerName": "Laura Szalyga", + "title": "Treasurer" + }, + "accessionNo": "0000910472-26-005164", + "filedAt": "2026-03-31T18:33:58-04:00", + "id": "1c5bc84d9ba331b75060ca605cf257f2" + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/form-npx-metadata.json b/examples/api-responses/form-npx-metadata.json new file mode 100644 index 0000000..93634d4 --- /dev/null +++ b/examples/api-responses/form-npx-metadata.json @@ -0,0 +1,70 @@ +{ + "total": { + "value": 2, + "relation": "eq" + }, + "data": [ + { + "id": "723cc6d725f186bd4436136332d7fc98", + "accessionNo": "0001021408-25-003152", + "formType": "N-PX", + "filedAt": "2025-08-25T14:01:44-04:00", + "periodOfReport": "2025-06-30", + "cik": "884546", + "ticker": "", + "companyName": "CHARLES SCHWAB INVESTMENT MANAGEMENT INC", + "proxyVotingRecordsAttached": true, + "headerData": { + "submissionType": "N-PX", + "filerInfo": { + "registrantType": "IM", + "filer": { + "issuerCredentials": { + "cik": "0000884546" + } + }, + "flags": { + "overrideInternetFlag": false, + "confirmingCopyFlag": false + }, + "periodOfReport": "06/30/2025" + } + }, + "formData": { + "coverPage": { + "yearOrQuarter": "YEAR", + "reportCalendarYear": "2025", + "reportingPerson": { + "name": "Charles Schwab Investment Management Inc", + "phoneNumber": "4156677000", + "address": { + "street1": "211 Main Street", + "city": "San Francisco", + "stateOrCountry": "CA", + "zipCode": "94105" + } + }, + "agentForService": {}, + "reportInfo": { + "reportType": "INSTITUTIONAL MANAGER VOTING REPORT", + "confidentialTreatment": false + }, + "fileNumber": "028-03128", + "explanatoryInformation": { + "explanatoryChoice": false + } + }, + "summaryPage": { + "otherIncludedManagersCount": 0 + }, + "signaturePage": { + "reportingPerson": "Charles Schwab Investment Management Inc", + "txSignature": "Omar Aguilar", + "txPrintedSignature": "Omar Aguilar", + "txTitle": "Chief Executive Officer", + "txAsOfDate": "08/20/2025" + } + } + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/form-npx-voting-records.json b/examples/api-responses/form-npx-voting-records.json new file mode 100644 index 0000000..b03e840 --- /dev/null +++ b/examples/api-responses/form-npx-voting-records.json @@ -0,0 +1,89 @@ +{ + "id": "723cc6d725f186bd4436136332d7fc98", + "accessionNo": "0001021408-25-003152", + "formType": "N-PX", + "filedAt": "2025-08-25T14:01:44-04:00", + "periodOfReport": "2025-06-30", + "cik": "884546", + "ticker": "", + "companyName": "CHARLES SCHWAB INVESTMENT MANAGEMENT INC", + "proxyVotingRecordsAttached": true, + "headerData": { + "submissionType": "N-PX", + "filerInfo": { + "registrantType": "IM", + "filer": { + "issuerCredentials": { + "cik": "0000884546" + } + }, + "flags": { + "overrideInternetFlag": false, + "confirmingCopyFlag": false + }, + "periodOfReport": "06/30/2025" + } + }, + "formData": { + "coverPage": { + "yearOrQuarter": "YEAR", + "reportCalendarYear": "2025", + "reportingPerson": { + "name": "Charles Schwab Investment Management Inc", + "phoneNumber": "4156677000", + "address": { + "street1": "211 Main Street", + "city": "San Francisco", + "stateOrCountry": "CA", + "zipCode": "94105" + } + }, + "agentForService": {}, + "reportInfo": { + "reportType": "INSTITUTIONAL MANAGER VOTING REPORT", + "confidentialTreatment": false + }, + "fileNumber": "028-03128", + "explanatoryInformation": { + "explanatoryChoice": false + } + }, + "summaryPage": { + "otherIncludedManagersCount": 0 + }, + "signaturePage": { + "reportingPerson": "Charles Schwab Investment Management Inc", + "txSignature": "Omar Aguilar", + "txPrintedSignature": "Omar Aguilar", + "txTitle": "Chief Executive Officer", + "txAsOfDate": "08/20/2025" + } + }, + "proxyVotingRecords": [ + { + "issuerName": "10x Genomics, Inc.", + "cusip": "88025U109", + "meetingDate": "06/03/2025", + "voteDescription": "To approve, on a non-binding, advisory basis, the compensation of our named executive officers.", + "voteCategories": { + "voteCategory": [ + { + "categoryType": "SECTION 14A SAY-ON-PAY VOTES" + } + ] + }, + "voteSource": "ISSUER", + "sharesVoted": 653315, + "sharesOnLoan": 0, + "vote": { + "voteRecord": [ + { + "howVoted": "AGAINST", + "sharesVoted": 653315, + "managementRecommendation": "AGAINST" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/form-s1-424b4.json b/examples/api-responses/form-s1-424b4.json new file mode 100644 index 0000000..928d963 --- /dev/null +++ b/examples/api-responses/form-s1-424b4.json @@ -0,0 +1,157 @@ +{ + "total": { + "value": 5, + "relation": "eq" + }, + "data": [ + { + "id": "f838c5f9775441d7aa3b04e087e0e469", + "filedAt": "2021-11-12T17:00:47-05:00", + "accessionNo": "0001193125-21-328239", + "formType": "424B4", + "cik": "1874178", + "ticker": "RIVN", + "entityName": "Rivian Automotive, Inc. / DE", + "filingUrl": "https://www.sec.gov/Archives/edgar/data/1874178/000119312521328239/d157488d424b4.htm", + "tickers": [ + { + "ticker": "RIVN", + "type": "Class A Common Stock", + "exchange": "Nasdaq" + } + ], + "securities": [ + { + "name": "153,000,000 Shares Class A Common Stock" + }, + { + "name": "Class B common stock" + } + ], + "publicOfferingPrice": { + "perShare": 78, + "perShareText": "$78.0000", + "total": 11934000000, + "totalText": "$11,934,000,000" + }, + "underwritingDiscount": { + "perShare": 1.1098, + "perShareText": "$1.1098", + "total": 169799400, + "totalText": "$169,799,400" + }, + "proceedsBeforeExpenses": { + "perShare": 76.8902, + "perShareText": "$76.8902", + "total": 11764200600, + "totalText": "$11,764,200,600" + }, + "underwriters": [ + { + "name": "Morgan Stanley & Co. LLC" + }, + { + "name": "Goldman Sachs & Co. LLC" + }, + { + "name": "J.P. Morgan Securities LLC" + }, + { + "name": "Barclays Capital Inc." + }, + { + "name": "Deutsche Bank Securities Inc." + }, + { + "name": "Allen & Company LLC" + }, + { + "name": "BofA Securities, Inc." + }, + { + "name": "Mizuho Securities USA LLC" + }, + { + "name": "Wells Fargo Securities, LLC" + }, + { + "name": "Nomura Securities International, Inc." + }, + { + "name": "Piper Sandler & Co." + }, + { + "name": "RBC Capital Markets, LLC" + }, + { + "name": "Robert W. Baird & Co. Incorporated" + }, + { + "name": "Wedbush Securities Inc." + }, + { + "name": "Academy Securities, Inc." + }, + { + "name": "Blaylock Van, LLC" + }, + { + "name": "Cabrera Capital Markets LLC" + }, + { + "name": "C.L. King & Associates, Inc." + }, + { + "name": "Loop Capital Markets LLC" + }, + { + "name": "Samuel A. Ramirez & Company, Inc." + }, + { + "name": "Siebert Williams Shank & Co., LLC" + }, + { + "name": "Tigress Financial Partners, LLC" + } + ], + "lawFirms": [ + { + "name": "Latham & Watkins LLP", + "location": "" + }, + { + "name": "Skadden, Arps, Slate, Meagher & Flom LLP", + "location": "" + } + ], + "auditors": [ + { + "name": "KPMG LLP" + } + ], + "management": [ + { + "name": "Robert J. Scaringe", + "age": 38, + "position": "Founder and Chief Executive Officer, Chairman of the Board of Directors" + }, + { + "name": "Claire McDonough", + "age": 40, + "position": "Chief Financial Officer" + }, + { + "name": "Jiten Behl", + "age": 39, + "position": "Chief Growth Officer" + } + ], + "employees": { + "total": 9195, + "asOfDate": "2021-10-31", + "perDivision": [], + "perRegion": [] + } + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/full-text-search.json b/examples/api-responses/full-text-search.json new file mode 100644 index 0000000..93856ec --- /dev/null +++ b/examples/api-responses/full-text-search.json @@ -0,0 +1,41 @@ +{ + "total": { + "value": 3, + "relation": "eq" + }, + "filings": [ + { + "accessionNo": "0001104659-21-080527", + "cik": "1535955", + "companyNameLong": "Lipocine Inc. (LPCN) (CIK 0001535955)", + "ticker": "LPCN", + "description": "EXHIBIT 99.1", + "formType": "8-K", + "type": "EX-99.1", + "filingUrl": "https://www.sec.gov/Archives/edgar/data/1535955/000110465921080527/tm2119438d1_ex99-1.htm", + "filedAt": "2021-06-14" + }, + { + "accessionNo": "0001104659-21-080525", + "cik": "1535955", + "companyNameLong": "Lipocine Inc. (LPCN) (CIK 0001535955)", + "ticker": "LPCN", + "description": "EXHIBIT 99.1", + "formType": "8-K", + "type": "EX-99.1", + "filingUrl": "https://www.sec.gov/Archives/edgar/data/1535955/000110465921080525/tm2119156d1_ex99-1.htm", + "filedAt": "2021-06-14" + }, + { + "accessionNo": "0001104659-21-080527", + "cik": "1535955", + "companyNameLong": "Lipocine Inc. (LPCN) (CIK 0001535955)", + "ticker": "LPCN", + "description": "FORM 8-K", + "formType": "8-K", + "type": "8-K", + "filingUrl": "https://www.sec.gov/Archives/edgar/data/1535955/000110465921080527/tm2119438d1_8k.htm", + "filedAt": "2021-06-14" + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/insider-trading-form3.json b/examples/api-responses/insider-trading-form3.json new file mode 100644 index 0000000..b85958a --- /dev/null +++ b/examples/api-responses/insider-trading-form3.json @@ -0,0 +1,53 @@ +{ + "total": { + "value": 10000, + "relation": "gte" + }, + "transactions": [ + { + "id": "9ec6b4513d930d643aa7bd45821be7ab", + "accessionNo": "0001975035-26-000012", + "filedAt": "2026-04-01T08:46:43-04:00", + "schemaVersion": "X0607", + "documentType": "3", + "periodOfReport": "2026-03-31", + "notSubjectToSection16": false, + "issuer": { + "cik": "1653242", + "name": "Bank of N.T. Butterfield & Son Ltd", + "tradingSymbol": "NTB" + }, + "reportingOwner": { + "cik": "2120720", + "name": "Henton Andrew Michael", + "address": { + "street1": "59 FRONT STREET", + "city": "HAMILTON", + "zipCode": "HM 12" + }, + "relationship": { + "isDirector": true, + "isOfficer": false, + "isTenPercentOwner": false, + "isOther": false + } + }, + "nonDerivativeTable": { + "holdings": [ + { + "securityTitle": "Bank of N.T. Butterfield & Son Ltd", + "coding": {}, + "postTransactionAmounts": { + "sharesOwnedFollowingTransaction": 667 + }, + "ownershipNature": { + "directOrIndirectOwnership": "D" + } + } + ] + }, + "ownerSignatureName": "Tara Hidalgo, by power of attorney for Andr", + "ownerSignatureNameDate": "2026-04-01" + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/insider-trading-form4.json b/examples/api-responses/insider-trading-form4.json new file mode 100644 index 0000000..e8d0b8b --- /dev/null +++ b/examples/api-responses/insider-trading-form4.json @@ -0,0 +1,168 @@ +{ + "total": { + "value": 837, + "relation": "eq" + }, + "transactions": [ + { + "id": "b5e3ff9eca7a16f1b7fef6aef6767fbc", + "accessionNo": "0001104659-26-025379", + "filedAt": "2026-03-09T19:00:14-04:00", + "schemaVersion": "X0508", + "documentType": "4", + "periodOfReport": "2026-03-05", + "notSubjectToSection16": false, + "issuer": { + "cik": "1318605", + "name": "Tesla, Inc.", + "tradingSymbol": "TSLA" + }, + "reportingOwner": { + "cik": "1771340", + "name": "Taneja Vaibhav", + "address": { + "street1": "C/O TESLA, INC.", + "street2": "1 TESLA ROAD", + "city": "AUSTIN", + "state": "TX", + "zipCode": "78725" + }, + "relationship": { + "isDirector": false, + "isOfficer": true, + "officerTitle": "Chief Financial Officer", + "isTenPercentOwner": false, + "isOther": false + } + }, + "nonDerivativeTable": { + "transactions": [ + { + "securityTitle": "Common Stock", + "transactionDate": "2026-03-05", + "coding": { + "formType": "4", + "code": "M", + "equitySwapInvolved": false, + "footnoteId": [ + "F1" + ] + }, + "amounts": { + "shares": 6538, + "pricePerShare": 0, + "acquiredDisposedCode": "A" + }, + "postTransactionAmounts": { + "sharesOwnedFollowingTransaction": 20371, + "sharesOwnedFollowingTransactionFootnoteId": [ + "F2" + ] + }, + "ownershipNature": { + "directOrIndirectOwnership": "D" + } + }, + { + "securityTitle": "Common Stock", + "transactionDate": "2026-03-06", + "coding": { + "formType": "4", + "code": "S", + "equitySwapInvolved": false, + "footnoteId": [ + "F3" + ] + }, + "amounts": { + "shares": 2264.5, + "pricePerShare": 397.031, + "acquiredDisposedCode": "D" + }, + "postTransactionAmounts": { + "sharesOwnedFollowingTransaction": 18106.5 + }, + "ownershipNature": { + "directOrIndirectOwnership": "D" + } + } + ], + "holdings": [ + { + "securityTitle": "Common Stock", + "coding": {}, + "postTransactionAmounts": { + "sharesOwnedFollowingTransaction": 111000 + }, + "ownershipNature": { + "directOrIndirectOwnership": "I", + "natureOfOwnership": "See Footnote", + "natureOfOwnershipFootnoteId": [ + "F4" + ] + } + } + ] + }, + "derivativeTable": { + "transactions": [ + { + "securityTitle": "Restricted Stock Unit", + "conversionOrExercisePrice": 0, + "transactionDate": "2026-03-05", + "coding": { + "formType": "4", + "code": "M", + "equitySwapInvolved": false + }, + "exerciseDateFootnoteId": [ + "F5" + ], + "expirationDateFootnoteId": [ + "F5" + ], + "underlyingSecurity": { + "title": "Common Stock", + "shares": 6538 + }, + "amounts": { + "shares": 6538, + "pricePerShare": 0, + "acquiredDisposedCode": "D" + }, + "postTransactionAmounts": { + "sharesOwnedFollowingTransaction": 65382 + }, + "ownershipNature": { + "directOrIndirectOwnership": "D" + } + } + ] + }, + "footnotes": [ + { + "id": "F1", + "text": "Shares of the Issuer's common stock were issued to the reporting person upon the vesting of restricted stock units on March 5, 2026." + }, + { + "id": "F2", + "text": "The amount of securities beneficially owned includes 76 shares acquired on February 27, 2026, under the Tesla, Inc. Employee Stock Purchase Plan." + }, + { + "id": "F3", + "text": "PURSUANT TO THE ISSUER'S EQUITY PLAN AND POLICIES, THESE SHARES OF COMMON STOCK WERE AUTOMATICALLY WITHHELD AND SOLD BY THE ISSUER TO SATISFY THE REPORTING PERSON'S TAX WITHHOLDING OBLIGATIONS RELATED TO THE VESTING OF RESTRICTED STOCK UNITS REPORTED HEREIN." + }, + { + "id": "F4", + "text": "55,500 shares are held directly by the reporting person in GRATs, for which the reporting person is a trustee, and 55,500 shares are held directly by the spouse of the reporting person in GRATs, for which the spouse of the reporting person is a trustee." + }, + { + "id": "F5", + "text": "1/16 of the total restricted stock units initially subject to this award vested on December 5, 2024 and 1/16th of the total units initially subject to this award vest every quarter thereafter, so that all such shares subject to this award will be fully vested on September 5, 2028." + } + ], + "ownerSignatureName": "By: Aaron Beckman, Power of Attorney For: Vaibhav Taneja", + "ownerSignatureNameDate": "2026-03-09" + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/insider-trading-form5.json b/examples/api-responses/insider-trading-form5.json new file mode 100644 index 0000000..47afcac --- /dev/null +++ b/examples/api-responses/insider-trading-form5.json @@ -0,0 +1,75 @@ +{ + "total": { + "value": 10000, + "relation": "gte" + }, + "transactions": [ + { + "id": "00101d987e5fd4e6d2bdcd1d9c17b170", + "accessionNo": "0001213900-26-031111", + "filedAt": "2026-03-18T18:49:54-04:00", + "schemaVersion": "X0609", + "documentType": "5", + "periodOfReport": "2025-12-28", + "notSubjectToSection16": false, + "issuer": { + "cik": "1838987", + "name": "SunPower Inc.", + "tradingSymbol": "SPWR" + }, + "reportingOwner": { + "cik": "1253573", + "name": "MAIER LOTHAR", + "address": { + "street1": "C/O SUNPOWER INC.", + "street2": "45600 NORTHPORT LOOP EAST", + "city": "FREMONT", + "state": "CA", + "zipCode": "94538" + }, + "relationship": { + "isDirector": true, + "isOfficer": false, + "isTenPercentOwner": false, + "isOther": false + } + }, + "nonDerivativeTable": { + "transactions": [ + { + "securityTitle": "Common Stock", + "transactionDate": "2025-05-23", + "coding": { + "formType": "4", + "code": "A", + "equitySwapInvolved": false + }, + "timeliness": "L", + "amounts": { + "shares": 243169, + "pricePerShare": 0, + "pricePerShareFootnoteId": [ + "F1" + ], + "acquiredDisposedCode": "A" + }, + "postTransactionAmounts": { + "sharesOwnedFollowingTransaction": 243169 + }, + "ownershipNature": { + "directOrIndirectOwnership": "D" + } + } + ] + }, + "footnotes": [ + { + "id": "F1", + "text": "On May 23, 2025, the Company granted the Reporting Person 243,169 restricted stock units pursuant to the Company's 2023 Equity Incentive Plan, as amended (the \"Plan\"), each of which fully vested into one share of common stock on the grant date, subject to the terms and conditions of the Plan." + } + ], + "ownerSignatureName": "/s/ Lothar Maier", + "ownerSignatureNameDate": "2026-03-17" + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/mapping.json b/examples/api-responses/mapping.json new file mode 100644 index 0000000..03ffa78 --- /dev/null +++ b/examples/api-responses/mapping.json @@ -0,0 +1,21 @@ +[ + { + "name": "TESLA INC", + "ticker": "TSLA", + "cik": "1318605", + "cusip": "88160R101", + "exchange": "NASDAQ", + "isDelisted": false, + "category": "Domestic Common Stock", + "sector": "Consumer Cyclical", + "industry": "Auto Manufacturers", + "sic": "3711", + "sicSector": "Manufacturing", + "sicIndustry": "Motor Vehicles & Passenger Car Bodies", + "famaSector": "", + "famaIndustry": "Automobiles and Trucks", + "currency": "USD", + "location": "California; U.S.A", + "id": "eaeafc4ffc04a49da153adebf1f6960a" + } +] \ No newline at end of file diff --git a/examples/api-responses/query-api-10q.json b/examples/api-responses/query-api-10q.json new file mode 100644 index 0000000..2b8fb9f --- /dev/null +++ b/examples/api-responses/query-api-10q.json @@ -0,0 +1,152 @@ +{ + "total": { + "value": 3, + "relation": "eq" + }, + "query": { + "from": 0, + "size": 1 + }, + "filings": [ + { + "ticker": "TSLA", + "formType": "10-Q", + "accessionNo": "0001564590-20-047486", + "cik": "1318605", + "companyNameLong": "Tesla, Inc. (Filer)", + "companyName": "Tesla, Inc.", + "linkToFilingDetails": "https://www.sec.gov/Archives/edgar/data/1318605/000156459020047486/tsla-10q_20200930.htm", + "description": "Form 10-Q - Quarterly report [Sections 13 or 15(d)]", + "linkToTxt": "https://www.sec.gov/Archives/edgar/data/1318605/000156459020047486/0001564590-20-047486.txt", + "filedAt": "2020-10-26T06:06:44-04:00", + "documentFormatFiles": [ + { + "sequence": "1", + "size": "5097480", + "documentUrl": "https://www.sec.gov/ix?doc=/Archives/edgar/data/1318605/000156459020047486/tsla-10q_20200930.htm", + "description": "10-Q", + "type": "10-Q" + }, + { + "sequence": "2", + "size": "64589", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1318605/000156459020047486/tsla-ex101_69.htm", + "description": "EX-10.1", + "type": "EX-10.1" + }, + { + "sequence": "3", + "size": "2784643", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1318605/000156459020047486/tsla-ex102_252.htm", + "description": "EX-10.2", + "type": "EX-10.2" + }, + { + "sequence": "4", + "size": "105319", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1318605/000156459020047486/tsla-ex103_154.htm", + "description": "EX-10.3", + "type": "EX-10.3" + }, + { + "sequence": "5", + "size": "18495", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1318605/000156459020047486/tsla-ex311_87.htm", + "description": "EX-31.1", + "type": "EX-31.1" + }, + { + "sequence": "6", + "size": "18512", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1318605/000156459020047486/tsla-ex312_88.htm", + "description": "EX-31.2", + "type": "EX-31.2" + }, + { + "sequence": "7", + "size": "12118", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1318605/000156459020047486/tsla-ex321_89.htm", + "description": "EX-32.1", + "type": "EX-32.1" + }, + { + "sequence": "8", + "size": "3572", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1318605/000156459020047486/g55r2x05sujx000001.jpg", + "description": "GRAPHIC", + "type": "GRAPHIC" + }, + { + "sequence": "\u00a0", + "size": "21614151", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1318605/000156459020047486/0001564590-20-047486.txt", + "description": "Complete submission text file", + "type": "\u00a0" + } + ], + "periodOfReport": "2020-09-30", + "entities": [ + { + "fiscalYearEnd": "1231", + "stateOfIncorporation": "DE", + "act": "34", + "cik": "0001318605", + "fileNo": "001-34756", + "irsNo": "912197729", + "companyName": "Tesla, Inc. (Filer)", + "type": "10-Q", + "sic": "3711 Motor Vehicles & Passenger Car Bodies", + "filmNo": "201258955" + } + ], + "id": "7f8c72e979be2760cc8ba88a8014d019", + "seriesAndClassesContractsInformation": [], + "linkToHtml": "https://www.sec.gov/Archives/edgar/data/1318605/000156459020047486/0001564590-20-047486-index.htm", + "linkToXbrl": "", + "dataFiles": [ + { + "sequence": "9", + "size": "109528", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1318605/000156459020047486/tsla-20200930.xsd", + "description": "XBRL TAXONOMY EXTENSION SCHEMA", + "type": "EX-101.SCH" + }, + { + "sequence": "10", + "size": "89820", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1318605/000156459020047486/tsla-20200930_cal.xml", + "description": "XBRL TAXONOMY EXTENSION CALCULATION LINKBASE", + "type": "EX-101.CAL" + }, + { + "sequence": "11", + "size": "392964", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1318605/000156459020047486/tsla-20200930_def.xml", + "description": "XBRL TAXONOMY EXTENSION DEFINITION LINKBASE", + "type": "EX-101.DEF" + }, + { + "sequence": "12", + "size": "690585", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1318605/000156459020047486/tsla-20200930_lab.xml", + "description": "XBRL TAXONOMY EXTENSION LABEL LINKBASE", + "type": "EX-101.LAB" + }, + { + "sequence": "13", + "size": "569268", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1318605/000156459020047486/tsla-20200930_pre.xml", + "description": "XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE", + "type": "EX-101.PRE" + }, + { + "sequence": "14", + "size": "4356824", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1318605/000156459020047486/tsla-10q_20200930_htm.xml", + "description": "EXTRACTED XBRL INSTANCE DOCUMENT", + "type": "XML" + } + ] + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/query-api-8k.json b/examples/api-responses/query-api-8k.json new file mode 100644 index 0000000..dc2567a --- /dev/null +++ b/examples/api-responses/query-api-8k.json @@ -0,0 +1,102 @@ +{ + "total": { + "value": 10000, + "relation": "gte" + }, + "query": { + "from": 0, + "size": 1 + }, + "filings": [ + { + "ticker": "ESAB", + "formType": "8-K", + "accessionNo": "0001213900-26-038839", + "cik": "1877322", + "companyNameLong": "ESAB Corp (Filer)", + "companyName": "ESAB Corp", + "linkToFilingDetails": "https://www.sec.gov/Archives/edgar/data/1877322/000121390026038839/ea0284695-8k_esabcorp.htm", + "description": "Form 8-K - Current report - Item 5.02 Item 7.01 Item 9.01", + "linkToTxt": "https://www.sec.gov/Archives/edgar/data/1877322/000121390026038839/0001213900-26-038839.txt", + "filedAt": "2026-04-02T06:47:16-04:00", + "documentFormatFiles": [ + { + "sequence": "1", + "size": "36875", + "documentUrl": "https://www.sec.gov/ix?doc=/Archives/edgar/data/1877322/000121390026038839/ea0284695-8k_esabcorp.htm", + "description": "CURRENT REPORT", + "type": "8-K" + }, + { + "sequence": "2", + "size": "10378", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1877322/000121390026038839/ea028469501ex99-1.htm", + "description": "ESAB CORPORATION PRESS RELEASE, DATED APRIL 2, 2026", + "type": "EX-99.1" + }, + { + "sequence": "\u00a0", + "size": "223358", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1877322/000121390026038839/0001213900-26-038839.txt", + "description": "Complete submission text file", + "type": "\u00a0" + } + ], + "periodOfReport": "2026-03-30", + "entities": [ + { + "fiscalYearEnd": "1231", + "stateOfIncorporation": "DE", + "act": "34", + "cik": "1877322", + "fileNo": "001-41297", + "irsNo": "870923837", + "companyName": "ESAB Corp (Filer)", + "type": "8-K", + "sic": "3569 General Industrial Machinery & Equipment, NEC", + "filmNo": "26830562", + "undefined": "06 Technology)" + } + ], + "id": "ef470379b578209716999c37252d55f3", + "seriesAndClassesContractsInformation": [], + "items": [ + "Item 5.02: Departure of Directors or Certain Officers; Election of Directors; Appointment of Certain Officers: Compensatory Arrangements of Certain Officers", + "Item 7.01: Regulation FD Disclosure", + "Item 9.01: Financial Statements and Exhibits" + ], + "linkToHtml": "https://www.sec.gov/Archives/edgar/data/1877322/000121390026038839/0001213900-26-038839-index.htm", + "linkToXbrl": "", + "dataFiles": [ + { + "sequence": "3", + "size": "3035", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1877322/000121390026038839/esab-20260330.xsd", + "description": "XBRL SCHEMA FILE", + "type": "EX-101.SCH" + }, + { + "sequence": "4", + "size": "34766", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1877322/000121390026038839/esab-20260330_lab.xml", + "description": "XBRL LABEL FILE", + "type": "EX-101.LAB" + }, + { + "sequence": "5", + "size": "22730", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1877322/000121390026038839/esab-20260330_pre.xml", + "description": "XBRL PRESENTATION FILE", + "type": "EX-101.PRE" + }, + { + "sequence": "15", + "size": "3320", + "documentUrl": "https://www.sec.gov/Archives/edgar/data/1877322/000121390026038839/ea0284695-8k_esabcorp_htm.xml", + "description": "EXTRACTED XBRL INSTANCE DOCUMENT", + "type": "XML" + } + ] + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/reg-a-form-1a.json b/examples/api-responses/reg-a-form-1a.json new file mode 100644 index 0000000..e37470d --- /dev/null +++ b/examples/api-responses/reg-a-form-1a.json @@ -0,0 +1,130 @@ +{ + "total": { + "value": 1954, + "relation": "eq" + }, + "data": [ + { + "id": "3049ff20a7a655422f33f02c192c75bf", + "accessionNo": "0001493152-26-012984", + "fileNo": "024-12729", + "formType": "1-A", + "filedAt": "2026-03-26T17:11:42-04:00", + "cik": "1587603", + "ticker": "", + "companyName": "WINNERS, INC.", + "employeesInfo": [ + { + "issuerName": "Winners, Inc.", + "jurisdictionOrganization": "NV", + "yearIncorporation": "2007", + "cik": "0001587603", + "sicCode": 7990, + "irsNum": "26-0764832", + "fullTimeEmployees": 0, + "partTimeEmployees": 2 + } + ], + "issuerInfo": { + "street1": "401 RYLAND STREET", + "street2": "SUITE 200-A", + "city": "RENO", + "stateOrCountry": "NV", + "zipCode": "89502", + "phoneNumber": "917-767-0075", + "connectionName": "Jim Byrd", + "industryGroup": "Other", + "cashEquivalents": 537, + "investmentSecurities": 0, + "accountsReceivable": 200000, + "propertyPlantEquipment": 0, + "totalAssets": 475537, + "accountsPayable": 483052, + "longTermDebt": 355718, + "totalLiabilities": 838770, + "totalStockholderEquity": -363233, + "totalLiabilitiesAndEquity": 475537, + "totalRevenues": 495, + "costAndExpensesApplToRevenues": 0, + "depreciationAndAmortization": 0, + "netIncome": -978989, + "earningsPerShareBasic": 0, + "earningsPerShareDiluted": 0 + }, + "commonEquity": [ + { + "commonEquityClassName": "Common", + "outstandingCommonEquity": 53115625, + "commonCusipEquity": "97478A304", + "publiclyTradedCommonEquity": "OTCID" + } + ], + "preferredEquity": [ + { + "preferredEquityClassName": "Series A Preferred", + "outstandingPreferredEquity": 0, + "preferredCusipEquity": "000000000", + "publiclyTradedPreferredEquity": "NA" + } + ], + "debtSecurities": [ + { + "debtSecuritiesClassName": "NA", + "outstandingDebtSecurities": 0, + "cusipDebtSecurities": "000000000", + "publiclyTradedDebtSecurities": "NA" + } + ], + "issuerEligibility": { + "certifyIfTrue": true + }, + "applicationRule262": { + "certifyIfNotDisqualified": true + }, + "summaryInfo": { + "indicateTier1Tier2Offering": "Tier1", + "financialStatementAuditStatus": "Unaudited", + "securitiesOfferedTypes": [ + "Equity (common or preferred stock)" + ], + "offerDelayedContinuousFlag": true, + "offeringYearFlag": false, + "offeringAfterQualifFlag": false, + "offeringBestEffortsFlag": true, + "solicitationProposedOfferingFlag": false, + "resaleSecuritiesAffiliatesFlag": false, + "securitiesOffered": 10000000, + "outstandingSecurities": 53115625, + "pricePerSecurity": 0.5, + "issuerAggregateOffering": 5000000, + "securityHolderAggegate": 0, + "qualificationOfferingAggregate": 0, + "concurrentOfferingAggregate": 0, + "totalAggregateOffering": 5000000, + "legalServiceProviderName": "James S. Byrd, P.A.", + "legalFees": 115000, + "estimatedNetAmount": 4885000, + "clarificationResponses": "In payment for legal fees related to this Offering, the Company will issue 200,000 shares of stock to James S. Byrd, P.A., at the price of $.50 per share, under this Regulation A Offering once qualified." + }, + "juridictionSecuritiesOffered": { + "jurisdictionsOfSecOfferedNone": true, + "issueJuridicationSecuritiesOffering": [ + "FL", + "NY" + ] + }, + "securitiesIssued": [ + { + "securitiesIssuerName": "Winners, Inc.", + "securitiesIssuerTitle": "Series A Convertible Preferred Stock", + "securitiesIssuedTotalAmount": 149346690, + "securitiesPrincipalHolderAmount": 0, + "securitiesIssuedAggregateAmount": "$1,345,935 valued at $0.10 per share for settlement of monies owed; 12,490,000 Shares of MoneyLine Sports, Inc. plus $200,000.00 as part of September 30, 2025 Reorganization and Stock Purchase Agreement." + } + ], + "unregisteredSecuritiesAct": { + "securitiesActExcemption": "15 U.S.C. s. 77d(a)(2); Regulation D 506(b)" + } + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/reg-a-form-1k.json b/examples/api-responses/reg-a-form-1k.json new file mode 100644 index 0000000..658b62a --- /dev/null +++ b/examples/api-responses/reg-a-form-1k.json @@ -0,0 +1,73 @@ +{ + "total": { + "value": 4, + "relation": "eq" + }, + "data": [ + { + "id": "9e7259d5bfcc20d7bdf19c7037ab1186", + "accessionNo": "0001493152-25-009865", + "fileNo": "24R-00472", + "formType": "1-K", + "filedAt": "2025-03-11T16:38:05-04:00", + "periodOfReport": "2024-12-31", + "cik": "1786471", + "ticker": "", + "companyName": "Aptera Motors Corp", + "item1": { + "formIndication": "Annual Report", + "fiscalYearEnd": "12-31-2024", + "street1": "5818 El Camino Real", + "city": "Carlsbad", + "stateOrCountry": "CA", + "zipCode": "92008", + "phoneNumber": "858-371-3151", + "issuedSecuritiesTitle": [ + "Class B Common Stock" + ] + }, + "item1Info": [ + { + "issuerName": "Aptera Motors Corp.", + "cik": "0001786471", + "jurisdictionOrganization": "DE", + "irsNum": "83-4079594" + } + ], + "item2": { + "regArule257": false + }, + "summaryInfo": [ + { + "commissionFileNumber": "024-11479", + "offeringQualificationDate": "05-19-2021", + "offeringCommenceDate": "05-19-2021", + "qualifiedSecuritiesSold": 14000000, + "offeringSecuritiesSold": 12630689, + "pricePerSecurity": 8.02, + "aggregrateOfferingPrice": 101297126, + "aggregrateOfferingPriceHolders": 0, + "underwrittenSpName": [ + "Dalmore Group, LLC / OpenDeal Broker LLC" + ], + "underwriterFees": 1012971, + "auditorSpName": [ + "dbbMcKennon" + ], + "auditorFees": 150000, + "legalSpName": [ + "CrowdCheck Law LLP/ Sheppard Mullin" + ], + "legalFees": 90000, + "blueSkySpName": [ + "Various State Fees" + ], + "blueSkyFees": 80000, + "crdNumberBrokerDealer": "000136352", + "issuerNetProceeds": 99964154, + "clarificationResponses": "The offering was open for three years. The amounts in this form reflect all three years. Price per security is the avg price over the period." + } + ] + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/reg-a-form-1z.json b/examples/api-responses/reg-a-form-1z.json new file mode 100644 index 0000000..6ce7c84 --- /dev/null +++ b/examples/api-responses/reg-a-form-1z.json @@ -0,0 +1,68 @@ +{ + "total": { + "value": 361, + "relation": "eq" + }, + "data": [ + { + "id": "9b9dfa9d1532fbe9150cea549881f0cc", + "accessionNo": "0001683168-26-002068", + "fileNo": "024-12157", + "formType": "1-Z/A", + "filedAt": "2026-03-23T06:02:42-04:00", + "cik": "1585380", + "ticker": "INKW", + "companyName": "Greene Concepts, Inc", + "item1": { + "issuerName": "Greene Concepts, Inc.", + "street1": "13195 U.S. Highway 221 N", + "city": "Marion", + "stateOrCountry": "NC", + "zipCode": "28752", + "phone": "844-889-2837", + "commissionFileNumber": [ + "024-12157" + ] + }, + "summaryInfoOffering": [ + { + "offeringQualificationDate": "04-03-2023", + "offeringCommenceDate": "04-03-2023", + "offeringSecuritiesQualifiedSold": 4500000000, + "offeringSecuritiesSold": 3047136365, + "pricePerSecurity": 0.0006, + "portionSecuritiesSoldIssuer": 1972001, + "portionSecuritiesSoldSecurityholders": 0, + "legalSpName": [ + "Donnell Suares/Newlan Law Firm, PLLC" + ], + "legalFees": 37500, + "blueSkySpName": [ + "State Regulators" + ], + "blueSkyFees": 2500, + "issuerNetProceeds": 1932001 + } + ], + "certificationSuspension": [ + { + "securitiesClassTitle": "Common Stock", + "certificationFileNumber": [ + "024-12157" + ], + "approxRecordHolders": 5050 + } + ], + "signatureTab": [ + { + "cik": "0001585380", + "regulationIssuerName1": "Greene Concepts, Inc.", + "regulationIssuerName2": "Greene Concepts, Inc.", + "signatureBy": "/s/ Leonard Greene", + "date": "03-23-2026", + "title": "Chief Executive Officer" + } + ] + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/reg-a-search.json b/examples/api-responses/reg-a-search.json new file mode 100644 index 0000000..0cc3b13 --- /dev/null +++ b/examples/api-responses/reg-a-search.json @@ -0,0 +1,90 @@ +{ + "total": { + "value": 1419, + "relation": "eq" + }, + "data": [ + { + "id": "af09549e0cb0775585c3481d61f8e471", + "accessionNo": "0001829126-24-008673", + "fileNo": "24R-00889", + "formType": "1-Z", + "filedAt": "2024-12-31T17:27:40-05:00", + "cik": "1973742", + "ticker": "", + "companyName": "Worldwide Stages, Inc.", + "item1": { + "issuerName": "Worldwide Stages, Inc.", + "street1": "5000 Northfield Lane", + "city": "Spring Hill", + "stateOrCountry": "TN", + "zipCode": "37174", + "phone": "615-341-5900", + "commissionFileNumber": [ + "024-12301" + ] + }, + "summaryInfoOffering": [ + { + "offeringQualificationDate": "08-10-2023", + "offeringCommenceDate": "08-10-2023", + "offeringSecuritiesQualifiedSold": 7500000, + "offeringSecuritiesSold": 3870, + "pricePerSecurity": 10, + "portionSecuritiesSoldIssuer": 30960, + "portionSecuritiesSoldSecurityholders": 7740, + "underwrittenSpName": [ + "-" + ], + "underwriterFees": 0, + "salesCommissionsSpName": [ + "Dalmore Group, LLC" + ], + "salesCommissionsFee": 387, + "findersSpName": [ + "-" + ], + "findersFees": 0, + "auditorSpName": [ + "Fruci & Associates II, PLLC" + ], + "auditorFees": 40000, + "legalSpName": [ + "Nelson Mullins Riley & Scarborough" + ], + "legalFees": 132500, + "promoterSpName": [ + "-" + ], + "promotersFees": 0, + "blueSkySpName": [ + "Guarrd, Inc." + ], + "blueSkyFees": 4750, + "crdNumberBrokerDealer": "000154559", + "issuerNetProceeds": 25900.4, + "clarificationResponses": "Net proceeds represents amount received by issuer ($30,960) after subtracting its share of commissions ($309.60) and blue sky compliance costs ($4,750)." + } + ], + "certificationSuspension": [ + { + "securitiesClassTitle": "Class B Common Stock", + "certificationFileNumber": [ + "024-12301" + ], + "approxRecordHolders": 15 + } + ], + "signatureTab": [ + { + "cik": "0001973742", + "regulationIssuerName1": "Worldwide Stages, Inc.", + "regulationIssuerName2": "Worldwide Stages, Inc.", + "signatureBy": "/s/ Kelly Frey, Sr.", + "date": "12-31-2024", + "title": "Chief Executive Officer" + } + ] + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/sec-administrative-proceedings.json b/examples/api-responses/sec-administrative-proceedings.json new file mode 100644 index 0000000..1c5a547 --- /dev/null +++ b/examples/api-responses/sec-administrative-proceedings.json @@ -0,0 +1,78 @@ +{ + "total": { + "value": 711, + "relation": "eq" + }, + "data": [ + { + "id": "0ab80b58b2fcf40e7497aa0000759a37", + "releasedAt": "2024-12-31T12:19:45-05:00", + "releaseNo": [ + "34-102060", + "AAER-4554" + ], + "fileNumbers": [ + "3-22386" + ], + "respondents": [ + { + "name": "Accell Audit & Compliance, PA", + "type": "company", + "role": "respondent" + } + ], + "respondentsText": "Accell Audit & Compliance, PA", + "resources": [ + { + "label": "primary", + "url": "https://www.sec.gov/files/litigation/admin/2024/34-102060.pdf" + } + ], + "title": "ORDER INSTITUTING PUBLIC ADMINISTRATIVE PROCEEDINGS PURSUANT TO RULE 102(e) OF THE COMMISSION’S RULES OF PRACTICE, MAKING FINDINGS, AND IMPOSING REMEDIAL SANCTIONS", + "summary": "The SEC has instituted public administrative proceedings against Accell Audit & Compliance, PA, resulting in its suspension from appearing or practicing before the Commission due to its involvement in fraudulent financial reporting with Ignite International Brands, Ltd.", + "tags": [ + "fraudulent financial reporting", + "accounting misconduct" + ], + "entities": [ + { + "name": "Accell Audit & Compliance, PA", + "type": "company", + "role": "respondent" + }, + { + "name": "Ignite International Brands, Ltd.", + "type": "company", + "role": "related party" + } + ], + "complaints": [ + "Accell failed to exercise due professional care or skepticism, or to otherwise obtain sufficient appropriate audit evidence for a significant, unusual sale to an Ignite-related party that purportedly took place on the last day of the 2020 fiscal year, but in fact did not occur during the reporting period.", + "Accell staff knew about, but failed to address, inconsistencies and contradictory evidence, and misrepresented the timing and facts of the supposed sale to its Engagement Quality Control Reviewer.", + "Accell issued an unqualified audit opinion on Ignite’s 2020 financial statements, falsely stating its opinion that the statements 'present fairly, in all material respects, the financial position of the company' as of December 31, 2020.", + "Accell’s actions aided and abetted Ignite’s fraudulent financial reporting." + ], + "parallelActionsTakenBy": [], + "hasAgreedToSettlement": true, + "hasAgreedToPayPenalty": true, + "penaltyAmounts": [ + { + "penaltyAmount": "75000", + "penaltyAmountText": "$75,000", + "imposedOn": "Accell Audit & Compliance, PA" + } + ], + "requestedRelief": [], + "violatedSections": [ + "Section 10(b) of the Exchange Act", + "Rule 10b-5" + ], + "orders": [ + "Accell is suspended from appearing or practicing before the Commission as an accountant." + ], + "investigationConductedBy": [], + "litigationLedBy": [], + "otherAgenciesInvolved": [] + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/sec-enforcement-actions.json b/examples/api-responses/sec-enforcement-actions.json new file mode 100644 index 0000000..1f50b84 --- /dev/null +++ b/examples/api-responses/sec-enforcement-actions.json @@ -0,0 +1,84 @@ +{ + "total": { + "value": 137, + "relation": "eq" + }, + "data": [ + { + "id": "7efc54567587f7930a3e3c1919b5ed8e", + "releaseNo": "2024-212", + "releasedAt": "2024-12-20T17:25:11-05:00", + "url": "https://www.sec.gov/newsroom/press-releases/2024-212", + "title": "Tai Mo Shan to Pay $123 Million for Negligently Misleading Investors About Stability of Terra USD", + "resources": [ + { + "label": "SEC Order", + "url": "https://www.sec.gov/files/litigation/admin/2024/33-11349.pdf" + } + ], + "summary": "The SEC charged Tai Mo Shan Limited with misleading investors about the stability of Terra USD and acting as a statutory underwriter for LUNA crypto assets, resulting in a $123 million settlement.", + "tags": [ + "disclosure fraud", + "crypto", + "unregistered securities" + ], + "entities": [ + { + "name": "Tai Mo Shan Limited", + "type": "company", + "role": "defendant" + }, + { + "name": "Terraform Labs PTE Ltd.", + "type": "company", + "role": "other" + }, + { + "name": "Do Kwon", + "type": "individual", + "role": "other" + } + ], + "complaints": [ + "Tai Mo Shan misled investors about the stability of Terra USD.", + "Tai Mo Shan acted as a statutory underwriter in distributing LUNA crypto assets." + ], + "parallelActionsTakenBy": [], + "hasAgreedToSettlement": true, + "hasAgreedToPayPenalty": true, + "penaltyAmounts": [ + { + "penaltyAmount": "73452756", + "penaltyAmountText": "$73,452,756", + "imposedOn": "Tai Mo Shan Limited" + }, + { + "penaltyAmount": "12916153", + "penaltyAmountText": "$12,916,153", + "imposedOn": "Tai Mo Shan Limited" + }, + { + "penaltyAmount": "36726378", + "penaltyAmountText": "$36,726,378", + "imposedOn": "Tai Mo Shan Limited" + } + ], + "requestedRelief": [ + "disgorgement of profits", + "prejudgment interest", + "civil penalties", + "cease and desist from violations" + ], + "violatedSections": [ + "registration and fraud provisions" + ], + "investigationConductedBy": [ + "Liz Canizares", + "Derek Kleinmann", + "Daniel Sinnreich" + ], + "litigationLedBy": [], + "otherAgenciesInvolved": [] + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/sec-litigation-releases.json b/examples/api-responses/sec-litigation-releases.json new file mode 100644 index 0000000..0b3967e --- /dev/null +++ b/examples/api-responses/sec-litigation-releases.json @@ -0,0 +1,118 @@ +{ + "total": { + "value": 288, + "relation": "eq" + }, + "data": [ + { + "id": "d459bd679554a02194c7c5f272f138fa", + "releaseNo": "LR-26206", + "releasedAt": "2024-12-31T01:53:13-05:00", + "url": "https://www.sec.gov/enforcement-litigation/litigation-releases/lr-26206", + "title": "Dale B. Chappell, et al.", + "subTitle": "SEC Charges Humanigen’s CEO and Chief Scientific Officer with Insider Trading", + "caseCitations": [ + "Securities and Exchange Commission v. Dale B. Chappell, et al., No. 23-civ-03769 (D.N.J. second amended complaint filed May 20, 2024)" + ], + "resources": [ + { + "label": "SEC Complaint", + "url": "https://www.sec.gov/files/litigation/complaints/2024/comp26206.pdf" + } + ], + "summary": "The SEC has charged Humanigen's CEO Cameron Durrant and Chief Scientific Officer Dale B. Chappell with insider trading for selling company stock based on nonpublic information about the FDA's likely rejection of their COVID-19 drug, resulting in significant avoided losses.", + "tags": [ + "insider trading", + "biopharmaceutical", + "antifraud" + ], + "entities": [ + { + "name": "Cameron Durrant", + "type": "individual", + "role": "defendant" + }, + { + "name": "Dale B. Chappell", + "type": "individual", + "role": "defendant" + }, + { + "name": "Humanigen, Inc.", + "type": "company", + "role": "other", + "cik": "1293310", + "ticker": "HGENQ" + }, + { + "name": "Black Horse Capital LP", + "type": "fund", + "role": "defendant" + }, + { + "name": "Black Horse Capital Master Fund Ltd.", + "type": "fund", + "role": "defendant" + }, + { + "name": "Cheval Holdings, Ltd.", + "type": "fund", + "role": "defendant" + } + ], + "complaints": [ + "Chappell and Durrant sold Humanigen stock while in possession of material nonpublic information that the FDA was unlikely to approve Emergency Use Authorization for lenzilumab.", + "Chappell and three investment vehicles under his control sold more than 3.8 million shares of Humanigen for more than $68 million.", + "Durrant sold more than 80,000 shares for more than $1.68 million.", + "Chappell avoided losses of more than $38 million while Durrant avoided losses of more than $1 million." + ], + "parallelActionsTakenBy": [ + "Department of Justice’s Fraud Section", + "U.S. Attorney’s Office for the District of New Jersey" + ], + "hasAgreedToSettlement": false, + "hasAgreedToPayPenalty": false, + "penaltyAmounts": [], + "requestedRelief": [ + "permanent injunctions", + "disgorgement of ill-gotten gains with prejudgment interest", + "civil penalties", + "officer and director bars" + ], + "violatedSections": [ + "Section 17(a) of the Securities Act of 1933", + "Section 10(b) of the Securities Exchange Act of 1934", + "Rule 10b-5" + ], + "investigationConductedBy": [ + "W. Bradley Ney", + "Daniel Ball", + "George B. Parizek", + "Kevin Wu", + "Zachary Scrima", + "Melissa Robertson", + "Pei Y. Chung" + ], + "litigationLedBy": [ + "Anna Area", + "Daniel Lloyd", + "Daniel Ball", + "David Nasse" + ], + "otherAgenciesInvolved": [ + { + "name": "Criminal Fraud Section of the U.S. Department of Justice", + "country": "United States" + }, + { + "name": "United States Attorney’s Office for the District of New Jersey", + "country": "United States" + }, + { + "name": "Federal Bureau of Investigation", + "country": "United States" + } + ] + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/sro-filings.json b/examples/api-responses/sro-filings.json new file mode 100644 index 0000000..f6891c9 --- /dev/null +++ b/examples/api-responses/sro-filings.json @@ -0,0 +1,31 @@ +{ + "total": { + "value": 7963, + "relation": "eq" + }, + "data": [ + { + "id": "dea4e1fa1371b4b91e08c7c3f5f42eae", + "releaseNumber": "34-105132", + "issueDate": "2026-03-31", + "fileNumber": "SR-NYSEAMER-2026-25", + "sro": "NYSE American LLC (NYSEAMER)", + "details": "Notice of Filing and Immediate Effectiveness of a Proposed Rule Change to Modify the NYSE American Options Fee Schedule to Eliminate Certain Incentive Programs and Increase the Limit on the Maximum Combined Floor Broker Credits Paid on QCC Trades and...", + "commentsDue": "21 days after publication in the Federal Register.", + "urls": [ + { + "type": "34-105132", + "url": "https://www.sec.gov/files/rules/sro/nyseamer/2026/34-105132.pdf" + }, + { + "type": "Exhibit 5", + "url": "https://www.sec.gov/files/rules/sro/nyseamer/2026/34-105132-ex5.pdf" + }, + { + "type": "Submit a Comment on SR-NYSEAMER-2026-25", + "url": "https://www.sec.gov/comments/sr-nyseamer-2026-25/notice-filing-immediate-effectiveness-proposed-rule-change-modify-nyse-american-options-fee-schedule" + } + ] + } + ] +} \ No newline at end of file diff --git a/examples/api-responses/subsidiary.json b/examples/api-responses/subsidiary.json new file mode 100644 index 0000000..a4ea3f3 --- /dev/null +++ b/examples/api-responses/subsidiary.json @@ -0,0 +1,94 @@ +{ + "total": { + "value": 26, + "relation": "eq" + }, + "data": [ + { + "id": "53b6eca92223fed0008eae2e5e2ec8f1", + "accessionNo": "0000320193-25-000079", + "filedAt": "2025-10-31T06:01:26-04:00", + "cik": "320193", + "ticker": "AAPL", + "companyName": "Apple Inc.", + "subsidiaries": [ + { + "name": "Apple Asia Limited", + "jurisdiction": "Hong Kong" + }, + { + "name": "Apple Asia LLC", + "jurisdiction": "Delaware, U.S." + }, + { + "name": "Apple Canada Inc.", + "jurisdiction": "Canada" + }, + { + "name": "Apple Computer Trading (Shanghai) Co., Ltd.", + "jurisdiction": "China" + }, + { + "name": "Apple Distribution International Limited", + "jurisdiction": "Ireland" + }, + { + "name": "Apple India Private Limited", + "jurisdiction": "India" + }, + { + "name": "Apple Insurance Company, Inc.", + "jurisdiction": "Arizona, U.S." + }, + { + "name": "Apple Japan, Inc.", + "jurisdiction": "Japan" + }, + { + "name": "Apple Korea Limited", + "jurisdiction": "South Korea" + }, + { + "name": "Apple Operations International Limited", + "jurisdiction": "Ireland" + }, + { + "name": "Apple Operations Limited", + "jurisdiction": "Ireland" + }, + { + "name": "Apple Operations Mexico, S.A. de C.V.", + "jurisdiction": "Mexico" + }, + { + "name": "Apple Pty Limited", + "jurisdiction": "Australia" + }, + { + "name": "Apple Services Pte. Ltd.", + "jurisdiction": "Singapore" + }, + { + "name": "Apple South Asia (Thailand) Limited", + "jurisdiction": "Thailand" + }, + { + "name": "Apple South Asia Pte. Ltd.", + "jurisdiction": "Singapore" + }, + { + "name": "Apple Vietnam Limited Liability Company", + "jurisdiction": "Vietnam" + }, + { + "name": "Braeburn Capital, Inc.", + "jurisdiction": "Nevada, U.S." + }, + { + "name": "iTunes K.K.", + "jurisdiction": "Japan" + } + ] + } + ] +} \ No newline at end of file diff --git a/sec_api/__init__.py b/sec_api/__init__.py index 6966fbd..14fa0a1 100644 --- a/sec_api/__init__.py +++ b/sec_api/__init__.py @@ -2,6 +2,7 @@ from sec_api.index import QueryApi from sec_api.index import FullTextSearchApi from sec_api.index import RenderApi +from sec_api.index import DownloadApi from sec_api.index import PdfGeneratorApi # Extractor & Converter APIs @@ -51,6 +52,12 @@ from sec_api.index import AaerApi from sec_api.index import SroFilingsApi +# Public Company Data +from sec_api.index import AuditFeesApi + +# EDGAR Index +from sec_api.index import EdgarIndexApi + # Other APIs from sec_api.index import EdgarEntitiesApi from sec_api.index import MappingApi diff --git a/sec_api/index.py b/sec_api/index.py index f7f1809..ac0f8fb 100644 --- a/sec_api/index.py +++ b/sec_api/index.py @@ -5,7 +5,7 @@ query_api_endpoint = "https://api.sec-api.io" full_text_search_api_endpoint = "https://api.sec-api.io/full-text-search" -filing_download_api_endpoint = "https://archive.sec-api.io" +filing_download_api_endpoint = "https://edgar-mirror.sec-api.io" pdf_generator_api_endpoint = "https://api.sec-api.io/filing-reader" xbrl_api_endpoint = "https://api.sec-api.io/xbrl-to-json" extractor_api_endpoint = "https://api.sec-api.io/extractor" @@ -50,6 +50,8 @@ # mapping_api_endpoint = "https://api.sec-api.io/mapping" edgar_entities_endpoint = "https://api.sec-api.io/edgar-entities" +audit_fees_endpoint = "https://api.sec-api.io/audit-fees" +edgar_index_ingestion_log_endpoint = "https://api.sec-api.io/edgar-index/ingestion-log" def handle_api_error(response): @@ -119,7 +121,7 @@ class RenderApi: Base class for Render API """ - def __init__(self, api_key, proxies=None): + def __init__(self, api_key="", proxies=None): self.api_key = api_key self.api_endpoint = filing_download_api_endpoint self.proxies = proxies if proxies else {} @@ -165,6 +167,14 @@ def get_file(self, url, return_binary=False): handle_api_error(response) +class DownloadApi(RenderApi): + """ + Download API for SEC EDGAR filings, exhibits and attached files. + Alias for RenderApi, provided for consistency with the JavaScript SDK. + """ + pass + + class PdfGeneratorApi: """ Base class for PDF Generator API @@ -820,6 +830,36 @@ def get_individuals(self, query): else: handle_api_error(response) + def get_other_business_names(self, crd): + api_endpoint = ( + form_adv_endpoint + + "/schedule-d-1-b/" + + str(crd) + + "?token=" + + self.api_key + ) + return self.get_request_wrapper(api_endpoint) + + def get_separately_managed_accounts(self, crd): + api_endpoint = ( + form_adv_endpoint + + "/schedule-d-5-k/" + + str(crd) + + "?token=" + + self.api_key + ) + return self.get_request_wrapper(api_endpoint) + + def get_financial_industry_affiliations(self, crd): + api_endpoint = ( + form_adv_endpoint + + "/schedule-d-7-a/" + + str(crd) + + "?token=" + + self.api_key + ) + return self.get_request_wrapper(api_endpoint) + def get_brochures(self, crd): api_endpoint = ( form_adv_endpoint + "/brochures/" + str(crd) + "?token=" + self.api_key @@ -1234,6 +1274,65 @@ def get_data(self, query): handle_api_error(response) +class AuditFeesApi: + """ + Base class for Audit Fees Data API + https://sec-api.io/docs/audit-fees-api + """ + + def __init__(self, api_key, proxies=None): + self.api_key = api_key + self.api_endpoint = audit_fees_endpoint + "?token=" + api_key + self.proxies = proxies if proxies else {} + + def get_data(self, query): + response = {} + + # use backoff strategy to handle "too many requests" error. + for x in range(3): + response = requests.post( + self.api_endpoint, json=query, proxies=self.proxies + ) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + # wait 500 * (x + 1) milliseconds and try again + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + +class EdgarIndexApi: + """ + Base class for EDGAR Filings Ingestion Logs API + https://sec-api.io/docs/edgar-index-apis + """ + + def __init__(self, api_key, proxies=None): + self.api_key = api_key + self.api_endpoint = edgar_index_ingestion_log_endpoint + self.proxies = proxies if proxies else {} + + def get_ingestion_log(self, date): + url = self.api_endpoint + "/" + date + "?token=" + self.api_key + response = {} + + # use backoff strategy to handle "too many requests" error. + for x in range(3): + response = requests.get(url, proxies=self.proxies) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + # wait 500 * (x + 1) milliseconds and try again + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + class EdgarEntitiesApi: """ Base class for EDGAR Entities Database API diff --git a/setup.py b/setup.py index 6f5dae2..2314adc 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setup( name="sec-api", - version="1.0.32", + version="1.0.33", author="SEC API", author_email="support@sec-api.io", description="SEC EDGAR Filings API", diff --git a/tests/test_apis.py b/tests/test_apis.py new file mode 100644 index 0000000..0518cf9 --- /dev/null +++ b/tests/test_apis.py @@ -0,0 +1,653 @@ +import os +import sys + +# Add parent directory to path so we can import the local sec_api package +sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..")) + +# Load API key from .env file in project root +env_path = os.path.join(os.path.dirname(__file__), "..", ".env") +api_key = "" +if os.path.exists(env_path): + with open(env_path) as f: + for line in f: + if line.startswith("SEC_API_IO_API_KEY="): + api_key = line.split("=", 1)[1].strip() + break + +if not api_key: + api_key = os.environ.get("SEC_API_IO_API_KEY", "") + +if not api_key: + print("No API key found. Set SEC_API_IO_API_KEY in .env or environment.") + sys.exit(1) + +from sec_api import ( + QueryApi, + FullTextSearchApi, + RenderApi, + DownloadApi, + XbrlApi, + ExtractorApi, + MappingApi, + InsiderTradingApi, + Form144Api, + Form13FHoldingsApi, + Form13FCoverPagesApi, + Form13DGApi, + FormNportApi, + FormNcenApi, + FormNPXApi, + Form_S1_424B4_Api, + FormDApi, + FormCApi, + RegASearchAllApi, + Form_8K_Item_X_Api, + FormAdvApi, + ExecCompApi, + DirectorsBoardMembersApi, + FloatApi, + SubsidiaryApi, + SecEnforcementActionsApi, + SecLitigationsApi, + SecAdministrativeProceedingsApi, + AaerApi, + SroFilingsApi, + EdgarEntitiesApi, + AuditFeesApi, + EdgarIndexApi, +) + +passed = 0 +failed = 0 + + +def test(name, fn): + global passed, failed + try: + fn() + passed += 1 + print(f" \u2705 {name}") + except Exception as err: + failed += 1 + print(f" \u274c {name}") + print(f" {err}") + + +# ── Query API ────────────────────────────────────────────── + +print("\nQuery API") +queryApi = QueryApi(api_key=api_key) + +def test_query_api(): + result = queryApi.get_filings({ + "query": 'formType:"10-Q" AND ticker:AAPL', + "from": "0", + "size": "1", + "sort": [{"filedAt": {"order": "desc"}}], + }) + assert result["filings"] and len(result["filings"]) > 0, "No filings returned" + +test("get_filings returns results", test_query_api) + + +# ── Full-Text Search API ────────────────────────────────── + +print("\nFull-Text Search API") +fullTextSearchApi = FullTextSearchApi(api_key=api_key) + +def test_full_text_search(): + result = fullTextSearchApi.get_filings({ + "query": '"LPCN 1154"', + "formTypes": ["8-K", "10-Q"], + "startDate": "2021-01-01", + "endDate": "2021-06-14", + }) + assert result["filings"] and len(result["filings"]) > 0, "No filings returned" + +test("get_filings returns results", test_full_text_search) + + +# ── Download API ────────────────────────────────────────── + +print("\nDownload API") +downloadApi = DownloadApi(api_key=api_key) + +def test_download_api(): + content = downloadApi.get_file( + "https://www.sec.gov/Archives/edgar/data/1318605/000162828025045968/tsla-20250930.htm" + ) + assert isinstance(content, str), "Expected string content" + assert len(content) > 1000, "Content too short" + +test("get_file downloads filing content", test_download_api) + + +# ── XBRL-to-JSON API ───────────────────────────────────── + +print("\nXBRL-to-JSON API") +xbrlApi = XbrlApi(api_key=api_key) + +def test_xbrl_api(): + result = xbrlApi.xbrl_to_json(accession_no="0000320193-20-000096") + assert "CoverPage" in result, "Missing CoverPage" + assert "StatementsOfIncome" in result, "Missing StatementsOfIncome" + +test("xbrl_to_json converts by accession number", test_xbrl_api) + + +# ── Extractor API ───────────────────────────────────────── + +print("\nExtractor API") +extractorApi = ExtractorApi(api_key=api_key) + +def test_extractor_api(): + text = extractorApi.get_section( + "https://www.sec.gov/Archives/edgar/data/1318605/000156459021004599/tsla-10k_20201231.htm", + "1A", + "text", + ) + assert isinstance(text, str), "Expected string" + assert len(text) > 100, "Section text too short" + +test("get_section extracts 10-K section", test_extractor_api) + + +# ── Mapping API ─────────────────────────────────────────── + +print("\nMapping API") +mappingApi = MappingApi(api_key=api_key) + +def test_mapping_api(): + result = mappingApi.resolve("ticker", "TSLA") + assert isinstance(result, list), "Expected list" + assert len(result) > 0, "No results" + assert result[0]["ticker"] == "TSLA", "Wrong ticker" + +test("resolve ticker returns company data", test_mapping_api) + + +# ── Insider Trading API ─────────────────────────────────── + +print("\nInsider Trading API") +insiderTradingApi = InsiderTradingApi(api_key=api_key) + +def test_insider_trading(): + result = insiderTradingApi.get_data({ + "query": "issuer.tradingSymbol:TSLA", + "from": "0", + "size": "1", + "sort": [{"filedAt": {"order": "desc"}}], + }) + assert result["transactions"] and len(result["transactions"]) > 0, "No transactions returned" + +test("get_data returns insider transactions", test_insider_trading) + + +# ── Form 144 API ────────────────────────────────────────── + +print("\nForm 144 API") +form144Api = Form144Api(api_key=api_key) + +def test_form144(): + result = form144Api.get_data({ + "query": "entities.ticker:TSLA", + "from": "0", + "size": "1", + "sort": [{"filedAt": {"order": "desc"}}], + }) + assert "data" in result, "No data property" + +test("get_data returns Form 144 filings", test_form144) + + +# ── Form 13F Holdings API ──────────────────────────────── + +print("\nForm 13F Holdings API") +form13FHoldingsApi = Form13FHoldingsApi(api_key=api_key) + +def test_form13f_holdings(): + result = form13FHoldingsApi.get_data({ + "query": "cik:1067983", + "from": "0", + "size": "1", + "sort": [{"filedAt": {"order": "desc"}}], + }) + assert result["data"] and len(result["data"]) > 0, "No data returned" + +test("get_data returns 13F holdings", test_form13f_holdings) + + +# ── Form 13F Cover Pages API ───────────────────────────── + +print("\nForm 13F Cover Pages API") +form13FCoverPagesApi = Form13FCoverPagesApi(api_key=api_key) + +def test_form13f_cover_pages(): + result = form13FCoverPagesApi.get_data({ + "query": "cik:1067983", + "from": "0", + "size": "1", + "sort": [{"filedAt": {"order": "desc"}}], + }) + assert result["data"] and len(result["data"]) > 0, "No data returned" + +test("get_data returns 13F cover pages", test_form13f_cover_pages) + + +# ── Form 13D/13G API ───────────────────────────────────── + +print("\nForm 13D/13G API") +form13DGApi = Form13DGApi(api_key=api_key) + +def test_form13dg(): + result = form13DGApi.get_data({ + "query": "accessionNo:*", + "from": "0", + "size": "1", + "sort": [{"filedAt": {"order": "desc"}}], + }) + assert "filings" in result, "No filings property" + +test("get_data returns 13D/13G filings", test_form13dg) + + +# ── Form N-PORT API ─────────────────────────────────────── + +print("\nForm N-PORT API") +nportApi = FormNportApi(api_key=api_key) + +def test_nport(): + result = nportApi.get_data({ + "query": "fundInfo.totAssets:[100000000 TO *]", + "from": "0", + "size": "1", + "sort": [{"filedAt": {"order": "desc"}}], + }) + assert result["filings"] and len(result["filings"]) > 0, "No filings returned" + +test("get_data returns N-PORT filings", test_nport) + + +# ── Form N-CEN API ──────────────────────────────────────── + +print("\nForm N-CEN API") +formNcenApi = FormNcenApi(api_key=api_key) + +def test_ncen(): + result = formNcenApi.get_data({ + "query": "accessionNo:*", + "from": "0", + "size": "1", + "sort": [{"filedAt": {"order": "desc"}}], + }) + assert "data" in result, "No data property" + +test("get_data returns N-CEN filings", test_ncen) + + +# ── Form N-PX API ───────────────────────────────────────── + +print("\nForm N-PX API") +formNpxApi = FormNPXApi(api_key=api_key) + +def test_npx_metadata(): + result = formNpxApi.get_metadata({ + "query": "cik:884546", + "from": "0", + "size": "1", + "sort": [{"filedAt": {"order": "desc"}}], + }) + assert "data" in result, "No data property" + +test("get_metadata returns N-PX metadata", test_npx_metadata) + + +# ── Form S-1/424B4 API ─────────────────────────────────── + +print("\nForm S-1/424B4 API") +formS1Api = Form_S1_424B4_Api(api_key=api_key) + +def test_form_s1(): + result = formS1Api.get_data({ + "query": "ticker:RIVN", + "from": "0", + "size": "1", + "sort": [{"filedAt": {"order": "desc"}}], + }) + assert "data" in result, "No data property" + +test("get_data returns S-1 filings", test_form_s1) + + +# ── Form D API ──────────────────────────────────────────── + +print("\nForm D API") +formDApi = FormDApi(api_key=api_key) + +def test_form_d(): + result = formDApi.get_data({ + "query": "offeringData.offeringSalesAmounts.totalOfferingAmount:[1000000 TO *]", + "from": "0", + "size": "1", + "sort": [{"filedAt": {"order": "desc"}}], + }) + assert "offerings" in result, "No offerings property" + +test("get_data returns Form D filings", test_form_d) + + +# ── Form C API ──────────────────────────────────────────── + +print("\nForm C API") +formCApi = FormCApi(api_key=api_key) + +def test_form_c(): + result = formCApi.get_data({ + "query": "id:*", + "from": "0", + "size": "1", + "sort": [{"filedAt": {"order": "desc"}}], + }) + assert "data" in result, "No data property" + +test("get_data returns Form C filings", test_form_c) + + +# ── Reg A Search API ────────────────────────────────────── + +print("\nReg A Search API") +regASearchAllApi = RegASearchAllApi(api_key=api_key) + +def test_reg_a(): + result = regASearchAllApi.get_data({ + "query": "filedAt:[2024-01-01 TO 2024-12-31]", + "from": "0", + "size": "1", + "sort": [{"filedAt": {"order": "desc"}}], + }) + assert "data" in result, "No data property" + +test("get_data returns Reg A filings", test_reg_a) + + +# ── Form 8-K API ────────────────────────────────────────── + +print("\nForm 8-K API") +form8KApi = Form_8K_Item_X_Api(api_key=api_key) + +def test_form_8k(): + result = form8KApi.get_data({ + "query": "item4_01:* AND filedAt:[2024-01-01 TO 2024-12-31]", + "from": "0", + "size": "1", + "sort": [{"filedAt": {"order": "desc"}}], + }) + assert "data" in result, "No data property" + +test("get_data returns 8-K filings", test_form_8k) + + +# ── Form ADV API ────────────────────────────────────────── + +print("\nForm ADV API") +formAdvApi = FormAdvApi(api_key=api_key) + +def test_adv_firms(): + result = formAdvApi.get_firms({ + "query": 'Info.BusNm:"Bridgewater"', + "from": "0", + "size": "1", + "sort": [{"Info.FirmCrdNb": {"order": "desc"}}], + }) + assert result["filings"] and len(result["filings"]) > 0, "No filings returned" + +test("get_firms returns advisory firms", test_adv_firms) + +def test_adv_individuals(): + result = formAdvApi.get_individuals({ + "query": "CrntEmps.CrntEmp.orgPK:149777", + "from": "0", + "size": "1", + "sort": [{"id": {"order": "desc"}}], + }) + assert result["filings"] and len(result["filings"]) > 0, "No filings returned" + +test("get_individuals returns individual advisors", test_adv_individuals) + +def test_adv_direct_owners(): + result = formAdvApi.get_direct_owners(crd="361") + assert isinstance(result, list) and len(result) > 0, "No direct owners returned" + +test("get_direct_owners returns Schedule A data", test_adv_direct_owners) + +def test_adv_indirect_owners(): + result = formAdvApi.get_indirect_owners(crd="149777") + assert isinstance(result, list) and len(result) > 0, "No indirect owners returned" + +test("get_indirect_owners returns Schedule B data", test_adv_indirect_owners) + +def test_adv_private_funds(): + result = formAdvApi.get_private_funds(crd="793") + assert isinstance(result, list) and len(result) > 0, "No private funds returned" + +test("get_private_funds returns Schedule D 7.B.1 data", test_adv_private_funds) + +def test_adv_brochures(): + result = formAdvApi.get_brochures(149777) + assert result["brochures"] and len(result["brochures"]) > 0, "No brochures returned" + +test("get_brochures returns brochure data", test_adv_brochures) + +def test_adv_other_business_names(): + result = formAdvApi.get_other_business_names(crd="149777") + assert isinstance(result, list) and len(result) > 0, "No other business names returned" + +test("get_other_business_names returns Schedule D 1.B data", test_adv_other_business_names) + +def test_adv_separately_managed_accounts(): + result = formAdvApi.get_separately_managed_accounts(crd="149777") + assert result, "No separately managed accounts data returned" + +test("get_separately_managed_accounts returns Schedule D 5.K data", test_adv_separately_managed_accounts) + +def test_adv_financial_industry_affiliations(): + result = formAdvApi.get_financial_industry_affiliations(crd="149777") + assert isinstance(result, list) and len(result) > 0, "No financial industry affiliations returned" + +test("get_financial_industry_affiliations returns Schedule D 7.A data", test_adv_financial_industry_affiliations) + + +# ── Executive Compensation API ──────────────────────────── + +print("\nExecutive Compensation API") +execCompApi = ExecCompApi(api_key=api_key) + +def test_exec_comp(): + result = execCompApi.get_data("TSLA") + assert isinstance(result, list), "Expected list" + assert len(result) > 0, "No results" + +test("get_data by ticker returns compensation data", test_exec_comp) + + +# ── Directors & Board Members API ───────────────────────── + +print("\nDirectors & Board Members API") +directorsBoardMembersApi = DirectorsBoardMembersApi(api_key=api_key) + +def test_directors(): + result = directorsBoardMembersApi.get_data({ + "query": "ticker:AAPL", + "from": "0", + "size": "1", + "sort": [{"filedAt": {"order": "desc"}}], + }) + assert "data" in result, "No data property" + +test("get_data returns directors data", test_directors) + + +# ── Float API ───────────────────────────────────────────── + +print("\nFloat API") +floatApi = FloatApi(api_key=api_key) + +def test_float(): + result = floatApi.get_float(ticker="AAPL") + assert result and "data" in result, "No data returned" + +test("get_float returns share data", test_float) + + +# ── Subsidiary API ──────────────────────────────────────── + +print("\nSubsidiary API") +subsidiaryApi = SubsidiaryApi(api_key=api_key) + +def test_subsidiary(): + result = subsidiaryApi.get_data({ + "query": "ticker:AAPL", + "from": "0", + "size": "1", + "sort": [{"filedAt": {"order": "desc"}}], + }) + assert "data" in result, "No data property" + +test("get_data returns subsidiary data", test_subsidiary) + + +# ── SEC Enforcement Actions API ─────────────────────────── + +print("\nSEC Enforcement Actions API") +enforcementActionsApi = SecEnforcementActionsApi(api_key=api_key) + +def test_enforcement(): + result = enforcementActionsApi.get_data({ + "query": "releasedAt:[2024-01-01 TO 2024-12-31]", + "from": "0", + "size": "1", + "sort": [{"releasedAt": {"order": "desc"}}], + }) + assert result["data"] and len(result["data"]) > 0, "No data returned" + +test("get_data returns enforcement actions", test_enforcement) + + +# ── SEC Litigation Releases API ─────────────────────────── + +print("\nSEC Litigation Releases API") +secLitigationsApi = SecLitigationsApi(api_key=api_key) + +def test_litigations(): + result = secLitigationsApi.get_data({ + "query": "releasedAt:[2024-01-01 TO 2024-12-31]", + "from": "0", + "size": "1", + "sort": [{"releasedAt": {"order": "desc"}}], + }) + assert result["data"] and len(result["data"]) > 0, "No data returned" + +test("get_data returns litigation releases", test_litigations) + + +# ── SEC Administrative Proceedings API ──────────────────── + +print("\nSEC Administrative Proceedings API") +adminProceedingsApi = SecAdministrativeProceedingsApi(api_key=api_key) + +def test_admin_proceedings(): + result = adminProceedingsApi.get_data({ + "query": "releasedAt:[2024-01-01 TO 2024-12-31]", + "from": "0", + "size": "1", + "sort": [{"releasedAt": {"order": "desc"}}], + }) + assert result["data"] and len(result["data"]) > 0, "No data returned" + +test("get_data returns admin proceedings", test_admin_proceedings) + + +# ── AAER API ────────────────────────────────────────────── + +print("\nAAER API") +aaerApi = AaerApi(api_key=api_key) + +def test_aaer(): + result = aaerApi.get_data({ + "query": "dateTime:[2020-01-01 TO 2024-12-31]", + "from": "0", + "size": "1", + "sort": [{"dateTime": {"order": "desc"}}], + }) + assert result["data"] and len(result["data"]) > 0, "No data returned" + +test("get_data returns AAERs", test_aaer) + + +# ── SRO Filings API ────────────────────────────────────── + +print("\nSRO Filings API") +sroFilingsApi = SroFilingsApi(api_key=api_key) + +def test_sro(): + result = sroFilingsApi.get_data({ + "query": "sro:NYSE", + "from": "0", + "size": "1", + "sort": [{"issueDate": {"order": "desc"}}], + }) + assert result["data"] and len(result["data"]) > 0, "No data returned" + +test("get_data returns SRO filings", test_sro) + + +# ── EDGAR Entities API ──────────────────────────────────── + +print("\nEDGAR Entities API") +edgarEntitiesApi = EdgarEntitiesApi(api_key=api_key) + +def test_edgar_entities(): + result = edgarEntitiesApi.get_data({ + "query": 'name:"Tesla"', + "from": "0", + "size": "1", + "sort": [{"cikUpdatedAt": {"order": "desc"}}], + }) + assert result["data"] and len(result["data"]) > 0, "No data returned" + +test("get_data returns entities", test_edgar_entities) + + +# ── Audit Fees API ──────────────────────────────────────── + +print("\nAudit Fees API") +auditFeesApi = AuditFeesApi(api_key=api_key) + +def test_audit_fees(): + result = auditFeesApi.get_data({ + "query": "cik:1318605", + "from": "0", + "size": "1", + "sort": [{"filedAt": {"order": "desc"}}], + }) + assert "data" in result, "No data property" + +test("get_data returns audit fees", test_audit_fees) + + +# ── EDGAR Index Ingestion Log API ───────────────────────── + +print("\nEDGAR Index Ingestion Log API") +edgarIndexApi = EdgarIndexApi(api_key=api_key) + +def test_edgar_index(): + result = edgarIndexApi.get_ingestion_log("2025-12-02") + assert result["data"] and len(result["data"]) > 0, "No data returned" + +test("get_ingestion_log returns filings for a date", test_edgar_index) + + +# ── Summary ─────────────────────────────────────────────── + +print(f"\n{passed + failed} tests, {passed} passed, {failed} failed\n") +sys.exit(1 if failed > 0 else 0) From d376d8b93d2ac43eb89ef55fbe504fa57bacfc91 Mon Sep 17 00:00:00 2001 From: janlukasschroeder Date: Thu, 9 Apr 2026 07:46:14 -0400 Subject: [PATCH 17/20] Add Datasets class, DownloadApi, and bulk dataset download/sync support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add Datasets class with get_all(), get_dataset_details(), show_all(), show_dataset_details(), download(), and sync() methods - Downloads are atomic (.tmp + rename) with incremental sync support — only new or updated containers are re-downloaded based on file size - Helpful error on misspelled dataset names listing all available datasets - Add DownloadApi class (alias for RenderApi, backward compatible) - Update filing download endpoint to edgar-mirror.sec-api.io - Add Quick Start section, Bulk Datasets docs with download/sync examples - Add tests for Datasets, DownloadApi (42 tests total) --- .gitignore | 3 +- README.md | 181 ++++++++++++++++++++++++++++++++++++++++++- sec_api/__init__.py | 3 + sec_api/index.py | 182 ++++++++++++++++++++++++++++++++++++++++++++ setup.py | 2 +- tests/test_apis.py | 23 ++++++ 6 files changed, 388 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 1c8cd11..fa07b4a 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,5 @@ sec_api/__pycache__ requirements.txt tmp .superseded -TODO.md \ No newline at end of file +TODO.md +.claude \ No newline at end of file diff --git a/README.md b/README.md index 1d9dfce..e5d42cc 100644 --- a/README.md +++ b/README.md @@ -499,9 +499,9 @@ Variants such as `ConsolidatedStatementsofOperations` or `ConsolidatedStatements There are 3 ways to convert XBRL to JSON: - `htm_url`: Provide the URL of the filing ending with `.htm`. - Example URL: https://www.sec.gov/Archives/edgar/data/1318605/000156459021004599/tsla-10k_20201231.htm + Example URL: [sec.gov/.../tsla-10k_20201231.htm](https://www.sec.gov/Archives/edgar/data/1318605/000156459021004599/tsla-10k_20201231.htm) - `xbrl_url`: Provide the URL of the XBRL file ending with `.xml`. The XBRL file URL can be found in the `dataFiles` array returned by our query API. The array item has the description `EXTRACTED XBRL INSTANCE DOCUMENT` or similar. - Example URL: https://www.sec.gov/Archives/edgar/data/1318605/000156459021004599/tsla-10k_20201231_htm.xml + Example URL: [sec.gov/.../tsla-10k_20201231_htm.xml](https://www.sec.gov/Archives/edgar/data/1318605/000156459021004599/tsla-10k_20201231_htm.xml) - `accession_no`: Provide the accession number of the filing, e.g. `0001564590-21-004599` ```python @@ -775,14 +775,187 @@ Download complete datasets for offline analysis and large-scale processing. All | Form 10-Q - Quarterly Reports | 10-Q, 10-Q/A | 1993-present | ZIP (HTML, TXT) | | Form 8-K Exhibit 99 - Press Releases | 8-K, 8-K/A | 1994-present | ZIP (HTML, TXT, PDF) | | Earnings Results (Item 2.02) | 8-K, 8-K/A | 2004-present | ZIP (HTML, TXT, PDF) | -| Form 3 - Initial Ownership | 3, 3/A | 2009-present | JSONL | | Form 4 - Changes in Ownership | 4, 4/A | 2009-present | JSONL | -| Form 5 - Annual Ownership | 5, 5/A | 2009-present | JSONL | | Form 13F - Institutional Holdings | 13F-HR, 13F-HR/A | 2013-present | JSONL | | Form N-PORT - Fund Holdings | NPORT, NPORT/A | 2019-present | JSONL | | Form DEF 14A - Proxy Statements | DEF 14A | 1994-present | ZIP (HTML, TXT) | | [View all datasets...](https://sec-api.io/datasets) | | | | +### Download a Dataset + +Downloads are atomic (written to a `.tmp` file first, renamed on completion), so interrupted downloads are automatically resumed on the next run. Only new or updated files are downloaded — existing files are skipped if their size matches the remote. This makes it easy to keep a local copy of any dataset in sync with a single line of code. + +```python +from sec_api import Datasets + +datasets = Datasets(api_key="YOUR_API_KEY") + +# first run: downloads all containers to ./sec-api-datasets/form-10k-content/ +datasets.download("form-10k-content") + +# subsequent runs: only downloads new or updated containers, skips the rest +datasets.sync("form-10k-content") + +# specify a custom directory +datasets.download("form-10k-content", path="./my-data/form-10k-content") +``` + +Alternatively, download the entire dataset as a single ZIP file: + +```python +datasets.download("form-10k-content", strategy="zip") +``` + +Set up a daily cron job or scheduled task to keep your local dataset up to date: + +```python +# sync.py - run daily via cron, e.g.: 0 6 * * * python sync.py +from sec_api import Datasets + +datasets = Datasets(api_key="YOUR_API_KEY") +datasets.sync("form-10k-content", path="./my-data/form-10k-content") +``` + +### List Available Datasets + +```python +from sec_api import Datasets + +datasets = Datasets() + +# no API key required - returns raw JSON list +all_datasets = datasets.get_all() +``` + +
+ Example Response (shortened) + +```json +[ + { + "datasetId": "1f11ba9b-e03a-6950-a464-a23fcc53ee6f", + "datasetIdInUrl": "audit-fees", + "name": "Audit Fees", + "description": "Structured dataset of annual audit fees extracted from SEC filings...", + "formTypes": ["DEF 14A"], + "containerFormat": ".jsonl.gz", + "fileTypes": ["JSONL"], + "updatedAt": "2026-04-09T05:00:01.000Z", + "earliestSampleDate": "2001-03-01", + "totalRecords": null, + "totalSize": 9792910 + }, + { + "datasetId": "1f12abbc-262c-65a0-8b3e-1288c41dcc76", + "datasetIdInUrl": "earnings-results-form-8-k-item-2-02", + "name": "Earnings Results - Form 8-K, Item 2.02 (2004-Present)", + "description": "The Form 8-K Item 2.02 Results Dataset contains all disclosures filed on EDGAR...", + "formTypes": ["8-K", "8-K/A"], + "containerFormat": "ZIP", + "fileTypes": ["HTML", "JSON", "TXT", "GIF", "JPG", "PDF"], + "updatedAt": "2026-04-09T07:07:44.885Z", + "earliestSampleDate": "2004-08-01", + "totalRecords": 2242018, + "totalSize": 154607640756 + } +] +``` + +
+ +
+ +Or use `show_all()` for formatted terminal output: + +```python +datasets.show_all() +``` + +``` + ID Name Format Size + ────────────────────────────────────────────────── ─────────────────────────────────────────────────────── ────────── ──────────── + audit-fees Audit Fees .jsonl.gz 9.8 MB + earnings-results-form-8-k-item-2-02 Earnings Results - Form 8-K, Item 2.02 (2004-Present) ZIP 154.6 GB + form-10k-content Form 10-K - Annual Reports - Filing Contents ZIP 33.8 GB + form-4 Form 4 – Statement of Changes in Beneficial Ownership .jsonl.gz 912.2 MB + ... + + 28 datasets available. Browse all at https://sec-api.io/datasets +``` + +### Get Dataset Details + +```python +# returns raw JSON dict +details = datasets.get_dataset_details("form-10k-content") +``` + +
+ Example Response (shortened) + +```json +{ + "datasetId": "1f11bb55-d58b-6080-bace-e7a62567f4b9", + "datasetDownloadUrl": "https://api.sec-api.io/datasets/form-10k-content.zip", + "name": "Form 10-K - Annual Reports - Filing Contents", + "description": "HTML and TXT files of all Form 10-K filings published since 1993...", + "updatedAt": "2026-04-09T07:07:57.058Z", + "earliestSampleDate": "1993-10-01", + "totalRecords": 303021, + "totalSize": 33809939825, + "formTypes": [ + "10-K", + "10-K/A", + "10-K405", + "10-K405/A", + "10-KSB", + "10-KSB/A", + "10-KT", + "10-KT/A" + ], + "containerFormat": "ZIP", + "fileTypes": ["TXT", "JSON", "HTML", "PAPER"], + "containers": [ + { + "downloadUrl": "https://api.sec-api.io/datasets/form-10k-content/2026/2026-04.zip", + "key": "2026/2026-04.zip", + "size": 15593008, + "records": 167, + "updatedAt": "2026-04-09T07:07:57.058Z" + }, + { + "downloadUrl": "https://api.sec-api.io/datasets/form-10k-content/2026/2026-03.zip", + "key": "2026/2026-03.zip", + "size": 616726590, + "records": 6468, + "updatedAt": "2026-04-02T02:52:01.741Z" + } + ] +} +``` + +
+ +
+ +Or use `show_dataset_details()` for formatted terminal output: + +```python +datasets.show_dataset_details("form-10k-content") +``` + +``` + Name: Form 10-K - Annual Reports - Filing Contents + Description: HTML and TXT files of all Form 10-K filings published since 1993... + Updated: 2026-04-09T07:07:57.058Z + Earliest data: 1993-10-01 + Form types: 10-K, 10-K/A, 10-K405, 10-K405/A, 10-KSB, 10-KSB/A, 10-KT, 10-KT/A + Format: ZIP + Total records: 303,021 + Total size: 33.8 GB + Containers: 390 +``` + ## Form ADV API Search and access Form ADV data for registered investment advisers, including firm information, individual advisors, direct/indirect owners, private fund data, and brochures. diff --git a/sec_api/__init__.py b/sec_api/__init__.py index 14fa0a1..19d454f 100644 --- a/sec_api/__init__.py +++ b/sec_api/__init__.py @@ -58,6 +58,9 @@ # EDGAR Index from sec_api.index import EdgarIndexApi +# Bulk Datasets +from sec_api.index import Datasets + # Other APIs from sec_api.index import EdgarEntitiesApi from sec_api.index import MappingApi diff --git a/sec_api/index.py b/sec_api/index.py index ac0f8fb..510b69e 100644 --- a/sec_api/index.py +++ b/sec_api/index.py @@ -2,6 +2,7 @@ import json import re import time +import os query_api_endpoint = "https://api.sec-api.io" full_text_search_api_endpoint = "https://api.sec-api.io/full-text-search" @@ -52,6 +53,9 @@ edgar_entities_endpoint = "https://api.sec-api.io/edgar-entities" audit_fees_endpoint = "https://api.sec-api.io/audit-fees" edgar_index_ingestion_log_endpoint = "https://api.sec-api.io/edgar-index/ingestion-log" +# +datasets_index_endpoint = "https://api.sec-api.io/bulk/indicies/master/index.json" +datasets_detail_endpoint = "https://api.sec-api.io/datasets" def handle_api_error(response): @@ -1361,3 +1365,181 @@ def get_data(self, query): handle_api_error(response) else: handle_api_error(response) + + +class Datasets: + """ + Download complete SEC EDGAR filing datasets for offline analysis. + Browse available datasets at https://sec-api.io/datasets + """ + + DEFAULT_DOWNLOAD_DIR = "./sec-api-datasets" + + def __init__(self, api_key="", proxies=None): + self.api_key = api_key + self.proxies = proxies if proxies else {} + + def _get_json(self, url): + response = {} + for x in range(3): + response = requests.get(url, proxies=self.proxies) + if response.status_code == 200: + return response.json() + elif response.status_code == 429: + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + def _download_file(self, url, dest_path, expected_size=None): + """Download a file with streaming, retry, and atomic write. + + Writes to a .tmp file first, then renames on completion. + Skips download if dest_path already exists and matches expected_size. + Re-downloads if the remote file size has changed (container updated). + Incomplete .tmp files from prior attempts are re-downloaded. + """ + if os.path.exists(dest_path): + if expected_size is None or os.path.getsize(dest_path) == expected_size: + return dest_path + + tmp_path = dest_path + ".tmp" + token_url = url + ("&" if "?" in url else "?") + "token=" + self.api_key + for x in range(3): + response = requests.get(token_url, stream=True, proxies=self.proxies) + if response.status_code == 200: + dest_dir = os.path.dirname(dest_path) + if dest_dir: + os.makedirs(dest_dir, exist_ok=True) + with open(tmp_path, "wb") as f: + for chunk in response.iter_content(chunk_size=8192): + f.write(chunk) + os.rename(tmp_path, dest_path) + return dest_path + elif response.status_code == 429: + time.sleep(0.5 * (x + 1)) + else: + handle_api_error(response) + else: + handle_api_error(response) + + def get_all(self): + """List all available datasets. Returns the raw JSON list. + + Each item contains: datasetId, datasetIdInUrl, name, description, + formTypes, containerFormat, fileTypes, updatedAt, totalRecords, totalSize. + + No API key required. + """ + return self._get_json(datasets_index_endpoint) + + def show_all(self): + """List all available datasets with formatted output. + + Prints a summary table of all datasets. No API key required. + """ + datasets = self.get_all() + print(f"\n {'ID':<50} {'Name':<55} {'Format':<10} {'Size':>12}") + print(f" {'─' * 50} {'─' * 55} {'─' * 10} {'─' * 12}") + for ds in datasets: + total = ds.get("totalSize") or 0 + if total >= 1_000_000_000: + size_str = f"{total / 1_000_000_000:.1f} GB" + else: + size_str = f"{total / 1_000_000:.1f} MB" + fmt = ds.get("containerFormat", "") + print(f" {ds['datasetIdInUrl']:<50} {ds['name'][:55]:<55} {fmt:<10} {size_str:>12}") + print(f"\n {len(datasets)} datasets available. Browse all at https://sec-api.io/datasets\n") + return datasets + + def get_dataset_details(self, name): + """Get details about a dataset. Returns the raw JSON dict. + + Args: + name: Dataset name (datasetIdInUrl), e.g. "audit-fees". + + Returns a dict with datasetId, name, description, containers, etc. + + No API key required. + """ + url = datasets_detail_endpoint + "/" + name + ".json" + try: + return self._get_json(url) + except Exception: + available = [ds["datasetIdInUrl"] for ds in self.get_all()] + raise Exception( + f'Dataset "{name}" not found. ' + f"Available datasets: {', '.join(available)}" + ) + + def show_dataset_details(self, name): + """Get details about a dataset with formatted output. + + Args: + name: Dataset name (datasetIdInUrl), e.g. "audit-fees". + + No API key required. + """ + ds = self.get_dataset_details(name) + size_mb = (ds.get("totalSize") or 0) / 1_000_000 + print(f" Name: {ds['name']}") + print(f" Description: {ds.get('description', '')[:100]}...") + print(f" Updated: {ds.get('updatedAt', 'N/A')}") + print(f" Earliest data: {ds.get('earliestSampleDate', 'N/A')}") + print(f" Form types: {', '.join(ds.get('formTypes', []))}") + print(f" Format: {ds.get('containerFormat', 'N/A')}") + records = ds.get("totalRecords") + print(f" Total records: {records:,}" if records else " Total records: N/A") + print(f" Total size: {size_mb:.1f} MB") + print(f" Containers: {len(ds.get('containers', []))}") + return ds + + def download(self, name, path=None, strategy="containers"): + """Download a dataset. + + Downloads are atomic (written to .tmp, renamed on completion). + On subsequent runs, only new or updated files are downloaded — + existing files are skipped if their size matches the remote. + + Args: + name: Dataset name (datasetIdInUrl), e.g. "form-10k-content". + path: Directory to save files to. Defaults to ./sec-api-datasets/{name} + for containers, or ./sec-api-datasets for zip. + strategy: "containers" (default) downloads individual container files, + allowing resumable and incremental syncs. + "zip" downloads the entire dataset as a single ZIP file. + + Returns a list of downloaded file paths (containers) or a single + path string (zip). + """ + dataset = self.get_dataset_details(name) + + if strategy == "zip": + if path is None: + path = self.DEFAULT_DOWNLOAD_DIR + url = dataset["datasetDownloadUrl"] + dest = os.path.join(path, name + ".zip") + return self._download_file(url, dest, expected_size=dataset.get("totalSize")) + + if path is None: + path = os.path.join(self.DEFAULT_DOWNLOAD_DIR, name) + + containers = dataset.get("containers", []) + downloaded = [] + + for container in containers: + url = container["downloadUrl"] + dest = os.path.join(path, container["key"]) + self._download_file(url, dest, expected_size=container.get("size")) + downloaded.append(dest) + + return downloaded + + def sync(self, name, path=None, strategy="containers"): + """Sync a local copy of a dataset with the remote. + + Alias for download(). Downloads new and updated files, + skips files that are already up to date. + """ + return self.download(name, path=path, strategy=strategy) diff --git a/setup.py b/setup.py index 2314adc..9417eb3 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setup( name="sec-api", - version="1.0.33", + version="1.0.34", author="SEC API", author_email="support@sec-api.io", description="SEC EDGAR Filings API", diff --git a/tests/test_apis.py b/tests/test_apis.py index 0518cf9..09baf56 100644 --- a/tests/test_apis.py +++ b/tests/test_apis.py @@ -55,6 +55,7 @@ EdgarEntitiesApi, AuditFeesApi, EdgarIndexApi, + Datasets, ) passed = 0 @@ -647,6 +648,28 @@ def test_edgar_index(): test("get_ingestion_log returns filings for a date", test_edgar_index) +# ── Datasets API ────────────────────────────────────────── + +print("\nDatasets API") +datasets = Datasets(api_key=api_key) + +def test_datasets_get_all(): + result = datasets.get_all() + assert isinstance(result, list), "Expected list" + assert len(result) > 0, "No datasets returned" + assert "datasetIdInUrl" in result[0], "Missing datasetIdInUrl" + +test("get_all returns available datasets", test_datasets_get_all) + +def test_datasets_get_details(): + result = datasets.get_dataset_details("audit-fees") + assert "datasetId" in result, "Missing datasetId" + assert "containers" in result, "Missing containers" + assert len(result["containers"]) > 0, "No containers" + +test("get_dataset_details returns dataset details", test_datasets_get_details) + + # ── Summary ─────────────────────────────────────────────── print(f"\n{passed + failed} tests, {passed} passed, {failed} failed\n") From a39ea28c9dbb50d15908ee0b6253f691ff2a8358 Mon Sep 17 00:00:00 2001 From: janlukasschroeder Date: Thu, 9 Apr 2026 08:13:09 -0400 Subject: [PATCH 18/20] Add Datasets download example to Quick Start --- README.md | 15 ++++++++++++++- setup.py | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e5d42cc..0e8d1a5 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,8 @@ The full API documentation is available at [sec-api.io/docs](https://sec-api.io/ pip install sec-api ``` +Get your free API key on [sec-api.io](https://sec-api.io/signup) and replace `YOUR_API_KEY` with it. + **Download EDGAR Filings and Exhibits** ```python @@ -40,7 +42,18 @@ data = downloadApi.get_file(filing_url) print(data[:1000]) ``` -Get your free API key on [sec-api.io](https://sec-api.io/signup) and replace `YOUR_API_KEY` with it. +**Download Entire Datasets of SEC Filings** + +```python +from sec_api import Datasets + +datasets = Datasets(api_key="YOUR_API_KEY") + +# downloads all 10-K filings (1993-present) to ./sec-api-datasets/form-10k-content/YYYY/YYYY-MM.zip +datasets.download("form-10k-content") +# all 13-F institutional holdings +datasets.download("form-13f-holdings") +``` ## Feature Overview diff --git a/setup.py b/setup.py index 9417eb3..6f938c6 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setup( name="sec-api", - version="1.0.34", + version="1.0.35", author="SEC API", author_email="support@sec-api.io", description="SEC EDGAR Filings API", From d1d3e29aa5c8a6313a879d7de60e95984e0df9fe Mon Sep 17 00:00:00 2001 From: janlukasschroeder Date: Mon, 13 Apr 2026 06:15:25 -0400 Subject: [PATCH 19/20] Update README, reorganize examples, update repo URLs - Update README banner and entity/filing descriptions - Move examples.py to examples/scripts/ - Update GitHub project URLs to sec-api-io org --- .gitignore | 3 ++- README.md | 18 +++++------------- examples.py => examples/scripts/examples.py | 0 setup.py | 4 ++-- 4 files changed, 9 insertions(+), 16 deletions(-) rename examples.py => examples/scripts/examples.py (100%) diff --git a/.gitignore b/.gitignore index fa07b4a..36e602a 100644 --- a/.gitignore +++ b/.gitignore @@ -12,4 +12,5 @@ requirements.txt tmp .superseded TODO.md -.claude \ No newline at end of file +.claude +/scripts \ No newline at end of file diff --git a/README.md b/README.md index 0e8d1a5..2c2894e 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,13 @@ - - # SEC-API.io Python Library - - -**The industry-standard for SEC & EDGAR data**, trusted by the world's largest hedge funds, investment banks, exchanges, law firms, and universities. Developed by PhDs in finance and physics. - -
+![banner](https://sec-api.io/v2/media/product/gh-repo-banner-card-1500x400.png) [![Documentation](https://img.shields.io/badge/Documentation-sec--api.io-blue)](https://sec-api.io/docs) [![Downloads](https://pepy.tech/badge/sec-api)](https://pepy.tech/project/sec-api) -- **20+ million EDGAR filings** and **100+ million exhibits** — from investor presentations, credit agreements, M&A, government contracts, and executive employment agreements to board composition and subsidiaries -- **800,000+ entities, survivorship-bias free** — covers every SEC-regulated filer that ever reported, including delisted companies, dissolved funds, terminated advisors, and entities no longer reporting. From insiders and public/private companies to ETFs, mutual funds, hedge funds, foreign private issuers, BDCs, REITs, shell companies, and more -- **All 500+ EDGAR form types** — annual and quarterly reports (10-K, 10-Q, 20-F, 40-F), proxy statements (DEF 14A) and voting records, registration statements and prospectuses, and everything in between, including form types no longer in use -- **Full historical time range** — from 1993 to present, with data updated in real-time +- **20+ million EDGAR filings** and **100+ million exhibits** — from license agreements, investor presentations, and other Reg FD disclosures, over insider trading, credit & bond agreements, bylaws, IPOs, secondaries & shelf offerings, M&A terms, government contracts, audit reports, SEC enforcement actions, AAERs, and executive employment agreements to board composition, subsidiaries, public float and cybersecurity incidents. +- **1.1M+ entities, survivorship-bias free** — covers every SEC-regulated filer that ever reported, including delisted companies, dissolved funds, terminated advisors, and entities no longer reporting. From insiders and public/private companies to financial advisors, ETFs, mutual funds, hedge funds, money-market funds, institutional investors, foreign private issuers, BDCs, REITs, shell companies, brokers, dealers, asset-backed securities issuers, SROs, and more. +- **All 500+ EDGAR form types** — annual and quarterly reports (10-K, 10-Q, 20-F, 40-F), proxy voting statements (DEF 14A, PRE 14) and voting records, registration statements and prospectuses, and everything in between, including form types no longer in use. +- **Full historical time range** — from 1993 to present, with data updated in real-time. The full API documentation is available at [sec-api.io/docs](https://sec-api.io/docs). diff --git a/examples.py b/examples/scripts/examples.py similarity index 100% rename from examples.py rename to examples/scripts/examples.py diff --git a/setup.py b/setup.py index 6f938c6..aabd0de 100644 --- a/setup.py +++ b/setup.py @@ -55,8 +55,8 @@ "10-K/10-Q/8-K Section Extractor API", ], project_urls={ - "Bug Reports": "https://github.com/janlukasschroeder/sec-api-python/issues", - "Repository": "https://github.com/janlukasschroeder/sec-api-python", + "Bug Reports": "https://github.com/sec-api-io/sec-api-python/issues", + "Repository": "https://github.com/sec-api-io/sec-api-python", "Documentation": "https://sec-api.io/docs", }, ) From 891443361734c8f09de96750c679e82bd251936d Mon Sep 17 00:00:00 2001 From: janlukasschroeder Date: Mon, 13 Apr 2026 06:23:26 -0400 Subject: [PATCH 20/20] v1.0.36 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index aabd0de..da66e3c 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setup( name="sec-api", - version="1.0.35", + version="1.0.36", author="SEC API", author_email="support@sec-api.io", description="SEC EDGAR Filings API",