Queries answered by a different page
https://seolyticize.com /api/v1/tools/get_query_page_swaps Queries where Google now sends searchers to a different page of the site than in the previous period, with both pages and their clicks. Answers 'is Google confused about which page to rank' — a swap is usually two pages competing (merge them or fix internal links) or a new page taking over. Every Search Console query, not only tracked keywords (get_url_swaps covers those). Each swap names the registry's owner for the query and whether Google's current page is it. searchType picks web (default), image, video or news. Free.
Parameters
Idempotency-KeystringheaderRequest body
application/json
clientIdstringrequireddaysintegercomparestringsearchTypestringbrandstringminImpressionsintegerlimitinteger{
"clientId": "string",
"days": 28,
"compare": "previous",
"searchType": "web",
"brand": "all",
"minImpressions": 20,
"limit": 50
}Code samples
cURL
curl -X POST "https://seolyticize.com/api/v1/tools/get_query_page_swaps" \
-H "Authorization: Bearer $SEOLYTICIZE_API_KEY" \
-H "Idempotency-Key: <value>" \
-H "Content-Type: application/json" \
-d '{"clientId":"string","days":28,"compare":"previous","searchType":"web","brand":"all","minImpressions":20,"limit":50}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
data, and its meta.Example
{
"data": {},
"meta": {
"requestId": "string",
"costMicros": 0,
"cached": true,
"cachedFrom": "string",
"dataAsOf": "string",
"sources": [
"string"
],
"partial": true,
"next": [
{
"tool": "string",
"args": {},
"why": "string"
}
],
"nextCursor": "string",
"dryRun": true
}
}Schema
datarequiredmetaobjectrequiredShow child parameters
requestIdstringrequiredcostMicrosintegerrequiredcachedbooleanrequiredcachedFromstringdataAsOfstringsourcesstring[]partialbooleanrequirednextobject[]requiredShow child parameters
toolstringargsobjectwhystringnextCursorstringdryRunbooleanX-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerX-Request-IdstringExample
{
"error": "string",
"code": "string",
"next": "string",
"requestId": "string"
}Schema
errorstringrequiredcodestringnextstringrequestIdstringX-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_query_page_swaps
WWW-AuthenticatestringSame as 400 · POST /api/v1/tools/get_query_page_swaps
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_query_page_swaps
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_query_page_swaps
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_query_page_swaps
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_query_page_swaps
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerRetry-AfterintegerSame as 400 · POST /api/v1/tools/get_query_page_swaps
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-Resetinteger