What is SERP Pagination?
Most search APIs cap results at page one, but many research and analytics workflows need the long tail: page 2 to page 10 and beyond. Scavio's SERP endpoint supports cursor-based pagination where each response includes a next_cursor that you pass into the following call. Cursors are stable for the same query for up to 60 minutes, which means you can parallelize page fetches without Google returning shuffled results. Each page response includes the current page number, result offset, total results estimate, and the same structured organic_results and SERP features as page one. Pagination is rate-limited separately from first-page calls, and unused pages incur no cost.
Example Response
{
"query": "best open source ai agents",
"page": 2,
"offset": 10,
"total_results_estimate": 184000000,
"organic_results": [
{
"position": 11,
"title": "Top 15 Open Source AI Agent Frameworks in 2026",
"link": "https://example.com/top-agents-2026",
"displayed_link": "example.com",
"snippet": "Our 2026 ranking of open source agent frameworks based on GitHub stars, benchmarks, and production adoption."
},
{
"position": 12,
"title": "Comparing LangGraph, CrewAI, and AutoGen",
"link": "https://example.com/lg-crew-autogen",
"displayed_link": "example.com",
"snippet": "A hands-on comparison of the three most popular agent frameworks."
}
],
"next_cursor": "eyJwYWdlIjozLCJvZmZzZXQiOjIwLCJxaWQiOiJhYmMxMjMifQ==",
"has_more": true
}Use Cases
- Large-scale SEO audits across the first 10 pages
- Academic and legal research requiring deep result sets
- Competitor link gap analysis beyond page one
- Enterprise brand monitoring at scale
- Building internal search datasets for training
Why SERP Pagination Matters
Stopping at page one misses most of the internet. Scavio's stable cursor pagination makes deep SERP crawls reliable and parallelizable, which turns previously impossible analyses like 'every ranking page for 500 keywords' into routine jobs. Because unused pages do not cost anything, teams can write pipelines that fetch page two only when page one is missing a target competitor, optimizing spend while keeping full coverage.
LangChain Example
Drop serp pagination data into your LangChain agent in a few lines:
import requests
def crawl_all_pages(query: str, max_pages: int = 5):
results = []
cursor = None
for _ in range(max_pages):
params = {"query": query}
if cursor:
params["cursor"] = cursor
r = requests.get(
"https://api.scavio.dev/v1/serp",
params=params,
headers={"Authorization": "Bearer your_scavio_api_key"},
).json()
results.extend(r["organic_results"])
cursor = r.get("next_cursor")
if not r.get("has_more"):
break
return results
all_results = crawl_all_pages("best open source ai agents")
print(f"Collected {len(all_results)} results")