What is finra-py?
finra-py is an unofficial, open-source Python client library for the FINRA API Platform. It provides a lightweight, unopinionated Python interface to the FINRA API while preserving direct access to the API’s responses and full functionality for every supported API endpoint and dataset.
The core features include:
OAuth 2.0 authentication, client creation, token management, and custom token storage
Equity, Fixed Income, FINRA, Firm, Registration and TRACE Report Card datasets via the Query API
FINRA notification event datasets via the Notification API
Submission of regulatory filings and other data to FINRA, including creation, validation, submission, updates, and retrieval for Form U4, Form U5, Form BR, Create Individual, Non-Registered Fingerprint, and other supported workflows via the Submission API
Support for all credential types
Support for Mock datasets
Support for the QA Test Environment API
Support for asynchronous requests (server-side)
Support for asyncio (client-side)
Installing finra-py
finra-py requires Python 3.11 or later.
Install the package using pip:
python -m pip install finra-py
Import the package in Python:
import finra
You can find a full description of the finra-py library’s functionality in the documentation.
For detailed instructions on how to get started with finra-py, see Getting Started.
Why use finra-py?
finra-py is FINRA-specific on the way in, and standard HTTPX on the way out.
OAuth 2.0 Authentication: The FINRA API uses OAuth 2.0 for authentication and authorization. Implementing the OAuth 2.0 authentication flow yourself can introduce unnecessary complexity and security risks. finra-py handles token acquisition and lifecycle management for you, with customizable token storage for applications that need to manage credentials in their own storage systems.
Direct API Access: finra-py keeps the client layer deliberately thin. It maps requests to the FINRA API and returns the raw httpx.Response objects directly to you, without imposing a custom response or data model. You get the convenience of a dedicated FINRA client with all of the API’s features, without giving up the control available through direct HTTP requests.
All API Endpoints: The finra-py library is designed to provide thorough coverage of the FINRA API Platform. With this goal in mind, finra-py implements full functionality for every dataset and regulatory filing supported by the FINRA API and described in the documentation. It also provides comprehensive test coverage across Windows, macOS, and Linux.
Limitations
Even though finra-py strives to provide coverage of all documented datasets for the FINRA API, there are some datasets and services available through FINRA that may not be available through their API. See FINRA Data for information about all available FINRA datasets.
finra-py does not currently support FINRA’s fileX API
Help and Development
For troubleshooting guidance and answers to common questions, see the Getting Help page.
Submit bug reports on the finra-py Issues Page on GitHub.
If you need a dataset or feature that is not currently supported by the client, please file a Feature Request. Pull requests are not currently accepted.
FINRA API Consulting
Need help with a custom integration?
As the author and maintainer of finra-py, I provide consulting on FINRA API integrations, Web EFT migrations, compliance-related workflows, and market data systems.
See the consulting page for more information.
Project Links
Disclaimer: finra-py is an unofficial, open-source client library for the FINRA API Platform. It is not endorsed by, affiliated with, or sponsored by FINRA or any associated organization. finra-py does not provide financial advice, investment recommendations, trading strategies, or financial analysis. Users are responsible for reviewing and complying with the terms of service and usage requirements of the underlying FINRA API. This software is provided under the terms of the LICENSE without warranty of any kind.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file finra_py-1.2.0.tar.gz.
File metadata
- Download URL: finra_py-1.2.0.tar.gz
- Upload date:
- Size: 106.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5017be18ede7d2055b2fd530fd546ab0fd189ac65bfe8e0b8df162e39c36f8c7
|
|
| MD5 |
c857147eb3e61e84edb5d18a50ea2d60
|
|
| BLAKE2b-256 |
d19e942fdbb80aa996e44d4beaaa1112c3e6f8f908f1c5cc2f3083fce835336f
|
Provenance
The following attestation bundles were made for finra_py-1.2.0.tar.gz:
Publisher:
release.yml on hawkberry/finra-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
finra_py-1.2.0.tar.gz -
Subject digest:
5017be18ede7d2055b2fd530fd546ab0fd189ac65bfe8e0b8df162e39c36f8c7 - Sigstore transparency entry: 2774949930
- Sigstore integration time:
-
Permalink:
hawkberry/finra-py@c73af2e5c22e9643312fb4ec9e3a3a7d86094b91 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/hawkberry
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c73af2e5c22e9643312fb4ec9e3a3a7d86094b91 -
Trigger Event:
push
-
Statement type:
File details
Details for the file finra_py-1.2.0-py3-none-any.whl.
File metadata
- Download URL: finra_py-1.2.0-py3-none-any.whl
- Upload date:
- Size: 86.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06240ffdfa192db7b6ebbc39a595b5a7088a5da4281297a59b1bb4832fa7e1d7
|
|
| MD5 |
455ed761038e12a2186f63bd7f321d55
|
|
| BLAKE2b-256 |
24b9264156561208508f1c73b237be970932f2b3dd9f605db10068341a552c3c
|
Provenance
The following attestation bundles were made for finra_py-1.2.0-py3-none-any.whl:
Publisher:
release.yml on hawkberry/finra-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
finra_py-1.2.0-py3-none-any.whl -
Subject digest:
06240ffdfa192db7b6ebbc39a595b5a7088a5da4281297a59b1bb4832fa7e1d7 - Sigstore transparency entry: 2774949983
- Sigstore integration time:
-
Permalink:
hawkberry/finra-py@c73af2e5c22e9643312fb4ec9e3a3a7d86094b91 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/hawkberry
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c73af2e5c22e9643312fb4ec9e3a3a7d86094b91 -
Trigger Event:
push
-
Statement type: