Simple Analytics · Authentication Profile

Simpleanalytics Authentication

Authentication

Simple Analytics authenticates with a pair of custom headers, not a bearer token. There is no OAuth, no OIDC, no token exchange and no refresh — an Api-Key identifies the account and a User-Id identifies the principal, and Admin API calls need both. Two surfaces need no credential at all: public websites on the read APIs, and the server-side event collection endpoint.

Simple Analytics secures its APIs with apiKey across 2 declared security schemes, as derived from its OpenAPI definitions.

AnalyticsWeb AnalyticsPrivacyCookielessGDPREventData ExportEurope
Methods: apiKey Schemes: 2 OAuth flows: API key in: header

Security Schemes

ApiKeyAuth apiKey
· in: header (Api-Key)
UserId apiKey
· in: header (User-Id)

Source

Authentication Profile

Raw ↑
generated: '2026-08-13'
method: searched
docs: https://docs.simpleanalytics.com/api/authenticate
source: >-
  https://docs.simpleanalytics.com/api/authenticate,
  https://docs.simpleanalytics.com/api/stats,
  https://docs.simpleanalytics.com/api/admin,
  https://docs.simpleanalytics.com/events/server-side, derived baseline from
  openapi/simpleanalytics-events-api-openapi.yml,
  openapi/simpleanalytics-export-api-openapi.yml,
  openapi/simpleanalytics-stats-api-openapi.yml,
  openapi/simpleanalytics-websites-api-openapi.yml, plus live probes of
  https://simpleanalytics.com 2026-08-13
description: >-
  Simple Analytics authenticates with a pair of custom headers, not a bearer
  token. There is no OAuth, no OIDC, no token exchange and no refresh — an
  Api-Key identifies the account and a User-Id identifies the principal, and
  Admin API calls need both. Two surfaces need no credential at all: public
  websites on the read APIs, and the server-side event collection endpoint.
summary:
  types:
  - apiKey
  api_key_in:
  - header
  oauth2: false
  openid_connect: false
  mutual_tls: false
  bearer: false
  rotation_documented: false
  scopes: false
schemes:
- name: ApiKeyAuth
  type: apiKey
  in: header
  parameter: Api-Key
  prefix: sa_api_key_
  description: >-
    Account API key created in account settings. Required for the Admin API and
    for the Stats and Export APIs when the website is private.
  example_shape: sa_api_key_ followed by an opaque token
  sources:
  - https://docs.simpleanalytics.com/api/authenticate
  - openapi/simpleanalytics-events-api-openapi.yml
  - openapi/simpleanalytics-export-api-openapi.yml
  - openapi/simpleanalytics-stats-api-openapi.yml
  - openapi/simpleanalytics-websites-api-openapi.yml
- name: UserId
  type: apiKey
  in: header
  parameter: User-Id
  prefix: sa_user_id_
  format: sa_user_id_ + UUIDv4
  description: >-
    User identifier shown in account settings. Required alongside Api-Key on
    Admin API calls; a non-UUIDv4 value returns HTTP 400 "Invalid user id
    format, it should be a UUIDv4".
  sources:
  - https://docs.simpleanalytics.com/api/authenticate
  - https://docs.simpleanalytics.com/api/admin
  - openapi/simpleanalytics-events-api-openapi.yml
  - openapi/simpleanalytics-export-api-openapi.yml
  - openapi/simpleanalytics-stats-api-openapi.yml
  - openapi/simpleanalytics-websites-api-openapi.yml
requirements_by_operation:
- operation: getStats
  required:
  - Api-Key
  conditional: true
  note: Public websites answer with no credentials; private websites require Api-Key.
- operation: exportDataPoints
  required:
  - Api-Key
  conditional: true
  note: >-
    Verified answering anonymously for a public hostname on 2026-08-13. Private
    hostnames require Api-Key and a Business or Enterprise plan.
- operation: listWebsites
  required:
  - Api-Key
  - User-Id
  conditional: false
- operation: addWebsite
  required:
  - Api-Key
  - User-Id
  conditional: false
  note: Also requires a Business or Enterprise plan; calling it auto-upgrades the account.
- operation: collectEvent
  required: []
  conditional: false
  note: >-
    queue.simpleanalyticscdn.com/events accepts unauthenticated POSTs — the
    hostname in the payload is the routing key. There is no write credential.
example_request: |
  curl "https://simpleanalytics.com/api/websites" \
    -H 'Content-Type: application/json' \
    -H 'Api-Key: sa_api_key_REDACTED_EXAMPLE' \
    -H 'User-Id: sa_user_id_00000000-0000-0000-0000-000000000000'
failure_modes:
  note: >-
    Authentication failures return HTTP 400, not 401 — an agent's standard
    "401 means re-auth" heuristic will not fire here. Probed 2026-08-13.
  observed:
  - status: 400
    body: '{"success": false, "error": "No Api-Key found, specify via header"}'
  - status: 400
    body: '{"success": false, "error": "No User-Id defined"}'
  - status: 400
    body: '{"success": false, "error": "Invalid user id format, it should be a UUIDv4"}'
  artifact: errors/simpleanalytics-problem-types.yml
key_management:
  create: Account settings in the dashboard
  rotate: Not documented
  revoke: Not documented
  expiry: No documented TTL
  scopes: None — a key is all-or-nothing for the account
  note: >-
    No scoping, rotation or expiry story is published, so a leaked Api-Key plus
    User-Id grants full account read and the ability to add billable websites
    until it is manually replaced.
dashboard_sso:
  note: >-
    Okta and Microsoft Entra SAML SSO are available for dashboard sign-in
    (docs.simpleanalytics.com/okta-saml-sso, /microsoft-entra-saml-sso). This
    governs human login only; it issues no API credential.

Work with this as data

Every security artifact here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for security posture

4 MCP tools reach this
  • find_securityBrowse and filter every security artifact in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This security artifact
curl "https://apis.io/api/v1/security/simpleanalytics-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.