Operated by Sourcelane✓ verified
Scrape Google organic search results for any keyword: rank position, title, URL, domain, snippet and date, by country, up to 11 pages per query.
A Google search scraper that extracts organic search results for given queries localized to a chosen country, returning clean, ranked result records including ranking position, result title, cleaned URL, ranking domain, result snippet, and publish date with a normalized date when present. Technical capabilities include country localization across 50+ countries, support for Google search operators and date filters, scraping up to 11 results pages per query (roughly 100–110 organic results), parallel processing of many queries per run, automatic removal of click-tracking parameters, deduplication of repeated results across pages, and returning organic results only (excluding ads, People Also Ask, related searches, featured snippets, sitelinks, and AI Overviews). The scraper operates without browser automation or proxy setup and is oriented toward structured SERP data for ranking, research, and monitoring workflows.
Verified Oct 25, 10:11 PM
$0.011
per search results page
Up to 90 per call. Only pay for results returned; failed calls are refunded.
SEO rank tracking
Check where a site and competitors rank by country
Keyword and SERP research
Identify dominant domains and content types for a topic
Competitor analysis
Count how often competitor domains appear across keyword lists
Lead generation
Discover businesses, directories, and listings using search operators
Content and news monitoring
Track fresh pages about a brand or topic using date filters
Keywords to search on Google, one per line.
Optional domain (e.g.
Optional settings
| Window | Uptime | Success rate | p50 | p95 | Calls |
|---|---|---|---|---|---|
| 24h | — | — | — | — | 0 |
| 7d | — | — | — | — | 0 |
| 30d | — | — | — | — | 0 |
Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.
Call it via Sourcelane
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"google-search-scraper","params":{"queries":["best running shoes","site:reddit.com mechanical keyboard"],"maxResultsPerQuery":5},"maxResults":10}'Request params
| Field | Type | Required | Description |
|---|---|---|---|
queries | array | required | Keywords to search on Google, one per line. Google operators work (site:, "exact phrase", -exclude, intitle:, inurl:, filetype:, OR). You can also paste a Google search URL; its q= parameter is used. |
country | string | optional | Country to search from. Results are localized to this country, like searching on Google from there. |
maxPagesPerQuery | integer | optional | How many Google results pages to scrape per query (about 10 organic results per page). Google serves at most 11 pages. |
maxResultsPerQuery | integer | optional | Stop a query after this many organic results. 0 = keep every result on the pages scraped. Capped at 90 per call. |
datePosted | string | optional | Only return pages published within this time window. |
site | string | optional | Optional domain (e.g. reddit.com) to restrict every query to, same as adding site:reddit.com. Ignored for queries that already contain site:. |
Each result contains
| Field | Type | Description |
|---|---|---|
recordType | string | — |
searchQuery | string | Query |
country | string | Country |
datePosted | null | — |
page | integer | Page |
position | integer | Rank |
positionOnPage | integer | — |
title | string | Title |
url | string | URL |
domain | string | Domain |
snippet | string | Snippet |
date | null | Date |
dateIso | null | — |
message | null | — |
scrapedAt | string | — |
Pick your tool and connect in under a minute. Then just ask — for example: “For these 50 domains, find contact emails and what e-commerce platform they run on.”
Connect Claude
Web, desktop and mobile. One click, then confirm.
Adds the Sourcelane MCP server with your key as a header.
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
--header "Authorization: Bearer sl_live_your_agent_key"Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.
{
"mcpServers": {
"sourcelane": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.usesourcelane.com/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer sl_live_your_agent_key"
}
}
}
}Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).
{
"mcpServers": {
"sourcelane": {
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer sl_live_your_agent_key"
}
}
}
}Save as .vscode/mcp.json. VS Code prompts for your key once.
{
"servers": {
"sourcelane": {
"type": "http",
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer ${input:sourcelane-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "sourcelane-key",
"description": "Sourcelane agent key",
"password": true
}
]
}Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.
https://usesourcelane.com/openapi.jsonOne POST. Pass maxResults to cap cost.
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"google-search-scraper","params":{"queries":["best running shoes","site:reddit.com mechanical keyboard"],"maxResultsPerQuery":5},"maxResults":10}'Wrap the REST call as a tool, or point an MCP client at the endpoint.
import requests
res = requests.post(
"https://api.usesourcelane.com/v1/call",
headers={"Authorization": "Bearer sl_live_your_agent_key"},
json={
"listing": "google-search-scraper",
"params": {"queries":["best running shoes","site:reddit.com mechanical keyboard"],"maxResultsPerQuery":5},
"maxResults": 10,
},
timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])—
0 reviews
Leave a review
Loading reviews…