Komi Page API
Komi link-in-bio → identity, socials{} (incl. website), content LINK/PRODUCT rows with price/currency. Flat 1 credit.
GET request to /v1/komi/page that responds with clean JSON and costs 1 credit. Pass cache=true for a free 24h cache hit; default is always fresh. Start with 100 free credits — no credit card.What is the Komi Page API?
Paste a Komi URL (komi.io/user or user.komi.io) and get the public page as clean JSON. Identity: id (string UUID), username, url, displayName, firstName/lastName, bio (may be an empty string), avatar. socials{} maps typed Komi social icons (instagram/tiktok/youtube/twitter/facebook/snapchat/spotify/appleMusic/…) and includes website when the creator publishes a WEBSITE row. links[] are content modules only — every row shares the same keys (id, moduleId, versionId, order, type, title, url, visible, thumbnail, price, currency); absent values are null, never missing keys. type distinguishes PRODUCT (price/currency filled) from LINK/YOUTUBE_VIDEO. YouTube embed rows read title/thumbnail from item.metadata when the module label is empty. Social icon rows are not duplicated into links[]. Komi does not expose follower counts or a verified badge. Flat 1 credit via Komi's public JSON APIs (not HTML scrape). Pass cache=true or cacheMaxAge (1d/3d/7d/14d/30d) for the shared response cache.
What you get
- Page id + displayName + bio (empty string when unset)
- socials{} incl. website when published
- Content links[] with id/thumbnail/order/visible
- PRODUCT price + currency for commerce rows
Try it
Fill in the parameters below and copy a ready-to-run request, or open the live Playground to run it against your account (no API key paste).
Parameters
curl "https://api.captapi.com/v1/komi/page?url=https%3A%2F%2Fkomi.io%2Fkimkardashian" \
-H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."Edit the parameters and the code updates instantly. Switch languages and hit copy.
Example response
{
"success": true,
"data": {
"platform": "komi",
"id": "64d82830-59aa-4488-bfb0-93426971d139",
"url": "https://komi.io/kimkardashian",
"username": "kimkardashian",
"handle": "kimkardashian",
"displayName": "Kim Kardashian",
"name": "Kim Kardashian",
"firstName": "Kim",
"lastName": "Kardashian",
"avatar": "https://komi-production-assets.s3.amazonaws.com/photos/4Nd69ODJHs61_iNYPlqos.jpg",
"linkCount": 22,
"socials": {
"instagram": "https://www.instagram.com/kimkardashian/",
"tiktok": "https://www.tiktok.com/@kimkardashian",
"youtube": "https://www.youtube.com/@KUWTK",
"twitter": "https://twitter.com/KimKardashian",
"facebook": "https://www.facebook.com/KimKardashian",
"snapchat": "https://www.snapchat.com/add/kimkardashian?locale=en-GB"
},
"bio": "",
"description": "",
"links": [
{
"id": "6d7086df-ede4-4f8a-85e5-0fa410e60bc2",
"url": "https://skims.social/shop-skims",
"title": "Visit SKIMS",
"type": "LINK",
"order": 0,
"visible": true,
"thumbnail": "https://komi-production-assets.s3-accelerate.amazonaws.com/photos/x_LQCBYzoWiel0-yrAnrF.jpg",
"moduleId": "e6ce39d2-e3df-4040-a5cc-ce016cacbc34",
"versionId": "944094bf-f124-4b13-866a-3498c492736d"
},
{
"id": "f43e198b-2fd5-45f4-80d1-389906c5c840",
"url": "https://skims.com/products/signature-swim-triangle-bikini-top-dune-crocodile-print",
"title": "TRIANGLE BIKINI TOP | DUNE CROCODILE",
"type": "PRODUCT",
"order": 0,
"visible": false,
"thumbnail": "https://komi-production-assets.s3-accelerate.amazonaws.com/photos/dzDiYZjZFXPE4E8-ZwnSn.png",
"moduleId": "5c8bc46c-2d6b-4731-baf3-2f40aec1465c",
"versionId": "944094bf-f124-4b13-866a-3498c492736d",
"price": 44,
"currency": "USD"
}
],
"other": []
}
}Billing metadata is returned in response headers: X-Captapi-Credits (credits charged), X-Captapi-Cache (hit or miss), and X-Captapi-Source. Failed requests (4xx/5xx) are never charged. See the full list of error codes in the error reference.
Response structure
A successful call returns success, cached, creditsUsed, and a data object with the following fields:
Top-level fields
platformPlatform identifier for this response (matches the endpoint's platform).idKomi talentProfile id as a string UUID (catalog-wide id convention).urlOn the page: https://komi.io/{username}. On a link row: outbound destination.usernameKomi account username (bare, no @).handleAccount handle.displayNameCreator display name from Komi.nameName of the item or account. On profile endpoints: deprecated alias of displayName (one release).firstNameFirst name.lastNameLast name.avatarAvatar / profile picture URL. Canonical across profile endpoints.linkCountNumber of content rows in links[] (hidden PRODUCT rows included when Komi marks visible:false).bioCreator bio. Always present — empty string when Komi has none.descriptionDescription text.otherTyped social rows that did not map into socials{} [{url, title?, type?}]. Empty when every published social mapped.
Socials
The socials object contains:
instagramInstagram URL.tiktokTiktok URL.youtubeYoutube URL.twitterTwitter URL.facebookFacebook URL.snapchatSnapchat URL.
Links
Each item in links contains:
idKomi talentProfile id as a string UUID (catalog-wide id convention).urlOn the page: https://komi.io/{username}. On a link row: outbound destination.titleTitle of the item.typeOn links[]: Komi module type (LINK, PRODUCT, YOUTUBE_VIDEO, …).orderOrder. Example: 0.visibleVisible. Example: true.thumbnailThumbnail image URL.moduleIdModule id. Example: "e6ce39d2-e3df-4040-a5cc-ce016cacbc34".versionIdVersion id. Example: "944094bf-f124-4b13-866a-3498c492736d".
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | Komi page URL or username, e.g. https://komi.io/kimkardashian or https://kimkardashian.komi.io/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. |
| cache | boolean | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits. |
| cacheMaxAge | string | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL (SC cache_max_age). Envelope: cached + cachedAt. |
Authentication: send your key as Authorization: Bearer capt_live_.... A typical call costs 1 credit. Pass cache=true for a free 24h cache hit; default is always fresh.
How it works
- 1. Sign up — get 100 free credits, no card required.
- 2. Create a key from your dashboard.
- 3. Send one request to
/v1/komi/pageand parse the JSON response.
Use cases
Commerce inventory
Collect PRODUCT rows with price/currency plus LINK CTAs (e.g. Visit SKIMS) for affiliate and merch research.
Creator graph fan-out
Pipe socials.instagram/tiktok/youtube/spotify into matching Captapi profile endpoints.
Contact + website
Read socials.website and outbound link destinations without scraping the Komi SPA.
Link change tracking
Stable link id + visible/order for dedupe and inventory diffs (hidden products included).
Frequently asked questions
What does the Komi Page API do?+
The Komi Page API lets you fetch profile or page details and audience stats from a public Komi profile or page using one GET request to /v1/komi/page. It returns clean JSON — no OAuth or infrastructure setup required.
How many credits does the Komi Page API cost?+
Each successful call costs 1 credit. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Hits include cached + cachedAt. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Failed or empty results are never charged.
Do I need a Komi API key or OAuth?+
No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle proxies, rate limits, retries, and authentication for you.
Is the Komi Page API suitable for production use?+
Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Hits include cached + cachedAt. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Use it for analytics, monitoring, and content automation.
Ready to use the Komi Page API?
Sign up, grab your key, and make your first call in 60 seconds.