Overview
Firefly III provides search endpoints for:- Transactions - Search through transaction groups with advanced query syntax
- Accounts - Find accounts by name and properties
Base Path
Transaction Search
Search transactions using natural language queries or specific field filters.Search Transactions
Search query string. Supports natural language and advanced query syntax.
Page number for pagination
Number of results per page (max: 65536)
Query Syntax
Firefly III uses a powerful query parser that supports:Basic Text Search
Search in description and notes:Field-Specific Search
Search specific fields:Operators
| Operator | Description | Example |
|---|---|---|
: | Equals | category:groceries |
:> | Greater than | amount:>100 |
:< | Less than | amount:<50 |
:>= | Greater or equal | amount:>=100 |
:<= | Less or equal | amount:<=50 |
Boolean Logic
Combine conditions:Quotation Marks
Exact phrase matching:Searchable Fields
description- Transaction descriptionamount- Transaction amountdate- Transaction dateaccount- Source or destination accountcategory- Category namebudget- Budget nametag- Transaction tagsnotes- Transaction notesexternal_id- External identifierinternal_reference- Internal reference
The query parser is powered by
gdbots/query-parser library, supporting advanced search syntax.Get Transaction Count
Get the number of transactions matching search criteria without fetching full data.Search by external identifier metadata
Search by internal reference metadata
Search by transaction description (exact match)
Search in transaction notes (LIKE query)
Include deleted transactions in the count
Total number of matching transactions
The count endpoint is useful for validation before importing transactions or checking for duplicates.
Account Search
Search for accounts by name and properties.Search Accounts
Search query for account name
Filter by account type (asset, expense, revenue, etc.)
Page number for pagination
Number of results per page
Search Examples
Find High-Value Transactions
Search by Date Range
Find Uncategorized Expenses
Search by External Reference
Complex Query
Response Format
Search endpoints return standard JSON API formatted responses with:Array of matching resources (transactions or accounts)
Pagination metadata including total count and page information
HATEOAS links for pagination navigation
Performance Tips
Optimize Searches
- Use specific fields -
description:rentis faster than justrent - Limit date ranges - Add date constraints for better performance
- Use count endpoint - Check result count before fetching full data
- Paginate results - Don’t fetch all results at once
URL Encoding
Remember to URL-encode query parameters:Search Limitations
- Maximum page size: 65,536 results
- No fuzzy matching (exact or wildcard only)
- Case-insensitive text search
- Boolean operators: AND (space), OR
- No NOT operator support
The search functionality is documented at
https://api-docs.firefly-iii.org/?urls.primaryName=2.0.0%20(v1)#/search/searchTransactionsUse Cases
Duplicate Detection
Find potentially duplicate transactions before import:Expense Analysis
Find all dining expenses over $50:Account Lookup
Find accounts by partial name:Next Steps
Insights API
Get aggregated financial insights
Data Operations
Bulk operations and data management