Rybbit

Rybbit is an open-source, privacy-friendly web and product analytics platform positioned as a cookieless alternative to Google Analytics and Plausible. It ingests pageviews and custom events through a lightweight tracking script and HTTP /api/track endpoint, and exposes a Bearer-key-authenticated Stats API for sites, sessions, users, retention, and events. Rybbit can be self-hosted under AGPL-3.0 or consumed as a managed cloud service.

4 APIs 0 Features
AnalyticsWeb AnalyticsProduct AnalyticsPrivacyOpen SourceCookieless

APIs

Rybbit Event Tracking API

Public ingestion endpoint (POST /api/track) used by the Rybbit tracking script and server-side integrations to send pageviews, custom events, and outbound link events. Accepts s...

Rybbit Sites API

Management endpoints for organizations and sites that scope all analytics queries. Sites are addressed by site ID in the /api/sites/:site path prefix used across the Stats API.

Rybbit Analytics Stats API

Bearer-key-authenticated read API (beta) for querying analytics per site - events, users, journeys, and supporting stats - under the /api/sites/:site path. Supports date-range o...

Rybbit Sessions & Retention API

Session-level analytics and cohort retention - paginated session lists, individual session detail, session locations, per-user session history, and cohort-based retention curves...

Collections

Rybbit API

OPEN

Pricing Plans

Rybbit Plans Pricing

5 plans

PLANS

Rate Limits

Rybbit Rate Limits

4 limits

RATE LIMITS

FinOps

Rybbit Finops

FINOPS

Resources

🔗
TrustCenter
TrustCenter
🔗
VulnerabilityDisclosure
VulnerabilityDisclosure
🔗
DomainSecurity
DomainSecurity
🔑
Authentication
Authentication
📰
Blog
Blog
👥
GitHubOrganization
GitHubOrganization
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Rybbit API
  version: '1.0'
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: Event Tracking
    type: folder
  items:
  - info:
      name: Send a pageview or custom event.
      type: http
    http:
      method: POST
      url: https://app.rybbit.io/api/track
      body:
        type: json
        data: "{\n  \"site_id\": \"<string>\",\n  \"type\": \"custom_event\",\n  \"event_name\": \"<string>\",\n  \"hostname\"\
          : \"<string>\",\n  \"pathname\": \"<string>\",\n  \"page_title\": \"<string>\",\n  \"referrer\": \"<string>\",\n\
          \  \"language\": \"<string>\",\n  \"screenWidth\": 0,\n  \"screenHeight\": 0,\n  \"properties\": \"{}\"\n}"
    docs: Public ingestion endpoint used by the tracking script and server-side integrations. No API key required for basic
      tracking.
- info:
    name: Sessions
    type: folder
  items:
  - info:
      name: List sessions for a site.
      type: http
    http:
      method: GET
      url: https://app.rybbit.io/api/sites/:site/sessions
      params:
      - name: site
        value: ''
        type: path
        description: The site ID scoping the query.
    docs: Returns a paginated list of sessions with their analytics data.
  - info:
      name: Get a single session.
      type: http
    http:
      method: GET
      url: https://app.rybbit.io/api/sites/:site/sessions/:sessionId
      params:
      - name: site
        value: ''
        type: path
      - name: sessionId
        value: ''
        type: path
    docs: Returns session-level detail including the ordered list of pageviews and events.
  - info:
      name: List session locations.
      type: http
    http:
      method: GET
      url: https://app.rybbit.io/api/sites/:site/session-locations
      params:
      - name: site
        value: ''
        type: path
    docs: Returns geographic location data for sessions.
  - info:
      name: Get cohort retention.
      type: http
    http:
      method: GET
      url: https://app.rybbit.io/api/sites/:site/retention
      params:
      - name: site
        value: ''
        type: path
    docs: Returns cohort-based retention analysis grouped by first visit.
- info:
    name: Analytics
    type: folder
  items:
  - info:
      name: List users for a site.
      type: http
    http:
      method: GET
      url: https://app.rybbit.io/api/sites/:site/users
      params:
      - name: site
        value: ''
        type: path
    docs: Returns a list of users for the site.
  - info:
      name: Get a single user.
      type: http
    http:
      method: GET
      url: https://app.rybbit.io/api/sites/:site/users/:userId
      params:
      - name: site
        value: ''
        type: path
      - name: userId
        value: ''
        type: path
    docs: Returns detail for a single user.
  - info:
      name: List sessions for a user.
      type: http
    http:
      method: GET
      url: https://app.rybbit.io/api/sites/:site/users/:userId/sessions
      params:
      - name: site
        value: ''
        type: path
      - name: userId
        value: ''
        type: path
    docs: Returns the session history for a single user.
  - info:
      name: Get per-user session counts.
      type: http
    http:
      method: GET
      url: https://app.rybbit.io/api/sites/:site/users/session-count
      params:
      - name: site
        value: ''
        type: path
    docs: Returns session counts grouped by user.
  - info:
      name: Get user journeys.
      type: http
    http:
      method: GET
      url: https://app.rybbit.io/api/sites/:site/journeys
      params:
      - name: site
        value: ''
        type: path
    docs: Returns common navigation paths users take through the site.
bundled: true