These two terms count different things, and they can give very different numbers for identical traffic. Which one appears on your bill depends on your plan.
Search request
A search request is one network call your application makes to Algolia's search endpoint. A single request can bundle up to 50 individual queries.
Search operation
A search operation - shown as a search query operation in some places, and as total_search_operations in the Usage API - is one individual query the engine executes. A request that bundles three queries performs three operations.
Worked examples
| What your application sends | Search requests | Search operations |
|---|---|---|
| One query to one index | 1 | 1 |
One multi-query call bundling three queries (for example, federated search across products, articles, and categories) |
1 | 3 |
| Three separate calls to three indices on the same keystroke | 3 | 3 |
You can see this distinction directly in your browser's developer tools. In the Network tab, a call to query is a single-query request; a call to queries is one request carrying two or more operations.
In the chart below, blue is search requests and red is search operations:
Which one am I billed on?
This depends on your plan:
- On plans sold since March 2023, including Grow, you are billed on search requests and records.
- Some legacy plans are billed on operations, or on usage units.
If you aren't sure which applies to you, see How do I check which plan my Algolia application is on?
Why the difference matters in practice
On a current plan, the two counters point at different optimisations:
- Bundling several queries into one multi-query call reduces your number of requests, and therefore reduces your bill.
- Reducing the number of queries inside an existing bundle reduces operations but not requests - so on its own it won't lower your bill.
Because the two numbers routinely differ by a factor of three to five on a search-as-you-type implementation, comparing an operations figure against a requests figure will never reconcile. Always check which counter you're reading.