Billing & Plans
GoodLogs uses simple flat-rate pricing. No per-seat charges, no surprise bills.
Plans
| Free | Starter ($15/mo) | Pro ($39/mo) | Team ($99/mo) | |
|---|---|---|---|---|
| Projects | 3 | 5 | 20 | 50 |
| Events/month | 1M | 3M | 25M | 50M |
| Log volume/month | 100 MB | 1 GB | 25 GB | 50 GB |
| AI queries/day | 5 | 25 | 500 | 1,000 |
| Hot data retention (interactive query) | 7 days | 14 days | 30 days | 60 days |
| Full-history export | ✓ | ✓ | ✓ | ✓ |
| Team members | 2 | 5 | 15 | 25 |
| API keys | 5 | 10 | 100 | 200 |
| Rate limit | 10 req/s | 20 req/s | 50 req/s | 100 req/s |
| Support | Community | Priority | Dedicated + SSO |
How retention works
Your data is kept for as long as your subscription is active (we never
silently delete it). What changes per plan is the interactive query
window — how far back a dashboard or GET /v1/gql request can look
without going through an export job.
- Inside the hot window: every query (raw rows, filters, time series, aggregates) is interactive — sub-second responses.
- Outside the hot window: the same data is available via the Export endpoint. You initiate an export, it runs as a background job, and you get a CSV/JSON download when it's ready (usually a few minutes).
So a Free-tier account can still pull a 6-month-old log line — it just goes through the export flow instead of being shown in a dashboard chart.
Request Limits
All plans share the same request size limits:
- Max 500 items per batch request
- Max 2 MB request body
- Max 64 KB per log message
Billing Cycle
Monthly billing via Paddle. Your subscription renews on the same day each month. Cancel anytime — you keep access until the end of the billing period.
Upgrading
Go to Dashboard → Billing and click Upgrade on your desired plan. Changes take effect immediately. You're prorated for the remainder of the current billing period.
Quota Enforcement
When you hit a quota limit:
- Events/Logs: new data is rejected with
402 QUOTA_EXCEEDED - AI queries: daily limit resets at midnight UTC
- Projects: can't create new projects
Existing data is never deleted due to quota limits — only new ingestion is blocked.