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.
from iploop import IPLoop
ip = IPLoop("YOUR_API_KEY", country="US")
results = ip.serp.search("public search query", country="US")
print(results["results"])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.
{
"success": true,
"source": "startpage",
"country": "US",
"count": 10,
"results": [
{
"title": "Example result",
"url": "https://example.com/",
"snippet": "..."
}
]
}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.
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