---
title: "List a project's buyers"
method: GET
path: "/api/public/v1/projects/{slug}/buyers"
tags: ["Projects"]
---

# List a project's buyers

`GET /api/public/v1/projects/{slug}/buyers`

## Request

- Base URL: `https://thefirm.biz`
- URL: `https://thefirm.biz/api/public/v1/projects/{slug}/buyers`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/thefirm/apis/autoboy-public-api/docs/api/public/v1/projects/:slug/buyers/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns a cursor-paginated page of a project's buyers, ordered by follower count (highest first). When the request's API key owns the project, each buyer additionally carries `maxSpendUsdc` & `maxFdvUsdc`.

## Path parameters

- `slug` string, required: URL-safe identifier of the project.

## Query parameters

- `cursor` string: Opaque cursor marking where the previous page ended. Omit it to fetch the first page; pass the `meta.nextCursor` from a response verbatim to fetch the next. A null `meta.nextCursor` means there are no more pages. Treat the value as opaque — its format varies per endpoint.
- `limit` integer, nullable: Maximum number of items per page. Defaults to 20; values are clamped to 1–100.

## Response `200`

A page of buyers.

- BuyersResponse
  - `data` object[], required
    - `source` 'farcaster' | 'x' | 'wallet', required: Which identity the buyer is shown under. `farcaster`: a Farcaster account. `x`: an X (Twitter) account. `wallet`: a wallet with no linked social account.
    - `fid` integer, required: Farcaster ID when `source` is `farcaster`; `0` otherwise.
    - `username` string, required: Display handle: the Farcaster username (`source: farcaster`), the X handle without the leading @ (`source: x`), or a shortened wallet address such as `0x1234…5678` (`source: wallet`).
    - `pfpUrl` string, nullable, required: Absolute URL of the buyer’s profile picture, or null when none is available. Always null for `wallet` buyers.
    - `followerCount` integer, required: Follower count of the buyer’s account, used to rank the page. `0` when no follower data is available, such as `wallet` buyers.
    - `maxSpendUsdc` string: Owner-only. Committed max autobuy spend in USDC for this buyer.
    - `maxFdvUsdc` string, nullable: Owner-only. Max fully-diluted valuation in USD the buyer will buy up to, or null for no cap.
  - `meta` object, required
    - `limit` integer, required: Page size that was applied to this response.
    - `nextCursor` string, nullable, required: Cursor for the next page, or null when this is the last page. Pass it as the `cursor` query parameter to page forward.

## Other responses

- `400`: Invalid pagination parameters or cursor.
- `401`: Missing or invalid API key.
- `404`: No project matches the slug.
- `429`: Rate limit exceeded. Wait `Retry-After` seconds before retrying.

---

[API](https://skmtc.dev/thefirm/apis/autoboy-public-api.md) - [All operations](https://skmtc.dev/thefirm/apis/autoboy-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/thefirm/apis/autoboy-public-api/revisions/56f5091b8f06?raw)
