Skip to content

YNAB API

by youneedabudget.com

OAuthHTTPSCORSFinance
Open documentation ↗

Overview

Budgeting & Planning

YNAB is a finance API from youneedabudget.com. Requests are authenticated with OAuth. It is served over HTTPS and allows browser requests (CORS). Its OpenAPI description documents 31 endpoints.

At a glance

Authentication
OAuth
HTTPS
Yes
CORS
Yes
Category
Finance
Base URL
https://api.youneedabudget.com/v1
Version
1.0.0
Endpoints
31
Spec updated
2023-03-06

Make a first request

Replace the placeholders; the documentation says exactly where credentials go.

cURL
curl -X GET "https://api.youneedabudget.com/v1/budgets" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN"
JavaScript
const response = await fetch("https://api.youneedabudget.com/v1/budgets", {
  method: "GET",
  headers: {
    "Accept": "application/json",
    "Authorization": "Bearer YOUR_TOKEN",
  },
});
const data = await response.json();
console.log(data);
Python
import requests

response = requests.request(
    "GET",
    "https://api.youneedabudget.com/v1/budgets",
    headers={
    "Accept": "application/json",
    "Authorization": "Bearer YOUR_TOKEN",
    },
    timeout=30,
)
print(response.json())

Endpoints

MethodPathWhat it does
GET/budgetsList budgets
GET/budgets/{budget_id}Single budget
GET/budgets/{budget_id}/accountsAccount list
POST/budgets/{budget_id}/accountsCreate a new account
GET/budgets/{budget_id}/accounts/{account_id}Single account
GET/budgets/{budget_id}/accounts/{account_id}/transactionsList account transactions
GET/budgets/{budget_id}/categoriesList categories
GET/budgets/{budget_id}/categories/{category_id}Single category
GET/budgets/{budget_id}/categories/{category_id}/transactionsList category transactions
GET/budgets/{budget_id}/monthsList budget months
GET/budgets/{budget_id}/months/{month}Single budget month
GET/budgets/{budget_id}/months/{month}/categories/{category_id}Single category for a specific budget month
PATCH/budgets/{budget_id}/months/{month}/categories/{category_id}Update a category for a specific month
GET/budgets/{budget_id}/payee_locationsList payee locations
GET/budgets/{budget_id}/payee_locations/{payee_location_id}Single payee location
GET/budgets/{budget_id}/payeesList payees
GET/budgets/{budget_id}/payees/{payee_id}Single payee
GET/budgets/{budget_id}/payees/{payee_id}/payee_locationsList locations for a payee
GET/budgets/{budget_id}/payees/{payee_id}/transactionsList payee transactions
GET/budgets/{budget_id}/scheduled_transactionsList scheduled transactions
GET/budgets/{budget_id}/scheduled_transactions/{scheduled_transaction_id}Single scheduled transaction
GET/budgets/{budget_id}/settingsBudget Settings
GET/budgets/{budget_id}/transactionsList transactions
POST/budgets/{budget_id}/transactionsCreate a single transaction or multiple transactions
PATCH/budgets/{budget_id}/transactionsUpdate multiple transactions
POST/budgets/{budget_id}/transactions/bulkBulk create transactions
POST/budgets/{budget_id}/transactions/importImport transactions
GET/budgets/{budget_id}/transactions/{transaction_id}Single transaction
PUT/budgets/{budget_id}/transactions/{transaction_id}Updates an existing transaction
DELETE/budgets/{budget_id}/transactions/{transaction_id}Deletes an existing transaction
GET/userUser info

Questions

Does the YNAB API need an API key?

Yes. The YNAB API uses OAuth authentication; the documentation explains how to get credentials.

Can I call the YNAB API from the browser?

Yes. The YNAB API sends CORS headers, so a web page can call it directly with fetch().

Does the YNAB API support HTTPS?

Yes, the YNAB API is served over HTTPS.

How many endpoints does the YNAB API have?

Its OpenAPI description lists 31 endpoints in version 1.0.0. All of them are shown on this page.

What are alternatives to the YNAB API?

Other Finance APIs include Stripe, SEC EDGAR Data, Plaid, Fed Treasury, Razorpay IFSC.

Compare alternatives →

Listed from public-apis (MIT), public-apis database (MIT), APIs.guru (CC0).