Infinite scroll is the main reason "just copy it" fails. You see 20 cards on screen while the results hold 600, and the rest appear only when you reach the bottom. To collect such a list you need to know how it works. Here are the four patterns you will meet most often and how to handle each.
How it works
Infinite scroll of the whole page
The page loads the first batch of items. As you near the bottom, the site's script notices (usually through an invisible marker element at the end of the list) and requests the next batch from the server. New cards are appended, the page grows, and the marker moves down again.
What matters for scraping:
- new items do not appear instantly — the site waits for the server, sometimes showing skeletons or a spinner;
- the end of the list is usually not marked: scrolling simply stops adding anything;
- a batch can come back empty because the network was slow, not because the list ended.
A "Show more" button
The same mechanism, but with a button instead of automatic loading. Click, and 20–50 more items appear. When there are no more, the button disappears or is disabled. For scraping that is easier: there is a clear end signal.
Scrolling inside a block
Sometimes it is not the page that scrolls but a panel: listings next to a map, feeds in web apps, sidebars. Scrolling the page does nothing — loading is triggered by scrolling that specific container.
The tell: when you scroll over the list, the scrollbar belongs to the block, not to the browser window.
Virtualized lists
The awkward case. To stay fast with thousands of items, the site keeps only the rows currently on screen in the document, plus a small buffer. As you scroll down, top rows are removed and new ones take their place. The list looks complete, but at any moment only a couple of dozen rows "exist".
How to spot it: scroll to the end, press Ctrl+A, Ctrl+C — the clipboard holds only the last items. Common in web-app tables and long feeds.
Collecting with Grabsavo
1. Find the list
Open the page and click the Grabsavo icon. It marks the rows it found with thin teal frames and row numbers. If it marked the wrong thing, switch candidates, or press "Pick manually" and click one card of the list you need.
2. Pick the pagination mode
| What you see | Mode |
|---|---|
| New cards appear as the page scrolls | Infinite scroll |
| A "Show more" / "Load more" button | Show more button |
| A separate panel scrolls | Scroll inside a block |
URLs like ?page=2 or /page/2 exist |
Page numbers / URL parameter |
That last row is an important tip. Many infinite-scroll sites still support ordinary page URLs: try adding ?page=2 to the results address by hand. If page two opens, collect by page number. It is more reliable than scrolling: each page loads in full.
3. Set limits
- Delays. By default Grabsavo waits a random 2–4 seconds between steps. For infinite scroll that is also practical: the site needs time to load the next batch.
- Max pages. Cap the run if you need the first 300 results, not all 10,000.
- Stopping. Grabsavo stops on its own when two steps in a row bring no new rows. Checking twice helps avoid stopping too early when a site loads slowly.
4. Set a key column
While scrolling, the same card can be picked up twice, for instance when the site re-renders part of the list. Choose a column that uniquely identifies an item — usually the item link or SKU — and duplicates by that column are removed.
5. Read the report
After the run, check the quality report: pages scrolled, rows collected, duplicates removed, columns with many empty values. If the site says "600 found" and you have 240, something stopped the loading. Common causes:
- the site loads more slowly than the delay: increase it;
- the site caps results (some show only a few hundred per query): split the search with filters — category, price range, region — and collect each part separately;
- it is a virtualized list and rows leave the document before they are picked up: look for a paginated version, an export, or narrower filters on the site.
6. If the browser closes
Long runs get interrupted: a browser update, a dead battery. The state is saved — next time Grabsavo asks whether to continue from the saved page.
How to tell you got everything
- Compare counts. If the site says "312 found" and you have 312 rows after deduplication, good.
- Check the last item. Scroll to the end by hand and compare the last card with the last row.
- Look at empty values. Cards the site had not finished rendering often arrive with empty fields. If the report flags such columns, increase the delay.
- Sort by date or number if the data has one — a gap in the sequence stands out.
Be polite
Infinite scroll loads a site just like paging does: every batch is a request to the server.
- Keep the delays. 2–4 seconds is roughly how fast a person scrolls.
- Collect only what you need. A page cap saves your time and the site's resources.
- Do not run the same job in several tabs.
- Check the site's rules — terms of use and
robots.txt. See Web scraping and the law.
Grabsavo works in your browser with your session and sees exactly what you see. It uses no proxies, solves no captchas and does not bypass sign-ins or paywalls. If a site clearly restricts automated access, ask the owner about an export or API instead.
Short checklist
- Check whether the results have numbered page URLs.
- Identify the type: page scroll, "Show more" or a scrolling block.
- Keep the default delays, or raise them for slow sites.
- Set a key column for deduplication.
- Compare the row count in the report with the count on the site.
Try it
Our demo catalog has every pattern from this article: infinite scroll, a "Show more" button, scrolling inside a block and page numbers. It is a safe place to practice and see the quality report in action. Install Grabsavo from /install.