Google Shopping positions, now and over time
https://seolyticize.com /api/v1/tools/get_shopping_serp Collects the Shopping pages queued by check_shopping_serp, keeps them, and says where the client's products sit — matched on the seller names given (default the client's name) and the client's domain — with the top listings beside it and the market on each page (price min, max, median, P25 and P75 with outliers over 2σ from the median, the top 10 sellers' share of listings, the share with free shipping and the rating distribution), and the client's position history for those keywords from every capture kept. A task still queued is listed as pending; ask again shortly. Answers 'where do we rank in Google Shopping' and 'who outranks us there'. Free: collecting a queued task costs nothing.
Parameters
Idempotency-KeystringheaderRequest body
application/json
clientIdstringrequiredtasksobject[]requiredShow child parameters
keywordstringrequiredtaskIdstringrequiredsellersstring[]daysinteger{
"clientId": "string",
"tasks": [
{
"keyword": "string",
"taskId": "string"
}
],
"sellers": [],
"days": 90
}Code samples
cURL
curl -X POST "https://seolyticize.com/api/v1/tools/get_shopping_serp" \
-H "Authorization: Bearer $SEOLYTICIZE_API_KEY" \
-H "Idempotency-Key: <value>" \
-H "Content-Type: application/json" \
-d '{"clientId":"string","tasks":[{"keyword":"string","taskId":"string"}],"sellers":[],"days":90}'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_shopping_serp
WWW-AuthenticatestringSame as 400 · POST /api/v1/tools/get_shopping_serp
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_shopping_serp
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_shopping_serp
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_shopping_serp
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_shopping_serp
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerRetry-AfterintegerSame as 400 · POST /api/v1/tools/get_shopping_serp
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-Resetinteger