Repository navigation
Service Reference
This page is the canonical SDK method index. Unless a table states otherwise, every method takes context.Context as its first argument and returns (*ResultType, *ResponseMeta, error). The API route column shows the upstream route called by the SDK; SocialKit supports method-specific request shapes, so consult its live API reference when you need the full current endpoint contract. 1 2
Naming. The Go field is
client.Twitter, while the upstream platform is commonly called X/Twitter. The Go SDK name is retained in all examples and method signatures.
| Go call | Route | Result | Description |
|---|---|---|---|
client.Status.Get(ctx) |
GET /status |
*Status |
Returns overall service status and individual tool states. This is the documented public endpoint. |
client.Credits.Get(ctx) |
GET /credits |
*Credits |
Returns the authenticated project credit balance and breakdowns when supplied. |
| Go call | Request type | Route | Result | SDK-specific note |
|---|---|---|---|---|
YouTube.Transcript(ctx, req) |
*FetchRequest |
/youtube/transcript |
*Transcript |
Use a YouTube video URL. |
YouTube.Summarize(ctx, req) |
*SummaryRequest |
/youtube/summarize |
*Summary |
Supports custom prompt and response parameters. |
YouTube.Stats(ctx, req) |
*FetchRequest |
/youtube/stats |
*YouTubeStats |
Returns video metadata and engagement values when available. |
YouTube.Comments(ctx, req) |
*CommentsRequest |
/youtube/comments |
*YouTubeComments |
Rejects a Limit higher than 100. Comments are not modelled as cursor-paginated. |
YouTube.ChannelStats(ctx, req) |
*FetchRequest |
/youtube/channel-stats |
*YouTubeChannelStats |
Use a channel URL. |
YouTube.Search(ctx, req) |
*SearchRequest |
/youtube/search |
*YouTubeSearchResult |
Search by Query. |
YouTube.Videos(ctx, req) |
*VideosRequest |
/youtube/videos |
*YouTubeVideos |
Rejects a Limit higher than 30. FullDetails is optional. |
YouTube.Download(ctx, req) |
*DownloadRequest |
/youtube/download |
*DownloadResult |
Synchronous download for short content. |
YouTube exposes the following experimental bulk wrappers. Each accepts json.RawMessage and returns (json.RawMessage, *ResponseMeta, error): BulkTranscript, BulkComments, BulkStats, and BulkSummarize. See Bulk Operations. 2 3
| Go call | Request type | Route | Result | SDK-specific note |
|---|---|---|---|---|
TikTok.Transcript(ctx, req) |
*FetchRequest |
/tiktok/transcript |
*Transcript |
Use a TikTok video URL. |
TikTok.Summarize(ctx, req) |
*SummaryRequest |
/tiktok/summarize |
*Summary |
Supports custom prompt and response parameters. |
TikTok.Stats(ctx, req) |
*FetchRequest |
/tiktok/stats |
*TikTokStats |
Returns video statistics and details when available. |
TikTok.Comments(ctx, req) |
*CommentsRequest |
/tiktok/comments |
*TikTokComments |
Cursor pagination may be available. |
TikTok.ChannelStats(ctx, req) |
*FetchRequest |
/tiktok/channel-stats |
*TikTokChannelStats |
Use a profile URL. |
TikTok.ChannelVideos(ctx, req) |
*ListRequest |
/tiktok/channel-videos |
*TikTokChannelVideos |
Rejects a Limit higher than 100. |
TikTok.Search(ctx, req) |
*SearchRequest |
/tiktok/search |
*TikTokSearchResult |
Rejects a Limit higher than 100. |
TikTok.HashtagSearch(ctx, req) |
*HashtagSearchRequest |
/tiktok/hashtag-search |
*TikTokHashtagResult |
Supply Hashtag without the leading #; limit must not exceed 100. |
TikTok.Download(ctx, req) |
*DownloadRequest |
/tiktok/download |
*DownloadResult |
Synchronous download for short content. |
TikTok provides five experimental raw-JSON bulk methods: BulkTranscript, BulkComments, BulkStats, BulkChannelStats, and BulkSummarize. 2 4
| Go call | Request type | Route | Result | SDK-specific note |
|---|---|---|---|---|
Instagram.Transcript(ctx, req) |
*FetchRequest |
/instagram/transcript |
*Transcript |
Use an Instagram video or reel URL. |
Instagram.Summarize(ctx, req) |
*SummaryRequest |
/instagram/summarize |
*Summary |
Supports custom prompt and response parameters. |
Instagram.Stats(ctx, req) |
*FetchRequest |
/instagram/stats |
*InstagramStats |
Returns post details and engagement values when available. |
Instagram.Comments(ctx, req) |
*CommentsRequest |
/instagram/comments |
*InstagramComments |
Cursor pagination may be available. |
Instagram.ChannelStats(ctx, req) |
*FetchRequest |
/instagram/channel-stats |
*InstagramChannelStats |
Use a profile URL. |
Instagram.ChannelPosts(ctx, req) |
*ListRequest |
/instagram/channel-posts |
*InstagramChannelPosts |
Cursor pagination may be available. |
Instagram.ChannelReels(ctx, req) |
*ListRequest |
/instagram/channel-reels |
*InstagramChannelReels |
Cursor pagination may be available. |
Instagram.ReelsSearch(ctx, req) |
*ReelsSearchRequest |
/instagram/reels-search |
*InstagramReelsSearch |
The SDK requires Page, if set, to equal 1. |
Instagram.Download(ctx, req) |
*DownloadRequest |
/instagram/download |
*DownloadResult |
Synchronous download for short content. |
Instagram has the experimental raw-JSON methods BulkTranscript, BulkStats, BulkChannelStats, and BulkSummarize. 2 5
| Go call | Request type | Route | Result | Description |
|---|---|---|---|---|
Facebook.Transcript(ctx, req) |
*FetchRequest |
/facebook/transcript |
*Transcript |
Extracts a transcript when the source supports it. |
Facebook.Summarize(ctx, req) |
*SummaryRequest |
/facebook/summarize |
*Summary |
Generates an AI summary. |
Facebook.Stats(ctx, req) |
*FetchRequest |
/facebook/stats |
*FacebookStats |
Reactions is represented as []Reaction. |
Facebook.Comments(ctx, req) |
*CommentsRequest |
/facebook/comments |
*FacebookComments |
Cursor fields may be present; CommentCount is optional. |
Facebook.ChannelStats(ctx, req) |
*FetchRequest |
/facebook/channel-stats |
*FacebookChannelStats |
Retrieves profile or page details. |
The SDK does not expose Facebook bulk methods or a synchronous Facebook download wrapper. For long-form Facebook downloads, use the v2 async service described in Downloads. 2 6
| Go call | Request type | Route | Result | Description |
|---|---|---|---|---|
Twitter.Profile(ctx, req) |
*FetchRequest |
/twitter/profile |
*TwitterProfile |
Retrieves a profile. |
Twitter.Tweets(ctx, req) |
*TweetsRequest |
/twitter/tweets |
*TwitterTweets |
Returns tweets and an optional NextCursor. |
Twitter.Tweet(ctx, req) |
*FetchRequest |
/twitter/tweet |
*TwitterTweet |
Retrieves one tweet. |
Twitter.Thread(ctx, req) |
*FetchRequest |
/twitter/thread |
*TwitterThread |
Author and Tweets remain raw JSON because upstream does not fix their schema. |
Twitter.Transcript(ctx, req) |
*FetchRequest |
/twitter/transcript |
*TwitterTranscript |
Uses the standard aggregate transcript shape. |
| Go call | Request type | Route | Result | Description |
|---|---|---|---|---|
LinkedIn.Profile(ctx, req) |
*FetchRequest |
/linkedin/profile |
*LinkedInProfile |
May include RecentArticles. |
LinkedIn.Company(ctx, req) |
*FetchRequest |
/linkedin/company |
*LinkedInCompany |
Retrieves company-page details. |
LinkedIn.CompanyPosts(ctx, req) |
*CompanyPostsRequest |
/linkedin/company-posts |
*LinkedInCompanyPosts |
Rejects a Limit higher than 50. |
LinkedIn.Post(ctx, req) |
*FetchRequest |
/linkedin/post |
*LinkedInPost |
The Post field is json.RawMessage because the upstream object is not fixed. |
LinkedIn.Transcript(ctx, req) |
*FetchRequest |
/linkedin/transcript |
*LinkedInTranscript |
Segments contain text, start, and duration, but no timestamp. |
| Go call | Request type | Route | Result | Description |
|---|---|---|---|---|
Video.Transcript(ctx, req) |
*FetchRequest |
/video/transcript |
*Transcript |
Processes a direct, accessible video-file URL. |
Video.Summarize(ctx, req) |
*SummaryRequest |
/video/summarize |
*Summary |
Produces a summary for a direct video-file URL. |
| Go call | Arguments | Route | Result | Description |
|---|---|---|---|---|
Downloads.Start(ctx, platform, req) |
platform string, *V2DownloadRequest
|
POST /v2/{platform}/download |
*V2Job |
Starts a job. Valid platforms are youtube, tiktok, instagram, and facebook. |
Downloads.Get(ctx, jobID) |
jobID string |
GET /v2/downloads/{jobId} |
*V2Job |
Retrieves the current job state. |
Downloads.Wait(ctx, jobID, opts) |
jobID string, *WaitOptions
|
Polls the status route | *V2Job |
Polls until ready, failed, context cancellation, or configured attempt exhaustion. |
Read Downloads for complete v2 job handling, terminal-state behavior, and polling configuration. 6 7
The request and result type names in the tables are stable entry points for IDE navigation. The data within a social-media response can vary with the source platform. The SDK represents optional data as pointer fields, and preserves intentionally open-ended upstream objects using json.RawMessage or map[string]interface{}. 1 2
| Model family | Examples |
|---|---|
| System |
Status, StatusTool, Credits, CreditsBreakdown
|
| Shared content |
Transcript, TranscriptSegment, Summary, DownloadResult
|
| Platform analytics |
YouTubeStats, TikTokStats, InstagramStats, FacebookStats, Reaction
|
| Lists and pagination |
TikTokComments, InstagramComments, FacebookComments, TikTokSearchResult, InstagramChannelPosts, TwitterTweets
|
| Profiles and organisations |
YouTubeChannelStats, TikTokChannelStats, InstagramChannelStats, FacebookChannelStats, TwitterProfile, LinkedInProfile, LinkedInCompany
|
| Async downloads |
V2DownloadRequest, V2Job, WaitOptions
|