Social Dash Scraper
Documentation v0.1OpenAPI

Link in bio API

Linkme

Live private service

Retrieve a public Linkme profile with grouped contact links, social links, and page settings.

Read the profile embedded in Linkme’s public website. Preserve published IDs, grouped links, image paths, formatted visit counts, and theme metadata.

Base URLhttp://localhost:3009

Local development example. Replace with your service origin.

Get a Linkme profile

GET/v1/linkme

Accepts one public Linkme profile URL. The result is nested under profile, matching the reference API. Image paths and linkValue strings are returned as published; no destination is visited.

Query parameters

FieldTypeDescription
urlstringRequired. An HTTPS link.me/<username> URL. www, case, tracking parameters, and fragments are canonicalized.

Response fields

FieldTypeDescription
profileobjectThe nested public profile object. Its grouped arrays and extra public attributes preserve their source order and values.
requestIdstringIdentifier for correlating a request with operational logs.
accountingobjectUpstream request count, decoded HTML bytes read, and total duration. Bytes exclude discarded error/redirect bodies and are not billing totals.
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.
coverageobjectCoverage of the supported public embedded profile. Warnings identify omitted gated/malformed links, missing collections, or limits.

Profile fields

FieldTypeDescription
idstringPublished website profile ID. It differs from the direct API’s numeric account ID.
usernamestringUsername from the public profile, checked against the requested URL.
isPrivatenumber | booleanOnly public profiles (0 or false) are returned.
firstNamestring | nullPublished first name.
lastNamestring | nullPublished last name; empty strings are preserved.
biostring | nullPublished bio, preserving escapes and line breaks.
verifiedAccountnumber | booleanOptional.
isAmbassadornumber | booleanOptional.
friendStatusnumber | booleanOptional.
profileVisitCountstring | nullUpstream formatted count, such as 1.2k; not converted into an exact number.
isDefaultProfilePicturebooleanOptional.
profileImagestring | nullPublished relative asset path; not converted into an absolute URL.
profileImageWebpstring | nullPublished relative WebP asset path.
referralLinkstring | nullOptional.
deeplinkstring | nullOptional.
logostring | nullOptional.
logoMetaDatastring | object | nullOptional.
QRCodestring | nullOptional.
webThemestring | nullOptional.
linkmeCustomIconstring | nullOptional.
coverstring | nullOptional.
createdAtstring | nullOptional.
updatedAtstring | nullOptional.
stripeStatusobject | nullPublished tipping configuration only; no payments or account actions are performed.
killernumber | booleanOptional.
hideBottomButtonsnumber | booleanOptional.
customMailFormnumber | booleanOptional.
hideAddToContactsnumber | booleanOptional.
subscriptionFeaturestring | nullOptional.
showFormbooleanOptional.
subscriptionTypenumber | booleanOptional.
displayNameOptionstring | nullOptional.
trackingPixelsarrayPublished configuration only. Tracking scripts are never executed.
isMuteEnablenumber | booleanOptional.
totalLinksnumberSource-reported total. It may differ from the number of returned records and is not recomputed after omissions.
chatIDstring | nullOptional.
infoLinksarrayOrdered contact groups: title, linkId, isCustom, and links. Entries include webLinkId, linkValue, and optional display/image/adult flags.
businessInfoobject | nullPublic business metadata when present; null is preserved.
webLinksarrayOrdered web/social groups with the same grouping structure. Duplicate destinations are retained. Optional followerCount and image fields are preserved.
customisedThemeobject | nullPublished theme settings, including colors, background assets and font metadata.
totalFollowersnumber | string | nullPublished aggregate count; null stays null.
sectionSettingsobjectOptional.
sectionVisibilityarrayPublished section ordering and visibility flags. A disabled section is not treated as an access gate.

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

Coverage & limits

  • One profile per request; four active requests per worker, with 503 busy on overload.
  • 15-second total deadline; three upstream requests including redirects, with at most one retry for network errors or HTTP 5xx. No automatic 429/challenge retry.
  • 2 MiB decoded HTML; 100,000 parser tokens; 4,096 shared references; nesting depth 24 and 10,000 expanded data nodes. Complex or unsupported serialization fails explicitly.
  • At most 500 visited link records across infoLinks and webLinks, with 100 groups per collection. Limits preserve the available records and report partial coverage.
  • Private, locked, or age-gated profiles return restricted_page. Gated link groups and entries are omitted with a partial result.
  • The parser reads serialized data only. It never executes page JavaScript, pixels, embedded markup, or outbound URLs.
  • The response covers the embedded profile object. Featured-link pagination, shouts, media feeds, products, courses, private analytics, and localized variants are not fetched.
  • Fresh page reads only; upstream page caching may still affect freshness. Custom domains, caching controls, billing, and customer key management are unsupported.

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_limitedLinkme 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.
502payload_too_complexEmbedded data exceeded token, reference, nesting, or expanded-node limits.
200partialUsable profile data with explicit warnings about missing, malformed, gated, or limited fields.