Social Dash Scraper
Documentation v0.1OpenAPI

Link in bio API

Komi

Live private service

Retrieve creator profiles, social accounts, and rich links from public Komi pages.

Read the profile and modules used by Komi’s public frontend. Includes products, music destinations, podcasts, videos, and events without a Komi login.

Base URLhttp://localhost:3008

Local development example. Replace with your service origin.

Get a Komi profile

GET/v1/komi

Pass one public Komi profile URL. Tracking parameters and fragments are removed. Returned URLs are data; their destinations are never fetched.

Query parameters

FieldTypeDescription
urlstringRequired. An HTTPS <username>.komi.io profile URL. Custom domains and paths are unsupported.

Response fields

FieldTypeDescription
idstringKomi profile UUID, distinct from its numeric user ID.
usernamestringCanonical Komi username.
avatarstring | nullAccount avatar URL, or null when unavailable.
biostring | nullPublic profile bio, preserving empty strings; null when unavailable.
firstNamestring | nullPublic first name, or null.
lastNamestring | nullPublic last name, or null.
displayNamestring | nullPublic display name, or null.
displayNameImagestring | nullPublic image used as the display name, or null.
websitestring | nullProfile website field. Null when Komi publishes no value.
instagramstringPublished instagram social link; omitted if absent.
tiktokstringPublished tiktok social link; omitted if absent.
youtubestringPublished youtube social link; omitted if absent.
twitterstringPublished twitter social link; omitted if absent.
facebookstringPublished facebook social link; omitted if absent.
snapchatstringPublished snapchat social link; omitted if absent.
spotifystringPublished spotify social link; omitted if absent.
apple_musicstringPublished apple music social link; omitted if absent.
deezerstringPublished deezer social link; omitted if absent.
soundcloudstringPublished soundcloud social link; omitted if absent.
twitchstringPublished twitch social link; omitted if absent.
discordstringPublished discord social link; omitted if absent.
linkedinstringPublished linkedin social link; omitted if absent.
emailstringPublished email social link; omitted if absent.
linksarrayOrdered public module records. Groups flatten in source order; music and podcast destinations become individual records. Products preserve prices and currency. Video titles come from metadata when present. IDs are absent on some music destinations. Music uses the parent item subtype, such as NORMAL, while podcasts use PODCAST.
requestIdstringIdentifier for correlating a request with operational logs.
accountingobjectUpstream requests, decoded JSON bytes read across both responses, and total duration. Discarded error bodies are excluded.
successbooleanTrue when usable profile data is returned, including partial results.
statusstringsuccess or partial. Failures return failed or challenged with a failure object.
sourceUrlstringFinal canonical profile URL after allowed redirects.
fetchedAtstringUTC timestamp of retrieval.
coverageobjectSupported public API data only. Inspect warnings and optional moduleFailure when module retrieval is incomplete.

Nested fields and every response variant are in the OpenAPI specification.

Coverage & limits

  • One profile per request; four concurrent requests per worker. Additional requests receive 503 busy.
  • Two public JSON reads, with a 15-second total deadline and at most three upstream attempts. One retry per read for network errors or HTTP 5xx, within that shared budget.
  • At most 2 MiB of decoded JSON across both responses; 500 output links, ten nested levels, and 5,000 examined nodes.
  • Module fields vary by type. Additional public JSON attributes, nested metadata, nulls, and false visibility flags are preserved. A false visibility flag is not an access gate.
  • Access-gated modules and records containing nonempty secret codes, passwords, or secret links are omitted with a warning. Protected content is never unlocked.
  • If modules fail, usable profile metadata is returned with status partial, empty links, and coverage.moduleFailure. An overall deadline returns timeout.
  • Fresh retrieval only. Custom domains, localization selection, caching, private analytics, customer billing, and destination scraping are unsupported.
  • Coverage is based on Komi’s public profile and module endpoints. It does not guarantee every localized page, media feed, or account feature.

Errors & partial results

HTTPCode / statusMeaning
400invalid_requestInvalid URL, missing URL, duplicates, or unsupported parameters.
401unauthorizedMissing or invalid service API key.
403restricted_pageThe profile requires access or consent.
404not_foundThe profile is missing or inactive.
429upstream_rate_limitedKomi rate limited the request; no automatic retry.
502upstream_challengedThe upstream rejected or challenged the request.
502unsupported_pageData is missing, malformed, or belongs to another profile.
502response_too_large / unsafe_redirect / request_limit / upstream_errorRetrieval could not safely complete.
503busyAll worker slots are in use.
504timeoutThe request exceeded its deadline.
200partialProfile metadata is usable, but coverage warnings identify missing modules, fields, gates, or limits.