This is the Python client for the YNAB API.
Please read the YNAB API documentation for an overview of using the API and a complete list of available resources.
This client is generated using the OpenAPI Generator.
Python 3.8+
First, install the package using pip:
pip install ynab
Then import the package:
import ynab
To use this client, you must obtain an access token from the Account Settings area of the YNAB web application.
import ynab
configuration = ynab.Configuration(
access_token = "b43439eaafe2_this_is_fake_b43439eaafe2"
)
with ynab.ApiClient(configuration) as api_client:
budgets_api = ynab.BudgetsApi(api_client)
budgets_response = budgets_api.get_budgets()
budgets = budgets_response.data.budgets
for budget in budgets:
print(budget.name)
Class | Method | Description |
---|---|---|
UserApi | get_user | User info |
AccountsApi | create_account | Create a new account |
get_account_by_id | Single account | |
get_accounts | Account list | |
BudgetsApi | get_budget_by_id | Single budget |
get_budget_settings_by_id | Budget Settings | |
get_budgets | List budgets | |
CategoriesApi | get_categories | List categories |
get_category_by_id | Single category | |
get_month_category_by_id | Single category for a specific budget month | |
update_category | Update a category | |
update_month_category | Update a category for a specific month | |
MonthsApi | get_budget_month | Single budget month |
get_budget_months | List budget months | |
PayeeLocationsApi | get_payee_location_by_id | Single payee location |
get_payee_locations | List payee locations | |
get_payee_locations_by_payee | List locations for a payee | |
PayeesApi | get_payee_by_id | Single payee |
get_payees | List payees | |
update_payee | Update a payee | |
ScheduledTransactionsApi | create_scheduled_transaction | Create a single scheduled transaction |
get_scheduled_transaction_by_id | Single scheduled transaction | |
get_scheduled_transactions | List scheduled transactions | |
TransactionsApi | create_transaction | Create a single transaction or multiple transactions |
delete_transaction | Deletes an existing transaction | |
get_transaction_by_id | Single transaction | |
get_transactions | List transactions | |
get_transactions_by_account | List account transactions | |
get_transactions_by_category | List category transactions, excluding any pending transactions | |
get_transactions_by_month | List transactions in month, excluding any pending transactions | |
get_transactions_by_payee | List payee transactions, excluding any pending transactions | |
import_transactions | Import transactions | |
update_transaction | Updates an existing transaction | |
update_transactions | Update multiple transactions |
The version of this client is defined in the pyproject.toml
file and follows semantic versioning. 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). 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.
Copyright (c) 2025 You Need A Budget, LLC
Licensed under the Apache-2.0 license