All platforms13 Ko-fi endpoints

Ko-fi API. Creator pages, as JSON.

Public profiles, posts, comments, membership tiers, shop items, commissions, gallery and albums from any Ko-fi creator. Name a handle or page id and get JSON.

No credit card requiredRead the API docs
  • Any public creator
  • 13 endpoints
  • 1 credit per request
  • Failed requests aren't charged
99.8% uptime#3 Product of the Day3,200+ developers

Teams running monitoring, research, and enrichment pipelines

Ko-fi data as JSON. You build the product.

Live Ko-fi data in one response shape, with platform changes handled for you.

Ko-fi, plus every other platform

One key and one response envelope for Ko-fi and 56 more platforms.

Pricing you can reason about

One request, one credit. Know how far your balance will go before you run your next batch.

Live data on every request

Fetch public data when you ask for it.

Nothing to maintain

We handle platform changes and breakages.

Built for production jobs

Run concurrent workloads with explicit statuses and request IDs.

Regular jobs. Better rates.

Running lookups every month? Get lower per-credit rates with a monthly plan. For occasional projects, choose pay as you go.

Never expires
Use cases

What teams build with Ko-fi data

Monitoring, enrichment, research and content workflows on Ko-fi data, on the same API as every other platform.

What you can build

Find creators

Check profiles, supporters, tiers and shop items.

Track creator offers

Follow new posts, membership tiers and commissions.

How it works

Your first request in three steps.

Use TypeScript or your automation tool of choice.

Sources

+ 51 more platforms

One request

Social Fetch API

GET/v1/tiktok/profiles/charlidamelio

x-api-key: sk_live_••••••••

1 request · 1 credit

Same JSON shape

response.json200 OK
{
  "data": {
    "lookupStatus": "found",
    "profile": {
      "platform": "tiktok",
      "handle": "charlidamelio",
      "displayName": "charli d’amelio",
      "verified": true
    },
    "metrics": {
      "followers": 160263648
    }
  }
}
  1. Step 1

    Create your free account

    Get an API key with 100 requests included.

  2. Step 2

    Choose an endpoint

    Pass a username, URL, keyword, or post ID.

  3. Step 3

    Get clean JSON

    Use the response immediately or send it into your pipeline.

Works with your stack

Code, automate, or connect your AI.

Explore integrations

Pricing

Social data, priced simply.

Start with 100 free credits. Monthly plans give you predictable volume and lower per-request rates.

Starter

$29.00

18,000credits

  • Top up from $1.61 / 1k if you run out
  • Up to 25 monitors
Most popular

Growth

$79.00

50,000credits

  • Top up from $1.58 / 1k if you run out
  • 5 team seats
  • Up to 100 monitors

Scale

$225.00

150,000credits

  • Top up from $1.50 / 1k if you run out
  • 25 team seats
  • Up to 250 monitors
  • Cancel anytime
  • 30-day money-back guarantee
  • Price locked while you stay

Need 1M+ credits, invoicing, or volume rates? Talk to us

Trust signals

DevHunt

Product Hunt

Uneed

Customers

Teams building on Social Fetch.

“Our TikTok and Instagram scrapers broke constantly. Social Fetch took us off that rotation — we ship product again.”

Daniel Reeve · Founder, Social Crow
  • “Transcripts at volume from one endpoint. No broken scrapers for our small team to maintain.”

    Marcus Lin · Founder, Voice Gecko
  • “Live profile data on every request. We never flag accounts from a stale cache.”

    Hannah Webb · Founder, Scam Finder
  • “Heavy concurrent load, no rate limits to negotiate. The rare API I haven't wrapped in retries.”

    Owen Pritchard · Founder, IP Flare

Ko-fi API: common questions

Is there a Ko-fi API for creator pages?

Yes. Social Fetch has thirteen Ko-fi routes under /v1/ko-fi: profile, membership tiers, top supporters, posts feed, post, post comments, shop items, one shop item, commissions, gallery, one gallery item, albums and one album with its tiles. Authenticate with your Social Fetch API key in x-api-key.

How do I identify a creator?

Use the handle from the page URL, for example ligianunes, or the page id, for example A644275F. Handles are case-insensitive and the response reports the canonical handle. A handle with characters outside letters, digits, underscores and hyphens is refused as a bad request.

What does lookupStatus mean?

found means the profile or item was returned. not_found means the profile, post or item does not exist. HTTP 200 only means the request finished, so branch on data.lookupStatus before writing a row. A gallery item id in the wrong shape is refused with HTTP 400; a well-formed id that does not exist is not_found.

How does paging work?

