Author schema
The unified SocialCrawl author or creator profile schema. Every field, its type, per-platform availability, and a machine-readable JSON Schema, generated from the canonical Zod source.
Author schema
Every SocialCrawl endpoint that returns a author or creator profile gives you this exact shape, whatever the source platform. Write your parser once and the same code reads author data from every platform below. That is the unified schema: one contract instead of a dozen raw upstream formats.
Field reference
| Field | Type | Nullable | Description |
|---|---|---|---|
id | string | No | Platform-specific user ID (always a string; platform-specific prefixes like did:, spotify:artist:, t2_ are stripped) |
username | string | Yes | User handle or username |
display_name | string | Yes | Display name or full name |
avatar_url | string | Yes | URL to profile picture |
bio | string | Yes | Profile biography or description |
verified | boolean | Yes | Whether the account is verified |
followers | integer | Yes | Number of followers |
following | integer | Yes | Number of accounts followed |
posts_count | integer | Yes | Total number of posts / videos / tracks / episodes |
likes_count | integer | Yes | Total likes received across the author's content (when surfaced) |
url | string | Yes | Direct URL to the profile page |
location | string | Yes | ISO region code (e.g. US) or freeform location string when surfaced |
external_url | string | Yes | Bio link / external website URL when surfaced by the platform |
Extension fields (ext)
Platform-specific passthrough. Each field is present only on the platforms that expose it and is absent everywhere else, so treat every ext.* field as optional. These carry the richer, per-platform signals the unified leaves cannot hold, and the join keys that chain endpoints together.
| Field | Type | Nullable | Description |
|---|---|---|---|
ext.social_context | string | Yes | |
ext.account_created | string | Yes | |
ext.country | string | Yes | |
ext.former_usernames | string[] | Yes | |
ext.public_email | string | Yes | |
ext.public_phone | string | Yes | |
ext.business_category | string | Yes | |
ext.hd_avatar_url | string | Yes | |
ext.urn | string | Yes | |
ext.is_top_voice | boolean | Yes | |
ext.is_premium | boolean | Yes | |
ext.keywords | string | Yes | |
ext.topicCategories | string[] | Yes | |
ext.bannerExternalUrl | string | Yes | |
ext.madeForKids | boolean | Yes | |
ext.hiddenSubscriberCount | boolean | Yes | |
ext.related_playlists | string | Yes | |
ext.topic_ids | string[] | Yes | |
ext.unsubscribed_trailer | string | Yes |
Platform availability
23 platforms return the Author shape. id are never null on any platform. The fields below vary: yes means the platform populates it (the value may still be null); a blank means the platform never provides it, so it is always null.
| Platform | url | following | likes_count | verified | followers | posts_count | avatar_url | location | bio | external_url | username | display_name |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Bluesky | yes | yes | yes | yes | yes | yes | yes | |||||
| yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
| GitHub | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
| yes | yes | |||||||||||
| Hacker News | yes | yes | yes | |||||||||
| yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
| Komi | yes | yes | yes | yes | yes | |||||||
| Kwai | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
| LinkBio | yes | yes | yes | |||||||||
| yes | yes | yes | yes | yes | yes | yes | yes | |||||
| LinkMe | yes | yes | yes | yes | yes | yes | yes | |||||
| Linktree | yes | yes | yes | yes | ||||||||
| Pillar | yes | yes | ||||||||||
| yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
| Snapchat | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
| Spotify | yes | yes | yes | yes | yes | yes | ||||||
| Threads | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
| TikTok | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |
| Trustpilot | yes | yes | yes | yes | ||||||||
| Truth Social | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
| Twitch | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
| Twitter/X | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
| YouTube | yes | yes | yes | yes | yes | yes | yes |
Machine-readable schema
Validate responses programmatically against the JSON Schema (2020-12):
Point a validator (Ajv, jsonschema, or your framework's) at that URL, or hand it to an agent so it can check the shape without a live call.
Returned by
Endpoints with the Author / AuthorList archetype return this shape:
Bluesky ยท Facebook ยท GitHub ยท Google ยท Hacker News ยท Instagram ยท Komi ยท Kwai ยท LinkBio ยท LinkedIn ยท LinkMe ยท Linktree ยท Pillar ยท Reddit ยท Snapchat ยท Spotify ยท Threads ยท TikTok ยท Trustpilot ยท Truth Social ยท Twitch ยท Twitter/X ยท YouTube
See how the same fields map to each platform's raw upstream names in the cross-platform field equivalence table.
