The complete guide to embedding Ko-fi on your website
Ko-fi was founded in 2012 in the United Kingdom by Jonathan Cahill as a simple zero-fee tip jar for indie creators, and has since grown into a full creator-commerce platform covering one-off tips, monthly Gold memberships at a flat $6 a month, a shop for digital and physical products, an open commissions board, and Stream Alerts for Twitch streamers. The platform is a favorite among illustrators, indie game developers, podcasters, streamers, zinesters, and open-source maintainers precisely because it bundles all of these monetization modes into one creator page and takes 0 percent on tips while charging only about 5 percent on Gold subscriptions and shop sales (versus Patreon's 8 to 12 percent and Buy Me a Coffee's 5 percent on memberships). The catch with embedding Ko-fi on your own website is that the official Ko-fi iframe is minimal and only renders one block at a time, the third-party widgets each have quirks and limitations, and Ko-fi does not expose a traditional REST API for public creator data, instead relying on a webhook system that you have to configure correctly to power live supporter walls and tip tickers. This guide walks through what actually matters when you choose and configure a Ko-fi widget in 2026: the public-page versus webhook connection modes, how to display all four monetization surfaces (tip jar, shop, commissions, Gold) in one branded embed, performance and Core Web Vitals, GDPR considerations for supporter walls, payout flow and where Ko-fi's zero-fee promise actually applies, and the creator-economy economics that determine which platform you should embed at all. By the end you will know exactly what to look for in a Ko-fi widget, why the webhook-driven supporter ticker matters so much for tip conversion, and how to use a single embed layer to feature Ko-fi alongside Patreon, Buy Me a Coffee, Substack, and Gumroad on a unified creator site.
01
Ko-fi's connection model: public-page sync, webhooks, and what each unlocks
Unlike Patreon (REST API v2 with OAuth) or Substack (RSS plus API), Ko-fi does not expose a traditional public REST API for creator data. Instead, Ko-fi uses two distinct surfaces. The first is the public creator page at ko-fi.com slash your-handle, which renders your tip jar, shop grid, commission status, Gold tier, and recent supporter ticker as crawlable HTML. Any third-party widget can pull this content using standard public-page scraping (Ko-fi's terms permit non-abusive read access to public creator data). The Poper widget uses this mode by default, polling your public page every 6 hours on Free plans and every 30 minutes on Pro plans to refresh shop inventory, commission status, and Gold tier benefits. The second surface is Ko-fi's official webhook system, which you enable from the API page in your Ko-fi account settings. You generate a verification token, paste it into Poper, and we register a webhook endpoint that receives an HTTP POST every time a fan tips you, buys a shop item, places a commission order, or signs up for your Gold tier. The payload includes the supporter name (or anonymous flag), the amount, the currency, the timestamp, and a message field if the supporter left one. Webhook mode is what powers the live supporter wall, the recent-tip ticker, and the auto-decrementing commission slot counter. The verification token is the only credential exchanged (no password, no OAuth flow), and you can revoke it from the Ko-fi API page any time, which immediately stops new webhook deliveries. We store the token encrypted at rest using AES-256. Public-page mode and webhook mode can run side by side: the public page provides shop inventory and commission status, the webhook provides the live tip and supporter feed. This dual-mode design is why Poper supports any Ko-fi creator page (no Ko-fi sign-in required for basic embeds) while still offering the live supporter feel for creators who do connect the webhook.