form4api 0.7.0__tar.gz → 0.8.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {form4api-0.7.0/form4api.egg-info → form4api-0.8.0}/PKG-INFO +15 -5
- form4api-0.7.0/PKG-INFO → form4api-0.8.0/README.md +12 -21
- {form4api-0.7.0 → form4api-0.8.0}/form4api/__init__.py +4 -0
- {form4api-0.7.0 → form4api-0.8.0}/form4api/_generated.py +130 -38
- form4api-0.8.0/form4api/_types.py +157 -0
- {form4api-0.7.0 → form4api-0.8.0}/form4api/resources/_insiders.py +2 -2
- {form4api-0.7.0 → form4api-0.8.0}/form4api/resources/_transactions.py +37 -8
- form4api-0.7.0/README.md → form4api-0.8.0/form4api.egg-info/PKG-INFO +31 -2
- {form4api-0.7.0 → form4api-0.8.0}/pyproject.toml +3 -3
- {form4api-0.7.0 → form4api-0.8.0}/tests/test_client.py +60 -0
- form4api-0.7.0/form4api/_types.py +0 -98
- {form4api-0.7.0 → form4api-0.8.0}/LICENSE +0 -0
- {form4api-0.7.0 → form4api-0.8.0}/form4api/_client.py +0 -0
- {form4api-0.7.0 → form4api-0.8.0}/form4api/_errors.py +0 -0
- {form4api-0.7.0 → form4api-0.8.0}/form4api/_webhook_utils.py +0 -0
- {form4api-0.7.0 → form4api-0.8.0}/form4api/resources/__init__.py +0 -0
- {form4api-0.7.0 → form4api-0.8.0}/form4api/resources/_companies.py +0 -0
- {form4api-0.7.0 → form4api-0.8.0}/form4api/resources/_signals.py +0 -0
- {form4api-0.7.0 → form4api-0.8.0}/form4api/resources/_webhooks.py +0 -0
- {form4api-0.7.0 → form4api-0.8.0}/form4api.egg-info/SOURCES.txt +0 -0
- {form4api-0.7.0 → form4api-0.8.0}/form4api.egg-info/dependency_links.txt +0 -0
- {form4api-0.7.0 → form4api-0.8.0}/form4api.egg-info/requires.txt +0 -0
- {form4api-0.7.0 → form4api-0.8.0}/form4api.egg-info/top_level.txt +0 -0
- {form4api-0.7.0 → form4api-0.8.0}/setup.cfg +0 -0
- {form4api-0.7.0 → form4api-0.8.0}/tests/test_generated.py +0 -0
- {form4api-0.7.0 → form4api-0.8.0}/tests/test_method_name.py +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: form4api
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary: Python client for the Form4API — real-time SEC Form 4 insider trading data
|
|
3
|
+
Version: 0.8.0
|
|
4
|
+
Summary: Python client for the Form4API — real-time SEC Form 4 insider trading, Form 144 intent-to-sell, institutional 13F-HR, and congressional STOCK Act trading data, including the insider/Congress convergence signal
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
Project-URL: Homepage, https://www.form4api.com
|
|
7
7
|
Project-URL: Documentation, https://www.form4api.com/docs
|
|
8
8
|
Project-URL: Repository, https://github.com/theodor90/form4api-py.git
|
|
9
|
-
Keywords: insider-trading,sec,sec-edgar,edgar,form-4,form4,form-144,13f,13f-hr,financial-data,stock-market,stocks,fintech,api,sdk,webhooks,form4api
|
|
9
|
+
Keywords: insider-trading,sec,sec-edgar,edgar,form-4,form4,form-144,13f,13f-hr,congress,stock-act,financial-data,stock-market,stocks,fintech,api,sdk,webhooks,form4api
|
|
10
10
|
Requires-Python: >=3.11
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
12
|
License-File: LICENSE
|
|
@@ -19,7 +19,7 @@ Dynamic: license-file
|
|
|
19
19
|
|
|
20
20
|
# form4api
|
|
21
21
|
|
|
22
|
-
Python client for [Form4API](https://www.form4api.com) — real-time SEC Form 4 insider trading data.
|
|
22
|
+
Python client for [Form4API](https://www.form4api.com) — real-time SEC Form 4 insider trading, Form 144 intent-to-sell, institutional 13F-HR, and congressional STOCK Act trading data, including the insider/Congress convergence signal.
|
|
23
23
|
|
|
24
24
|
[](https://pypi.org/project/form4api/)
|
|
25
25
|
[](https://pypi.org/project/form4api/)
|
|
@@ -108,16 +108,21 @@ For LLM workflows, `form4api-mcp` exposes the same endpoints as tools.
|
|
|
108
108
|
|
|
109
109
|
```python
|
|
110
110
|
client.transactions.list(
|
|
111
|
-
ticker="AAPL", # filter by ticker
|
|
111
|
+
ticker="AAPL", # filter by ticker — accepts up to 25 comma-separated symbols
|
|
112
112
|
cik="0000320193", # or by company CIK
|
|
113
113
|
insider_cik="...", # filter by insider CIK
|
|
114
114
|
code="P", # transaction code: P=purchase, S=sale, A=grant, etc.
|
|
115
115
|
from_date="2026-01-01",
|
|
116
116
|
to_date="2026-12-31",
|
|
117
|
+
filed_from="2026-01-01", # filters on Filing.FiledAt (when it hit EDGAR), not the trade date
|
|
118
|
+
filed_to="2026-12-31",
|
|
117
119
|
exclude_10b5=True, # omit trades filed under a Rule 10b5-1 plan
|
|
118
120
|
per_page=100,
|
|
119
121
|
page=1,
|
|
120
122
|
)
|
|
123
|
+
|
|
124
|
+
# Multi-ticker lookup in one call
|
|
125
|
+
client.transactions.list(ticker="AAPL,MSFT,NVDA")
|
|
121
126
|
```
|
|
122
127
|
|
|
123
128
|
### Granular filtering (v0.4.0+)
|
|
@@ -166,6 +171,11 @@ client.transactions.list(min_shares=10_000, max_shares=100_000)
|
|
|
166
171
|
| `is_derivative` | `bool` | Derivative security flag |
|
|
167
172
|
| `transaction_date` | `str` | ISO datetime |
|
|
168
173
|
| `period_of_report` | `str` | ISO datetime |
|
|
174
|
+
| `return1d`/`return1w`/`return1m`/`return3m`/`return6m` | `float \| None` | Forward return since the transaction date, as a fraction (0.109 = +10.9%); `None` until enough time/price data has elapsed |
|
|
175
|
+
| `value_quality` | `str \| None` | Confidence flag on `total_value`'s pricing source |
|
|
176
|
+
| `accepted_at` | `str \| None` | Precise UTC SEC-acceptance instant; `None` if not captured |
|
|
177
|
+
| `document_url` | `str \| None` | Public SEC document URL |
|
|
178
|
+
| `institutional_ownership` | `InstitutionalOwnership \| None` | Latest 13F institutional ownership snapshot for the ticker, when available |
|
|
169
179
|
|
|
170
180
|
### Company fields
|
|
171
181
|
|
|
@@ -1,25 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: form4api
|
|
3
|
-
Version: 0.7.0
|
|
4
|
-
Summary: Python client for the Form4API — real-time SEC Form 4 insider trading data
|
|
5
|
-
License-Expression: MIT
|
|
6
|
-
Project-URL: Homepage, https://www.form4api.com
|
|
7
|
-
Project-URL: Documentation, https://www.form4api.com/docs
|
|
8
|
-
Project-URL: Repository, https://github.com/theodor90/form4api-py.git
|
|
9
|
-
Keywords: insider-trading,sec,sec-edgar,edgar,form-4,form4,form-144,13f,13f-hr,financial-data,stock-market,stocks,fintech,api,sdk,webhooks,form4api
|
|
10
|
-
Requires-Python: >=3.11
|
|
11
|
-
Description-Content-Type: text/markdown
|
|
12
|
-
License-File: LICENSE
|
|
13
|
-
Requires-Dist: httpx>=0.27
|
|
14
|
-
Provides-Extra: dev
|
|
15
|
-
Requires-Dist: pytest>=8; extra == "dev"
|
|
16
|
-
Requires-Dist: pytest-httpx>=0.30; extra == "dev"
|
|
17
|
-
Requires-Dist: respx>=0.21; extra == "dev"
|
|
18
|
-
Dynamic: license-file
|
|
19
|
-
|
|
20
1
|
# form4api
|
|
21
2
|
|
|
22
|
-
Python client for [Form4API](https://www.form4api.com) — real-time SEC Form 4 insider trading data.
|
|
3
|
+
Python client for [Form4API](https://www.form4api.com) — real-time SEC Form 4 insider trading, Form 144 intent-to-sell, institutional 13F-HR, and congressional STOCK Act trading data, including the insider/Congress convergence signal.
|
|
23
4
|
|
|
24
5
|
[](https://pypi.org/project/form4api/)
|
|
25
6
|
[](https://pypi.org/project/form4api/)
|
|
@@ -108,16 +89,21 @@ For LLM workflows, `form4api-mcp` exposes the same endpoints as tools.
|
|
|
108
89
|
|
|
109
90
|
```python
|
|
110
91
|
client.transactions.list(
|
|
111
|
-
ticker="AAPL", # filter by ticker
|
|
92
|
+
ticker="AAPL", # filter by ticker — accepts up to 25 comma-separated symbols
|
|
112
93
|
cik="0000320193", # or by company CIK
|
|
113
94
|
insider_cik="...", # filter by insider CIK
|
|
114
95
|
code="P", # transaction code: P=purchase, S=sale, A=grant, etc.
|
|
115
96
|
from_date="2026-01-01",
|
|
116
97
|
to_date="2026-12-31",
|
|
98
|
+
filed_from="2026-01-01", # filters on Filing.FiledAt (when it hit EDGAR), not the trade date
|
|
99
|
+
filed_to="2026-12-31",
|
|
117
100
|
exclude_10b5=True, # omit trades filed under a Rule 10b5-1 plan
|
|
118
101
|
per_page=100,
|
|
119
102
|
page=1,
|
|
120
103
|
)
|
|
104
|
+
|
|
105
|
+
# Multi-ticker lookup in one call
|
|
106
|
+
client.transactions.list(ticker="AAPL,MSFT,NVDA")
|
|
121
107
|
```
|
|
122
108
|
|
|
123
109
|
### Granular filtering (v0.4.0+)
|
|
@@ -166,6 +152,11 @@ client.transactions.list(min_shares=10_000, max_shares=100_000)
|
|
|
166
152
|
| `is_derivative` | `bool` | Derivative security flag |
|
|
167
153
|
| `transaction_date` | `str` | ISO datetime |
|
|
168
154
|
| `period_of_report` | `str` | ISO datetime |
|
|
155
|
+
| `return1d`/`return1w`/`return1m`/`return3m`/`return6m` | `float \| None` | Forward return since the transaction date, as a fraction (0.109 = +10.9%); `None` until enough time/price data has elapsed |
|
|
156
|
+
| `value_quality` | `str \| None` | Confidence flag on `total_value`'s pricing source |
|
|
157
|
+
| `accepted_at` | `str \| None` | Precise UTC SEC-acceptance instant; `None` if not captured |
|
|
158
|
+
| `document_url` | `str \| None` | Public SEC document URL |
|
|
159
|
+
| `institutional_ownership` | `InstitutionalOwnership \| None` | Latest 13F institutional ownership snapshot for the ticker, when available |
|
|
169
160
|
|
|
170
161
|
### Company fields
|
|
171
162
|
|
|
@@ -11,6 +11,8 @@ from form4api._types import (
|
|
|
11
11
|
Company,
|
|
12
12
|
Insider,
|
|
13
13
|
InsiderSignal,
|
|
14
|
+
InstitutionalOwnership,
|
|
15
|
+
TopHolder,
|
|
14
16
|
Transaction,
|
|
15
17
|
WebhookCreated,
|
|
16
18
|
WebhookEvent,
|
|
@@ -31,6 +33,8 @@ __all__ = [
|
|
|
31
33
|
"Insider",
|
|
32
34
|
"Company",
|
|
33
35
|
"InsiderSignal",
|
|
36
|
+
"InstitutionalOwnership",
|
|
37
|
+
"TopHolder",
|
|
34
38
|
"WebhookCreated",
|
|
35
39
|
"WebhookEvent",
|
|
36
40
|
"WebhookSubscription",
|