SocialCrawl

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.

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

FieldTypeNullableDescription
idstringNoPlatform-specific user ID (always a string; platform-specific prefixes like did:, spotify:artist:, t2_ are stripped)
usernamestringYesUser handle or username
display_namestringYesDisplay name or full name
avatar_urlstringYesURL to profile picture
biostringYesProfile biography or description
verifiedbooleanYesWhether the account is verified
followersnumberYesFollower or subscriber count as an integer. Exact on Instagram and on TikTok when the source exposes an unrounded figure. YouTube above 1,000 subscribers is YouTube's published three-significant-figure figure. When the integer is a published/rounded value, author.ext.followers_approximate is true.
followingnumberYesNumber of accounts followed
posts_countnumberYesTotal number of posts / videos / tracks / episodes
likes_countnumberYesTotal likes received across the author's content (when surfaced)
urlstringYesDirect URL to the profile page
locationstringYesISO region code (e.g. US) or freeform location string when surfaced
external_urlstringYesBio link / external website URL when surfaced by the platform
privatebooleanYes
joined_atstringYes
last_post_atstringYes

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.

FieldTypeNullableDescription
ext.social_contextstringYes
ext.account_createdstringYes
ext.countrystringYes
ext.country_namestringYes
ext.collects_receivednumberYes
ext.former_usernamesstring[]Yes
ext.former_usernames_countintegerYesInstagram profile/about: how many former usernames Instagram's "About this account" panel lists for the account. 0 when the panel lists none, null when the panel could not be read on this call (the response then carries a note saying so). A count above 0 means the handle was renamed at least once; the names themselves are not published.
ext.verified_atstringYesInstagram profile/about, opt-in (include=verified_at): the month Instagram verified the account, as the panel shows it ("April 2024"). A month, not a date. Null when the account is not verified or the panel shows no verification date. Absent unless requested.
ext.public_emailstringYes
ext.contact_emailstringYesOpt-in (contact_email=1 on instagram/profile, youtube/channel and youtube/channel/about). When the bio lists two or more email addresses, the one the creator gives for contacting them personally, copied verbatim. Null when there is one address or none, when every address belongs to a manager, agency or brand, or when the choice was not confident. author.ext.public_email (the first address in the bio) is unchanged.
ext.public_phonestringYes
ext.similar_sourcestringYes
ext.instagram_usernamestringYes
ext.similar_viastringYes
ext.business_categorystringYes
ext.bio_linksobject[]Yes
ext.is_businessbooleanYes
ext.is_professionalbooleanYes
ext.creator_marketplacebooleanYes
ext.verification_labelstringYes
ext.fbidstringYes
ext.hd_avatar_urlstringYes
ext.websitestringYes
ext.cover_urlstringYes
ext.page_activebooleanYes
ext.employee_countnumberYes
ext.employee_count_range.startnumberYes
ext.employee_count_range.endnumberYes
ext.founded_yearnumberYes
ext.company_typestringYes
ext.taglinestringYes
ext.specialitiesstring[]Yes
ext.industriesstring[]Yes
ext.headquartersobjectYes
ext.locationsany[]Yes
ext.hashtagsany[]Yes
ext.fundingobjectYes
ext.addressstringYes
ext.price_rangestringYes
ext.ratingstringYes
ext.rating_countnumberYes
ext.talking_about_countnumberYes
ext.business_hoursany[]Yes
ext.linksany[]Yes
ext.ad_library_page_idstringYes
ext.ad_library_statusstringYes
ext.urnstringYes
ext.is_top_voicebooleanYes
ext.is_premiumbooleanYes
ext.is_creatorbooleanYes
ext.is_influencerbooleanYes
ext.is_open_to_workbooleanYes
ext.is_hiringbooleanYes
ext.member_idstringYes
ext.company_idstringYes
ext.reaction_typestringYes
ext.followers_approximatebooleanYesTrue when author.followers is a published or rounded figure rather than an unrounded census: LinkedIn people-list display buckets, TikTok stats.followerCount when the exact sibling is absent, and YouTube subscriber counts at or above 1,000. Null or absent on exact counts.
ext.counts_sourcestringYesTikTok profile only. Which of TikTok's two live counter sets author.followers, author.following, author.likes_count and author.posts_count carry: app (TikTok's app counters, the default) or web (the website's statsV2, returned with counts=web). The two sets can differ by a few percent in either direction.
ext.keywordsstringYes
ext.total_viewsnumberYes
ext.joined_at_timestampstringYes
ext.topicCategoriesstring[]Yes
ext.bannerExternalUrlstringYes
ext.madeForKidsbooleanYes
ext.hiddenSubscriberCountbooleanYes
ext.related_playlistsobjectYes
ext.topic_idsstring[]Yes
ext.unsubscribed_trailerstringYes
ext.localizationsobjectYes
ext.monthly_listenersnumberYes
ext.total_ratingsnumberYesSpotify podcasts only: how many listeners have rated the show. Cumulative over the show's whole run, so it reflects longevity as well as size, and it is NOT an audience count (Spotify publishes no play, download, subscriber or follower count for a podcast)
ext.average_ratingnumberYesSpotify podcasts only: mean listener rating from 0 to 5. Fractional (e.g. 4.66) despite the integer type this schema emits for every numeric leaf
ext.creator_usernamestringYes
ext.join_policystringYes
ext.is_nsfwbooleanYes
ext.rulesobject[]Yes
ext.weekly_active_usersnumberYes
ext.weekly_contributionsnumberYes
ext.rules_textstringYes
ext.languagestringYes
ext.post_karmanumberYes
ext.comment_karmanumberYes
ext.awardee_karmanumberYes
ext.trophy_countnumberYes
ext.banner_urlstringYes
ext.profile_titlestringYes
ext.social_linksany[]Yes
ext.bio_linkstringYes
ext.embed_htmlstringYes
ext.embed_urlstringYes
ext.groupobjectYes
ext.search_hit.matchstringYes
ext.search_hit.titlestringYes
ext.search_hit.snippetstringYes
ext.search_hit.evidence_urlstringYes
ext.search_hit.matched_urlsstring[]Yes
ext.blog_namestringYes
ext.blog_nostringYes
ext.visitors_todaynumberYes
ext.visitors_totalnumberYes
ext.topicstringYes
ext.power_blogbooleanYes
ext.official_blogbooleanYes

Platform availability

31 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.

Platformfollowingjoined_atposts_countverifiedprivatelikes_counturlfollowersbiolocationavatar_urlexternal_url
Apple Musicyesyes
Blueskyyesyesyesyesyesyes
Douyinyesyesyesyesyesyesyesyes
Facebookyesyesyesyesyesyesyesyesyes
G2yesyesyesyes
Gabyesyesyesyesyesyesyesyesyes
GitHubyesyesyesyesyesyesyesyesyesyes
Googleyes
Hacker Newsyesyesyes
Instagramyesyesyesyesyesyesyesyesyes
Komiyesyesyes
Kwaiyesyesyesyesyesyesyesyesyes
LinkBioyes
LinkedInyesyesyesyesyesyesyes
LinkMeyesyesyesyesyes
Linktreeyesyes
Naveryesyesyesyes
Pillaryesyesyesyes
Quorayesyesyesyes
Reddityesyesyesyesyesyesyesyesyesyes
Snapchatyesyesyesyesyesyesyesyesyes
Spotifyyesyesyes
Telegramyesyesyesyesyes
Threadsyesyesyesyesyesyesyesyesyesyes
TikTokyesyesyesyesyesyesyesyesyesyes
Trustpilotyesyes
Truth Socialyesyesyesyesyesyesyesyesyesyes
Twitchyesyesyesyesyesyesyesyesyesyes
Twitter/Xyesyesyesyesyesyesyesyesyes
Xiaohongshuyesyesyesyesyesyesyesyes
YouTubeyesyesyesyesyesyesyes

Machine-readable schema

Validate responses programmatically against the JSON Schema (2020-12):

/schemas/author.json

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:

Apple Music · Bluesky · Douyin · Facebook · G2 · Gab · GitHub · Google · Hacker News · Instagram · Komi · Kwai · LinkBio · LinkedIn · LinkMe · Linktree · Naver · Pillar · Quora · Reddit · Snapchat · Spotify · Telegram · Threads · TikTok · Trustpilot · Truth Social · Twitch · Twitter/X · Xiaohongshu · YouTube

See how the same fields map to each platform's raw upstream names in the cross-platform field equivalence table.

On this page