Skip to main content
The Finta API gives you programmatic access to your company’s financial data: transactions, journal entries, categories, and financial reports.

Getting Your API Key

1

Go to API Keys

Log into Finta and go to Settings > API Keys.
2

Create a key

Click Create API key.
3

Copy the key

Copy the key immediately. It starts with finta_ and is only shown once. You cannot retrieve it later.
Each API key is scoped to a single company. There is no company ID parameter; the key already knows which company it belongs to. If you manage multiple companies, create a separate key for each.

Base URL

All requests go to:
https://app.finta.com/api/v1
There is no sandbox environment. All API calls hit production data.

Authentication

Include your API key in the Authorization header:
curl https://app.finta.com/api/v1/company \
  -H "Authorization: Bearer finta_your_key_here"

Making Your First Request

Verify your API key by pulling your company’s metadata:
curl https://app.finta.com/api/v1/company \
  -H "Authorization: Bearer finta_your_key_here"
{
  "id": "comp_a1b2c3d4e5f6g7",
  "object": "company",
  "name": "Acme Corp",
  "legal_name": "Acme Corp Inc.",
  "entity_type": "c_corp",
  "federal_ein": "12-3456789",
  "incorporation": {
    "date": "2022-10-21",
    "state": "delaware"
  },
  "legal_address": {
    "line_1": "548 Market Street",
    "line_2": "PMB 39381",
    "city": "San Francisco",
    "state": "california",
    "postal_code": "94104",
    "country": "United States"
  },
  "created": 1688053841
}
From here, try pulling your income statement, balance sheet, or transactions.

Transactions vs Journal Entries

The API offers two ways to look at your financial activity:
Transactions are what your bank shows you: a single line like “AWS charged you $499.” Most API consumers want transactions.

Rate Limits

All endpoints are rate limited to 120 requests per 60 seconds per IP address. Every response includes rate limit headers:
HeaderDescription
X-RateLimit-LimitMaximum requests per window (120)
X-RateLimit-RemainingRequests remaining in current window
X-RateLimit-ResetUnix timestamp when the window resets

Pagination

List endpoints (/transactions, /journal-entries) accept limit and offset query parameters. Responses include total and has_more to help you paginate:
{
  "object": "list",
  "total": 19470,
  "has_more": true,
  "data": [...]
}

Errors

All errors return a consistent structure:
{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_missing",
    "message": "The requested resource was not found.",
    "doc_url": "https://docs.finta.com/errors/resource_missing"
  }
}
See the error reference for details on each error code.