Infinite Scroll
Overview
Infinite scroll loads more vehicles automatically as a shopper scrolls down the Search Results Page (SRP). The shopper does not click a Next Page button and does not navigate through page numbers.
Infinite scroll is integrated with filters and sorting. When a shopper changes filters mid-scroll, the grid refreshes from the top using the new filter state.
What shoppers experience
- The SRP loads an initial set of vehicles.
- As the shopper approaches the bottom of the grid, more vehicles appear.
- When the shopper changes a filter, the grid resets to the top with the new results.
Why Marketplace uses infinite scroll
Inventory browsing is comparison-driven. Shoppers scan many vehicles and return to the same vehicles multiple times during a session. Infinite scroll keeps the browsing flow continuous.
How infinite scroll loads more vehicles
Marketplace loads additional results through the ERS (Edge Rendering Service) tunnel over a WebSocket connection.
Key behaviors:
- The WebSocket stays open for the session.
- Scroll loads do not require a new connection setup.
- The request includes the current SRP URL state so the server loads the exact filtered and sorted view.
What is sent to the server
Each load request includes:
- Offset: where to start in the result set
- Current URL: filters and sort state
- Current filter configuration: so the server can return consistent counts
The offset increments immediately when a scroll load is triggered to prevent duplicate requests during rapid scrolling.
What comes back
The server response includes everything needed to update the page without a reload:
- Vehicle card data for the next batch
- Updated total count
- Updated facet counts
- Updated page title
- Updated SEO metadata (when refreshed for crawlers)
All updates are applied in one WebSocket response.
Filter changes vs scroll loads
- Scroll loads append more vehicles to the existing grid.
- Filter changes replace the full grid.
When filters change:
- Offset resets to zero.
- Sentinels reposition for the new result set.
- Browsing resumes from the top of the refreshed grid.