---
title: "Get Affiliate Analytics"
method: GET
path: "/analytics/affiliates"
tags: ["Analytics"]
---

# Get Affiliate Analytics

`GET /analytics/affiliates`

Returns the project affiliates with their totals for a period, oldest joiner first. Affiliates with no activity in the period are omitted. Note 1: this endpoint is only accessible with a secret API key. Note 2: a period may span at most 90 days; request a longer window a period at a time. Note 3: up to 100 affiliates are returned per request; page through the rest with `offset`.

## Query parameters

- `limit` number
- `offset` number
- `from` string, date, required
- `to` string, date, required

## Headers

- `x-api-key` string, required

## Response `200`

The page of affiliates and their totals for the period.

- AffiliateAnalyticsResponse
  - `data` AffiliateAnalytics, required
    - `from` string, required — The first day of the period, inclusive
    - `to` string, required — The last day of the period, inclusive
    - `totals` AffiliateAnalyticsMetrics, required
      - `claims` number, required — The number of times the affiliate's codes were claimed
      - `conversions` number, required — The number of claims that converted into a purchase
      - `revenue` number, required — The revenue attributed to the affiliate, in USD cents
      - `earnings` number, required — The commission owed to the affiliate on that revenue, in USD cents
    - `affiliates` AffiliateAnalyticsEntry[], required — The page of affiliates, oldest joiner first. Affiliates with no activity in the period are omitted.
      - `id` string, required — The affiliate id
      - `name` string, required — The affiliate name
      - `accepted_at` string, date-time, required — When the affiliate joined the project
      - `status` 'pending' | 'withdrawn' | 'approved' | 'rejected' | 'archived' | 'deactivated' | 'banned', required — The affiliate current standing with the project. Not always `approved`: an affiliate is reported for what they did in the period, so one since banned or deactivated still appears alongside the metrics they earned.
      - `totals` AffiliateAnalyticsMetrics, required
        - `claims` number, required — The number of times the affiliate's codes were claimed
        - `conversions` number, required — The number of claims that converted into a purchase
        - `revenue` number, required — The revenue attributed to the affiliate, in USD cents
        - `earnings` number, required — The commission owed to the affiliate on that revenue, in USD cents
    - `pagination` Pagination, required
      - `limit` number, required — How many results were requested
      - `offset` number, required — How many results were skipped before this page
      - `total` number, required — How many results matched in total, across every page
      - `has_more` boolean, required — Whether another page follows this one

## Other responses

- `401` — Unauthorized
- `422` — The request is invalid.
- `429` — The rate limit for this endpoint has been exceeded.

## Changes

- **2026-08-04** `6657be550276` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/winwinkit/apis/winwinkit-api/changes/analytics/affiliates/get.md)

---

[API](https://skmtc.dev/winwinkit/apis/winwinkit-api.md) · [All operations](https://skmtc.dev/winwinkit/apis/winwinkit-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/winwinkit/winwinkit-api/revisions/5b921a291cf8/schema)
