Skip to main content
Prerequisite A Growi organization on the Growth plan or higher, and access to Settings → Developer in the dashboard.
The content analytics endpoints return the same numbers as your Home page, for any date range. Use them to feed a BI tool, a weekly report or your own dashboard.

1. Create a read-only key

Reporting only reads, so create a viewer key under Settings → Developer → API keys. A viewer key can’t change anything, which makes it safe to paste into a BI tool or share with an agency. See authentication and keys.

2. Get the headline numbers

Content summary returns the totals for the range and for the same-length range before it, so you can show the change.

3. Add the detail you need

For sales, use Stores overview and Shopify stats. For payouts, use List payouts.

4. Stay inside the rate limit

A key gets 40 requests an hour and needs 2 seconds between calls. A report that calls six endpoints once a day is well inside that. Cache the filters, and don’t poll. See rate limits.

Spikes and breakout posts

A spike is a day whose gain is at least 3 times the median of the 14 days before it. The baseline reaches back before start_date, so the first days of your range are covered too. Today is never a spike, because it’s a partial day, and neither is a day whose baseline is under 1,000: small numbers swing on a single post. Pass threshold and baseline_days to Spike days to change the 3 and the 14. What drove a day takes one date inside your range and returns that day’s total against the same baseline, how many posts gained and how many were new, the top posts by gain with each one’s share of the day, and everyone else rolled up. Breakout posts are posts gaining far faster than their own normal pace: views gained yesterday and today so far, against their average daily gain over the 7 days before. It always answers for right now and ignores start_date and end_date; meta.window says which days it used. If a dip looks wrong, check post readings per day first. A day marked low had under half the usual number of fresh post readings, so the dip may be missing data rather than fewer views.

Moving off the old stats endpoints

The /stats/* endpoints that used to power Home are deprecated. They still work, but they’re slower and use MM/DD/YYYY dates. The deprecations table maps each one to its replacement.

Troubleshooting

Check the header is Authorization: Bearer <key> with no extra spaces, and that the key wasn’t deleted under Settings → Developer → API keys.
A viewer key tried a write. Reporting endpoints are all GET. For writes, use a full key.
Wait for the Retry-After seconds, then space calls at least 2 seconds apart.
Days are UTC and both ends of the range are included. Pass the same organization_id and campaign filters the dashboard has selected.