Skip to content

ynab/ynab-sdk-python

Repository files navigation

YNAB API Python Library

Build PyPI version

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.

Requirements

Python 3.8+

Installation

First, install the package using pip:

pip install ynab

Then import the package:

import ynab

Usage

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) 

Methods

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

Versioning

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.

License

Copyright (c) 2025 You Need A Budget, LLC

Licensed under the Apache-2.0 license

Releases

No releases published

Languages