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.
- Any public creator
- 13 endpoints
- 1 credit per request
- Failed requests aren't charged
Teams running monitoring, research, and enrichment pipelines
Why Social Fetch
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.
What Ko-fi data can you get?
13 endpoints, one API key. Every response comes back as live JSON in the same envelope.
Creators
Membership
Posts
Shop
Gallery
Browse all 13 Ko-fi endpoints
Creators
Membership
Posts
Shop
Gallery
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.
How it works
Your first request in three steps.
Use TypeScript or your automation tool of choice.
Sources
+ 51 more platforms
One request
GET/v1/tiktok/profiles/
x-api-key: sk_live_••••••••
Same JSON shape
{
"data": {
"lookupStatus": "found",
"profile": {
"platform": "tiktok",
"handle": "charlidamelio",
"displayName": "charli d’amelio",
"verified": true
},
"metrics": {
"followers": 160263648
}
}
}Step 1
Create your free account
Get an API key with 100 requests included.
Step 2
Choose an endpoint
Pass a username, URL, keyword, or post ID.
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.
TypeScript
n8n
- Make
- Apify
- MCP
- AI clients
Pricing
Social data, priced simply.
Start with 100 free credits. Monthly plans give you predictable volume and lower per-request rates.
Starter
18,000credits
$1.61 per 1k · $0.00161 per request
- Top up from $1.61 / 1k if you run out
- Up to 25 monitors
Growth
50,000credits
$1.58 per 1k · $0.00158 per request
- Top up from $1.58 / 1k if you run out
- 5 team seats
- Up to 100 monitors
Scale
150,000credits
$1.50 per 1k · $0.00150 per request
- 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.”
“Transcripts at volume from one endpoint. No broken scrapers for our small team to maintain.”
“Live profile data on every request. We never flag accounts from a stale cache.”
“Heavy concurrent load, no rate limits to negotiate. The rare API I haven't wrapped in retries.”
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. 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. 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/postsfor the feed, orGET /v1/ko-fi/shop-items/25d06ddd2afor one item. Sendx-api-keyon every request.3. Check the status, then page
Read
data.lookupStatusbefore storing a row. For a list, keep requesting withpage.nextCursorwhilepage.hasMoreis true, and bill frommeta.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,accessandtag, 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