plaid-python
Python client library for the Plaid API and Link
What it is and what it does
plaid-python is the official Python client for the Plaid API, a financial data aggregation platform. It wraps Plaid's REST endpoints in a generated Python interface, allowing developers to authenticate users' bank accounts, retrieve transactions, verify identity, and access other financial data through Plaid's infrastructure. The library depends on urllib3, python-dateutil, and nulltype for HTTP requests, date handling, and type support.
The client uses a configuration-based setup where you provide Plaid credentials and environment (Sandbox or Production), then instantiate a PlaidApi object to call endpoints. Responses are returned as dictionaries containing parsed JSON, with errors raised as plaid.ApiException. The library handles datetime objects natively for date fields, requiring timezone-aware datetime objects for fields that accept datetimes. It is actively maintained and updated monthly, though it only supports the latest Plaid API version (2020-09-14).
Use it for:
- Exchange Plaid Link public tokens for access tokens to enable user account linking in fintech applications.
- Retrieve and sync transaction history from connected bank accounts with pagination support.
- Generate and retrieve asset reports for financial verification and lending workflows.
- Remove or manage linked items and access tokens for user account cleanup.
- Verify user identity and retrieve account ownership information for KYC/AML compliance.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Official Python client library for the Plaid API, enabling programmatic access to banking, identity, and financial data through Plaid's endpoints.
Yes, with conditions. Install if you are building a Python application that integrates with Plaid's financial data APIs and can accept the high install friction of a large generated codebase. The library is actively maintained, MIT-licensed, and has no known vulnerabilities. However, verify that your use case aligns with the single supported API version (2020-09-14) and that you have valid Plaid credentials before committing to integration.
Install
plaid-python on PyPI
pip
pip install plaid-pythonuv
uv add plaid-pythonpoetry
poetry add plaid-pythonInstalling plaid-python
Before you install
High install friction due to a large generated codebase (42.0.0 reflects the OpenAPI spec version). Actively maintained with recent releases; last commit 2026-07-24 and active status indicate ongoing support. Requires Python 3.6 or later.
License in practice
MIT license permits commercial and private use with minimal restrictions, making it suitable for production applications.
Quickstart
pip install plaid-python
import plaid
from plaid.api import plaid_api
configuration = plaid.Configuration(
host=plaid.Environment.Sandbox,
api_key={'clientId': client_id, 'secret': secret}
)
api_client = plaid.ApiClient(configuration)
client = plaid_api.PlaidApi(api_client)
response = client.transactions_sync(request)
Requires valid Plaid API credentials (client ID and secret) and network access to Plaid endpoints.
Verify before relying
- Whether the high install friction (large generated codebase) impacts runtime performance or memory footprint in resource-constrained environments.
- Compatibility with async/await patterns or whether the library is synchronous-only.
- Support for Plaid API versions beyond 2020-09-14 and migration path for older integrations.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | high — source build required |
| Runtime dependencies | 3 — urllib3, python-dateutil, nulltype |
| Maintenance | actively maintained — 21 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,174,719/month — #3,230 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: plaid_python-42.0.0.tar.gz
Keywords: api, client, plaid
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
webflowA Python client library for the Webflow Data…
permissive · top 15,000 on PyPI
auth0-pythonProvides Python bindings to Auth0's…
permissive · top 5,000 on PyPI
auth0-api-pythonVerifies Auth0-issued access tokens and secures…
permissive · top 15,000 on PyPI
onfido-pythonOfficial Python client library for the Onfido…
permissive · top 5,000 on PyPI
oneloginOfficial Python SDK for OneLogin's API,…
unclear · top 15,000 on PyPI
method-pythonPython client library for the Method API,…
permissive · top 15,000 on PyPI
python-keycloakProvides Python bindings to the Keycloak API,…
permissive · top 5,000 on PyPI
python-youtubeA Python wrapper for the YouTube Data API V3…
permissive · top 15,000 on PyPI
cdp-sdkPython client library for the Coinbase…
permissive · top 15,000 on PyPI
streamlit-msalAdds Microsoft Authentication Library (MSAL)…
unclear · top 15,000 on PyPI