Blog performance for a date range.
Totals for the period and the comparison period (views, reads, average read time, scroll and read-through), a daily series, the top posts and the top channel. Google search fields appear only when the key also holds service.seo.view and acts for a member (a connected app); otherwise google is { connected: false, reason }.
https://app.softsolz.uk/api/v1/services/blogs/performanceRecent Requests
Kept only in this browserHeaders
AuthorizationstringrequiredBearer token: `Bearer sk_live_...` (or `sk_test_...` for sandbox). A login token will not work here.
Query Params
fromstringFirst day, YYYY-MM-DD (UTC).
tostringLast day, YYYY-MM-DD (UTC), inclusive.
daysintegerLength of the range ending today, 1 to 400, when from and to are not given. Default 30.
comparestringprevious (default) compares with the period before, year with the same period last year, none turns comparison off.
Response
Response Body
rangeobject | nullThe reported period: from, to (inclusive) and days.previous_rangeobject | nullThe comparison period, or null when compare=none.comparestring | nullComparison mode used.analytics_enabledbooleanWhether reader analytics is on.blog_address_setbooleanWhether the blog has a public address, needed to match Google data.totalsobject | nullTotals for the period.previous_totalsobject | nullTotals for the comparison period.changeobject | nullChange ratios for views, reads, read time and read-through.seriesarray of objectsOne entry per day: day, views, reads, previous_day, previous_views.top_postsarray of objectsMost viewed posts in the period.top_channelobject | nullChannel that brought the most tracked views.googleobject | nullGoogle clicks and impressions across blog posts, with top searches.Request
curl --request GET \ --url https://app.softsolz.uk/api/v1/services/blogs/performance \ --header 'Authorization: Bearer sk_live_your_key'Credentials
Sent as a Bearer token and used in the samples above and in Try it. Kept only in this browser. Use an sk_test_ key to stay in your sandbox.
Response · 200
{ "data": { "range": { "from": "2026-09-08", "to": "2026-10-07", "days": 30 }, "previous_range": {}, "compare": "previous", "analytics_enabled": true, "blog_address_set": true, "totals": { "views": 1240, "tracked_views": 980, "reads": 410, "avg_read_seconds": 96, "avg_scroll": 64, "read_through": 0.42 }, "previous_totals": {}, "change": {}, "series": [ {} ], "top_posts": [ {} ], "top_channel": {}, "google": {} }}