TryGhost/Ghost

Tinybird integration continuously polls api_active_visitors (causing 429 errors) even when Analytics is disabled

Closed

#28,264 opened on May 31, 2026

 (2 comments) (0 reactions) (0 assignees)JavaScript (11,860 forks)batch import
affects:adminbughelp wanted

Repository metrics

Stars
 (54,652 stars)
PR merge metrics
 (Avg merge 19d 11h) (658 merged PRs in 30d)

Description

Issue Summary

Our self-hosted Ghost instance is currently set to Private and is still being set up (zero actual traffic). Despite this, the Tinybird integration is generating well over 1000 queries per day, quickly exhausting our trial/free tier limits and resulting in continuous 429 Too Many Requests error emails.

Looking at the Tinybird logs, Ghost is constantly polling the api_active_visitors endpoint (multiple times per minute), alongside occasional calls to api_kpis. The core issue is that this background polling continues even if Analytics are completely disabled in the Ghost settings.

tinybird-logs.png (Screenshot showing the continuous stream of requests to api_active_visitors and the resulting 429 rate limit errors).

Steps to Reproduce

  1. Connect a self-hosted Ghost instance to a Tinybird workspace.
  2. Set the Ghost site to Private mode (no frontend traffic).
  3. Disable Analytics entirely in the Ghost Admin settings.
  4. Monitor the Tinybird logs.

Expected Behavior

  • When Analytics are disabled in the Ghost settings, the backend should completely stop making API calls (polling) to Tinybird for visitor stats or KPIs.
  • A private site with zero traffic should not exhaust API rate limits through aggressive background polling for "active visitors" that do not exist.

Actual Behavior Ghost continuously sends GET requests to the api_active_visitors resource and POST requests to api_kpis, completely ignoring the fact that Analytics are disabled. This runs up the API usage and leads to a constant stream of 429 errors once the daily limit is reached.

Ghost Version

6.42

Node.js Version

22

How did you install Ghost?

Hostinger with official Ghost Docker image

Database type

MySQL 8

Browser & OS version

No response

Relevant log / error output

Code of Conduct

  • I agree to be friendly and polite to people in this repository

Contributor guide