Use multifeed compositions to return several independent result sets from a single API request. Each result set, called a feed, can have its own search parameters, filters, and Smart Groups. Multifeed compositions are ideal for federated search experiences that display results from different categories, brands, or content types at the same time.Documentation Index
Fetch the complete documentation index at: https://algolia.com/llms.txt
Use this file to discover all available pages before exploring further.
Use cases
Use multifeed compositions when you need to return multiple independently ranked result sets for the same query in a single request.Federated search across categories
Show results from different product categories in parallel. For example, when users search for “running”, return separate feeds for running shoes, running apparel, and running accessories. Each feed maintains its own ranking strategy, filters, and promoted items, so category-specific merchandising doesn’t interfere with other results.Multi-brand or multi-tenant results
Return results grouped by brand, seller, or tenant in a single response. For example, a marketplace can display products from different sellers, where each seller controls their own promoted items and positioning.Content type segmentation
Separate results by content type—such as products, articles, or videos—while using the same user query. Each feed applies ranking and filtering tailored to its content type. For example, products may prioritize conversion signals, while articles prioritize recency or engagement.How multifeed works
A multifeed composition defines multiple feeds in thebehavior.multifeed object. Each feed:
- Has a unique identifier (
feedID) - Contains its own behavior, typically an
injectionwith search parameters and Smart Groups - Returns an independent result set in the response
Define a multifeed composition
Use the Composition API to create a multifeed composition. The following example creates a composition that returns three separate feeds for different content types: products, articles, and videos.Key parameters
feeds: A map of feed definitions, where each key is the feed ID and each value is a behavior, typically aninjectionfeedsOrder(optional): An array specifying the order feeds appear in the response. If omitted, feeds return in alphabetical order by feed ID
Query a multifeed composition
Query a multifeed composition the same way as a standard composition using the Run a Composition endpoint. Use the optionalfeedsOrder parameter to reorder, enable, or disable feeds at run time, overriding the value defined in the composition itself.
feedsOrder value.
Each feed’s result set includes the corresponding feedID and Smart Groups injected into its , with deduplication applied within that feed.
JSON
Deduplication and facet management
Each feed in a multifeed composition is processed independently as a complete result set. This means:- Deduplication applies within each feed according to your deduplication strategy, preventing duplicate items between Smart Groups and in that feed
- Facet values are computed based on each feed’s configuration and results
- Pagination works independently for each feed
Integrate with InstantSearch
Before integrating multifeed compositions with InstantSearch, make sure you’ve completed the base composition setup, including installing the Composition API client and configuring yourcompositionID.
Multifeed support requires these versions of the InstantSearch libraries:
- React InstantSearch: version 7.32.0 or later
- InstantSearch.js: version 4.96.0 or later
- Vue InstantSearch: version 4.26.0 or later
Feeds widget to render each feed from a multifeed composition as an independent result set.
Each feed gets its own widget scope, so widgets like Hits or RefinementList inside a feed only see that feed’s results.
useFeeds hook (React)
The useFeeds Hook gives you direct access to the list of feed IDs without rendering feeds.
This is useful for building custom UI around feeds, such as tab navigation or feed counts.
React
Transform feeds
All three InstantSearch flavors accept atransformFeeds option that lets you reorder or filter feeds on the client side.
The function receives an array of feed IDs and returns a new array.
React
Limits and considerations
- You can’t use sorting strategies with multifeed compositions
- All feeds share the same base and parameters from the request
- Pagination applies independently to each feed