> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/ko-fi/profiles-handle>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/ko-fi/profiles-handle.mdx>

---

# Ko-fi Profile API

One creator's public identity and support settings, by handle or page id.

`GET /v1/ko-fi/profiles/{handle}` accepts the handle from the page URL, such as `ligianunes`, or the page id, such as `A644275F`. The response reports the canonical `handle` even when the request used a different spelling. `profile.id` is the stable creator id shared with the other routes, and `profile.pageMode` says whether the page is a tip page, a membership page, a shop, a commissions page or a supporter account.

On `found`, `data.profile` carries `name`, `avatarUrl`, `coverUrl`, `isGold`, `followers` (`kind`, `count`, `approximate`), `bio`, `website`, `socials`, `tags`, `goal`, `badges`, `commissions` (`slotsText`, `slotsLeft`; the creator's own slots line) and the embedded `support` model (`currency`, `itemName`, `actionLabel`, `unitAmount`, `minimumAmount`, `suggestedAmounts`, `recurring`, `discordRewards`). `membership.unlockable` gives the benefit counts. `og` holds the page title, description and share image. Fields a page does not publish are null, so `support` is null for a supporter account and `goal` is null when there is no goal widget. A missing handle returns `lookupStatus: not_found` with `profile: null`.

## Request

- **Endpoint:** `GET /v1/ko-fi/profiles/{handle}`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by handle or page id
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/ko-fi/profiles/handle/get)
- **Platform page:** [/platforms/ko-fi](https://www.socialfetch.dev/platforms/ko-fi)

## FAQ

### Should I pass a handle or a page id?

Either works. Use the handle from the page URL when you have it, and the page id when that is what your data already stores. The response reports the canonical profile.handle, which can differ from the spelling you sent.

### What is in data.profile.support?

The checkout settings the page publishes: currency, the creator's own itemName, the actionLabel, unitAmount, minimumAmount, suggestedAmounts, recurring, discordRewards and discordRewardsSubscribersOnly. It is null for a supporter account or a creator who cannot receive support.

### What does lookupStatus mean?

found means the profile was returned. not_found means the handle or page id does not exist. HTTP 200 only means the request finished, so branch on lookupStatus.

### How many credits does a profile lookup cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.
