The Insights API provides analytical data about your financial transactions, broken down by various dimensions like accounts, categories, budgets, bills, and tags.
Overview
Insights are available for three transaction types:
Expenses (/api/v1/insight/expense/*)
Income (/api/v1/insight/income/*)
Transfers (/api/v1/insight/transfer/*)
Each insight endpoint returns summarized financial data grouped by a specific dimension (accounts, categories, etc.) for a given date range.
All insight endpoints require date range parameters (start and end) and return data grouped by the specified dimension with currency information.
Expense Insights
Analyze your spending patterns across different dimensions.
Base Path
Get Expenses by Expense Account
View expenses grouped by destination expense accounts.
curl -X GET "https://your-firefly-instance.com/api/v1/insight/expense/expense?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Start date in YYYY-MM-DD format
End date in YYYY-MM-DD format
Comma-separated list of asset account IDs to filter
Total expense amount as string
Total expense amount as float
Currency code (e.g., USD, EUR)
Get Expenses by Asset Account
View expenses grouped by source asset accounts (where money came from).
curl -X GET "https://your-firefly-instance.com/api/v1/insight/expense/asset?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Get Total Expenses
Get total expenses for the period.
curl -X GET "https://your-firefly-instance.com/api/v1/insight/expense/total?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Get Expenses by Bill
View expenses grouped by associated bills.
curl -X GET "https://your-firefly-instance.com/api/v1/insight/expense/bill?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Get Expenses Without Bill
View expenses that are not associated with any bill.
curl -X GET "https://your-firefly-instance.com/api/v1/insight/expense/no-bill?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Get Expenses by Budget
View expenses grouped by budget.
curl -X GET "https://your-firefly-instance.com/api/v1/insight/expense/budget?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Get Expenses Without Budget
View expenses that are not assigned to any budget.
curl -X GET "https://your-firefly-instance.com/api/v1/insight/expense/no-budget?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Get Expenses by Category
View expenses grouped by category.
curl -X GET "https://your-firefly-instance.com/api/v1/insight/expense/category?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Get Expenses Without Category
View expenses that have no category assigned.
curl -X GET "https://your-firefly-instance.com/api/v1/insight/expense/no-category?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Get Expenses by Tag
View expenses grouped by tag.
curl -X GET "https://your-firefly-instance.com/api/v1/insight/expense/tag?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Get Expenses Without Tag
View expenses that have no tags.
curl -X GET "https://your-firefly-instance.com/api/v1/insight/expense/no-tag?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Income Insights
Analyze your income patterns across different dimensions.
Base Path
Get Income by Revenue Account
View income grouped by source revenue accounts.
curl -X GET "https://your-firefly-instance.com/api/v1/insight/income/revenue?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Get Income by Asset Account
View income grouped by destination asset accounts (where money went).
curl -X GET "https://your-firefly-instance.com/api/v1/insight/income/asset?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Get Total Income
Get total income for the period.
curl -X GET "https://your-firefly-instance.com/api/v1/insight/income/total?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Get Income by Category
View income grouped by category.
curl -X GET "https://your-firefly-instance.com/api/v1/insight/income/category?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Get Income Without Category
View income that has no category assigned.
curl -X GET "https://your-firefly-instance.com/api/v1/insight/income/no-category?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Get Income by Tag
View income grouped by tag.
curl -X GET "https://your-firefly-instance.com/api/v1/insight/income/tag?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Get Income Without Tag
View income that has no tags.
curl -X GET "https://your-firefly-instance.com/api/v1/insight/income/no-tag?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Transfer Insights
Analyze transfers between your accounts.
Base Path
Get Transfers by Asset Account
View transfers grouped by asset accounts.
curl -X GET "https://your-firefly-instance.com/api/v1/insight/transfer/asset?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Get Transfers by Category
View transfers grouped by category.
curl -X GET "https://your-firefly-instance.com/api/v1/insight/transfer/category?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Get Transfers Without Category
View transfers that have no category assigned.
curl -X GET "https://your-firefly-instance.com/api/v1/insight/transfer/no-category?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Get Transfers by Tag
View transfers grouped by tag.
curl -X GET "https://your-firefly-instance.com/api/v1/insight/transfer/tag?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Get Transfers Without Tag
View transfers that have no tags.
curl -X GET "https://your-firefly-instance.com/api/v1/insight/transfer/no-tag?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Get Total Transfers
Get total transfers for the period.
curl -X GET "https://your-firefly-instance.com/api/v1/insight/transfer/total?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Common Parameters
All insight endpoints accept these parameters:
Start date for the analysis period (format: YYYY-MM-DD)
End date for the analysis period (format: YYYY-MM-DD)
Comma-separated list of account IDs to filter results. Only transactions involving these accounts will be included.
All insight endpoints return an array of objects with this structure:
ID of the grouped entity (account, category, tag, etc.)
Name of the grouped entity
Total amount as a string for precise decimal handling
Total amount as a float for easier numerical operations
ISO currency code (USD, EUR, GBP, etc.)
The difference field is returned as both a string and float. Use the string value for precise decimal arithmetic to avoid floating-point precision issues.
Use Cases
Monthly Expense Analysis
Analyze spending by category for a specific month:
curl -X GET "https://your-firefly-instance.com/api/v1/insight/expense/category?start=2024-11-01&end=2024-11-30" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Budget vs Actual
Compare budgeted vs actual spending:
curl -X GET "https://your-firefly-instance.com/api/v1/insight/expense/budget?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Income Sources
Identify your income sources:
curl -X GET "https://your-firefly-instance.com/api/v1/insight/income/revenue?start=2024-01-01&end=2024-12-31" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Future Enhancements
The following features are planned for future versions:
Insights by object group
Insights by recurrence
Currency-specific filtering
Net worth tracking via insights
Insight data is calculated in real-time and may take longer for large date ranges or accounts with many transactions.
Next Steps
Charts API Get chart-ready data for visualization
Search API Search and filter transactions