SERP / Google-Compatible Search
April 30, 2026 ยท View on GitHub
Raw google.com/search can return Google verification, consent, or JavaScript retry pages when accessed through proxy traffic. For public SERP research, use the SDK SERP preset instead of scraping raw Google directly.
Recommended Python usage
from iploop import IPLoop
ip = IPLoop("YOUR_API_KEY", country="US")
results = ip.serp.search("public search query", country="US")
print(results["results"])
Google compatibility wrapper
ip.google.search("public search query", country="US")
ip.google.search(...) uses the SERP-safe path by default. If you need raw Google for QA only:
ip.google.search("public search query", country="US", direct=True)
Raw mode may return zero results or a verification page. Treat it as diagnostics, not the production SERP path.
Response shape
{
"success": true,
"source": "startpage",
"country": "US",
"count": 10,
"results": [
{
"title": "Example result",
"url": "https://example.com/",
"snippet": "..."
}
]
}
Fallback behavior
The SERP preset uses:
- Startpage-backed Google-compatible SERP path
- DuckDuckGo HTML fallback
This avoids exposing users to raw Google verification pages for normal public SERP research.
Proxy auth reminder
Canonical proxy auth is:
username: iploop
password: YOUR_API_KEY-country-US
host: proxy.iploop.io
port: 8880
curl example:
curl --proxy "http://proxy.iploop.io:8880" \
--proxy-user "iploop:${IPLOOP_API_KEY}-country-US" \
https://httpbin.org/ip