Skip to main content

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_key or not_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 the message.
  • The order of fields in a JSON object.
  • Any path of app.spendbaker.com that 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​

PageWhat you'll find
AuthenticationCreate a key, send it, and what it can and can't read
ConventionsBase URL, ids, dates, amounts, pagination, versioning
Errors and limitsError format and codes, rate limit, when to retry
API referenceEvery route, with its parameters, fields and a cURL example
MCPConnect Claude, ChatGPT or another AI assistant to Spendbaker
What the API does not doRead 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.