Expensicat

Introduction

Get started with the Expensicat API

The Expensicat API gives you programmatic access to expense tracking, invoicing, banking, and financial analytics for your organization. Use it to build integrations, automate workflows, or extend Expensicat with custom functionality.

Base URL

All API requests are made to:

https://api.expensicat.com/api

What you can do

  • Transactions — Create, read, update, and categorize transactions
  • Invoices — Generate and manage invoices, recurring invoices, and customers
  • Entries — Track receipts, expenses, and time entries
  • Banking — Connect and manage bank accounts
  • Documents — Upload and manage files and receipts
  • Analytics — Query financial metrics and reports
  • Team — Manage organization members and settings

Authentication

The API supports two authentication methods:

  1. Bearer tokens — Session JWTs or OAuth2 access tokens
  2. OAuth2 — Authorization code flow with PKCE for third-party integrations

See the Authentication guide for details.

Response format

All responses are JSON. Successful responses return data directly, while errors follow a consistent format:

{
  "error": {
    "code": "NOT_FOUND",
    "message": "Resource not found"
  }
}

Rate limits

API requests are rate-limited per organization. If you exceed the limit, you'll receive a 429 Too Many Requests response with a Retry-After header.

Next steps

On this page