https://github.com/ynab/ynab-sdk-python
Official Python client for the YNAB API
https://github.com/ynab/ynab-sdk-python
api budgeting finance python ynab ynab-api
Last synced: 12 days ago
JSON representation
Official Python client for the YNAB API
- Host: GitHub
- URL: https://github.com/ynab/ynab-sdk-python
- Owner: ynab
- License: apache-2.0
- Created: 2020-05-27T18:09:02.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2026-02-26T21:50:34.000Z (15 days ago)
- Last Synced: 2026-02-27T03:28:45.921Z (14 days ago)
- Topics: api, budgeting, finance, python, ynab, ynab-api
- Language: Python
- Homepage: https://api.ynab.com
- Size: 389 KB
- Stars: 34
- Watchers: 3
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# YNAB API Python Library
[](https://github.com/ynab/ynab-sdk-python/actions/workflows/build-test.yml) [](https://badge.fury.io/py/ynab)
This is the Python client for the YNAB API.
Please read the [YNAB API documentation](https://api.ynab.com) for an
overview of using the API and a complete list of available resources.
This client is generated using the [OpenAPI Generator](https://openapi-generator.tech/).
## Requirements
Python 3.8+
## Installation
First, install the package using pip:
```sh
pip install ynab
```
Then import the package:
```python
import ynab
```
## Usage
To use this client, you must
[obtain an access token](https://api.ynab.com/#authentication) from
the [Account Settings](https://app.ynab.com/settings) area of the YNAB web
application.
```python
import ynab
configuration = ynab.Configuration(
access_token = "b43439eaafe2_this_is_fake_b43439eaafe2"
)
with ynab.ApiClient(configuration) as api_client:
plans_api = ynab.PlansApi(api_client)
plans_response = plans_api.get_plans()
plans = plans_response.data.budgets
for plan in plans:
print(plan.name)
```
## Methods
Class | Method | Description
------------ | ------------- | -------------
**UserApi** | [**get_user**](docs/UserApi.md#get_user) | Get user
**AccountsApi** | [**create_account**](docs/AccountsApi.md#create_account) | Create an account
| [**get_account_by_id**](docs/AccountsApi.md#get_account_by_id) | Get an account
| [**get_accounts**](docs/AccountsApi.md#get_accounts) | Get all accounts
**BudgetsApi** | [**get_plan_by_id**](docs/BudgetsApi.md#get_plan_by_id) | Get a plan
| [**get_plan_settings_by_id**](docs/BudgetsApi.md#get_plan_settings_by_id) | Get plan settings
| [**get_plans**](docs/BudgetsApi.md#get_plans) | Get all plans
**CategoriesApi** | [**create_category**](docs/CategoriesApi.md#create_category) | Create a category
| [**create_category_group**](docs/CategoriesApi.md#create_category_group) | Create a category group
| [**get_categories**](docs/CategoriesApi.md#get_categories) | Get all categories
| [**get_category_by_id**](docs/CategoriesApi.md#get_category_by_id) | Get a category
| [**get_month_category_by_id**](docs/CategoriesApi.md#get_month_category_by_id) | Get a category for a specific plan month
| [**update_category**](docs/CategoriesApi.md#update_category) | Update a category
| [**update_category_group**](docs/CategoriesApi.md#update_category_group) | Update a category group
| [**update_month_category**](docs/CategoriesApi.md#update_month_category) | Update a category for a specific month
**MonthsApi** | [**get_plan_month**](docs/MonthsApi.md#get_plan_month) | Get a plan month
| [**get_plan_months**](docs/MonthsApi.md#get_plan_months) | Get all plan months
**PayeeLocationsApi** | [**get_payee_location_by_id**](docs/PayeeLocationsApi.md#get_payee_location_by_id) | Get a payee location
| [**get_payee_locations**](docs/PayeeLocationsApi.md#get_payee_locations) | Get all payee locations
| [**get_payee_locations_by_payee**](docs/PayeeLocationsApi.md#get_payee_locations_by_payee) | Get all locations for a payee
**PayeesApi** | [**get_payee_by_id**](docs/PayeesApi.md#get_payee_by_id) | Get a payee
| [**get_payees**](docs/PayeesApi.md#get_payees) | Get all payees
| [**update_payee**](docs/PayeesApi.md#update_payee) | Update a payee
**MoneyMovementsApi** | [**get_money_movement_groups**](docs/MoneyMovementsApi.md#get_money_movement_groups) | Get all money movement groups
| [**get_money_movement_groups_by_month**](docs/MoneyMovementsApi.md#get_money_movement_groups_by_month) | Get money movement groups for a plan month
| [**get_money_movements**](docs/MoneyMovementsApi.md#get_money_movements) | Get all money movements
| [**get_money_movements_by_month**](docs/MoneyMovementsApi.md#get_money_movements_by_month) | Get money movements for a plan month
**TransactionsApi** | [**create_transaction**](docs/TransactionsApi.md#create_transaction) | Create a single transaction or multiple transactions
| [**delete_transaction**](docs/TransactionsApi.md#delete_transaction) | Delete a transaction
| [**get_transaction_by_id**](docs/TransactionsApi.md#get_transaction_by_id) | Get a transaction
| [**get_transactions**](docs/TransactionsApi.md#get_transactions) | Get all transactions
| [**get_transactions_by_account**](docs/TransactionsApi.md#get_transactions_by_account) | Get all account transactions
| [**get_transactions_by_category**](docs/TransactionsApi.md#get_transactions_by_category) | Get all category transactions
| [**get_transactions_by_month**](docs/TransactionsApi.md#get_transactions_by_month) | Get all plan month transactions
| [**get_transactions_by_payee**](docs/TransactionsApi.md#get_transactions_by_payee) | Get all payee transactions
| [**import_transactions**](docs/TransactionsApi.md#import_transactions) | Import transactions
| [**update_transaction**](docs/TransactionsApi.md#update_transaction) | Update a transaction
| [**update_transactions**](docs/TransactionsApi.md#update_transactions) | Update multiple transactions
**ScheduledTransactionsApi** | [**create_scheduled_transaction**](docs/ScheduledTransactionsApi.md#create_scheduled_transaction) | Create a scheduled transaction
| [**delete_scheduled_transaction**](docs/ScheduledTransactionsApi.md#delete_scheduled_transaction) | Delete a scheduled transaction
| [**get_scheduled_transaction_by_id**](docs/ScheduledTransactionsApi.md#get_scheduled_transaction_by_id) | Get a scheduled transaction
| [**get_scheduled_transactions**](docs/ScheduledTransactionsApi.md#get_scheduled_transactions) | Get all scheduled transactions
| [**update_scheduled_transaction**](docs/ScheduledTransactionsApi.md#update_scheduled_transaction) | Update a scheduled transaction
## Versioning
The version of this client is defined in the `pyproject.toml` file and follows [semantic versioning](https://semver.org/). The version of this client is maintained independently and does not align with the the version of YNAB API itself (which is defined in the [OpenAPI spec](https://api.ynab.com/papi/open_api_spec.yaml)). To determine which spec version of the YNAB API was used when generating this client you can refer to the "description" field in the `pyproject.toml` file.
## License
Copyright (c) 2025 YNAB
Licensed under the Apache-2.0 license