---
title: "List Audiences"
method: GET
path: "/audiences"
tags: ["Audiences"]
---

# List Audiences

`GET /audiences`

List custom and lookalike audiences for an account. Pass `audience_id` to return a specific audience.

## Query parameters

- `account_id` string, required
- `audience_id` string
- `audience_type` 'custom' | 'lookalike'
- `source_type` 'csv_upload' | 'people_filter' | 'engagement'
- `first` integer
- `after` string

## Response `200`

Audiences listed.

- object
  - `data` Audience[], required
    - `audience_type` 'custom' | 'lookalike', required — Whether the audience targets a defined group of people or people similar to an existing audience.
    - `auto_refresh` boolean, required — Whether Whop rebuilds membership from saved People filters twice a day. When `false`, People audiences keep the members matched at creation. Always `false` for uploaded lists, lookalikes, and engagement audiences. Engagement membership is maintained by Meta.
    - `created_at` string, required — When the audience was created, as an ISO 8601 timestamp.
    - `engagement` AudienceEngagement, required
      - `exclude` AudienceEngagementRule[], required — Exclude anyone matching any exclusion rule. Supply 0–10 rules. Video audiences do not support exclusions; use a separate audience in ad-group exclusions.
        - union
          - AudienceEngagementVideoRule
            - `event` 'watched_3_seconds' | 'watched_10_seconds' | 'watched_15_seconds' | 'watched_25_percent' | 'watched_50_percent' | 'watched_75_percent' | 'watched_95_percent', required — Interaction that qualifies a person for this rule.
            - `object` 'video', required — Engagement source.
            - `platform_video_ids` string[], required
            - `retention_days` integer, required — Rolling membership window in days, from 1 to 365.
            - `social_account_id` string, required — Connected social account ID, prefixed `sacc_`, with advertising access.
          - AudienceEngagementLeadFormRule
            - `event` 'opened' | 'submitted' | 'not_submitted', required — Interaction that qualifies a person for this rule.
            - `object` 'lead_form', required — Engagement source.
            - `platform_form_ids` string[], required
            - `retention_days` integer, required — Rolling membership window in days, from 1 to 90.
            - `social_account_id` string, required — Connected social account ID, prefixed `sacc_`, with advertising access.
          - AudienceEngagementInstagramProfileRule
            - `event` 'all' | 'engaged' | 'visited' | 'messaged' | 'saved' | 'ad_liked' | 'ad_commented' | 'ad_shared' | 'ad_saved' | 'ad_cta_clicked' | 'ad_carousel_swiped' | 'organic_liked' | 'organic_commented' | 'organic_shared' | 'organic_saved' | 'organic_swiped' | 'organic_carousel_swiped', required — Interaction that qualifies a person for this rule.
            - `object` 'instagram_profile', required — Engagement source.
            - `retention_days` integer, required — Rolling membership window in days, from 1 to 730.
            - `social_account_id` string, required — Connected social account ID, prefixed `sacc_`, with advertising access.
          - AudienceEngagementFacebookPageRule
            - `event` 'engaged' | 'visited' | 'liked' | 'messaged' | 'cta_clicked' | 'saved' | 'post_interaction', required — Interaction that qualifies a person for this rule.
            - `object` 'facebook_page', required — Engagement source.
            - `retention_days` integer, required — Rolling membership window in days, from 1 to 730. Use 0 for `liked`, which tracks current likes and cannot be combined with other events.
            - `social_account_id` string, required — Connected social account ID, prefixed `sacc_`, with advertising access.
      - `include` AudienceEngagementRule[], required — Match any inclusion rule. Supply 1–10 rules. Video rules must share a retention window and cannot be combined with other sources.
        - union
          - AudienceEngagementVideoRule
            - `event` 'watched_3_seconds' | 'watched_10_seconds' | 'watched_15_seconds' | 'watched_25_percent' | 'watched_50_percent' | 'watched_75_percent' | 'watched_95_percent', required — Interaction that qualifies a person for this rule.
            - `object` 'video', required — Engagement source.
            - `platform_video_ids` string[], required
            - `retention_days` integer, required — Rolling membership window in days, from 1 to 365.
            - `social_account_id` string, required — Connected social account ID, prefixed `sacc_`, with advertising access.
          - AudienceEngagementLeadFormRule
            - `event` 'opened' | 'submitted' | 'not_submitted', required — Interaction that qualifies a person for this rule.
            - `object` 'lead_form', required — Engagement source.
            - `platform_form_ids` string[], required
            - `retention_days` integer, required — Rolling membership window in days, from 1 to 90.
            - `social_account_id` string, required — Connected social account ID, prefixed `sacc_`, with advertising access.
          - AudienceEngagementInstagramProfileRule
            - `event` 'all' | 'engaged' | 'visited' | 'messaged' | 'saved' | 'ad_liked' | 'ad_commented' | 'ad_shared' | 'ad_saved' | 'ad_cta_clicked' | 'ad_carousel_swiped' | 'organic_liked' | 'organic_commented' | 'organic_shared' | 'organic_saved' | 'organic_swiped' | 'organic_carousel_swiped', required — Interaction that qualifies a person for this rule.
            - `object` 'instagram_profile', required — Engagement source.
            - `retention_days` integer, required — Rolling membership window in days, from 1 to 730.
            - `social_account_id` string, required — Connected social account ID, prefixed `sacc_`, with advertising access.
          - AudienceEngagementFacebookPageRule
            - `event` 'engaged' | 'visited' | 'liked' | 'messaged' | 'cta_clicked' | 'saved' | 'post_interaction', required — Interaction that qualifies a person for this rule.
            - `object` 'facebook_page', required — Engagement source.
            - `retention_days` integer, required — Rolling membership window in days, from 1 to 730. Use 0 for `liked`, which tracks current likes and cannot be combined with other events.
            - `social_account_id` string, required — Connected social account ID, prefixed `sacc_`, with advertising access.
      - `platform` 'meta', required — Ad platform that maintains membership.
    - `error_message` string, nullable, required — Processing error message. `null` unless processing is partial or failed.
    - `filters` object, nullable, required — Saved Whop People filters that define membership, using the same keys as `GET /people`. `null` for uploaded lists, engagement audiences, and lookalikes.
    - `id` string, required — Audience ID, prefixed `adaud_`.
    - `last_refreshed_at` string, nullable, required — When the audience membership was last rebuilt, as an ISO 8601 timestamp. `null` until the first build completes.
    - `lookalike_ratio` number, nullable, required — For lookalikes: the upper bound of the similarity band as a fraction (0.02 = top 2%). `null` for custom audiences.
    - `lookalike_starting_ratio` number, nullable, required — For lookalikes: the lower bound of the similarity band as a fraction. `null` for custom audiences and first-tier lookalikes.
    - `match_rates` AudienceMatchRate[], required
      - `lower_bound` number, nullable, required — Lower bound of the estimated match rate percentage. `null` until available.
      - `platform` 'meta', required — The ad platform that provided the match-rate estimate.
      - `status` 'calculating' | 'available' | 'unavailable' | 'null', nullable, required — Availability of the estimated match rate.
      - `upper_bound` number, nullable, required — Upper bound of the estimated match rate percentage. `null` until available.
    - `matched_rows` number, required — Members successfully uploaded to connected ad accounts. Always 0 for lookalikes and engagement audiences.
    - `name` string, required — Audience display name.
    - `platform_audience_ids` string[], required
    - `processed_rows` number, required — Members processed from the source so far. Always 0 for lookalikes and engagement audiences.
    - `progress_percent` number, required — Processing progress from 0 to 100.
    - `source_audience_id` string, nullable, required — For lookalikes: the audience this lookalike was built from. `null` for custom audiences.
    - `source_type` 'csv_upload' | 'people_filter' | 'engagement', required — Membership source: an uploaded CSV, Whop People filters, or social engagement.
    - `status` 'pending' | 'processing' | 'syncing' | 'ready' | 'partial' | 'failed', required — Current state of audience creation. For engagement audiences, `ready` means the rules were created on Meta; membership may still be populating. `syncing` means Whop is sending matched rows to connected ad accounts. When status is `partial` or `failed`, `error_message` explains what went wrong.
    - `total_rows` number, required — Total members detected in the source — CSV rows for uploaded lists, matching people for automatic audiences. Always 0 for lookalikes and engagement audiences.
    - `updated_at` string, required — When the audience was last updated, as an ISO 8601 timestamp.
  - `page_info` object, required
    - `end_cursor` string, nullable, required
    - `has_next_page` boolean, required
    - `has_previous_page` boolean, required
    - `start_cursor` string, nullable, required

