---
title: "List experiences"
method: GET
path: "/experiences"
tags: ["Experiences"]
---

# List experiences

`GET /experiences`

Returns a paginated list of experiences belonging to a company, with optional filtering by product and app.

## Query parameters

- `after` string, nullable — Returns the elements in the list that come after the specified cursor.
- `before` string, nullable — Returns the elements in the list that come before the specified cursor.
- `first` integer, nullable — Returns the first _n_ elements from the list.
- `last` integer, nullable — Returns the last _n_ elements from the list.
- `company_id` string, required — The unique identifier of the company to list experiences for.
- `product_id` string, nullable — Filter to only experiences attached to this product identifier.
- `app_id` string, nullable — Filter to only experiences powered by this app identifier.
- `created_before` string, date-time, nullable — Only return experiences created before this timestamp.
- `created_after` string, date-time, nullable — Only return experiences created after this timestamp.

## Response `200`

A successful response

- object — The connection type for PublicExperience.
  - `data` ExperienceListItem[], required — A list of nodes.
    - `app` object, required — The app that powers this experience, defining its interface and behavior.
      - `icon` object, nullable, required — The icon image for this app, displayed on the app store, product pages, checkout, and as the default icon for experiences using this app.
        - `url` string, nullable, required — A pre-optimized URL for rendering this attachment on the client. This should be used for displaying attachments in apps.
      - `id` string, required — The unique identifier for the app.
      - `name` string, required — The display name of this app shown on the app store and in experience navigation. Maximum 30 characters.
    - `company` object, required — The company that owns this experience.
      - `id` string, required — The unique identifier for the company.
      - `route` string, required — URL slug for the account's store page, e.g. `pickaxe` in whop.com/pickaxe.
      - `title` string, required — The display name of the company shown to customers.
    - `created_at` string, date-time, required — The datetime the experience was created.
    - `id` string, required — The unique identifier for the experience.
    - `image` object, nullable, required — The custom logo image for this experience. Null if no custom logo has been uploaded.
      - `url` string, nullable, required — A pre-optimized URL for rendering this attachment on the client. This should be used for displaying attachments in apps.
    - `is_public` boolean, required — Whether this experience is publicly visible to all users, including those without a membership.
    - `name` string, required — The display name of this experience shown to users in the product navigation. Maximum 255 characters.
    - `order` string, nullable, required — The sort position of this experience within its section. Lower values appear first. Null if no position has been set.
  - `page_info` PageInfo, required — Information about pagination in a connection.
    - `end_cursor` string, nullable, required — When paginating forwards, the cursor to continue.
    - `has_next_page` boolean, required — When paginating forwards, are there more items?
    - `has_previous_page` boolean, required — When paginating backwards, are there more items?
    - `start_cursor` string, nullable, required — When paginating backwards, the cursor to continue.

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `422` — Verification required
- `429` — Too many requests
- `500` — Internal server error

---

[API](https://skmtc.net/whop/apis/whop-api.md) · [All operations](https://skmtc.net/whop/apis/whop-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/whop/whop-api/versions/866821546d67/schema)
