specification: API Commons Rate Limits specificationVersion: '0.1' schema: https://raw.githubusercontent.com/api-evangelist/interface-research/main/schema/api-commons.yml#/$defs/RateLimits provider: Simple Analytics providerId: simpleanalytics generated: '2026-08-13' method: searched source: >- https://docs.simpleanalytics.com/api, https://docs.simpleanalytics.com/api/stats, https://docs.simpleanalytics.com/api/export-data-points, https://docs.simpleanalytics.com/api/admin, https://www.simpleanalytics.com/pricing, plus live response headers observed on https://simpleanalytics.com 2026-08-13 created: '2026-06-21' modified: '2026-08-13' reconciled: true reconciledOn: '2026-08-13' tags: - Analytics - Web Analytics - Privacy - Cookieless - GDPR - Rate Limiting - Quotas - Throttling limit_count: 0 description: >- Simple Analytics publishes NO numeric request rate limits for the Stats, Export, Admin or event-collection APIs. Every API page in the docs sitemap was read and none mentions rate limits, throttling, 429 or Retry-After. Live unauthenticated responses carried no RateLimit-*, X-RateLimit-* or Retry-After header either, so an agent has no runtime signal of remaining budget at all. limit_count is an honest 0 — the constraint that actually binds is the monthly pageview allowance attached to the plan, which is a billing quota, not a request limit. notes: >- The recorded absence is the finding. The Export API returns a whole date range in one uncapped response and there is no pagination, so a wide export is a single large request with no published ceiling and no documented behaviour when it is too large. This is the clearest runtime gap on an otherwise well-documented surface and it is the provider's to close. response_headers: ratelimit_limit: null ratelimit_remaining: null ratelimit_reset: null retry_after: null observed: '2026-08-13' observed_on: GET https://simpleanalytics.com/simpleanalytics.com.json (HTTP 200) note: >- Headers returned were access-control-allow-origin, content-security-policy, content-type, date, set-cookie, x-frame-options and content-length. No rate-limit family header of any kind. responseCodes: throttled: null note: >- 429 is not documented and was not provoked. Observed error statuses on this API are 400 and 404 — see errors/simpleanalytics-problem-types.yml. limits: [] quotas: - name: Monthly pageviews scope: account metric: pageviews window: month limit: set by plan (free = unlimited under fair use; Self-serve slider 100k-2.5M) enforcement: >- Billing, not throttling. Monthly plans recalculate the fee from usage; annual plans email you and give one week to raise the limit before it is raised automatically. source: https://www.simpleanalytics.com/pricing - name: Tracked websites scope: account metric: websites window: n/a limit: 5 on the free plan; set by plan otherwise source: https://www.simpleanalytics.com/pricing - name: Data history retention scope: account metric: months window: n/a limit: 1 month on the free plan; set by plan otherwise enforcement: Data older than the retention window is deleted, bounding what any export can return. source: https://www.simpleanalytics.com/pricing in_request_caps: - name: Stats API field limit parameter: limit applies_to: getStats range: 1-1000 note: >- Caps how many entries come back per list field (pages, countries, referrers, …). A response-size cap the caller chooses, not a rate limit. source: https://docs.simpleanalytics.com/api/stats policies: - name: Fair use description: >- The free plan's unlimited pageviews are subject to a fair-use policy; the team emails customers who exceed it rather than throttling them. source: https://www.simpleanalytics.com/pricing - name: Plan gating description: >- Raw data export and the addWebsite Admin endpoint require a Business or Enterprise plan. Access control, not rate limiting. source: https://docs.simpleanalytics.com/api/admin - name: Robot filtering description: >- Server-side events sent with a default library user agent (python-requests, curl, node-fetch, axios) are classified as robot traffic and dropped. Not a rate limit, but it is the most common reason a write silently does nothing. source: https://docs.simpleanalytics.com/events/server-side sources: - https://docs.simpleanalytics.com/api - https://docs.simpleanalytics.com/api/stats - https://docs.simpleanalytics.com/api/export-data-points - https://docs.simpleanalytics.com/api/admin - https://docs.simpleanalytics.com/events/server-side - https://www.simpleanalytics.com/pricing