The next 90 days of non-branded clicks
https://seolyticize.com /api/v1/tools/forecast_search_clicks Forecasts daily non-branded Google clicks for the next 90 days (horizonDays) from the site's own history: level, a damped trend, the weekly rhythm and last year's seasonality (needs 13 months of history; with less, pass trends — Google Trends interest for the site's head term from get_google_trends, past_5_years — to stand in), with an 80% band. scenario adds 'what if we win the striking-distance set': every query at positions 4–15 moved to 3, using the site's own click-through curve, the gain arriving over 60 days. Answers 'how much traffic should we expect next quarter' and 'what is the striking-distance work worth'. Free.
Parameters
Idempotency-KeystringheaderRequest body
application/json
clientIdstringrequiredhorizonDaysintegertrendsobject[]Show child parameters
datestringrequiredvaluenumberrequiredscenarioboolean{
"clientId": "string",
"horizonDays": 90,
"trends": null,
"scenario": true
}Code samples
cURL
curl -X POST "https://seolyticize.com/api/v1/tools/forecast_search_clicks" \
-H "Authorization: Bearer $SEOLYTICIZE_API_KEY" \
-H "Idempotency-Key: <value>" \
-H "Content-Type: application/json" \
-d '{"clientId":"string","horizonDays":90,"trends":null,"scenario":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/forecast_search_clicks
WWW-AuthenticatestringSame as 400 · POST /api/v1/tools/forecast_search_clicks
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/forecast_search_clicks
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/forecast_search_clicks
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/forecast_search_clicks
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/forecast_search_clicks
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerRetry-AfterintegerSame as 400 · POST /api/v1/tools/forecast_search_clicks
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-Resetinteger