Tired of aimlessly looking at Google searches in an attempt to find a keyword that fits your SEO strategy?
Our SERP Explorer API will provide you with data collected from a variety of sources including Google's internal APIs directly to your screen. Everything from keyword volume and trend data to difficulty and real-time SERPs along with DR (Domain Rank) and PR (Page Rank).
1 token/credit per keyword (search term)
If no SERPs are requested for scraping.
3 tokens/credits per SERP page
Otherwise.
Requesting data for some keyword along with the first 2
Google pages to be scraped will cost 6 tokens/credits
.
> POST https://api.jsonrepo.com/v1/seo/serp_explorer
Field | Description |
---|---|
X-API-Key | Required Your API Key |
Field | Type | Description |
---|---|---|
keyword | String | Required Keyword or search phrase to examine. Max length of 50 characters |
serp_pages | Integer | Optional Number of Google pages to scrape based on the keywordDefault: 0 Range: 0 <= limit <= 5 |
SERP Count:
Each SERP page contains 10 results. 5 pages means 50 total Google results.
WARNING: Region Info
Currently our system will only scrape data from
en-US
Google search pages. We're working on implementing regional segmentation.
A successful request will result in a populated payload
field with the expected output. The search term / keyword will be passed to our Keyword Checker before any SERPs are aggregated.
// Lookup the keyword 'seo tools' and with `1` SERP page results
curl -X POST https://api.jsonrepo.com/v1/seo/serp_explorer \
-H "X-API-Key: {YOUR_API_KEY_HERE}" \
--data-urlencode "keyword=seo tools" \
--data-urlencode "serp_pages=1"
// Server Response
{
"http_code": 200,
"http_message": "Ok",
"timestamp": 1734489978,
"message": "Successful execution.",
"payload": {
"serps": {
"input": {
"keyword": "seo tools",
"serp_pages": 1
},
"output": {
"keyword": {
"id": "1",
"keyword": "seo tools",
"length": 9,
"region": "Global",
"volume": 90500,
"competition": 19,
"cpc": "$ 0.83",
"difficulty_score": 3,
"volume_score": 5,
"ad_score": 4,
"trend": [
{
"year": 2023,
"month": "December",
"value": 90500
},
// 12 Months data
...
{
"year": 2024,
"month": "November",
"value": 110000
}
],
"last_updated": "14 December 2024",
"origin": "cache"
},
"serps": [
{
"position": 1,
"title": "The 11 best SEO tools in 2025 - Zapier",
"link": "https://zapier.com/blog/best-seo-tools/",
"snippet": "Surfer offers a deceptively simple suite of five tools: Keyword Research, Content Editor, Audit, Domain Planner, and SERP Analyzer. On the ...",
"page_rank": 28,
"domain_rank": 93
},
// 10 SERPS as requested (1 page)
...
{
"position": 10,
"title": "Best SEO Tools Reviews 2024 | Gartner Peer Insights",
"link": "https://www.gartner.com/reviews/market/seo-tools",
"snippet": "The tools are used for keyword research, keyword position tracking, website audit, competitor analysis, automated reporting, and much more.",
"page_rank": 24,
"domain_rank": 95
}
]
}
}
}
}
A failed request will result in an error output as detailed in Error Rules. If the endpoint validation fails due to missing, badly formatted or invalid parameters, the endpoint will return HTTP code 400
along with a message
detailing the error.
// Request with badly formatted `keyword` parameter
{
"http_code": 400,
"http_message": "Bad Request",
"timestamp": 1729807009,
"message": "'keyword' was not provided or was longer than 50 characters.",
"payload": []
}