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/apiWhat 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:
- Bearer tokens — Session JWTs or OAuth2 access tokens
- 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
- Authentication — Set up API access
- TypeScript SDK — Use the official SDK
- API Reference — Browse all endpoints