captapi-com Komi API

Public data from Komi.

Operations 1

GET /v1/komi/page Komi Page API #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/captapi-com:captapi-com-komi-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

captapi-com-komi-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Captapi Komi API
  version: 0.1.0
  summary: Structured public data from social platforms through one REST API.
  description: 'Captapi returns public data (profiles, posts, comments, transcripts, search, ads, commerce) from social platforms as JSON.


    Auth: send your key as `Authorization: Bearer capt_live_...` or `X-API-Key: capt_live_...`. Keys are created by a human at https://captapi.com/dashboard/api-keys.


    Billing: each operation states its cost in `x-credit-cost`. The `X-Captapi-Credits` response header shows what was charged. Failed requests (4xx/5xx) are not billed. `cache=true` serves from the 24h cache, free on a hit where `billedOnCacheHit` is false. Where the price depends on which path served the call, `x-credit-cost.note` gives the full rule and the range we have observed.


    Empty results: on many list and search endpoints a call that ran but found nothing is charged 0 credits (for example an ad-library or profile search with no matches). Where an empty result is still billed, the endpoint description says so; Google Maps business search, for instance, bills its one page because the lookup ran. The `X-Captapi-Credits` header always shows the actual charge.


    Errors: every non-2xx response uses the same envelope, `{ success: false, error: { code, message, retryable } }`. Retry only when `retryable` is true, honouring `Retry-After`.


    Timing: every response carries `Server-Timing: total;dur=`, the total time the request took. Deprecated: the `timings` object some endpoints still return in `data` will be removed from response bodies on 2026-12-17; use the header instead. It is not part of the response schemas below.


    Response schemas are inferred from real captured responses and list the fields seen there plus documented top-level fields. Fields can be null when a platform does not expose them.


    Endpoint list: https://captapi.com/llms-endpoints.txt · Guide for agents: https://captapi.com/llms.txt · MCP: https://captapi.com/mcp.json'
  contact:
    name: Captapi support
    email: support@captapi.com
    url: https://captapi.com
  termsOfService: https://captapi.com/legal/terms
  license:
    name: Captapi Terms of Service
    url: https://captapi.com/legal/terms
servers:
- url: https://api.captapi.com
security:
- bearerAuth: []
- apiKeyHeader: []
tags:
- name: Komi
  description: Public data from Komi.
