Versions in this module Expand all Collapse all v0 v0.1.0 Sep 24, 2026 Changes in this version + const APIKeyEnv + const DefaultBaseURL + const DefaultMaxRetries + const DefaultTimeout + const PricingURL + var ErrAPI = errors.New("sinac: API error") + var ErrAuthentication = errors.New("sinac: authentication failed") + var ErrBadRequest = errors.New("sinac: bad request") + var ErrConnection = errors.New("sinac: connection error") + var ErrNotFound = errors.New("sinac: not found") + var ErrQuotaExceeded = errors.New("sinac: quota exceeded") + var ErrRateLimit = errors.New("sinac: rate limited") + var ErrUpstream = errors.New("sinac: upstream failure") + var Version = moduleVersion() + type AppStoreApp struct + BundleID string + Currency string + Developer string + Genres []string + ID int64 + IconURL string + Name string + Price float64 + Rating float64 + RatingCount int64 + Screenshots []string + URL string + Version string + type AppStoreReview struct + Author string + Content string + ID string + Rating float64 + Title string + UpdatedAt string + Version string + VoteCount int64 + VoteSum int64 + type AppStoreReviewPage struct + AppID string + Country string + Page int64 + Reviews []AppStoreReview + type AppStoreReviewsParams struct + Country string + Page int + type AppStoreSearch struct + Apps []AppStoreApp + Country string + ResultCount int64 + Term string + type AppStoreSearchParams struct + Country string + Limit int + type AppStoreService struct + func (s *AppStoreService) Reviews(ctx context.Context, appID string, p *AppStoreReviewsParams) (*Page[AppStoreReview, AppStoreReviewPage], error) + func (s *AppStoreService) Search(ctx context.Context, term string, p *AppStoreSearchParams) (*AppStoreSearch, error) + type BlueskyPost struct + Author string + CID string + CreatedAt string + IndexedAt string + Likes int64 + Quotes int64 + Replies int64 + Reposts int64 + Text string + URI string + URL string + type BlueskyPostPage struct + HasMore bool + NextCursor *string + Posts []BlueskyPost + type BlueskyPostsParams struct + Cursor string + Limit int + type BlueskyProfile struct + Avatar *string + Banner *string + CreatedAt string + DID string + Description *string + DisplayName string + Followers int64 + Following int64 + Handle string + Posts int64 + URL string + type BlueskyService struct + func (s *BlueskyService) Posts(ctx context.Context, handle string, p *BlueskyPostsParams) (*Page[BlueskyPost, BlueskyPostPage], error) + func (s *BlueskyService) Profile(ctx context.Context, handle string) (*BlueskyProfile, error) + type Client struct + AppStore *AppStoreService + Bluesky *BlueskyService + GitHub *GitHubService + HackerNews *HackerNewsService + Instagram *InstagramService + Linktree *LinktreeService + TikTok *TikTokService + Twitch *TwitchService + YouTube *YouTubeService + func NewClient(opts ...Option) (*Client, error) + type Error struct + Message string + RequestID string + Status int + func (e *Error) Error() string + func (e *Error) Is(target error) bool + func (e *Error) Unwrap() error + type GitHubListParams struct + Limit int + Page int + type GitHubProfile struct + Avatar string + Bio *string + Blog *string + Company *string + CreatedAt string + Followers int64 + Following int64 + ID int64 + Location *string + Name *string + PublicRepos int64 + URL string + Username string + type GitHubRepository struct + CreatedAt string + Description *string + Forks int64 + FullName string + IsArchived bool + IsFork bool + Language *string + Name string + Stars int64 + Topics []string + URL string + UpdatedAt string + type GitHubRepositoryPage struct + HasMore bool + Items []GitHubRepository + Total *int64 + type GitHubRepositorySearchPage struct + HasMore bool + Items []GitHubRepository + Page int64 + Total int64 + type GitHubService struct + func (s *GitHubService) Followers(ctx context.Context, handle string, p *GitHubListParams) (*Page[GitHubUser, GitHubUserPage], error) + func (s *GitHubService) Following(ctx context.Context, handle string, p *GitHubListParams) (*Page[GitHubUser, GitHubUserPage], error) + func (s *GitHubService) Profile(ctx context.Context, handle string) (*GitHubProfile, error) + func (s *GitHubService) Repositories(ctx context.Context, handle string, p *GitHubListParams) (*Page[GitHubRepository, GitHubRepositoryPage], error) + func (s *GitHubService) SearchRepositories(ctx context.Context, q string, p *GitHubListParams) (*Page[GitHubRepository, GitHubRepositorySearchPage], error) + func (s *GitHubService) Trending(ctx context.Context, p *GitHubTrendingParams) (*GitHubTrending, error) + type GitHubTrending struct + HasMore bool + Items []GitHubRepository + Page int64 + Total int64 + type GitHubTrendingParams struct + Language string + Limit int + Since GitHubTrendingSince + type GitHubTrendingSince string + const TrendingDaily + const TrendingMonthly + const TrendingWeekly + type GitHubUser struct + Avatar string + ID int64 + URL string + Username string + type GitHubUserPage struct + HasMore bool + Items []GitHubUser + Total *int64 + type HackerNewsComment struct + Author string + CreatedAt string + ID int64 + Replies []HackerNewsComment + Text string + type HackerNewsFeed string + const FeedAsk + const FeedBest + const FeedJob + const FeedNew + const FeedShow + const FeedTop + type HackerNewsItem struct + Author string + Comments []HackerNewsComment + CreatedAt string + HNURL string + ID int64 + Points *int64 + Text *string + Title *string + Type string + URL *string + type HackerNewsListParams struct + Limit int + Page int + type HackerNewsService struct + func (s *HackerNewsService) Comments(ctx context.Context, username string, p *HackerNewsListParams) (*Page[HackerNewsUserComment, HackerNewsUserCommentPage], error) + func (s *HackerNewsService) Feed(ctx context.Context, feed HackerNewsFeed, p *HackerNewsListParams) (*Page[HackerNewsStory, HackerNewsStoryPage], error) + func (s *HackerNewsService) Item(ctx context.Context, id int64) (*HackerNewsItem, error) + func (s *HackerNewsService) Search(ctx context.Context, q string, p *HackerNewsListParams) (*Page[HackerNewsStory, HackerNewsStoryPage], error) + func (s *HackerNewsService) Submissions(ctx context.Context, username string, p *HackerNewsListParams) (*Page[HackerNewsStory, HackerNewsStoryPage], error) + func (s *HackerNewsService) User(ctx context.Context, username string) (*HackerNewsUser, error) + type HackerNewsStory struct + Author string + CreatedAt string + HNURL string + ID int64 + NumComments int64 + Points int64 + Text *string + Title string + URL *string + type HackerNewsStoryPage struct + HasMore bool + Items []HackerNewsStory + Page int64 + Total int64 + type HackerNewsUser struct + About *string + CreatedAt string + HNURL string + Karma int64 + SubmissionCount int64 + Username string + type HackerNewsUserComment struct + Author string + CreatedAt string + ID int64 + Replies []HackerNewsComment + Text string + type HackerNewsUserCommentPage struct + HasMore bool + Items []HackerNewsUserComment + Page int64 + Total int64 + type InstagramClipsMusicAttribution struct + ArtistName string + SongName string + UsesOriginalAudio bool + type InstagramContact struct + Address *InstagramContactAddress + Biography string + Category string + Email *string + EmailsFound []InstagramFoundContact + ExternalURL string + FullName string + IsBusiness bool + IsVerified bool + Phone *string + PhonesFound []InstagramFoundContact + Username string + type InstagramContactAddress struct + CityName string + CountryCode string + RegionName string + StreetAddress string + ZipCode string + type InstagramDownload struct + Assets []InstagramDownloadAsset + ExpiresAt string + Shortcode string + Type string + type InstagramDownloadAsset struct + ExpiresAt string + Height int64 + Index int64 + Kind string + Quality *string + URL string + Width int64 + type InstagramFoundContact struct + Source string + Value string + type InstagramHighlight struct + ID string + Items []InstagramMedia + Title string + type InstagramHighlightSummary struct + Cover string + ID string + Title string + type InstagramHighlights struct + Highlights []InstagramHighlightSummary + UserID string + Username string + type InstagramLatestPostMedia struct + Caption *string + ClipsMusicAttributionInfo *InstagramClipsMusicAttribution + Comments int64 + DisplayURL string + HasAudio *bool + ID string + Likes int64 + Location any + Shortcode string + TakenAtTimestamp string + ThumbnailResources any + Type string + VideoURL *string + VideoViews *int64 + type InstagramLatestPosts struct + Count int64 + LatestCount int64 + Medias []InstagramLatestPostMedia + type InstagramMedia struct + Caption *string + Comments int64 + DisplayURL string + ID string + Likes int64 + Location any + PreviewComments []any + Shortcode string + TakenAtTimestamp string + Type string + type InstagramMediaDetail struct + Caption *string + ClipsMusicAttributionInfo *InstagramClipsMusicAttribution + Comments int64 + DisplayURL string + HasAudio *bool + ID string + Likes int64 + Location any + Shortcode string + TakenAtTimestamp string + ThumbnailResources any + Type string + VideoURL *string + VideoViews *int64 + type InstagramPostsParams struct + Count int + Cursor string + type InstagramProfile struct + Bio string + BioLinks []string + BusinessAddressJSON any + BusinessCategoryName string + BusinessContactMethod string + BusinessEmail *string + BusinessPhoneNumber *string + CategoryName string + FBID string + Followers int64 + Following int64 + FullName string + HasAREffects bool + HasBlockedViewer bool + HasChannel bool + HasClips bool + HasGuides bool + HighlightReelCount int64 + ID string + IsBusinessAccount bool + IsPrivate bool + IsProfessionalAccount bool + IsVerified bool + Medias int64 + ProfilePic string + Username string + type InstagramReel struct + Caption *string + ClipsMusicAttributionInfo *InstagramClipsMusicAttribution + Comments int64 + DisplayURL string + HasAudio bool + ID string + Likes int64 + Location any + Shortcode string + TakenAtTimestamp string + ThumbnailResources any + Type string + VideoURL string + VideoViews int64 + type InstagramService struct + func (s *InstagramService) Contact(ctx context.Context, username string) (*InstagramContact, error) + func (s *InstagramService) Download(ctx context.Context, shortcode string) (*InstagramDownload, error) + func (s *InstagramService) Highlight(ctx context.Context, highlightID string) (*InstagramHighlight, error) + func (s *InstagramService) Highlights(ctx context.Context, username string) (*InstagramHighlights, error) + func (s *InstagramService) IDToShortcode(ctx context.Context, mediaID string) (*InstagramShortcodeID, error) + func (s *InstagramService) LatestPosts(ctx context.Context, username string) (*InstagramLatestPosts, error) + func (s *InstagramService) Media(ctx context.Context, shortcode string) (*InstagramMediaDetail, error) + func (s *InstagramService) MediaByID(ctx context.Context, username, mediaID string) (*InstagramMediaDetail, error) + func (s *InstagramService) Posts(ctx context.Context, username string, p *InstagramPostsParams) (*Page[InstagramMedia, InstagramTimelinePage], error) + func (s *InstagramService) Profile(ctx context.Context, username string) (*InstagramProfile, error) + func (s *InstagramService) Reel(ctx context.Context, shortcode string) (*InstagramReel, error) + func (s *InstagramService) ShortcodeToID(ctx context.Context, shortcode string) (*InstagramShortcodeID, error) + type InstagramShortcodeID struct + MediaID string + Shortcode string + type InstagramTimelinePage struct + HasMore bool + Medias []InstagramMedia + NextCursor *string + type LinktreeLink struct + ID string + Title string + Type string + URL string + type LinktreeProfile struct + Avatar string + Description string + IsVerified bool + Links []LinktreeLink + Title string + URL string + Username string + type LinktreeService struct + func (s *LinktreeService) Profile(ctx context.Context, handle string) (*LinktreeProfile, error) + type Option func(*config) + func WithAPIKey(key string) Option + func WithBaseURL(baseURL string) Option + func WithHTTPClient(client *http.Client) Option + func WithMaxRetries(n int) Option + func WithTimeout(timeout time.Duration) Option + type Page struct + Data R + HasMore bool + Items []T + NextCursor string + NextPage int + func (p *Page[T, R]) All(ctx context.Context) iter.Seq2[T, error] + func (p *Page[T, R]) Next(ctx context.Context) (*Page[T, R], error) + type TikTokProfile struct + Avatar string + Bio string + BioLink string + Followers int64 + Following int64 + Hearts int64 + ID string + IsPrivate bool + IsVerified bool + Nickname string + SecUID string + Username string + Videos int64 + type TikTokService struct + func (s *TikTokService) Profile(ctx context.Context, username string) (*TikTokProfile, error) + func (s *TikTokService) Video(ctx context.Context, videoID string) (*TikTokVideo, error) + type TikTokVideo struct + Extra map[string]any + ID *string + func (v *TikTokVideo) UnmarshalJSON(data []byte) error + func (v TikTokVideo) MarshalJSON() ([]byte, error) + type TwitchBroadcast struct + StartedAt string + Title string + type TwitchProfile struct + Avatar string + CreatedAt string + Description string + DisplayName string + Followers int64 + ID string + IsAffiliate bool + IsLive bool + IsPartner bool + LastBroadcast *TwitchBroadcast + LiveViewers *int64 + Login string + URL string + type TwitchService struct + func (s *TwitchService) Profile(ctx context.Context, handle string) (*TwitchProfile, error) + func (s *TwitchService) Videos(ctx context.Context, handle string, p *TwitchVideosParams) (*TwitchVideos, error) + type TwitchVideo struct + DurationSeconds int64 + ID string + PublishedAt string + Thumbnail string + Title string + URL string + Views int64 + type TwitchVideos struct + Count int64 + Videos []TwitchVideo + type TwitchVideosParams struct + Limit int + type YouTubeChannel struct + Avatar string + Description string + ExternalID string + Title string + type YouTubeChannelVideos struct + Channel YouTubeChannel + Videos []YouTubeVideo + type YouTubeService struct + func (s *YouTubeService) Videos(ctx context.Context, handle string) (*YouTubeChannelVideos, error) + type YouTubeVideo struct + ID string + MetadataText []string + Thumbnail string + Title string + URL string