Spendbaker API
The Spendbaker API lets your own tools read an organization's marketing budgets, their categories, expenses, vendors and members. Use it to feed a BI dashboard, a finance tool or a reporting script.
It is an HTTPS API that returns JSON. It sees exactly what you see in the Spendbaker app, and it is read-only.
Status
The API is in version 1 and is read-only.
Personal access keys only, for now. Each one acts as the person who created it. Organization access keys, which act as the whole organization, are coming. See Authentication.
Stable, so you can build on it:
- The routes, parameters and fields described in these pages.
- The error codes, such as
invalid_keyornot_found.
v1 may gain routes, parameters and fields at any time. Nothing is removed or renamed in v1: such a change
would ship as a new version, /api/v2, announced in advance.
Not stable, so don't depend on it:
- The text of error messages. Act on the error
code, and show or log themessage. - The order of fields in a JSON object.
- Any path of
app.spendbaker.comthat these pages do not document. The app's own routes change without notice, and access keys don't work on them anyway.
See the changelog for what changed and when.
Quick start
1. Create an access key. In Spendbaker, open Settings › API & Keys and click Create key. Copy the key,
which starts with gak_: it is shown only once. See Authentication.
2. Check who the key acts as.
export SPENDBAKER_KEY="gak_…"
curl https://app.spendbaker.com/sb_back/api/v1/organization \
-H "Authorization: Bearer $SPENDBAKER_KEY"
{
"id": "3f6c2a1e-8b4d-4c7a-9e21-5d0f7b3a9c14",
"name": "Acme",
"fiscal_year_month": 1,
"key": {
"kind": "personal",
"scope": "read",
"user": {
"id": "0b9e4d27-6a13-4f58-b2c9-81e7d4a0f365",
"first_name": "Camille",
"last_name": "Martin"
}
}
}
3. List your budgets.
curl https://app.spendbaker.com/sb_back/api/v1/budgets \
-H "Authorization: Bearer $SPENDBAKER_KEY"
Then read a budget's categories and its expenses.
What's in these pages
| Page | What you'll find |
|---|---|
| Authentication | Create a key, send it, and what it can and can't read |
| Conventions | Base URL, ids, dates, amounts, pagination, versioning |
| Errors and limits | Error format and codes, rate limit, when to retry |
| API reference | Every route, with its parameters, fields and a cURL example |
| MCP | Connect Claude, ChatGPT or another AI assistant to Spendbaker |
| What the API does not do | Read this before you plan an integration |
Using an AI assistant?
You don't need to write code to connect Claude, ChatGPT or another AI assistant to Spendbaker. Add the MCP server
https://app.spendbaker.com/sb_back/mcp as a connector, then sign in to Spendbaker and allow it. The assistant reads
what you see in the app, read-only, the same way the API does. See MCP.