paths:
  /v1/komi/page:
    get:
      operationId: komi_page
      tags:
      - Komi
      summary: Komi Page API
      description: 'Komi link-in-bio → identity, socials{} (incl.


        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.


        Docs: https://captapi.com/apis/komi-page'
      security:
      - bearerAuth: []
      - apiKeyHeader: []
      parameters:
      - name: url
        in: query
        required: true
        description: 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.
        schema:
          type: string
        example: https://komi.io/kimkardashian
      - name: cache
        in: query
        required: false
        description: Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.
        schema:
          type: boolean
          default: false
        example: false
      - name: cacheMaxAge
        in: query
        required: false
        description: 'Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.'
        schema:
          enum:
          - 1d
          - 3d
          - 7d
          - 14d
          - 30d
          type: string
      x-credit-cost:
        credits: 1
        label: 1 credit
        billedOnCacheHit: false
      x-one-liner: Komi link-in-bio → identity, socials{} (incl.
      responses:
        '200':
          description: Success. The data object for this endpoint.
          headers:
            X-Captapi-Credits:
              $ref: '#/components/headers/Credits'
            X-Captapi-Cache:
              $ref: '#/components/headers/Cache'
            X-Captapi-Request-Id:
              $ref: '#/components/headers/RequestId'
            Server-Timing:
              $ref: '#/components/headers/ServerTiming'
          content:
            application/json:
              schema:
                type: object
                required:
                - success
                - data
                properties:
                  success:
                    const: true
                  data:
                    type: object
                    properties:
                      platform:
                        type: string
                        description: Platform identifier for this response (matches the endpoint's platform).
                      id:
                        type: string
                        description: Komi talentProfile id as a string UUID (catalog-wide id convention).
                      url:
                        type: string
                        description: 'On the page: https://komi.io/{username}. On a link row: outbound destination.'
                      username:
                        type: string
                        description: Komi account username (bare, no @).
                      handle:
                        type: string
                        description: Account handle.
                      displayName:
                        type: string
                        description: Creator display name from Komi.
                      name:
                        type: string
                        description: 'Name of the item or account. On profile endpoints: deprecated alias of displayName (one release).'
                      firstName:
                        type: string
                        description: First name.
                      lastName:
                        type: string
                        description: Last name.
                      avatar:
                        type: string
                        description: Avatar / profile picture URL. Canonical across profile endpoints.
                      linkCount:
                        type: integer
                        description: Number of content rows in links[] (hidden PRODUCT rows included when Komi marks visible:false).
                      socials:
                        type: object
                        properties:
                          instagram:
                            type: string
                            description: Instagram URL.
                          tiktok:
                            type: string
                            description: Tiktok URL.
                          youtube:
                            type: string
                            description: Youtube URL.
                          twitter:
                            type: string
                            description: Twitter URL.
                          facebook:
                            type: string
                            description: Facebook URL.
                          snapchat:
                            type: string
                            description: Snapchat URL.
                      bio:
                        type: string
                        description: Creator bio. Always present — empty string when Komi has none.
                      description:
                        type: string
                        description: Description text.
                      links:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              description: Id of this links item.
                            url:
                              type: string
                              description: 'On the page: https://komi.io/{username}. On a link row: outbound destination.'
                            title:
                              type: string
                              description: Title of this links item.
                            type:
                              type: string
                              description: 'On links[]: Komi module type (LINK, PRODUCT, YOUTUBE_VIDEO, …).'
                            order:
                              type: integer
                              description: 'Order. Example: 0.'
                            visible:
                              type: boolean
                              description: 'Visible. Example: true.'
                            thumbnail:
                              type: string
                              description: Thumbnail image URL.
                            moduleId:
                              type: string
                              description: 'Module id. Example: "e6ce39d2-e3df-4040-a5cc-ce016cacbc34".'
                            versionId:
                              type: string
                              description: 'Version id. Example: "944094bf-f124-4b13-866a-3498c492736d".'
                            price:
                              type: integer
                            currency:
                              type: string
                      other:
                        type: array
                        items: {}
                        description: Typed social rows that did not map into socials{} [{url, title?, type?}]. Empty when every published social mapped.
              example:
                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: []
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '402':
          $ref: '#/components/responses/Error402'
        '404':
          $ref: '#/components/responses/Error404'
        '422':
          $ref: '#/components/responses/Error422'
        '429':
          $ref: '#/components/responses/Error429'
        '502':
          $ref: '#/components/responses/Error502'
components:
  responses:
    Error429:
      description: Rate limit reached. Wait for Retry-After seconds. Not billed.
      headers:
        Retry-After:
          $ref: '#/components/headers/RetryAfter'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            success: false
            error:
              code: rate_limit_exceeded
              message: rate limit exceeded
              retryable: true
              plan: starter
              limit_per_minute: 120
    Error422:
      description: A required parameter is missing or has the wrong type. Not billed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            success: false
            error:
              code: VALIDATION_ERROR
              message: Request validation failed. Fix the listed fields and retry.
              retryable: false
              issues:
              - type: missing
                loc:
                - query
                - url
                msg: Field required
                input: null
    Error404:
      description: The resource does not exist or is not public. Not billed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            success: false
            error:
              code: NOT_FOUND
              message: Monitor not found
              retryable: false
    Error502:
      description: The platform could not be reached or returned nothing usable. Retryable, not billed. 503 and 504 use the same envelope.
      headers:
        Retry-After:
          $ref: '#/components/headers/RetryAfter'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            success: false
            error:
              code: UPSTREAM_UNAVAILABLE
              message: The upstream data source failed for this request. Retry shortly.
              retryable: true
    Error401:
      description: Missing, invalid or revoked API key. Not billed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            success: false
            error:
              code: UNAUTHORIZED
              message: Invalid or revoked API key
              retryable: false
    Error400:
      description: 'Bad request: wrong platform URL, unknown endpoint, or an invalid parameter value. Not billed.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            success: false
            error:
              code: WRONG_RESOURCE_TYPE
              message: Expected a TikTok URL, but received a YouTube URL. Use the YouTube endpoint for that URL, or pass a TikTok URL like https://www.tiktok.com/@user/video/1234567890.
              retryable: false
              suggestedEndpoint: /v1/youtube/video-details
    Error402:
      description: Not enough credits for this request. Not billed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            success: false
            error:
              code: insufficient_credits
              message: This call needs 2 credits; 1 available. No credits charged.
              retryable: false
              required: 2
              available: 1
              upgrade_url: /dashboard/billing
  headers:
    ServerTiming:
      description: 'Total time the request took, in milliseconds: `total;dur=<ms>`. No per-step breakdown.'
      schema:
        type: string
      example: total;dur=4387
    Cache:
      description: 1 when the response was served from the 24h cache, 0 otherwise.
      schema:
        type: string
        enum:
        - '0'
        - '1'
    RequestId:
      description: Request id. Include it when contacting support.
      schema:
        type: string
    RetryAfter:
      description: Seconds to wait before retrying.
      schema:
        type: integer
    Credits:
      description: Credits charged for this request. 0 on a free cache hit or a failed request.
      schema:
        type: integer
  schemas:
    Error:
      type: object
      required:
      - success
      - error
      properties:
        success:
          const: false
        error:
          type: object
          required:
          - code
          - message
          - retryable
          properties:
            code:
              type: string
              description: Machine-readable error code, e.g. WRONG_RESOURCE_TYPE, NOT_FOUND, insufficient_credits, rate_limit_exceeded. Compare case-sensitively; both upper and lower case codes exist.
            message:
              type: string
              description: Human-readable explanation.
            retryable:
              type: boolean
              description: true when the same request may succeed later (429, most 5xx). Do not retry when false.
            suggestedEndpoint:
              type:
              - string
              - 'null'
              description: On platform mismatch, the endpoint that matches the URL you sent.
          additionalProperties: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Your API key: `Authorization: Bearer capt_live_...`. Create one at https://captapi.com/dashboard/api-keys.'
    apiKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
      description: 'Alternative to the bearer header: `X-API-Key: capt_live_...`.'
externalDocs:
  description: Docs
  url: https://captapi.com/docs