Skip to main content

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.10+

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:
    plans_api = ynab.PlansApi(api_client)
    plans_response = plans_api.get_plans()
    plans = plans_response.data.plans
    
    for plan in plans:
        print(plan.name)

Methods

Class Method Description
UserApi get_user Get user
AccountsApi create_account Create an account
  get_account_by_id Get an account
  get_accounts Get all accounts
PlansApi get_plan_by_id Get a plan
  get_plan_settings_by_id Get plan settings
  get_plans Get all plans
CategoriesApi create_category Create a category
  create_category_group Create a category group
  get_categories Get all categories
  get_category_by_id Get a category
  get_month_category_by_id Get a category for a specific plan month
  update_category Update a category
  update_category_group Update a category group
  update_month_category Update a category for a specific month
MonthsApi get_plan_month Get a plan month
  get_plan_months Get all plan months
PayeeLocationsApi get_payee_location_by_id Get a payee location
  get_payee_locations Get all payee locations
  get_payee_locations_by_payee Get all locations for a payee
PayeesApi create_payee Create a payee
  get_payee_by_id Get a payee
  get_payees Get all payees
  update_payee Update a payee
MoneyMovementsApi get_money_movement_groups Get all money movement groups
  get_money_movement_groups_by_month Get money movement groups for a plan month
  get_money_movements Get all money movements
  get_money_movements_by_month Get money movements for a plan month
TransactionsApi create_transaction Create a single transaction or multiple transactions
  delete_transaction Delete a transaction
  get_transaction_by_id Get a transaction
  get_transactions Get all transactions
  get_transactions_by_account Get all account transactions
  get_transactions_by_category Get all category transactions
  get_transactions_by_month Get all plan month transactions
  get_transactions_by_payee Get all payee transactions
  import_transactions Import transactions
  update_transaction Update a transaction
  update_transactions Update multiple transactions
ScheduledTransactionsApi create_scheduled_transaction Create a scheduled transaction
  delete_scheduled_transaction Delete a scheduled transaction
  get_scheduled_transaction_by_id Get a scheduled transaction
  get_scheduled_transactions Get all scheduled transactions
  update_scheduled_transaction Update a scheduled transaction

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 YNAB

Licensed under the Apache-2.0 license

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ynab-4.4.0.tar.gz (78.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ynab-4.4.0-py3-none-any.whl (279.8 kB view details)

Uploaded Python 3

File details

Details for the file ynab-4.4.0.tar.gz.

File metadata

  • Download URL: ynab-4.4.0.tar.gz
  • Upload date:
  • Size: 78.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for ynab-4.4.0.tar.gz
Algorithm Hash digest
SHA256 bb0df3886163980b87807d079fcd79d6305be3dea3de4fe608efc54520686482
MD5 030565de381a1359b1fba4ac82040bb3
BLAKE2b-256 293fa3f5dda874fe200a91097bbde6fb2bf2b9336a1ed2310987b4efedc70a32

See more details on using hashes here.

Provenance

The following attestation bundles were made for ynab-4.4.0.tar.gz:

Publisher: publish.yml on ynab/ynab-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ynab-4.4.0-py3-none-any.whl.

File metadata

  • Download URL: ynab-4.4.0-py3-none-any.whl
  • Upload date:
  • Size: 279.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for ynab-4.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0dd65f2f4ddccb057af4efaf4b07725cc49abcabd8c85f079234916fcf8c6ee9
MD5 d6b4713859690649c839fb8d8a284e9e
BLAKE2b-256 625e3b8ac92a85d193822f227f7aa9d9fd220a84640b5d4c52d1f634c4d88697

See more details on using hashes here.

Provenance

The following attestation bundles were made for ynab-4.4.0-py3-none-any.whl:

Publisher: publish.yml on ynab/ynab-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page