One API call. We handle scraping, geo-targeting, and parsing. You get clean, structured search results.
curl -X POST http://YOUR_SERVER:8080/serp/google/search/advanced \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"q": "coffee machine", "gl": "US", "hl": "en"}'
import requests
resp = requests.post(
"http://YOUR_SERVER:8080/serp/google/search/advanced",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"q": "coffee machine", "gl": "US", "hl": "en"}
)
data = resp.json()
for item in data["result"]["organic"]:
print(item["rank"], item["title"], item["link"])
const resp = await fetch("http://YOUR_SERVER:8080/serp/google/search/advanced", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
},
body: JSON.stringify({ q: "coffee machine", gl: "US", hl: "en" })
});
const data = await resp.json();
console.log(data.result.organic);{
"code": 0,
"msg": "success",
"result": {
"general": { "query": "coffee machine", "engine": "google", "page": 1 },
"organic": [
{
"rank": 1,
"title": "Best Coffee Machines 2026",
"link": "https://example.com/coffee-machines",
"display_link": "example.com",
"snippet": "Our top picks for espresso and drip machines...",
"sitelinks": []
}
],
"answer_box": { "type": "...", "answer": "...", "snippet": "..." },
"knowledge_graph": { "title": "...", "overview": "..." },
"people_also_ask": [ { "question": "...", "answer": "...", "rank": 1 } ],
"top_stories": [ { "title": "...", "link": "...", "source": "...", "rank": 1 } ]
}
}One endpoint for search, one for account status.
Run a Google search and get structured results. Auth via Authorization: Bearer YOUR_API_KEY. Credits are consumed only for successful searches.
Request parameters (JSON body):
q—Search query. Required.glUSGeo / country code (e.g. US, CN, JP).hlenInterface language (e.g. en, zh-CN).range—Time range: hour | day | week | month | year.page1Result page number.Result modules (each parsed separately):
result: {
general, // engine, query, page, type
organic[], // title, link, display_link, snippet, rank, sitelinks[]
answer_box, // answer, snippet, title, type, rank, reference[]
knowledge_graph, // title, overview, facts{}, rating, reviews, link, profiles[]
people_also_ask[], // question, answer, rank, reference[]
people_also_search_for[],// text, rank
top_stories[] // title, link, source, date, rank
}Check remaining credits and usage. Auth via Authorization: Bearer YOUR_API_KEY.
{
"code": 0,
"msg": "success",
"result": {
"credits_remaining": 9872,
"used_today": 128,
"used_this_month": 3450
}
}Note: code is a business code in the JSON body, not the HTTP status. code: 0 means success.
0Success3101Invalid parameters3102Fetch failed, please retry3103Unauthorized (missing / invalid key or no credits)3104Rate / concurrency limit exceeded3199Internal runtime errorAlready have an account? Log in
Click to copy.
curl -X POST http://YOUR_SERVER:8080/serp/google/search/advanced \
-H "Authorization: Bearer YOUR_KEY" \
-d '{"q": "coffee machine", "gl": "US"}'