The social-data adapters normalize documented public ScrapeCreators surfaces. They do not imply that every platform supports every action.

Canonical tools

ToolSurface
get_profileOne creator or account profile
get_posts / get_postA creator's posts or one known post
get_commentsComments on one known post
search_posts / search_creatorsProvider-supported discovery
get_transcriptTranscript for supported media
get_trending_contentCurrent provider trend surface
get_live_contentCurrent live content
get_audience_metricsPublic audience aggregates
get_channel / get_channel_videosYouTube channel-specific reads

Honest surface matrix

Platform toolkitProfile/entityPosts/itemCommentsSearchTranscriptTrending/live/audience
InstagramProfileBothYesPosts + creatorsYesTrending
TikTokProfileBothYesPosts + creatorsYesTrending + live + audience
YouTubeChannelBoth + channel videosYesPosts + creatorsYesTrending
XProfileBothNoNoYesNo
LinkedInProfileBothNoPostsYesNo
RedditProfileBothYesPostsYesNo
TwitchProfileBothNoNoNoLive
SnapchatProfile onlyNoNoNoNoNo

Worked example

ts
import { Eyeball } from "@eyeball/sdk";

const eyeball = new Eyeball({
  apiKey: process.env.EYEBALL_API_KEY!,
  baseUrl: process.env.EYEBALL_EXECUTOR_URL!,
});

const posts = await eyeball.tools.run(
  "instagram-data.search_posts",
  { query: "Riyadh restaurants", pageSize: 10 },
  { userId: "demo_user" },
);
console.log(posts);

Search syntax, public visibility, regional availability, and freshness remain provider-dependent. Use x_provider only where the generated manifest declares it.

See Instagram data and the other generated platform pages for exact schemas.