Posts carry 12 items a page and continue with page.nextPage or page.nextCursor. Comments carry 25 top-level comments a page and use an offset cursor. Shop items take limit 1 to 20 with a default of 12, commissions take limit 1 to 20 with a default of 6, and gallery carries 20 tiles a page. Follow page.nextCursor while page.hasMore is true.

Does the posts feed include absolute dates?

No. The feed shows a relative time such as 2 days ago, so data.posts[].relativeTime is the only time field there. Fetch the post with GET /v1/ko-fi/posts/{slug} to get its absolute postedAt date and full body.

Are comment replies included?

Yes. Each top-level comment carries its replies inline in data.comments[].replies, sorted oldest first. Replies nest one level, and so does the API. When a total is reported, data.page.total counts all comments including replies.

What does a shop item response include?

The list route returns id, alias, url, name, descriptionPreview, price, currency, images, soldOut, stockRemaining, soldCount, payWhatYouWant, requiresShipping, access, discountPercent and categoryIds. The single item route adds the full description, soldText, stockText, maxQuantity, shipsTo, shippingFees, contents, named variations in their order, and seller.

Do you return supporter-only posts?

No. A supporter or member-only post comes back with access restricted and bodyHtml and bodyText set to null. The API does not sign in or unlock that content.

How much does the Ko-fi API cost?

Every Ko-fi route charges one credit per completed request, and each page of a list is a separate request. Failed lookups that Social Fetch marks as non-billable do not consume credits. New accounts start with 100 free credits, and meta.creditsCharged on each response is the billing source of truth.

Can I use the Ko-fi routes from agents or MCP?

Yes. Every Ko-fi route is a typed MCP tool and is reachable through Ask (POST /v1/ask) in plain English. Use the typed routes for production jobs.

The Ko-fi API in detailHow the Ko-fi routes work, what they cost, and how they differ from the official API.

Why teams use Social Fetch for Ko-fi

GET /v1/ko-fi/profiles/{handle} takes a creator handle such as ligianunes or a page id such as A644275F. The profile response carries id, the canonical handle, name, bio and links, plus the checkout details the page publishes: support (currency, suggested amounts, recurring support), goal, badges, followers and the pageMode (tip, membership, shop, commissions or supporter).

The rest of the surface follows that creator across the page: membership tiers with prices and benefits, ranked top supporters, the posts feed with type, access and tag filters, one post with its full bodyHtml and bodyText, comments with one level of replies, shop items with price and stock, commissions with previews and waitlist flags, gallery tiles, single gallery items and public albums.

Every response uses the { data, meta } envelope and every lookup has data.lookupStatus. A handle that does not exist is not_found, not an HTTP error. List routes carry a page block with returned, hasMore and nextCursor; posts, shop and commissions page by number, while comments and gallery use an offset cursor. meta.creditsCharged is the billing field on every response.

How to call the Ko-fi API

  1. 1. Create an API key

    Sign up at Social Fetch and copy a key (sfk_...). New accounts get 100 free credits, enough to try every Ko-fi route on a few creators.

  2. 2. Pick the route and identifier

    Use the handle from the page URL, or the page id when that is what you have. For example GET /v1/ko-fi/profiles/ligianunes/posts for the feed, or GET /v1/ko-fi/shop-items/25d06ddd2a for one item. Send x-api-key on every request.

  3. 3. Check the status, then page

    Read data.lookupStatus before storing a row. For a list, keep requesting with page.nextCursor while page.hasMore is true, and bill from meta.creditsCharged.

What each Ko-fi route returns

  • Creator profiles by handle or page id, with the canonical handle, support settings, goal, badges and follower count.
  • Membership tiers with monthly price, benefits, preview images, remaining spots and active member counts, ordered by price.
  • Ranked supporters, up to ten when the creator has a leaderboard and the top three otherwise.
  • Posts feeds filtered by type, access and tag, 12 items a page, and one post with its full body and tags.
  • Post comments with one level of replies, likes and author details, 25 top-level comments a page.
  • Shop items with price, stock, sold count, images, shipping and audience, plus one item with its full description and contents.
  • Commissions, gallery tiles, gallery items and public albums from the same creator page.

How much does the Ko-fi API cost?

Each Ko-fi route charges a flat amount per completed request, shown on every endpoint page. Each page of a list is its own request. Credits never expire on pay-as-you-go packs, and meta.creditsCharged on every response is the billing source of truth.

Social Fetch vs the official Ko-fi API

There is no public read API that returns a creator's profile, posts, comments, membership tiers, shop, commissions, gallery and albums in one shape. Social Fetch gives them one envelope: the same lookupStatus, page and meta fields across every route, opaque cursors, and typed misses instead of HTML error pages.

Pull your first Ko-fi data.

Run a live Ko-fi request in the playground. 100 free credits, no card, JSON back in seconds.

No credit cardSign up in 30 seconds withGoogleGitHub