Metrics for a list of keywords
https://seolyticize.com /api/v1/tools/get_keyword_metrics Volume (with 12 months of history), CPC, competition, difficulty, intent and SERP features for up to 700 known keywords — in one or more countries (locationCodes, up to 5), or a city, county or region (locationName, from Google Ads, e.g. 'London,England,United Kingdom'). Countries the research index does not cover are answered from Google Ads. clickstream: true adds clickstream-refined volume (twice the cost). engine bing gives Bing's volume, CPC, competition and history from Bing Ads (English, French and German); engine amazon gives Amazon search volume from DataForSEO Labs (volume only). YouTube publishes no volume and is refused with that reason. Answers 'what is the volume of these keywords', 'how many people search this in Madrid' and 'how often is this searched on Bing or Amazon'. A paid lookup on the client's account unless anyone read the same thing recently (spend says which); quote it with estimate_cost.
Parameters
Idempotency-KeystringheaderRequest body
application/json
clientIdstringrequiredenginestringkeywordsstring[]requiredlocationCodesinteger[]locationNamestringlanguageCodestringclickstreambooleanmaxCostMicrosintegerdryRunboolean{
"clientId": "string",
"engine": "google",
"keywords": [
"string"
],
"locationCodes": [],
"locationName": null,
"languageCode": null,
"clickstream": false,
"maxCostMicros": 0,
"dryRun": true
}Code samples
cURL
curl -X POST "https://seolyticize.com/api/v1/tools/get_keyword_metrics" \
-H "Authorization: Bearer $SEOLYTICIZE_API_KEY" \
-H "Idempotency-Key: <value>" \
-H "Content-Type: application/json" \
-d '{"clientId":"string","engine":"google","keywords":["string"],"locationCodes":[],"locationName":null,"languageCode":null,"clickstream":false,"maxCostMicros":0,"dryRun":true}'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_keyword_metrics
WWW-AuthenticatestringSame as 400 · POST /api/v1/tools/get_keyword_metrics
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_keyword_metrics
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_keyword_metrics
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_keyword_metrics
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_keyword_metrics
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerRetry-AfterintegerSame as 400 · POST /api/v1/tools/get_keyword_metrics
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-Resetinteger