## Other responses

- `401` — Unauthorized

## Changes

> 74 revisions in range; 1 not diffed.

- **2026-09-16** `ff3a76573563` — 1 breaking, 1 warning
  - for the `query` request parameter `first`, default value `20` was added
  - for the `query` request parameter `first`, the max was set to `100.00`
- **2026-09-08** `4fe3b2d21546` — 1 warning, 3 info
  - added the new `engagement` enum value to the `data/items/source_type` response property for the response status `200`
  - added the new optional `header` request parameter `Api-Version-Date` to all path's operations
  - added the new enum value `engagement` to the `query` request parameter `source_type`
  - added the required property `data/items/engagement` to the response with the `200` status
- **2026-08-07** `f1020c3ecda4` — 1 info
  - added the optional property `error/code` to the response with the `401` status
- **2026-07-26** `60bbb4a6ffbc` — 10 info
  - added the new optional `query` request parameter `audience_type`
  - added the new optional `query` request parameter `source_type`
  - added the required property `data/items/audience_type` to the response with the `200` status
  - added the required property `data/items/auto_refresh` to the response with the `200` status
  - …6 more
- …earlier changes not shown

[Full history](https://skmtc.dev/whop/apis/whop-api/changes/audiences/get.md)

---

[API](https://skmtc.dev/whop/apis/whop-api.md) · [All operations](https://skmtc.dev/whop/apis/whop-api/llms.txt) · [OpenAPI document](https://skmtc.dev/whop/apis/whop-api/revisions/78e1ed7366cd?raw)
