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
- Connect a self-hosted Ghost instance to a Tinybird workspace.
- Set the Ghost site to Private mode (no frontend traffic).
- Disable Analytics entirely in the Ghost Admin settings.
- 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
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
Expected Behavior
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