@captapi/sdk 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,1459 +1,2193 @@
1
1
  import { HttpCore, type ApiEnvelope, type CaptapiOptions } from "./core.js";
2
2
  export interface YoutubeTranscriptParams {
3
- /** Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
3
+ /** Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
4
4
  url: string;
5
5
  /** Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. */
6
6
  language?: string;
7
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
8
+ cache?: boolean;
9
+ }
10
+ export interface YoutubeAudioTranscriptParams {
11
+ /** Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
12
+ url: string;
13
+ /** Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. */
14
+ language?: string;
15
+ /** Refuse before STT when estimatedCredits would exceed this (400 cost_exceeds_max, 0 credits). The estimate is on every success and, when the extract miss is retryable, as estimatedCreditsIfRetried. */
16
+ maxCredits?: number;
17
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
18
+ cache?: boolean;
7
19
  }
8
20
  export interface YoutubeSummarizeParams {
9
- /** Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
21
+ /** Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
10
22
  url: string;
11
23
  /** Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. */
12
24
  language?: string;
25
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
26
+ cache?: boolean;
13
27
  }
14
28
  export interface YoutubeVideoDetailsParams {
15
- /** Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
29
+ /** Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
16
30
  url: string;
31
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
32
+ cache?: boolean;
17
33
  }
18
34
  export interface YoutubeCommentsParams {
19
- /** Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
35
+ /** Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
20
36
  url: string;
21
- /** Max items to return. Default 50, max 500. Billed per result. */
37
+ /** Max items to return (default 50, max 500). Flat 2 credits per call. */
22
38
  limit?: number;
39
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
40
+ cursor?: string;
41
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
42
+ cache?: boolean;
23
43
  }
24
44
  export interface YoutubeChannelDetailsParams {
25
- /** YouTube channel URL, e.g. https://youtube.com/@handle or /channel/UC... The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
45
+ /** YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
26
46
  url: string;
47
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
48
+ cache?: boolean;
27
49
  }
28
50
  export interface YoutubeSearchParams {
29
- /** Search query or keywords (min 2 chars). */
51
+ /** Search query or keywords (min 2 characters). */
30
52
  q: string;
31
- /** Max items to return. Default 20, max 200. Billed per result. */
53
+ /** Max items to return (default 20, max 200). Flat 2 credits per call. */
32
54
  limit?: number;
55
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
56
+ cursor?: string;
57
+ /** all | videos | shorts | channels | playlists. */
58
+ type?: string;
59
+ /** relevance | views (alias: popular→views). date and rating answer 400 SORT_NOT_SUPPORTED: YouTube no longer orders search by upload date (use uploadDate) or by rating. With type=shorts only relevance is supported. */
60
+ sortBy?: string;
61
+ /** any | today | this_week | this_month | this_year. */
62
+ uploadDate?: string;
63
+ /** any | under_4 | 4_20 | over_20. Applies to long-form videos (not Shorts). */
64
+ duration?: string;
65
+ /** ISO country code for localized results (default US). */
66
+ region?: string;
67
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
68
+ cache?: boolean;
33
69
  }
34
70
  export interface YoutubeChannelVideosParams {
35
- /** YouTube channel URL, e.g. https://youtube.com/@handle or /channel/UC... The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
71
+ /** YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
36
72
  url: string;
37
- /** Max items to return. Default 20, max 200. Billed per result. */
73
+ /** Max items to return (default 20, max 200). Flat 2 credits per call. */
38
74
  limit?: number;
75
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
76
+ cursor?: string;
39
77
  /** Set true to use YouTube RSS for faster results with less detailed metadata. Leave false when viewCount/duration quality matters. */
40
78
  fast?: boolean;
79
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
80
+ cache?: boolean;
41
81
  }
42
82
  export interface YoutubePlaylistVideosParams {
43
- /** YouTube playlist URL, e.g. https://youtube.com/playlist?list=ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
83
+ /** YouTube playlist URL, e.g. https://youtube.com/playlist?list=ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
44
84
  url: string;
45
- /** Max items to return. Default 50, max 500. Billed per result. */
85
+ /** Max items to return (default 50, max 500). Flat 2 credits per call. */
46
86
  limit?: number;
87
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
88
+ cursor?: string;
47
89
  /** Set true to use YouTube RSS for faster results with less detailed metadata. Leave false when viewCount/duration quality matters. */
48
90
  fast?: boolean;
91
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
92
+ cache?: boolean;
49
93
  }
50
94
  export interface YoutubePlaylistParams {
51
- /** YouTube playlist URL, e.g. https://youtube.com/playlist?list=ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
52
- url: string;
53
- /** Max items to return. Default 50, max 500. Billed per result. */
54
- limit?: number;
55
- /** Set true to use YouTube RSS for faster results with less detailed metadata. Leave false when viewCount/duration quality matters. */
56
- fast?: boolean;
57
- }
58
- export interface YoutubeVideoDownloadParams {
59
- /** Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
95
+ /** YouTube playlist URL, e.g. https://youtube.com/playlist?list=ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
60
96
  url: string;
97
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
98
+ cache?: boolean;
61
99
  }
62
100
  export interface YoutubeShortsTranscriptParams {
63
- /** Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
101
+ /** Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
64
102
  url: string;
65
103
  /** Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. */
66
104
  language?: string;
105
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
106
+ cache?: boolean;
67
107
  }
68
108
  export interface YoutubeShortsSummarizeParams {
69
- /** Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
109
+ /** Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
70
110
  url: string;
71
111
  /** Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. */
72
112
  language?: string;
113
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
114
+ cache?: boolean;
73
115
  }
74
116
  export interface YoutubeShortsDetailsParams {
75
- /** Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
117
+ /** Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
76
118
  url: string;
119
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
120
+ cache?: boolean;
77
121
  }
78
122
  export interface YoutubeShortsCommentsParams {
79
- /** Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
123
+ /** Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
80
124
  url: string;
81
- /** Max items to return. Default 50, max 500. Billed per result. */
125
+ /** Max items to return (default 50, max 500). Flat 2 credits per call. */
82
126
  limit?: number;
127
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
128
+ cursor?: string;
129
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
130
+ cache?: boolean;
83
131
  }
84
132
  export interface YoutubeChannelShortsParams {
85
- /** YouTube channel URL, e.g. https://youtube.com/@handle or /channel/UC... The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
133
+ /** YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
86
134
  url: string;
87
- /** Max items to return. Default 20, max 200. Billed per result. */
135
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
136
+ cursor?: string;
137
+ /** Max items to return (default 20, max 200). Flat 2 credits per call. */
88
138
  limit?: number;
139
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
140
+ cache?: boolean;
89
141
  }
90
142
  export interface YoutubeTrendingShortsParams {
91
- /** Seed keyword for trending Shorts. Default trending. */
143
+ /** Optional topic seed for the Shorts recommendation sequence. Omit (or pass trending/shorts) for the default reel feed — not a keyword search. */
92
144
  q?: string;
93
- /** Max items to return. Default 20, max 100. Billed per result. */
145
+ /** Max items to return (default 20, max 100). Returns a single window; use limit to size it. No cursor. Flat 2 credits per call. */
94
146
  limit?: number;
147
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
148
+ cache?: boolean;
95
149
  }
96
150
  export interface YoutubeChannelStreamsParams {
97
- /** YouTube channel URL, e.g. https://youtube.com/@handle or /channel/UC... The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
151
+ /** YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
98
152
  url: string;
99
- /** Max items to return. Default 20, max 200. Billed per result. */
153
+ /** Max items to return (default 20, max 200). Flat 2 credits when hasLiveTab is true; 0 credits when hasLiveTab is false. */
100
154
  limit?: number;
155
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
156
+ cache?: boolean;
101
157
  }
102
158
  export interface YoutubeHashtagSearchParams {
103
- /** Hashtag with or without the # (min 2 chars). */
159
+ /** Hashtag with or without the # (min 2 characters). One token — spaces are 400 HASHTAG_HAS_SPACES. */
104
160
  q: string;
105
- /** Max items to return. Default 20, max 200. Billed per result. */
161
+ /** Max items to return (default 10, max 200). Returns a single window; use limit to size it. No cursor. Billed per result. */
106
162
  limit?: number;
163
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
164
+ cache?: boolean;
107
165
  }
108
166
  export interface YoutubeCommentRepliesParams {
109
- /** Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
167
+ /** Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
110
168
  url: string;
111
- /** ID of the parent comment to fetch replies for (from the comments endpoint). */
112
- comment_id: string;
113
- /** Max items to return. Default 50, max 500. Billed per result. */
169
+ /** ID of the parent (top-level) comment to fetch replies for — from the comments endpoint. Legacy alias: comment_id. */
170
+ commentId: string;
171
+ /** Max items to return (default 50, max 500). Flat 2 credits per call. */
114
172
  limit?: number;
173
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
174
+ cursor?: string;
175
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
176
+ cache?: boolean;
115
177
  }
116
178
  export interface YoutubeChannelPlaylistsParams {
117
- /** YouTube channel URL, e.g. https://youtube.com/@handle or /channel/UC... The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
179
+ /** YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
118
180
  url: string;
119
- /** Max items to return. Default 20, max 200. Billed per result. */
181
+ /** Max items to return (default 20, max 200). Flat 2 credits per call. */
120
182
  limit?: number;
183
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
184
+ cursor?: string;
185
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
186
+ cache?: boolean;
121
187
  }
122
188
  export interface YoutubeCommunityPostsParams {
123
- /** YouTube channel URL, e.g. https://youtube.com/@handle or /channel/UC... The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
189
+ /** YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
124
190
  url: string;
125
- /** Max items to return. Default 20, max 200. Billed per result. */
191
+ /** Max items to return (default 20, max 200). Flat 1 credit per call. */
126
192
  limit?: number;
193
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
194
+ cursor?: string;
195
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
196
+ cache?: boolean;
127
197
  }
128
198
  export interface YoutubeCommunityPostDetailsParams {
129
- /** YouTube community post URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
199
+ /** YouTube community post URL (/post/Ugkx… or /community?lb=). Trailing whitespace is stripped. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
130
200
  url: string;
201
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
202
+ cache?: boolean;
131
203
  }
132
204
  export interface YoutubeVideoSponsorsParams {
133
- /** Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
205
+ /** Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
134
206
  url: string;
207
+ /** Minimum SponsorBlock votes to keep a segment. Default 0 (drops community-rejected votes < 0). */
208
+ minVotes?: number;
209
+ /** Comma-separated categories. Default sponsor,selfpromo,interaction. Also intro,outro,preview,music_offtopic,poi_highlight,filler. */
210
+ categories?: string;
211
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
212
+ cache?: boolean;
135
213
  }
136
214
  export declare class YoutubeApi {
137
215
  private readonly core;
138
216
  constructor(core: HttpCore);
139
- /** YouTube Transcript — Extract the full timestamped transcript of a YouTube video. (2 credits) */
217
+ /** YouTube Transcript — YouTube's published captions with timestamps — not speech-to-text. Flat 1 credit; 404 is free. (1 credit) */
140
218
  transcript(params: YoutubeTranscriptParams): Promise<ApiEnvelope>;
141
- /** YouTube Summarizer — AI summary (key points, topics, sentiment) of a YouTube video. (4 credits) */
219
+ /** YouTube Audio Transcript — Speech-to-text for YouTube audio. Use it when a video has no captions — or when you want a transcript of what was actually spoken rather than YouTube's published captions. Priced per started minute of audio. (2 credits/min of audio) */
220
+ audioTranscript(params: YoutubeAudioTranscriptParams): Promise<ApiEnvelope>;
221
+ /** YouTube Summarizer — AI summary from YouTube's published captions — same source as /transcript. Flat 3 credits; caption-miss 404 is free. (3 credits) */
142
222
  summarize(params: YoutubeSummarizeParams): Promise<ApiEnvelope>;
143
- /** YouTube Video Details — Metadata + engagement stats for a YouTube video. (1 credit) */
223
+ /** YouTube Video Details — YouTube video metadata + stats. Always includes degraded / degradedReason — retry when degraded is true. (1 credit) */
144
224
  videoDetails(params: YoutubeVideoDetailsParams): Promise<ApiEnvelope>;
145
- /** YouTube Comments — Comments on a YouTube video. (20 credits) */
225
+ /** YouTube Comments — Get comments on any YouTube video — text, author, likes, and truncated publishedTimeApprox from the relative label, with cursor pagination (nextCursor + hasMore). Flat 2 credits per call; 0 when the video has comments turned off (commentsDisabled: true). (2 credits) */
146
226
  comments(params: YoutubeCommentsParams): Promise<ApiEnvelope>;
147
- /** YouTube Channel Details — Channel info & subscriber/stats for a YouTube channel. (1 credit) */
227
+ /** YouTube Channel Details — YouTube channel stats — ISO country, createdAt date-only, real banner or null, quote-aware SEO tags, absolute links. Flat 1 credit. (1 credit) */
148
228
  channelDetails(params: YoutubeChannelDetailsParams): Promise<ApiEnvelope>;
149
- /** YouTube Search — Search YouTube videos by keyword. (20 credits) */
229
+ /** YouTube Search — YouTube search with cursor pagination — typed hits, ids, canonical URLs, filters (2 credits/page, 0 when a page finds nothing). (2 credits) */
150
230
  search(params: YoutubeSearchParams): Promise<ApiEnvelope>;
151
- /** YouTube Channel Videos — List a channel's uploaded videos. (20 credits) */
231
+ /** YouTube Channel Videos — Channel uploads with cursor pagination — exact publishedAt from reel_item_watch (same as channel-shorts). (2 credits) */
152
232
  channelVideos(params: YoutubeChannelVideosParams): Promise<ApiEnvelope>;
153
- /** YouTube Playlist Videos — List videos in a YouTube playlist. (50 credits) */
233
+ /** YouTube Playlist Videos — Paginated playlist contents — cursor/nextCursor/hasMore, same row shape as channel-videos. Flat 2 credits/page. (2 credits) */
154
234
  playlistVideos(params: YoutubePlaylistVideosParams): Promise<ApiEnvelope>;
155
- /** YouTube Playlist — Playlist metadata plus videos from a YouTube playlist. (50 credits) */
235
+ /** YouTube Playlist — Playlist metadata only — title, channel{}, totalVideos, thumbnailUrl. No videos[]. Flat 1 credit. (1 credit) */
156
236
  playlist(params: YoutubePlaylistParams): Promise<ApiEnvelope>;
157
- /** YouTube Video Download — Direct download URLs for a YouTube video. (3 credits) */
158
- videoDownload(params: YoutubeVideoDownloadParams): Promise<ApiEnvelope>;
159
- /** YouTube Shorts Transcript — Transcript of a YouTube Short. (2 credits) */
237
+ /** YouTube Shorts Transcript — Transcript for a YouTube Short — rejects long-form videos (≤3 min only). (1 credit) */
160
238
  shortsTranscript(params: YoutubeShortsTranscriptParams): Promise<ApiEnvelope>;
161
- /** YouTube Shorts Summarizer — AI summary of a YouTube Short. (4 credits) */
239
+ /** YouTube Shorts Summarizer — AI summary of a YouTube Short — rejects long-form videos (≤3 min only). (3 credits) */
162
240
  shortsSummarize(params: YoutubeShortsSummarizeParams): Promise<ApiEnvelope>;
163
- /** YouTube Shorts Stats — Metadata + stats for a YouTube Short. (1 credit) */
241
+ /** YouTube Shorts Stats — YouTube Short metadata — same schema as Video Details, with isShort:true; long-form videos get HTTP 422. (1 credit) */
164
242
  shortsDetails(params: YoutubeShortsDetailsParams): Promise<ApiEnvelope>;
165
- /** YouTube Shorts Comments — Comments on a YouTube Short. (20 credits) */
243
+ /** YouTube Shorts Comments — Comments on a YouTube Short — rejects long-form videos (≤3 min only). (2 credits) */
166
244
  shortsComments(params: YoutubeShortsCommentsParams): Promise<ApiEnvelope>;
167
- /** YouTube Channel Shorts — List a channel's Shorts. (20 credits) */
245
+ /** YouTube Channel Shorts — Channel Shorts with cursor pagination — same row shape as channel-videos (exact publishedAt). (2 credits) */
168
246
  channelShorts(params: YoutubeChannelShortsParams): Promise<ApiEnvelope>;
169
- /** YouTube Trending Shorts — Discover trending YouTube Shorts by seed keyword. (28 credits) */
247
+ /** YouTube Trending Shorts — YouTube Shorts recommendation sequence — fixed window per call (no cursor), not a global chart. (2 credits) */
170
248
  trendingShorts(params?: YoutubeTrendingShortsParams): Promise<ApiEnvelope>;
171
- /** YouTube Channel Streams — List a channel's live/past streams. (20 credits) */
249
+ /** YouTube Channel Streams — Channel Live tab only — liveStatus per row; 0 credits when hasLiveTab is false. (2 credits) */
172
250
  channelStreams(params: YoutubeChannelStreamsParams): Promise<ApiEnvelope>;
173
- /** YouTube Hashtag Search — Search YouTube videos by hashtag. (20 credits) */
251
+ /** YouTube Hashtag Search — Videos from youtube.com/hashtag/{name} — nested channel{}, viewCountIsApproximate. Not keyword search. (~10 credits (1/result)) */
174
252
  hashtagSearch(params: YoutubeHashtagSearchParams): Promise<ApiEnvelope>;
175
- /** YouTube Comment Replies — Replies to a specific YouTube comment. (20 credits) */
253
+ /** YouTube Comment Replies — Replies under a top-level comment — parentReplyCount + cursor. Nested reply ids return 404. (2 credits) */
176
254
  commentReplies(params: YoutubeCommentRepliesParams): Promise<ApiEnvelope>;
177
- /** YouTube Channel Playlists — List a channel's playlists. (20 credits) */
255
+ /** YouTube Channel Playlists — Channel playlists with cursor pagination — id, title, totalVideos, thumbnailUrl. Flat 2 credits/page. (2 credits) */
178
256
  channelPlaylists(params: YoutubeChannelPlaylistsParams): Promise<ApiEnvelope>;
179
- /** YouTube Community Posts — List a channel's community (posts) tab. (10 credits) */
257
+ /** YouTube Community Posts — Community posts — channel{}, publishedTimeApprox, likeCountIsApproximate, linkedVideos[], cursor (1 credit). (1 credit) */
180
258
  communityPosts(params: YoutubeCommunityPostsParams): Promise<ApiEnvelope>;
181
- /** YouTube Community Post Details — Details for a single YouTube community post. (7 credits) */
259
+ /** YouTube Community Post Details — One community post — list schema + commentCount trio + isEdited. (1 credit) */
182
260
  communityPostDetails(params: YoutubeCommunityPostDetailsParams): Promise<ApiEnvelope>;
183
- /** YouTube Video Sponsors — Sponsor / self-promo / interaction segments in a YouTube video (via SponsorBlock). (1 credit) */
261
+ /** YouTube Video Sponsors — SponsorBlock community segments — free while the CC BY-NC-SA commercial-use exception is pending. (0 credits) */
184
262
  videoSponsors(params: YoutubeVideoSponsorsParams): Promise<ApiEnvelope>;
185
263
  }
186
264
  export interface TiktokTranscriptParams {
187
- /** Public TikTok video URL, e.g. https://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
265
+ /** Public TikTok video or photo-carousel URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439 or https://www.tiktok.com/@user/photo/ID (the url channel-posts returns for mediaType photo). Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
188
266
  url: string;
267
+ /** Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. */
268
+ language?: string;
269
+ /** Serve from the 24h shared cache when available (0 credits on hit). Default true — set false to always fetch fresh. */
270
+ cache?: boolean;
189
271
  }
190
272
  export interface TiktokSummarizeParams {
191
- /** Public TikTok video URL, e.g. https://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
273
+ /** Public TikTok video or photo-carousel URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439 or https://www.tiktok.com/@user/photo/ID (the url channel-posts returns for mediaType photo). Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
192
274
  url: string;
275
+ /** ISO code, e.g. "tr": pins the speech language and sets the summary output language. Defaults to auto-detect + English summary. */
276
+ language?: string;
277
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
278
+ cache?: boolean;
193
279
  }
194
280
  export interface TiktokVideoDetailsParams {
195
- /** Public TikTok video URL, e.g. https://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
281
+ /** Public TikTok video or photo-carousel URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439 or https://www.tiktok.com/@user/photo/ID (the url channel-posts returns for mediaType photo). Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
196
282
  url: string;
283
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
284
+ cache?: boolean;
197
285
  }
198
286
  export interface TiktokCommentsParams {
199
- /** Public TikTok video URL, e.g. https://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
287
+ /** Public TikTok video or photo-carousel URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439 or https://www.tiktok.com/@user/photo/ID (the url channel-posts returns for mediaType photo). Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
200
288
  url: string;
201
- /** Max items to return. Default 50, max 500. Billed per result. */
289
+ /** Max items to return (default 50, max 500). Flat 2 credits per call. */
202
290
  limit?: number;
291
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (a numeric offset, e.g. 50). A null nextCursor means the end of the comments. */
292
+ cursor?: string;
293
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
294
+ cache?: boolean;
203
295
  }
204
296
  export interface TiktokChannelDetailsParams {
205
- /** TikTok profile URL, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
297
+ /** TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
206
298
  url: string;
299
+ /** Set true to include TikTok's upstream user/statsV2 blob under raw, plus createTimeUnix (unix twin of createTime). Default false — curated fields only. */
300
+ raw?: boolean;
301
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. */
302
+ cache?: boolean;
303
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. */
304
+ cacheMaxAge?: string;
207
305
  }
208
306
  export interface TiktokProfileRegionParams {
209
- /** TikTok profile URL, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
307
+ /** TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
210
308
  url: string;
309
+ /** Set true to include TikTok's upstream user/statsV2 blob under raw. Default false — curated fields only. */
310
+ raw?: boolean;
311
+ /** Set true to serve from the 7d response cache (0 credits on hit). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. */
312
+ cache?: boolean;
313
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. */
314
+ cacheMaxAge?: string;
211
315
  }
212
316
  export interface TiktokAudienceDemographicsParams {
213
- /** TikTok profile URL, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
317
+ /** TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
214
318
  url: string;
215
- }
216
- export interface TiktokSearchParams {
217
- /** Search query or keywords (min 2 chars). */
218
- q: string;
219
- /** Max items to return. Default 20, max 200. Billed per result. */
220
- limit?: number;
319
+ /** How many recent videos to sample comments from: 12 (default, 3 credits), 30 (5 credits), or 60 (8 credits). */
320
+ videos?: number;
321
+ /** Max countries in audienceLocations; remainder folds into other{count,percentage}. Omit for the full list (other is omitted when unused). */
322
+ countriesLimit?: number;
323
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
324
+ cache?: boolean;
221
325
  }
222
326
  export interface TiktokSearchSuggestionsParams {
223
- /** Seed keyword for autocomplete suggestions. */
327
+ /** Seed keyword to expand into autocomplete suggestions, e.g. skincare. */
224
328
  q: string;
225
- /** Two-letter ISO country code. Default US. */
329
+ /** Two-letter ISO country code that localizes the suggestions to a market, e.g. US, GB, DE. Default US. */
226
330
  country?: string;
227
- /** Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. */
331
+ /** Interface language for the suggestions, e.g. en-US or de-DE. Default en-US. */
228
332
  language?: string;
229
- /** Max items to return. Default 20, max 100. Billed per result. */
333
+ /** Max items to return (default 20, max 100). Flat 2 credits per call. */
230
334
  limit?: number;
231
- }
232
- export interface TiktokVideoDownloadParams {
233
- /** Public TikTok video URL, e.g. https://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
234
- url: string;
335
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
336
+ cache?: boolean;
235
337
  }
236
338
  export interface TiktokChannelPostsParams {
237
- /** TikTok profile URL, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
339
+ /** TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
238
340
  url: string;
239
- /** Max items to return. Default 20, max 200. Billed per result. */
341
+ /** How many of the creator's latest videos to return on this page (default 20, max 200). Newest first. Flat 2 credits per successful call. */
240
342
  limit?: number;
343
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (TikTok's max_cursor timestamp, e.g. 1783614676000). A null nextCursor means the end of the list. */
344
+ cursor?: string;
345
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
346
+ cache?: boolean;
241
347
  }
242
348
  export interface TiktokCommentRepliesParams {
243
- /** Public TikTok video URL, e.g. https://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
349
+ /** Public TikTok video or photo-carousel URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439 or https://www.tiktok.com/@user/photo/ID (the url channel-posts returns for mediaType photo). Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
244
350
  url: string;
245
- /** ID of the parent comment to fetch replies for (from the comments endpoint). */
246
- comment_id: string;
247
- /** Max items to return. Default 50, max 500. Billed per result. */
351
+ /** ID of the parent (top-level) comment to fetch replies for — from the comments endpoint. Legacy alias: comment_id. */
352
+ commentId: string;
353
+ /** Max items to return (default 50, max 500). Flat 2 credits per call. */
248
354
  limit?: number;
355
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value from the previous response. */
356
+ cursor?: string;
357
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
358
+ cache?: boolean;
249
359
  }
250
360
  export interface TiktokUserFollowersParams {
251
- /** TikTok profile URL, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
361
+ /** TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
252
362
  url: string;
253
- /** Max items to return. Default 50, max 500. Billed per result. */
363
+ /** Max items to return (default 50, max 500). Flat 1 credit per call. */
254
364
  limit?: number;
365
+ /** Pagination cursor (TikTok minCursor). Leave empty for the first page; then pass nextCursor from the previous response. */
366
+ cursor?: string;
367
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
368
+ cache?: boolean;
255
369
  }
256
370
  export interface TiktokUserFollowingsParams {
257
- /** TikTok profile URL, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
371
+ /** TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
258
372
  url: string;
259
- /** Max items to return. Default 50, max 500. Billed per result. */
373
+ /** Max items to return (default 50, max 500). Flat 1 credit per call. */
260
374
  limit?: number;
375
+ /** Pagination cursor (TikTok minCursor). Leave empty for the first page; then pass nextCursor from the previous response. */
376
+ cursor?: string;
377
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
378
+ cache?: boolean;
261
379
  }
262
380
  export interface TiktokMusicPostsParams {
263
- /** TikTok music/sound URL, e.g. https://tiktok.com/music/name-ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
381
+ /** TikTok music/sound URL, e.g. https://tiktok.com/music/name-ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
264
382
  url: string;
265
- /** Max items to return. Default 20, max 200. Billed per result. */
383
+ /** Most videos to return (default 20, 1–50; outside that range is a 400). TikTok serves this feed in short pages, so a call can return fewer than limit with a nextCursor to continue. Flat 2 credits per call. */
266
384
  limit?: number;
385
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. hasMore is true only when nextCursor is present. */
386
+ cursor?: string;
387
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
388
+ cache?: boolean;
267
389
  }
268
- export interface TiktokHashtagSearchParams {
269
- /** Hashtag with or without the # (min 2 chars). */
390
+ export interface TiktokTopSearchParams {
391
+ /** Search query or keywords (min 2 characters). */
270
392
  q: string;
271
- /** Max items to return. Default 20, max 200. Billed per result. */
393
+ /** Max items to return (default 20, max 200). Flat 2 credits per call. */
272
394
  limit?: number;
395
+ /** Pagination cursor. Leave 0 for the first page; then pass nextCursor from the previous response. TikTok may return duplicates across pages. */
396
+ cursor?: number;
397
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
398
+ cache?: boolean;
273
399
  }
274
- export interface TiktokTopSearchParams {
275
- /** Search query or keywords (min 2 chars). */
400
+ export interface TiktokSearchByHashtagParams {
401
+ /** Single hashtag token for the /tag/{name} challenge feed, with or without # (min 2). Spaces are 400 — use /v1/tiktok/top-search for a keyword query. */
276
402
  q: string;
277
- /** Max items to return. Default 20, max 200. Billed per result. */
403
+ /** Max items to return (default 10, max 100). Billed per result. */
278
404
  limit?: number;
405
+ /** Pagination offset. Leave at 0 (or omit) for the first page; then pass the nextCursor value returned in the previous response. A null nextCursor means the end of the results. */
406
+ cursor?: number;
407
+ /** Two-letter ISO 3166-1 country code. Default US. Accepted for compatibility; does not filter results by country. */
408
+ region?: string;
409
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
410
+ cache?: boolean;
279
411
  }
280
- export interface TiktokUserSearchParams {
281
- /** Search query or keywords (min 2 chars). */
412
+ export interface TiktokSearchUsersParams {
413
+ /** Search query matched against usernames, display names and bios (min 2 characters). */
282
414
  q: string;
283
- /** Max items to return. Default 20, max 100. Billed per result. */
415
+ /** Max items to return (default 20, max 100). Flat 1 credit per call. */
284
416
  limit?: number;
417
+ /** Pagination cursor. Omit (or pass 0) for the first page; then pass the nextCursor value from the previous response verbatim — it carries the search session, not just an offset. A null nextCursor means the end of the results. */
418
+ cursor?: string;
419
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
420
+ cache?: boolean;
285
421
  }
286
422
  export interface TiktokSongDetailsParams {
287
- /** TikTok music/sound URL, e.g. https://tiktok.com/music/name-ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
423
+ /** TikTok music/sound URL, e.g. https://tiktok.com/music/name-ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
288
424
  url: string;
425
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
426
+ cache?: boolean;
289
427
  }
290
428
  export interface TiktokTrendingFeedParams {
291
- /** Two-letter ISO country code, e.g. US, GB, TR. Default US. */
429
+ /** Two-letter ISO country (default US). For You: region-availability hint. Creative Center mode: chart market. */
292
430
  country?: string;
293
- /** Max items to return. Default 20, max 200. Billed per result. */
294
- limit?: number;
431
+ /** Alias of country. Wins when both are set. */
432
+ countryCode?: string;
433
+ /** Creative Center sort: hot (views), like, comment, or repost. Unknown values are 400. vv/views/plays are aliases of hot — the response echoes the public name. Setting this (or period / page>1) switches from For You to the popular-videos chart. On a For You fallthrough the same sort is applied locally. */
434
+ orderBy?: string;
435
+ /** Lookback days: 7, 30, or 120 (180→120). Triggers chart mode. Every returned publishedAt is inside this window — a For You fallthrough is filtered the same way. */
436
+ period?: number;
437
+ /** Creative Center page (default 1). page>1 triggers chart mode. */
438
+ page?: number;
439
+ /** Max items to return (default 20, max 200). Flat 2 credits per call. */
440
+ limit?: number;
441
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
442
+ cache?: boolean;
295
443
  }
296
444
  export interface TiktokPopularHashtagsParams {
297
- /** Topic or keyword to discover trending hashtags for. Default "trending". */
445
+ /** Two-letter ISO country for the Creative Center chart. Default US. */
446
+ country?: string;
447
+ /** Lookback days: 7, 30, or 120 (180→120). Default 7. */
448
+ period?: number;
449
+ /** Creative Center page (default 1). */
450
+ page?: number;
451
+ /** Chart sort: popular (default). */
452
+ sortBy?: string;
453
+ /** Only hashtags newly on the Top 100. */
454
+ newOnBoard?: boolean;
455
+ /** Optional Creative Center industry_id. */
456
+ industryId?: string;
457
+ /** Optional niche seed for co-occurrence + challenge/detail enrich. Omit, or pass trending, to try the Creative Center chart (10s cap); a miss falls through to related tags for fyp (source=niche_fallback) and opens a chart circuit for that country/period/page/industry. Later calls with the same chart parameters skip the chart (chartStatus=skipped_circuit_open) until the cooldown expires. Any other value skips the chart. */
298
458
  query?: string;
299
- /** Max items to return. Default 20, max 100. Billed per result. */
459
+ /** Max items to return (default 20, max 100). Flat 2 credits per call. */
300
460
  limit?: number;
461
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
462
+ cache?: boolean;
301
463
  }
302
464
  export interface TiktokLiveParams {
303
- /** TikTok profile URL, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
465
+ /** TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
304
466
  url: string;
467
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
468
+ cache?: boolean;
305
469
  }
306
470
  export interface TiktokLiveInfoParams {
307
- /** TikTok profile URL, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
471
+ /** TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
308
472
  url: string;
473
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
474
+ cache?: boolean;
309
475
  }
310
476
  export interface TiktokPopularCreatorsParams {
311
477
  /** Two-letter ISO country code. Default US. */
312
478
  country?: string;
313
479
  /** follower, engagement, or popularity. Default follower. */
314
480
  sort?: string;
315
- /** Optional range: 10k-100k, 100k-1m, 1m-10m, >10m. */
481
+ /** Creative Center page (default 1). */
482
+ page?: number;
483
+ /** Optional range on the For You ranking: 10k-100k, 100k-1m, 1m-10m, >10m. */
316
484
  follower_count?: string;
317
- /** Max items to return. Default 20, max 100. Billed per result. */
485
+ /** Max items to return (default 20, max 100). Flat 2 credits per call. */
318
486
  limit?: number;
487
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. */
488
+ cache?: boolean;
489
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. */
490
+ cacheMaxAge?: string;
319
491
  }
320
492
  export declare class TiktokApi {
321
493
  private readonly core;
322
494
  constructor(core: HttpCore);
323
- /** TikTok Transcript — Transcript of a TikTok video (via captions). (2 credits) */
495
+ /** TikTok Transcript — Transcript (2 credits) */
324
496
  transcript(params: TiktokTranscriptParams): Promise<ApiEnvelope>;
325
- /** TikTok Summarizer — AI summary of a TikTok video. (4 credits) */
497
+ /** TikTok Summarizer — Summarizer (4 credits) */
326
498
  summarize(params: TiktokSummarizeParams): Promise<ApiEnvelope>;
327
- /** TikTok Video Details — Metadata + stats for a TikTok video. (1 credit) */
499
+ /** TikTok Video Details — Get everything about one TikTok video from its URL — caption, view/like/comment/share/save counts, creator, sound, hashtags, and thumbnail. (1 credit) */
328
500
  videoDetails(params: TiktokVideoDetailsParams): Promise<ApiEnvelope>;
329
- /** TikTok Comments — Comments on a TikTok video. (10 credits) */
501
+ /** TikTok Comments — TikTok comments — clean schema plus authorName, stable authorId/authorSecUid and commentLanguage for listening loops. Unresolvable videos are 404 at 0 credits. (2 credits) */
330
502
  comments(params: TiktokCommentsParams): Promise<ApiEnvelope>;
331
- /** TikTok Channel Details — Profile info & stats for a TikTok user. (1 credit) */
503
+ /** TikTok Channel Details — Resolve a TikTok @handle to id + secUid — createTime, ttSeller, bioLink, decoded privacy flags. (1 credit) */
332
504
  channelDetails(params: TiktokChannelDetailsParams): Promise<ApiEnvelope>;
333
- /** TikTok Profile Region — Region and language signals for a TikTok profile. (7 credits) */
505
+ /** TikTok Profile Region — Find out where a TikTok creator is likely based and what language they use — country, language, stable ids, and core profile stats. (2 credits) */
334
506
  profileRegion(params: TiktokProfileRegionParams): Promise<ApiEnvelope>;
335
- /** TikTok Audience Demographics — Audience and demographic signals for a TikTok profile. (7 credits) */
507
+ /** TikTok Audience Demographics — Audience country + language mix for a TikTok creator — engagement sample, not a follower census. (3 credits) */
336
508
  audienceDemographics(params: TiktokAudienceDemographicsParams): Promise<ApiEnvelope>;
337
- /** TikTok Search — Search TikTok videos by keyword/hashtag. (14 credits) */
338
- search(params: TiktokSearchParams): Promise<ApiEnvelope>;
339
- /** TikTok Search Suggestions — TikTok search/autocomplete suggestions for a seed keyword. (28 credits) */
509
+ /** TikTok Search Suggestions — Get the autocomplete terms TikTok suggests in its search bar for a keyword — the real phrases people search, ranked, so you can find trending queries and long-tail keyword ideas. (2 credits) */
340
510
  searchSuggestions(params: TiktokSearchSuggestionsParams): Promise<ApiEnvelope>;
341
- /** TikTok Video Download — No-watermark download URL for a TikTok video. (3 credits) */
342
- videoDownload(params: TiktokVideoDownloadParams): Promise<ApiEnvelope>;
343
- /** TikTok Channel Posts — Latest posts from a TikTok profile. (14 credits) */
511
+ /** TikTok Channel Posts — Latest videos from a TikTok profile, cursor-paginated, with isPinned, caption mention text and brand signals (promoCodes, brandMentions). Flat 2 credits; failures are 0 credits. (2 credits) */
344
512
  channelPosts(params: TiktokChannelPostsParams): Promise<ApiEnvelope>;
345
- /** TikTok Comment Replies — Replies to a specific TikTok comment. (50 credits) */
513
+ /** TikTok Comment Replies — Replies under a TikTok comment — same authorId/authorSecUid/commentLanguage shape as comments. (2 credits) */
346
514
  commentReplies(params: TiktokCommentRepliesParams): Promise<ApiEnvelope>;
347
- /** TikTok User Followers — List a TikTok user's followers. (20 credits) */
515
+ /** TikTok User Followers — List a TikTok user's followers — id, secUid, createTime, region, language, cursor pagination. Flat 1 credit. (1 credit) */
348
516
  userFollowers(params: TiktokUserFollowersParams): Promise<ApiEnvelope>;
349
- /** TikTok User Followings — List who a TikTok user follows. (20 credits) */
517
+ /** TikTok User Followings — List who a TikTok user follows — id, secUid, createTime, region, language, cursor pagination. Flat 1 credit. (1 credit) */
350
518
  userFollowings(params: TiktokUserFollowingsParams): Promise<ApiEnvelope>;
351
- /** TikTok Music Posts — Posts using a specific TikTok sound/music. (32 credits) */
519
+ /** TikTok Music Posts — List TikTok videos that use a specific sound — caption, author, exact engagement, canonical hashtags, and mentions, with cursor pagination. (2 credits) */
352
520
  musicPosts(params: TiktokMusicPostsParams): Promise<ApiEnvelope>;
353
- /** TikTok Hashtag Search — Search TikTok videos by hashtag. (14 credits) */
354
- hashtagSearch(params: TiktokHashtagSearchParams): Promise<ApiEnvelope>;
355
- /** TikTok Top Search — Top mixed TikTok results for a keyword. (14 credits) */
521
+ /** TikTok Top Search — TikTok Top/General search — videos and photo carousels when TikTok includes them, with contentType + images[]. (2 credits) */
356
522
  topSearch(params: TiktokTopSearchParams): Promise<ApiEnvelope>;
357
- /** TikTok User Search — Search TikTok users/creators by keyword. (8 credits) */
358
- userSearch(params: TiktokUserSearchParams): Promise<ApiEnvelope>;
359
- /** TikTok Song Details — Details of a TikTok sound/song. (2 credits) */
523
+ /** TikTok Search by Hashtag — Videos from TikTok's /tag/{name} challenge feed — not keyword or username search. Cursor + hasMore. (~7 credits (0.7/result)) */
524
+ searchByHashtag(params: TiktokSearchByHashtagParams): Promise<ApiEnvelope>;
525
+ /** TikTok Search Users — Find TikTok creators by keyword — distinct authors ranking for the query, id + secUid, per-counter isApproximate flags, cursor pagination. (1 credit) */
526
+ searchUsers(params: TiktokSearchUsersParams): Promise<ApiEnvelope>;
527
+ /** TikTok Song Details — TikTok sound metadata — usageCount, artists[{id,secUid,handle}], audio{bpm,loudness,beats}, commerce rights (1 credit; 2 via the fallback path). (1 credit (2 via fallback path)) */
360
528
  songDetails(params: TiktokSongDetailsParams): Promise<ApiEnvelope>;
361
- /** TikTok Trending Feed — TikTok trending (For You) videos by region. (14 credits) */
529
+ /** TikTok Trending Feed — For You by default; pass orderBy/period/page for Creative Center popular videos (like/hot/comment/repost) with totalCount. Flat 2 credits. (2 credits) */
362
530
  trendingFeed(params?: TiktokTrendingFeedParams): Promise<ApiEnvelope>;
363
- /** TikTok Popular Hashtags — Trending TikTok hashtags for a topic/keyword. (14 credits) */
531
+ /** TikTok Popular Hashtags — Related TikTok hashtags — Creative Center chart when it answers (asOf = the chart's data date, stale when over 3 days old), otherwise a disclosed niche fallback. Flat 2 credits. (2 credits) */
364
532
  popularHashtags(params?: TiktokPopularHashtagsParams): Promise<ApiEnvelope>;
365
- /** TikTok Live — Live status & room info for a TikTok creator. (1 credit) */
533
+ /** TikTok Live — Check whether a TikTok creator is live right now and get the stream URLs (CMAF/DASH + FLV, HLS when TikTok exposes it) — one GET with an @handle, 1 credit. (1 credit) */
366
534
  live(params: TiktokLiveParams): Promise<ApiEnvelope>;
367
- /** TikTok Live Info — Live room details for a TikTok creator. (7 credits) */
535
+ /** TikTok Live Info — Identical to TikTok Live (isLive, creator.id/secUid, streamQualities hls/cmaf). (1 credit) */
368
536
  liveInfo(params: TiktokLiveInfoParams): Promise<ApiEnvelope>;
369
- /** TikTok Popular Creators — Popular TikTok creators by country and ranking mode. (28 credits) */
537
+ /** TikTok Popular Creators — Creative Center creators + createTime / bioLinkRisk / ttSeller hydrate for partnership vetting. (2 credits) */
370
538
  popularCreators(params?: TiktokPopularCreatorsParams): Promise<ApiEnvelope>;
371
539
  }
372
540
  export interface InstagramTranscriptParams {
373
- /** Instagram Reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
541
+ /** Instagram Reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
374
542
  url: string;
543
+ /** Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. */
544
+ language?: string;
545
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
546
+ cache?: boolean;
375
547
  }
376
548
  export interface InstagramSummarizeParams {
377
- /** Instagram Reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
549
+ /** Instagram Reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
378
550
  url: string;
551
+ /** ISO code, e.g. "tr": pins the speech language and sets the summary output language. Defaults to auto-detect + English summary. */
552
+ language?: string;
553
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
554
+ cache?: boolean;
379
555
  }
380
556
  export interface InstagramDetailsParams {
381
- /** Instagram post or reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
557
+ /** Instagram post or reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
382
558
  url: string;
559
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
560
+ cache?: boolean;
383
561
  }
384
562
  export interface InstagramCommentsParams {
385
- /** Instagram post or reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
563
+ /** Instagram post or reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
386
564
  url: string;
387
- /** Max items to return. Default 50, max 500. Billed per result. */
565
+ /** Max items to return (default 10, max 500). Billed per result. */
388
566
  limit?: number;
567
+ /** Pagination cursor from the previous nextCursor ({mediaPk}:{minId}). Omit on the first page. hasMore is true when nextCursor is set, or when more exist and cannot be paged (nextCursor null + truncatedReason). */
568
+ cursor?: string;
569
+ /** Comment order: popular (Instagram's ranking, the default when omitted) or recent (newest first). recent is served by one fetch path only, so it fails over less. The order is kept in nextCursor — pass the same sort on every page; a different one is 400. */
570
+ sort?: string;
571
+ /** Leave out comments shorter than this many characters (1–500; e.g. 3 drops single emojis). Billed on the comments returned. */
572
+ minLength?: number;
573
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
574
+ cache?: boolean;
389
575
  }
390
576
  export interface InstagramChannelDetailsParams {
391
- /** Instagram profile URL, e.g. https://instagram.com/username/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
577
+ /** Instagram profile URL, @handle, or username, e.g. https://instagram.com/username/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
392
578
  url: string;
579
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. */
580
+ cache?: boolean;
581
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. */
582
+ cacheMaxAge?: string;
393
583
  }
394
584
  export interface InstagramChannelPostsParams {
395
- /** Instagram profile URL, e.g. https://instagram.com/username/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
585
+ /** Instagram profile URL, @handle, or username, e.g. https://instagram.com/username/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
396
586
  url: string;
397
- /** Max items to return. Default 20, max 200. Billed per result. */
587
+ /** Max items to return (default 10, max 200). Billed per result. */
398
588
  limit?: number;
589
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (e.g. 3937014945555313553_1697296). A null nextCursor means the end of the list. */
590
+ cursor?: string;
591
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
592
+ cache?: boolean;
399
593
  }
400
594
  export interface InstagramChannelReelsParams {
401
- /** Instagram profile URL, e.g. https://instagram.com/username/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
402
- url: string;
403
- /** Max items to return. Default 20, max 200. Billed per result. */
404
- limit?: number;
595
+ /** Instagram profile URL, @handle, or username. Omit when userId is set. The URL platform must match this endpoint's platform. */
596
+ url?: string;
597
+ /** Instagram numeric user ID (e.g. 173560420). Skips handle→ID resolve (legacy sequential WPI alone could cost ~80s). Prefer when you already have the ID from basic-profile or profile-search. */
598
+ userId?: string;
599
+ /** Max items to return (default 10, max 200). Billed per result. */
600
+ limit?: number;
601
+ /** Pagination cursor. Leave empty for the first page; then pass nextCursor from the previous response (clips:{userId}:{opaque} on the native Reels path, or legacy {mediaId}_{userId}). Stop when hasMore is false. */
602
+ cursor?: string;
603
+ /** Only Reels published on or after this ISO date or datetime (e.g. 2026-10-01 or 2026-10-01T00:00:00Z; no offset means UTC). Pinned Reels older than since are left out without ending the list; once a page reaches an older non-pinned Reel, hasMore is false. Reels with no known date are left out. Billed on the returned Reels. */
604
+ since?: string;
605
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
606
+ cache?: boolean;
405
607
  }
406
608
  export interface InstagramReelsSearchParams {
407
- /** Hashtag (without #) or keyword (min 2 chars). */
609
+ /** Hashtag without the # (min 2 characters). One token — spaces are 400 HASHTAG_HAS_SPACES. */
408
610
  q: string;
409
- /** Max items to return. Default 20, max 200. Billed per result. */
611
+ /** Max items to return (default 20, max 50). Flat 2 credits per call. */
410
612
  limit?: number;
613
+ /** last_24_hours | last_week | last_month | last_year (aliases: today, this_week, this_month, this_year). */
614
+ datePosted?: string;
615
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
616
+ cache?: boolean;
411
617
  }
412
618
  export interface InstagramTrendingReelsParams {
413
- /** Country name for Explore localization. Default United States. */
619
+ /** Country for Reels localization — full name or ISO code (e.g. 'United States', 'US', 'Turkey', 'TR'). Default United States. Unsupported values return 400 with supportedCountries[]. */
414
620
  country?: string;
415
- /** Max items to return. Default 20, max 200. Billed per result. */
621
+ /** Max items to return (default 10, max 50). Flat 2 credits per call. */
416
622
  limit?: number;
417
- }
418
- export interface InstagramVideoDownloadParams {
419
- /** Instagram Reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
420
- url: string;
623
+ /** Default true (cache-first): serve the per-country response cache when present (TTL 4 hours). Every successful call costs 2 credits — including cache hits. Set false to force a live scrape (measured miss 45–75s, hard-capped at 110s). Raise client timeouts above 90s — n8n/Make defaults will fail a miss. The fresh result still refreshes the cache. */
624
+ cache?: boolean;
421
625
  }
422
626
  export interface InstagramTaggedPostsParams {
423
- /** Instagram profile URL, e.g. https://instagram.com/username/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
424
- url: string;
425
- /** Max items to return. Default 20, max 200. Billed per result. */
426
- limit?: number;
427
- }
428
- export interface InstagramMusicPostsParams {
429
- /** Instagram audio/music page URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
627
+ /** Instagram profile URL, @handle, or username, e.g. https://instagram.com/username/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
430
628
  url: string;
431
- /** Max items to return. Default 20, max 200. Billed per result. */
629
+ /** Max items to return (default 20, max 200). Flat 1 credit per call. */
432
630
  limit?: number;
631
+ /** Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
632
+ cursor?: string;
633
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
634
+ cache?: boolean;
433
635
  }
434
636
  export interface InstagramReelsByAudioIdParams {
435
- /** Instagram audio/music ID or full audio URL. */
436
- audio_id: string;
437
- /** Max items to return. Default 20, max 200. Billed per result. */
637
+ /** Instagram audio/music ID or full audio URL, e.g. 27919946310946207. */
638
+ audioId: string;
639
+ /** Max items to return (default 10, max 200). Billed per result. */
438
640
  limit?: number;
641
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
642
+ cache?: boolean;
439
643
  }
440
644
  export interface InstagramHashtagSearchParams {
441
- /** Hashtag without the # (min 2 chars). */
645
+ /** Hashtag without the # (min 2 characters). One token — spaces are 400 HASHTAG_HAS_SPACES. */
442
646
  q: string;
443
- /** Max items to return. Default 20, max 200. Billed per result. */
647
+ /** Max items to return (default 20, max 50). Flat 2 credits per call. */
444
648
  limit?: number;
649
+ /** all (default) or reels — return only Reels/clips when set to reels. */
650
+ mediaType?: string;
651
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
652
+ cache?: boolean;
445
653
  }
446
654
  export interface InstagramProfileSearchParams {
447
- /** Search query or keywords (min 2 chars). */
655
+ /** Account name, @handle, or profile URL to resolve (min 2 characters). A leading _, accents (misión → mision), spaces and URL query strings (?igsh=…) are stripped. A q with no usable username characters is 400 BAD_REQUEST. Not a niche keyword search. */
448
656
  q: string;
449
- /** Max items to return. Default 20, max 100. Billed per result. */
450
- limit?: number;
657
+ /** Serve from the 24h shared cache when available (0 credits on hit). Default true — set false to always fetch fresh. */
658
+ cache?: boolean;
451
659
  }
452
- export interface InstagramStoryHighlightsParams {
453
- /** Instagram profile URL, e.g. https://instagram.com/username/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
660
+ export interface InstagramEmbedParams {
661
+ /** Instagram post, reel, or profile URL (or @handle), e.g. https://instagram.com/reel/ID/ or https://instagram.com/username/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
454
662
  url: string;
663
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
664
+ cache?: boolean;
455
665
  }
456
- export interface InstagramHighlightsDetailsParams {
457
- /** Instagram profile URL, e.g. https://instagram.com/username/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
458
- url: string;
459
- /** Max highlights to expand. Default 10, max 50. */
460
- limit?: number;
666
+ export interface InstagramHighlightsParams {
667
+ /** Instagram profile URL, @handle, or username. Omit when userId is set. */
668
+ url?: string;
669
+ /** Numeric Instagram user ID. Prefer when known — skips handle→ID resolve. When only userId is set we reverse-resolve the username so the WPI / profile-HTML shelf can still run. */
670
+ userId?: string;
671
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
672
+ cache?: boolean;
461
673
  }
462
- export interface InstagramEmbedParams {
463
- /** Instagram post or reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
464
- url: string;
674
+ export interface InstagramHighlightsDetailsParams {
675
+ /** Highlight id from /v1/instagram/highlights (with or without highlight: prefix). */
676
+ id: string;
677
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
678
+ cache?: boolean;
465
679
  }
466
680
  export interface InstagramBasicProfileParams {
467
- /** Instagram profile URL, e.g. https://instagram.com/username/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
468
- url: string;
681
+ /** Instagram numeric pk (e.g. 13460080 — the id field on this endpoint), or a profile URL / @handle / username. A Facebook/Graph fbid (17-digit 17841…) is 400 WRONG_ID_TYPE. */
682
+ userId: string;
683
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. */
684
+ cache?: boolean;
685
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. */
686
+ cacheMaxAge?: string;
469
687
  }
470
688
  export declare class InstagramApi {
471
689
  private readonly core;
472
690
  constructor(core: HttpCore);
473
- /** Instagram Transcript — Transcript of an Instagram Reel. (2 credits) */
691
+ /** Instagram Transcript — Turn any Instagram Reel's speech into text — the full transcript plus timestamped segments, ready for search, subtitles, or AI pipelines. (2 credits) */
474
692
  transcript(params: InstagramTranscriptParams): Promise<ApiEnvelope>;
475
- /** Instagram Summarizer — AI summary of an Instagram Reel. (4 credits) */
693
+ /** Instagram Summarizer — Get an AI summary of any Instagram Reel — a short paragraph plus key points, without watching the video. (4 credits) */
476
694
  summarize(params: InstagramSummarizeParams): Promise<ApiEnvelope>;
477
- /** Instagram Details — Details for an Instagram post or reel. (1 credit) */
695
+ /** Instagram Post & Reel Details — Get an Instagram post, Reel or carousel — caption, publish date, likes, comments, views, media URLs, author, per-slide children, and promo codes / disclosure words from the caption. (1 credit) */
478
696
  details(params: InstagramDetailsParams): Promise<ApiEnvelope>;
479
- /** Instagram Comments — Comments on an Instagram post or reel. (45 credits) */
697
+ /** Instagram Post Comments — Session-paged Instagram comments — a logged-out 2-row preview of a larger thread is 503 SESSION_UNAVAILABLE at 0 credits. (~9 credits (0.9/result)) */
480
698
  comments(params: InstagramCommentsParams): Promise<ApiEnvelope>;
481
- /** Instagram Channel Details — Profile info & stats for an Instagram account. (1 credit) */
699
+ /** Instagram Channel Details — Instagram profile stats — fixed key set (null fillers), fbid, bioLinks, isBusinessAccount, approx flags. (1 credit) */
482
700
  channelDetails(params: InstagramChannelDetailsParams): Promise<ApiEnvelope>;
483
- /** Instagram Channel Posts — Latest posts from an Instagram profile. (12 credits) */
701
+ /** Instagram Channel Posts — Latest posts from a public Instagram profile — carousel children[], mediaCount, isPinned, caption promo codes, user{} in one call. (~3 credits (0.3/result)) */
484
702
  channelPosts(params: InstagramChannelPostsParams): Promise<ApiEnvelope>;
485
- /** Instagram Channel Reels — Latest Reels from an Instagram profile. (12 credits) */
486
- channelReels(params: InstagramChannelReelsParams): Promise<ApiEnvelope>;
487
- /** Instagram Reels Search — Search Instagram Reels by hashtag/keyword. (12 credits) */
703
+ /** Instagram Channel Reels — Latest Reels from a public Instagram profile — isPinned, optional since date filter, pass userId to skip resolve; ceil(n×0.3) credits; nextCursor + hasMore. (~3 credits (0.3/result)) */
704
+ channelReels(params?: InstagramChannelReelsParams): Promise<ApiEnvelope>;
705
+ /** Instagram Reels Search — Native tag feed first, slower fallback paths on a miss. Max 50. Flat 2 credits. (2 credits) */
488
706
  reelsSearch(params: InstagramReelsSearchParams): Promise<ApiEnvelope>;
489
- /** Instagram Trending Reels — Trending Instagram Reels / Explore posts by country. (28 credits) */
707
+ /** Instagram Trending Reels — Cache-first trending Reels. Feed outage → labelled country hashtag-clips stand-in (listing field), never a silent swap. Max 50. Flat 2 credits. (2 credits) */
490
708
  trendingReels(params?: InstagramTrendingReelsParams): Promise<ApiEnvelope>;
491
- /** Instagram Video Download — Direct video URL for an Instagram Reel. (3 credits) */
492
- videoDownload(params: InstagramVideoDownloadParams): Promise<ApiEnvelope>;
493
- /** Instagram Tagged Posts — Posts an Instagram user is tagged in. (18 credits) */
709
+ /** Instagram Tagged Posts — Posts that tag an Instagram account — author verified/avatar when available, staleFeed when Instagram only exposes an archive. (1 credit) */
494
710
  taggedPosts(params: InstagramTaggedPostsParams): Promise<ApiEnvelope>;
495
- /** Instagram Music Posts — Posts/Reels using an Instagram audio. (18 credits) */
496
- musicPosts(params: InstagramMusicPostsParams): Promise<ApiEnvelope>;
497
- /** Instagram Reels By Audio ID — Posts/Reels using an Instagram audio ID. (28 credits) */
711
+ /** Instagram Reels By Audio ID — Is this Instagram sound trending? Reels that use it + isTrendingInClips / trendRank / rich music{}. (~14 credits (1.4/result)) */
498
712
  reelsByAudioId(params: InstagramReelsByAudioIdParams): Promise<ApiEnvelope>;
499
- /** Instagram Hashtag Search — Search Instagram posts by hashtag. (12 credits) */
713
+ /** Instagram Hashtag Search — Hashtag Explore: native grid first, fallback path only on miss. Max 50. Flat 2 credits. (2 credits) */
500
714
  hashtagSearch(params: InstagramHashtagSearchParams): Promise<ApiEnvelope>;
501
- /** Instagram Profile Search — Search Instagram profiles by keyword. (12 credits) */
715
+ /** Instagram Profile Search — Resolve a brand or @handle to one public Instagram profile — or search accounts by free text (mode=search). (1 credit) */
502
716
  profileSearch(params: InstagramProfileSearchParams): Promise<ApiEnvelope>;
503
- /** Instagram Story Highlights — List a profile's story highlight covers. (5 credits) */
504
- storyHighlights(params: InstagramStoryHighlightsParams): Promise<ApiEnvelope>;
505
- /** Instagram Highlights Details — Items inside a profile's story highlights. (9 credits) */
506
- highlightsDetails(params: InstagramHighlightsDetailsParams): Promise<ApiEnvelope>;
507
- /** Instagram Embed — Embed HTML for an Instagram post/reel. (1 credit) */
717
+ /** Instagram Embed HTML — Classic Instagram embed snippet — blockquote.instagram-media + embed.js. Drop html into your page. (1 credit) */
508
718
  embed(params: InstagramEmbedParams): Promise<ApiEnvelope>;
509
- /** Instagram Basic Profile — Lightweight Instagram profile lookup (core fields). (1 credit) */
719
+ /** Instagram Highlights — Persistent Story Highlight albums for a public profile — id, title, cover, owner. Flat 1 credit. (1 credit) */
720
+ highlights(params?: InstagramHighlightsParams): Promise<ApiEnvelope>;
721
+ /** Instagram Highlights Details — Items inside one Instagram Story Highlight album — media URLs, type, takenAt. Flat 1 credit. (1 credit) */
722
+ highlightsDetails(params: InstagramHighlightsDetailsParams): Promise<ApiEnvelope>;
723
+ /** Instagram Basic Profile — Instagram profile by user ID or @handle — camelCase schema aligned with Channel Details (followers, externalUrl, businessAddress). (1 credit) */
510
724
  basicProfile(params: InstagramBasicProfileParams): Promise<ApiEnvelope>;
511
725
  }
512
726
  export interface FacebookDetailsParams {
513
- /** Public Facebook video or post URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
514
- url: string;
515
- }
516
- export interface FacebookTranscriptParams {
517
- /** Public Facebook video or post URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
727
+ /** Public Facebook video or post URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
518
728
  url: string;
729
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
730
+ cache?: boolean;
519
731
  }
520
732
  export interface FacebookSummarizeParams {
521
- /** Public Facebook video or post URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
733
+ /** Public Facebook video or post URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
522
734
  url: string;
735
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
736
+ cache?: boolean;
523
737
  }
524
738
  export interface FacebookCommentsParams {
525
- /** Public Facebook video or post URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
526
- url: string;
527
- /** Max items to return. Default 50, max 500. Billed per result. */
739
+ /** Facebook post or Reel URL. Omit when feedbackId is set. The URL platform must match this endpoint's platform. A page/profile URL also works: Facebook renders the page's most recent post first, so you get that post's comments (each comment's url names the actual post). */
740
+ url?: string;
741
+ /** Post feedback id from /v1/facebook/details (base64 feedback:POSTID). Prefer when you already have it — also accepts feedback_id. */
742
+ feedbackId?: string;
743
+ /** Max items to return (default 50, max 500). Flat 2 credits per call. */
528
744
  limit?: number;
745
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
746
+ cache?: boolean;
529
747
  }
530
748
  export interface FacebookPageDetailsParams {
531
- /** Facebook page URL, e.g. https://facebook.com/PageName. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
749
+ /** Facebook page URL, @handle, or page name, e.g. https://facebook.com/PageName. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
532
750
  url: string;
751
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
752
+ cache?: boolean;
533
753
  }
534
754
  export interface FacebookProfilePostsParams {
535
- /** Facebook profile or page URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
755
+ /** Facebook profile/page URL, @handle, or page name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
536
756
  url: string;
537
- /** Max items to return. Default 20, max 200. Billed per result. */
757
+ /** Max items to return (default 4, max 4). The logged-out listing hop is ~23–29s typical, hard-capped at 40s. Each hydrate is typically 6–10s (can be ~100ms when listing already carried the post) and is capped at 12s. The next-item fit check uses that 12s cap, not the typical 6–10s, so a call cannot exceed 60s. The loop stops when the next item would miss the 60s deadline and returns what it has (truncatedReason=hydrate-budget | deadline). Asking for 20 cannot return 20 inside that ceiling. Flat 2 credits per call. */
538
758
  limit?: number;
759
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
760
+ cache?: boolean;
539
761
  }
540
762
  export interface FacebookProfileReelsParams {
541
- /** Facebook profile or page URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
763
+ /** Facebook profile/page URL, @handle, or page name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
542
764
  url: string;
543
- /** Max items to return. Default 20, max 200. Billed per result. */
765
+ /** Max items to return (default 20, max 200). Flat 2 credits per call. */
544
766
  limit?: number;
767
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
768
+ cache?: boolean;
545
769
  }
546
770
  export interface FacebookGroupPostsParams {
547
- /** Public Facebook group URL, e.g. https://facebook.com/groups/ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
771
+ /** Public Facebook group URL, e.g. https://facebook.com/groups/ID. Must contain /groups/ — profile/page URLs are a definitive 400 (use /v1/facebook/profile-posts for those). The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
548
772
  url: string;
549
- /** Max items to return. Default 20, max 200. Billed per result. */
773
+ /** Max posts to return (default 10, max 200; up to 80 per call — above that you get 80 with truncatedReason per-call-cap). Billed 1 credit per returned post, minimum 2. */
550
774
  limit?: number;
775
+ /** TOP_POSTS | RECENT_ACTIVITY | CHRONOLOGICAL (default) | CHRONOLOGICAL_LISTINGS. Maps to Facebook sorting_setting. */
776
+ sortBy?: string;
777
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
778
+ cache?: boolean;
551
779
  }
552
780
  export interface FacebookCommentRepliesParams {
553
- /** Facebook post URL the comment belongs to. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
781
+ /** Facebook post URL the comment belongs to. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
554
782
  url: string;
555
- /** ID of the parent comment to fetch replies for (from the comments endpoint). */
556
- comment_id: string;
557
- /** Max items to return. Default 50, max 500. Billed per result. */
558
- limit?: number;
559
- }
560
- export interface FacebookMarketplaceSearchParams {
561
- /** Product or keyword to search for (min 2 chars). */
562
- q: string;
563
- /** City or place name, e.g. 'Austin, TX'. */
564
- location: string;
565
- /** Max items to return. Default 20, max 200. Billed per result. */
566
- limit?: number;
567
- /** Set true to fetch full description, photos and coordinates per listing (slower, costs more). */
568
- details?: string;
569
- }
570
- export interface FacebookMarketplaceLocationSearchParams {
571
- /** City/place search query, e.g. Austin. */
572
- q: string;
573
- /** Max items to return. Default 10, max 50. Billed per result. */
574
- limit?: number;
575
- }
576
- export interface FacebookEventSearchParams {
577
- /** Topic and/or place, e.g. 'comedy Chicago' (min 2 chars). */
578
- q: string;
579
- /** Max items to return. Default 20, max 200. Billed per result. */
783
+ /** ID of the parent (top-level) comment to fetch replies for — from the comments endpoint. Legacy alias: comment_id. */
784
+ commentId: string;
785
+ /** Max items to return (default 50, max 500). Flat 2 credits per call. */
580
786
  limit?: number;
581
- }
582
- export interface FacebookEventDetailsParams {
583
- /** Facebook event URL, e.g. https://facebook.com/events/ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
584
- url: string;
787
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
788
+ cache?: boolean;
585
789
  }
586
790
  export interface FacebookProfilePhotosParams {
587
- /** Facebook profile or page URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
791
+ /** Facebook profile/page URL, @handle, or page name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
588
792
  url: string;
589
- /** Max items to return. Default 20, max 200. Billed per result. */
793
+ /** Max items to return (default 20, max 200). The public /photos grid is a single SSR batch (often ~8) — retrievableCount is that batch, not a promise Facebook will fill limit. Flat 2 credits per call. */
590
794
  limit?: number;
591
- }
592
- export interface FacebookProfileEventsParams {
593
- /** Facebook profile or page URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
594
- url: string;
595
- /** Max items to return. Default 20, max 200. Billed per result. */
596
- limit?: number;
597
- }
598
- export interface FacebookMarketplaceItemParams {
599
- /** Facebook Marketplace item URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
600
- url: string;
795
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
796
+ cache?: boolean;
601
797
  }
602
798
  export declare class FacebookApi {
603
799
  private readonly core;
604
800
  constructor(core: HttpCore);
605
- /** Facebook Details — Details for a Facebook video or post. (1 credit) */
801
+ /** Facebook Post & Reel Details — Facebook post or Reel — caption, engagement, author id, video{} playback, and music when Facebook exposes them. (2 credits) */
606
802
  details(params: FacebookDetailsParams): Promise<ApiEnvelope>;
607
- /** Facebook Transcript — Transcript of a Facebook video. (2 credits) */
608
- transcript(params: FacebookTranscriptParams): Promise<ApiEnvelope>;
609
- /** Facebook Summarizer — AI summary of a Facebook video or post. (4 credits) */
803
+ /** Facebook Summarizer — Summarizer (4 credits) */
610
804
  summarize(params: FacebookSummarizeParams): Promise<ApiEnvelope>;
611
- /** Facebook Comments — Comments on a Facebook post. (30 credits) */
612
- comments(params: FacebookCommentsParams): Promise<ApiEnvelope>;
613
- /** Facebook Page Details — Info & stats for a Facebook page. (1 credit) */
805
+ /** Facebook Comments — Facebook post comments with reactionCount, reactions.like when mixed, author.id (pfbid), and replyCount. (2 credits) */
806
+ comments(params?: FacebookCommentsParams): Promise<ApiEnvelope>;
807
+ /** Facebook Page Details — Facebook page profile — likes vs followers (distinct), talkingAbout, category, website, and public email. (2 credits) */
614
808
  pageDetails(params: FacebookPageDetailsParams): Promise<ApiEnvelope>;
615
- /** Facebook Profile Posts — Latest posts from a Facebook profile/page. (12 credits) */
809
+ /** Facebook Profile Posts — Latest posts and Reels from a Facebook page — listingHits / timings.phase; 60s deadline, failures 0 credits. (2 credits) */
616
810
  profilePosts(params: FacebookProfilePostsParams): Promise<ApiEnvelope>;
617
- /** Facebook Profile Reels — Latest Reels from a Facebook profile/page. (36 credits) */
811
+ /** Facebook Profile Reels — Latest Facebook page Reels — views, likes, comments, shares; newest-first without archive padding. (2 credits) */
618
812
  profileReels(params: FacebookProfileReelsParams): Promise<ApiEnvelope>;
619
- /** Facebook Group Posts — Posts from a public Facebook group. (12 credits) */
813
+ /** Facebook Group Posts — Newest posts from a public Facebook group — caption, author, engagement, sortBy; 1 credit per post. (~10 credits (1/result)) */
620
814
  groupPosts(params: FacebookGroupPostsParams): Promise<ApiEnvelope>;
621
- /** Facebook Comment Replies — Replies to a specific Facebook comment. (30 credits) */
815
+ /** Facebook Comment Replies — Comment Replies (2 credits) */
622
816
  commentReplies(params: FacebookCommentRepliesParams): Promise<ApiEnvelope>;
623
- /** Facebook Marketplace Search — Search Facebook Marketplace listings by keyword and location. (28 credits) */
624
- marketplaceSearch(params: FacebookMarketplaceSearchParams): Promise<ApiEnvelope>;
625
- /** Facebook Marketplace Location Search — Find Facebook Marketplace location candidates for a city or place query. (17 credits) */
626
- marketplaceLocationSearch(params: FacebookMarketplaceLocationSearchParams): Promise<ApiEnvelope>;
627
- /** Facebook Event Search — Search Facebook events by topic and/or location. (40 credits) */
628
- eventSearch(params: FacebookEventSearchParams): Promise<ApiEnvelope>;
629
- /** Facebook Event Details — Details for a Facebook event (date, location, attendees, tickets). (2 credits) */
630
- eventDetails(params: FacebookEventDetailsParams): Promise<ApiEnvelope>;
631
- /** Facebook Profile Photos — Photos from a Facebook profile or page. (12 credits) */
817
+ /** Facebook Profile Photos — Photo grid from a Facebook Page — full image URL plus accessibilityCaption (alt-text, not a post caption). (2 credits) */
632
818
  profilePhotos(params: FacebookProfilePhotosParams): Promise<ApiEnvelope>;
633
- /** Facebook Profile Events — Events from a Facebook profile or page. (40 credits) */
634
- profileEvents(params: FacebookProfileEventsParams): Promise<ApiEnvelope>;
635
- /** Facebook Marketplace Item — Details for a single Facebook Marketplace listing. (17 credits) */
636
- marketplaceItem(params: FacebookMarketplaceItemParams): Promise<ApiEnvelope>;
637
819
  }
638
820
  export interface TwitterTweetDetailsParams {
639
- /** Public tweet URL, e.g. https://x.com/user/status/ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
821
+ /** Public tweet URL, e.g. https://x.com/user/status/ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
640
822
  url: string;
823
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
824
+ cache?: boolean;
641
825
  }
642
826
  export interface TwitterTranscriptParams {
643
- /** Public tweet URL, e.g. https://x.com/user/status/ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
827
+ /** Public tweet URL, e.g. https://x.com/user/status/ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
644
828
  url: string;
829
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
830
+ cache?: boolean;
645
831
  }
646
832
  export interface TwitterProfileParams {
647
- /** Twitter/X profile URL or @handle, e.g. https://x.com/username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
833
+ /** Twitter/X profile URL or @handle, e.g. https://x.com/username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
648
834
  url: string;
835
+ /** Set true to use the 24-hour profile cache (0 credits on hit). Default false — always fetch fresh. Prefer cacheMaxAge for 1d–30d. */
836
+ cache?: boolean;
837
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. */
838
+ cacheMaxAge?: string;
649
839
  }
650
840
  export interface TwitterUserTweetsParams {
651
- /** Twitter/X profile URL or @handle, e.g. https://x.com/username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
841
+ /** Twitter/X profile URL or @handle. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
652
842
  url: string;
653
- /** Max items to return. Default 20, max 200. Billed per result. */
654
- limit?: number;
655
- }
656
- export interface TwitterSearchParams {
657
- /** Search query or keywords (min 2 chars). */
658
- q: string;
659
- /** Max items to return. Default 20, max 200. Billed per result. */
843
+ /** Max tweets to return (default 20, max 200). Twitter's public surface usually caps around ~100 most popular posts — not chronological latest. Flat 2 credits per call. */
660
844
  limit?: number;
845
+ /** nextCursor from a previous response (an offset into the embed window). Omit for the first page. */
846
+ cursor?: string;
847
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
848
+ cache?: boolean;
661
849
  }
662
850
  export interface TwitterCommunityParams {
663
- /** X community URL (x.com/i/communities/ID) or community ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
851
+ /** X community URL (x.com/i/communities/ID) or community ID — not a tweet/status URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
664
852
  url: string;
853
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
854
+ cache?: boolean;
665
855
  }
666
856
  export interface TwitterCommunityTweetsParams {
667
- /** X community URL (x.com/i/communities/ID) or community ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
857
+ /** X community URL (x.com/i/communities/ID) or community ID — not a tweet/status URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
668
858
  url: string;
669
- /** Max items to return. Default 25, max 200. Billed per result. */
859
+ /** Max items to return (default 25, max 200). Flat 2 credits per call. */
670
860
  limit?: number;
861
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
862
+ cache?: boolean;
671
863
  }
672
864
  export declare class TwitterApi {
673
865
  private readonly core;
674
866
  constructor(core: HttpCore);
675
- /** Twitter/X Tweet Details — Metadata + engagement stats for a tweet. (1 credit) */
867
+ /** Twitter/X Tweet Details — One tweet as JSON — text, author (followers), likes/replies/retweets/quotes, media, ISO publishedAt. (1 credit) */
676
868
  tweetDetails(params: TwitterTweetDetailsParams): Promise<ApiEnvelope>;
677
- /** Twitter/X Transcript — Extract tweet text as transcript text. (7 credits) */
869
+ /** Twitter/X Transcript — Tweet text as a transcript — timingSource none (not speech-to-text). Flat 1 credit. (1 credit) */
678
870
  transcript(params: TwitterTranscriptParams): Promise<ApiEnvelope>;
679
- /** Twitter/X Profile — Profile info & stats for a Twitter/X account. (1 credit) */
871
+ /** Twitter/X Profile — X profile: verified + blue/legacy/identity, displayName, avatar/banner, tipjar→contact{}, expanded website. (1 credit) */
680
872
  profile(params: TwitterProfileParams): Promise<ApiEnvelope>;
681
- /** Twitter/X User Tweets — Recent tweets from a Twitter/X profile. (14 credits) */
873
+ /** Twitter/X User Tweets — Most popular public tweets from a Twitter/X profile (~100 cap) — not chronological. Text, author, engagement, hashtags, media. Flat 2 credits. (2 credits) */
682
874
  userTweets(params: TwitterUserTweetsParams): Promise<ApiEnvelope>;
683
- /** Twitter/X Search — Search tweets by keyword. (14 credits) */
684
- search(params: TwitterSearchParams): Promise<ApiEnvelope>;
685
- /** Twitter/X Community — Details for an X (Twitter) community. (1 credit) */
875
+ /** Twitter/X Community — X Community metadata — ISO createdAt, flat creator handle, isNsfw + bannerImage, rules[]. (1 credit) */
686
876
  community(params: TwitterCommunityParams): Promise<ApiEnvelope>;
687
- /** Twitter/X Community Tweets — Tweets posted in an X community. (18 credits) */
877
+ /** Twitter/X Community Tweets — Posts in an X Community — same 6-metric tweet shape as search. Flat 2 credits. (2 credits) */
688
878
  communityTweets(params: TwitterCommunityTweetsParams): Promise<ApiEnvelope>;
689
879
  }
690
880
  export interface RedditSubredditPostsParams {
691
- /** Subreddit URL, r/name, or bare name, e.g. r/technology. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
881
+ /** Subreddit URL, r/name, or bare name, e.g. r/technology. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
692
882
  url: string;
693
- /** Max items to return. Default 25, max 200. Billed per result. */
883
+ /** Max items to return (default 25, max 200). Flat 2 credits per call. */
694
884
  limit?: number;
885
+ /** Feed sort: best, hot, new (default), top, or rising. */
886
+ sort?: string;
887
+ /** For sort=top: hour, day (default), week, month, year, or all. */
888
+ timeframe?: string;
889
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
890
+ cursor?: string;
891
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
892
+ cache?: boolean;
695
893
  }
696
894
  export interface RedditPostDetailsParams {
697
- /** Reddit post URL, e.g. https://reddit.com/r/sub/comments/ID/... The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
895
+ /** Reddit post URL, e.g. https://reddit.com/r/sub/comments/ID/... The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
698
896
  url: string;
897
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
898
+ cache?: boolean;
699
899
  }
700
900
  export interface RedditPostCommentsParams {
701
- /** Reddit post URL, e.g. https://reddit.com/r/sub/comments/ID/... The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
901
+ /** Reddit post URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
702
902
  url: string;
703
- /** Max items to return. Default 50, max 500. Billed per result. */
903
+ /** Max items to return (default 50, max 500). Flat 2 credits per call. */
704
904
  limit?: number;
905
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
906
+ cursor?: string;
907
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
908
+ cache?: boolean;
705
909
  }
706
910
  export interface RedditPostTranscriptParams {
707
- /** Reddit post URL, e.g. https://reddit.com/r/sub/comments/ID/... The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
911
+ /** Reddit post URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
708
912
  url: string;
709
- /** Max items to return. Default 50, max 200. Billed per result. */
913
+ /** Max items to return (default 50, max 200). Flat 2 credits per call. */
710
914
  limit?: number;
915
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
916
+ cache?: boolean;
711
917
  }
712
918
  export interface RedditSearchParams {
713
- /** Search query or keywords (min 2 chars). */
919
+ /** Keyword or phrase to search Reddit posts site-wide (min 2 characters). */
714
920
  q: string;
715
- /** Max items to return. Default 25, max 200. Billed per result. */
921
+ /** relevance (default) | new | top | hot | comments (alias: comment_count). */
922
+ sort?: string;
923
+ /** For sort=top or comments: hour | day | week | month | year | all (default all). */
924
+ timeframe?: string;
925
+ /** Max items to return (default 25, max 200). Flat 2 credits per call. */
716
926
  limit?: number;
927
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
928
+ cursor?: string;
929
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
930
+ cache?: boolean;
717
931
  }
718
932
  export interface RedditSubredditDetailsParams {
719
- /** Subreddit URL, r/name, or bare name, e.g. r/technology. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
933
+ /** Subreddit URL, r/name, or bare name (case-insensitive), e.g. r/technology or AskReddit. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
720
934
  url: string;
935
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
936
+ cache?: boolean;
721
937
  }
722
938
  export interface RedditSubredditSearchParams {
723
- /** Subreddit URL, r/name, or bare name, e.g. r/technology. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
939
+ /** Subreddit URL, r/name, or bare name, e.g. r/technology. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
724
940
  url: string;
725
- /** Search query or keywords (min 2 chars). */
941
+ /** Keywords or search query (min 2 characters). */
726
942
  q: string;
727
- /** Max items to return. Default 25, max 200. Billed per result. */
943
+ /** relevance (default) | new | top | hot | comments (alias: comment_count). */
944
+ sort?: string;
945
+ /** For sort=top or comments: hour | day | week | month | year | all (default all). */
946
+ timeframe?: string;
947
+ /** Max items to return (default 25, max 200). Flat 2 credits per call. */
728
948
  limit?: number;
949
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
950
+ cursor?: string;
951
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
952
+ cache?: boolean;
729
953
  }
730
954
  export declare class RedditApi {
731
955
  private readonly core;
732
956
  constructor(core: HttpCore);
733
- /** Reddit Subreddit Posts — Recent posts in a subreddit. (10 credits) */
957
+ /** Reddit Subreddit Posts — List posts from a subreddit with sort, timeframe, and cursor pagination — title, score, upvote ratio, flair, and more. (2 credits) */
734
958
  subredditPosts(params: RedditSubredditPostsParams): Promise<ApiEnvelope>;
735
- /** Reddit Post Details — Metadata + stats for a Reddit post. (1 credit) */
959
+ /** Reddit Post Details — Get a Reddit post — title, body, score, comments count, subreddit, and author as structured JSON. (1 credit) */
736
960
  postDetails(params: RedditPostDetailsParams): Promise<ApiEnvelope>;
737
- /** Reddit Post Comments — Comments on a Reddit post. (20 credits) */
961
+ /** Reddit Post Comments — Flat Reddit comment threads with depth/parentId and the parent post in one call. (2 credits) */
738
962
  postComments(params: RedditPostCommentsParams): Promise<ApiEnvelope>;
739
- /** Reddit Post Transcript — Extract Reddit post text and top comments as a discussion transcript. (20 credits) */
963
+ /** Reddit Post Transcript — Written post text — title, body and top comments. Not a speech transcript. Flat 2 credits. (2 credits) */
740
964
  postTranscript(params: RedditPostTranscriptParams): Promise<ApiEnvelope>;
741
- /** Reddit Search — Search Reddit posts by keyword. (10 credits) */
965
+ /** Reddit Search — Reddit site-wide post search — sort + timeframe + cursor, score/upvoteRatio, authorFullname. Flat 2 credits. (2 credits) */
742
966
  search(params: RedditSearchParams): Promise<ApiEnvelope>;
743
- /** Reddit Subreddit Details — Info & member stats for a subreddit. (1 credit) */
967
+ /** Reddit Subreddit Details — Subreddit card — id (t5_…), weekly visitors and contributions, rules[], ISO createdAt. Flat 1 credit. (1 credit) */
744
968
  subredditDetails(params: RedditSubredditDetailsParams): Promise<ApiEnvelope>;
745
- /** Reddit Subreddit Search — Search posts within a specific subreddit. (10 credits) */
969
+ /** Reddit Subreddit Post Search — Search posts inside one subreddit — not subreddit discovery. Same sort/timeframe as site-wide Search. Flat 2 credits. (2 credits) */
746
970
  subredditSearch(params: RedditSubredditSearchParams): Promise<ApiEnvelope>;
747
971
  }
748
972
  export interface ThreadsProfileParams {
749
- /** Threads profile URL or @handle, e.g. https://threads.net/@username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
973
+ /** Threads profile URL or @handle, e.g. https://threads.net/@username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
750
974
  url: string;
975
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
976
+ cache?: boolean;
751
977
  }
752
978
  export interface ThreadsUserPostsParams {
753
- /** Threads profile URL or @handle, e.g. https://threads.net/@username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
979
+ /** Threads profile URL or @handle. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
754
980
  url: string;
755
- /** Max items to return. Default 20, max 100. Billed per result. */
981
+ /** Max items to return (default 20, max 100). Threads exposes only a short window of recent public posts on this surface. limit caps what you receive; it cannot increase what Threads returns. Flat 2 credits on every successful call. */
756
982
  limit?: number;
983
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
984
+ cache?: boolean;
757
985
  }
758
986
  export interface ThreadsPostDetailsParams {
759
- /** Threads post URL, e.g. https://threads.net/@user/post/CODE. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
987
+ /** Threads post URL, e.g. https://threads.net/@user/post/CODE. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
760
988
  url: string;
989
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
990
+ cache?: boolean;
761
991
  }
762
992
  export interface ThreadsSearchParams {
763
- /** Search query or keywords (min 2 chars). */
993
+ /** Keyword or phrase to search public Threads posts (min 2 characters). */
764
994
  q: string;
765
- /** Max items to return. Default 25, max 200. Billed per result. */
995
+ /** Max items to return (default 25, max 200). Flat 2 credits per call. */
766
996
  limit?: number;
997
+ /** Sort the fetched page: relevant (default, Meta Top / similar to query), post_dated (newest publishedAt first), or engagement (likes+replies+reposts+quotes+views). Unknown values are 400. */
998
+ orderBy?: string;
999
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1000
+ cache?: boolean;
767
1001
  }
768
1002
  export interface ThreadsSearchUsersParams {
769
- /** Search query or keywords (min 2 chars). */
1003
+ /** Keyword to find Threads users / creators (min 2 characters). */
770
1004
  q: string;
771
- /** Max items to return. Default 20, max 100. Billed per result. */
1005
+ /** Max items to return (default 20, max 100). Flat 1 credit per call. */
772
1006
  limit?: number;
1007
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1008
+ cache?: boolean;
773
1009
  }
774
1010
  export declare class ThreadsApi {
775
1011
  private readonly core;
776
1012
  constructor(core: HttpCore);
777
- /** Threads Profile — Profile info & stats for a Threads account. (1 credit) */
1013
+ /** Threads Profile — Threads profile — displayName, isPrivate, bioLinks (Meta verified), isThreadsOnlyUser, transparencyLabel, bioFragments, HD avatars (1 credit). (1 credit) */
778
1014
  profile(params: ThreadsProfileParams): Promise<ApiEnvelope>;
779
- /** Threads User Posts — Recent posts from a Threads profile. (14 credits) */
1015
+ /** Threads User Posts — Recent Threads posts — engagement{views,likes,replies,reposts,quotes}, threadId/isReply. Flat 2 credits. source + timings. (2 credits) */
780
1016
  userPosts(params: ThreadsUserPostsParams): Promise<ApiEnvelope>;
781
- /** Threads Post Details — Metadata + engagement for a Threads post. (1 credit) */
1017
+ /** Threads Post Details — Threads post — engagement (views when exposed), comments[], suggestedPosts[], threadId/isReply. Flat 1 credit. (1 credit) */
782
1018
  postDetails(params: ThreadsPostDetailsParams): Promise<ApiEnvelope>;
783
- /** Threads Search — Search Threads posts by keyword. (18 credits) */
1019
+ /** Threads Post Search — Threads keyword search — posts with engagement + media. orderBy relevant | post_dated | engagement. Flat 2 credits. (2 credits) */
784
1020
  search(params: ThreadsSearchParams): Promise<ApiEnvelope>;
785
- /** Threads Search Users — Find Threads users matching a keyword. (14 credits) */
1021
+ /** Threads Search Users — Threads user discovery from keyword search — id, handle, avatar, verified. Flat 1 credit. (1 credit) */
786
1022
  searchUsers(params: ThreadsSearchUsersParams): Promise<ApiEnvelope>;
787
1023
  }
788
1024
  export interface BlueskyProfileParams {
789
- /** Bluesky profile URL, @handle, or handle, e.g. bsky.app/profile/handle. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1025
+ /** Bluesky profile URL, @handle, or handle, e.g. bsky.app/profile/handle. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
790
1026
  url: string;
1027
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. */
1028
+ cache?: boolean;
1029
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. */
1030
+ cacheMaxAge?: string;
791
1031
  }
792
1032
  export interface BlueskyUserPostsParams {
793
- /** Bluesky profile URL, @handle, or handle, e.g. bsky.app/profile/handle. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1033
+ /** Bluesky profile URL, @handle, or handle, e.g. https://bsky.app/profile/handle.bsky.social. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
794
1034
  url: string;
795
- /** Max items to return. Default 25, max 100. Billed per result. */
1035
+ /** Max items to return (default 10, max 100). Billed per result. */
796
1036
  limit?: number;
1037
+ /** Opaque pagination cursor from the previous nextCursor. Leave empty for the first page. Do not invent a cursor from publishedAt — the feed is ordered by feed time (reposts sort by repost time). */
1038
+ cursor?: string;
1039
+ /** Bluesky getAuthorFeed filter: posts_with_replies (default), posts_no_replies, posts_with_media, posts_and_author_threads, or posts_with_video. Controls replies/media/threads — not reposts. Use includeReposts=false to drop reposts. */
1040
+ filter?: string;
1041
+ /** When false, omit repost rows (reasonRepost). Default true — reposts are included and marked with isRepost / repostedBy / repostedAt. */
1042
+ includeReposts?: boolean;
1043
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1044
+ cache?: boolean;
797
1045
  }
798
1046
  export interface BlueskyPostDetailsParams {
799
- /** Bluesky post URL, e.g. https://bsky.app/profile/handle/post/RKEY. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1047
+ /** Bluesky post URL, e.g. https://bsky.app/profile/handle/post/RKEY. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
800
1048
  url: string;
1049
+ /** Reply nesting levels under the post (0 = post only with no replies[], default 1, max 6). Maps to Bluesky getPostThread depth. */
1050
+ depth?: number;
1051
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1052
+ cache?: boolean;
801
1053
  }
802
1054
  export declare class BlueskyApi {
803
1055
  private readonly core;
804
1056
  constructor(core: HttpCore);
805
- /** Bluesky Profile — Profile info & stats for a Bluesky account. (1 credit) */
1057
+ /** Bluesky Profile — Bluesky profile — handle, did, bio, counts, banner, verification{}, labels[], and associated{} (1 credit). (1 credit) */
806
1058
  profile(params: BlueskyProfileParams): Promise<ApiEnvelope>;
807
- /** Bluesky User Posts — Recent posts from a Bluesky profile. (3 credits) */
1059
+ /** Bluesky User Posts — Author feed — posts and reposts (isRepost marked), quote/external/images embeds, opaque cursor. (~1 credits (0.1/result)) */
808
1060
  userPosts(params: BlueskyUserPostsParams): Promise<ApiEnvelope>;
809
- /** Bluesky Post Details — Metadata + engagement for a Bluesky post. (1 credit) */
1061
+ /** Bluesky Post Details — Post thread via getPostThread — nested replies[], facet links/mentions/hashtags, rich author (1 credit). (1 credit) */
810
1062
  postDetails(params: BlueskyPostDetailsParams): Promise<ApiEnvelope>;
811
1063
  }
812
1064
  export interface PinterestPinDetailsParams {
813
- /** Pinterest pin URL, e.g. https://pinterest.com/pin/ID/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1065
+ /** Pinterest pin URL, e.g. https://pinterest.com/pin/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
814
1066
  url: string;
1067
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1068
+ cache?: boolean;
815
1069
  }
816
1070
  export interface PinterestUserPinsParams {
817
- /** Pinterest profile URL or username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1071
+ /** Pinterest profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
818
1072
  url: string;
819
- /** Max items to return. Default 25, max 200. Billed per result. */
1073
+ /** Max items to return (default 10, max 200). Billed per result. */
820
1074
  limit?: number;
1075
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window (pidgets ~100). */
1076
+ cursor?: string;
1077
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1078
+ cache?: boolean;
821
1079
  }
822
1080
  export interface PinterestSearchParams {
823
- /** Search query or keywords (min 2 chars). */
1081
+ /** Keywords or search query (min 2 characters). */
824
1082
  q: string;
825
- /** Max items to return. Default 25, max 200. Billed per result. */
1083
+ /** Max items to return (default 25, max 200). Flat 2 credits per call. */
826
1084
  limit?: number;
1085
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the search window (max 40). */
1086
+ cursor?: string;
1087
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1088
+ cache?: boolean;
827
1089
  }
828
1090
  export interface PinterestBoardParams {
829
- /** Pinterest board URL, e.g. https://pinterest.com/username/board-name/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1091
+ /** Pinterest board URL (.../username/board-name/), not a /pin/ URL. Example: https://www.pinterest.com/potterybarn/rustic-lodge-lookbook/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
830
1092
  url: string;
831
- /** Max items to return. Default 25, max 200. Billed per result. */
1093
+ /** Max items to return (default 10, max 200). Billed per result. */
832
1094
  limit?: number;
1095
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window (pidgets ~100). */
1096
+ cursor?: string;
1097
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1098
+ cache?: boolean;
833
1099
  }
834
1100
  export interface PinterestUserBoardsParams {
835
- /** Pinterest profile URL or username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1101
+ /** Pinterest profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
836
1102
  url: string;
837
- /** Max items to return. Default 25, max 200. Billed per result. */
1103
+ /** Max items to return (default 10, max 200). Billed per result. */
838
1104
  limit?: number;
1105
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window (max 200). */
1106
+ cursor?: string;
1107
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1108
+ cache?: boolean;
839
1109
  }
840
1110
  export declare class PinterestApi {
841
1111
  private readonly core;
842
1112
  constructor(core: HttpCore);
843
- /** Pinterest Pin Details — Metadata + saves for a Pinterest pin. (1 credit) */
1113
+ /** Pinterest Pin Details — Get a Pinterest pin — title, description, link, board, origin creator, and engagement as structured JSON. (1 credit) */
844
1114
  pinDetails(params: PinterestPinDetailsParams): Promise<ApiEnvelope>;
845
- /** Pinterest User Pins — Pins from a Pinterest profile. (13 credits) */
1115
+ /** Pinterest User Pins — Pins from a Pinterest profile — offset cursor, pidgets window ~100. (~5 credits (0.5/result)) */
846
1116
  userPins(params: PinterestUserPinsParams): Promise<ApiEnvelope>;
847
- /** Pinterest Search — Search Pinterest pins by keyword. (13 credits) */
1117
+ /** Pinterest Search — Keyword pin search — offset cursor, search window 40, flat 2 credits. (2 credits) */
848
1118
  search(params: PinterestSearchParams): Promise<ApiEnvelope>;
849
- /** Pinterest Board — List pins inside a Pinterest board. (13 credits) */
1119
+ /** Pinterest Board — Pins on a Pinterest board — saves, imageOriginal, destinationUrl, top-level author. ~0.5 credits/pin. (~5 credits (0.5/result)) */
850
1120
  board(params: PinterestBoardParams): Promise<ApiEnvelope>;
851
- /** Pinterest User Boards — List the boards on a Pinterest profile. (13 credits) */
1121
+ /** Pinterest User Boards — Boards on a Pinterest profile — pinCount, coverImage (474x), privacy, sections. Board followers when scoped. (~5 credits (0.5/result)) */
852
1122
  userBoards(params: PinterestUserBoardsParams): Promise<ApiEnvelope>;
853
1123
  }
854
1124
  export interface LinkedinProfileParams {
855
- /** LinkedIn profile URL, e.g. https://linkedin.com/in/slug. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1125
+ /** LinkedIn profile URL, e.g. https://www.linkedin.com/in/paul-martin-a5aa98. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
856
1126
  url: string;
1127
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1128
+ cache?: boolean;
857
1129
  }
858
1130
  export interface LinkedinCompanyParams {
859
- /** LinkedIn company URL, e.g. https://linkedin.com/company/slug. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1131
+ /** LinkedIn company URL, e.g. https://www.linkedin.com/company/shopify. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
860
1132
  url: string;
1133
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1134
+ cache?: boolean;
861
1135
  }
862
1136
  export interface LinkedinPostDetailsParams {
863
- /** LinkedIn post or activity URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1137
+ /** LinkedIn post or activity URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
864
1138
  url: string;
1139
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1140
+ cache?: boolean;
865
1141
  }
866
1142
  export interface LinkedinPostTranscriptParams {
867
- /** LinkedIn post or activity URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1143
+ /** LinkedIn post or activity URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
868
1144
  url: string;
1145
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1146
+ cache?: boolean;
869
1147
  }
870
1148
  export interface LinkedinCompanyPostsParams {
871
- /** LinkedIn company URL, e.g. https://linkedin.com/company/slug. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1149
+ /** LinkedIn company URL, e.g. https://linkedin.com/company/slug. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
872
1150
  url: string;
873
- /** Max items to return. Default 20, max 100. Billed per result. */
1151
+ /** Max items to return (default 20, max 100). Only the ~10 posts the public page shows are available. Flat 1 credit. */
874
1152
  limit?: number;
1153
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 5). A null nextCursor means the end of the list. Only the recent posts LinkedIn shows logged-out visitors (about 10) are available. */
1154
+ cursor?: string;
1155
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1156
+ cache?: boolean;
875
1157
  }
876
1158
  export interface LinkedinSearchPostsParams {
877
- /** Search query or keywords (min 2 chars). */
1159
+ /** Search query or keywords (min 2 characters). */
878
1160
  q: string;
879
- /** relevance or date. Default relevance. */
1161
+ /** relevance (default, search-engine rank — dates can span years) or date (found posts newest first). */
880
1162
  sort?: string;
881
- /** Max items to return. Default 20, max 50. Billed per result. */
1163
+ /** Max items to return (default 10, max 50). Billed per result. */
882
1164
  limit?: number;
1165
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 10). A null nextCursor means the end of the list (max 50 posts). */
1166
+ cursor?: string;
1167
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1168
+ cache?: boolean;
883
1169
  }
884
1170
  export declare class LinkedinApi {
885
1171
  private readonly core;
886
1172
  constructor(core: HttpCore);
887
- /** LinkedIn Profile — Public LinkedIn person profile details. (2 credits) */
1173
+ /** LinkedIn Profile — Public LinkedIn person profile — what a logged-out visitor sees: name, headline, location, about. Flat 1 credit. (1 credit) */
888
1174
  profile(params: LinkedinProfileParams): Promise<ApiEnvelope>;
889
- /** LinkedIn Company — Public LinkedIn company page details. (2 credits) */
1175
+ /** LinkedIn Company — Company page for B2B intel — specialties, similarPages, employeeCount, founded, slogan, cover. Flat 2 credits. (2 credits) */
890
1176
  company(params: LinkedinCompanyParams): Promise<ApiEnvelope>;
891
- /** LinkedIn Post Details — Metadata + engagement for a LinkedIn post. (1 credit) */
1177
+ /** LinkedIn Post Details — Get a LinkedIn post — text, author, reactions, and comments count as structured JSON. When LinkedIn hides the post behind its sign-in prompt the call fails with 502 at 0 credits. (1 credit) */
892
1178
  postDetails(params: LinkedinPostDetailsParams): Promise<ApiEnvelope>;
893
- /** LinkedIn Post Transcript — Extract post text as a transcript for a LinkedIn post. (7 credits) */
1179
+ /** LinkedIn Post Transcript — LinkedIn post text as a transcript — paragraph segments, timingSource none. Flat 1 credit. (1 credit) */
894
1180
  postTranscript(params: LinkedinPostTranscriptParams): Promise<ApiEnvelope>;
895
- /** LinkedIn Company Posts — Recent public posts from a LinkedIn company page. (16 credits) */
1181
+ /** LinkedIn Company Posts — The recent posts a company page shows logged-out visitors (about 10), with engagement{likes,comments}. Flat 1 credit. (1 credit) */
896
1182
  companyPosts(params: LinkedinCompanyPostsParams): Promise<ApiEnvelope>;
897
- /** LinkedIn Search Posts — Search public LinkedIn posts by keyword. (16 credits) */
1183
+ /** LinkedIn Search Posts — Keyword search of public LinkedIn posts — offset cursor, ceiling 50. (~8 credits (0.8/result)) */
898
1184
  searchPosts(params: LinkedinSearchPostsParams): Promise<ApiEnvelope>;
899
1185
  }
900
1186
  export interface RumbleVideoDetailsParams {
901
- /** Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1187
+ /** Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1188
+ url: string;
1189
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1190
+ cache?: boolean;
1191
+ }
1192
+ export interface RumbleVideoTranscriptParams {
1193
+ /** Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
902
1194
  url: string;
1195
+ /** Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. */
1196
+ language?: string;
1197
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1198
+ cache?: boolean;
903
1199
  }
904
1200
  export interface RumbleChannelVideosParams {
905
- /** Rumble channel URL, e.g. https://rumble.com/c/name. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1201
+ /** Rumble channel or user URL, e.g. https://rumble.com/c/name or https://rumble.com/user/name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
906
1202
  url: string;
907
- /** Max items to return. Default 20, max 200. Billed per result. */
1203
+ /** Max items to return (default 10, max 200). Billed per result. */
908
1204
  limit?: number;
1205
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1206
+ cache?: boolean;
909
1207
  }
910
1208
  export interface RumbleSearchParams {
911
- /** Search query or keywords (min 2 chars). */
1209
+ /** Keywords or search query (min 2 characters). */
912
1210
  q: string;
913
- /** Max items to return. Default 20, max 200. Billed per result. */
1211
+ /** Max items to return (default 10, max 200). Billed per result. */
914
1212
  limit?: number;
1213
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1214
+ cache?: boolean;
915
1215
  }
916
1216
  export interface RumbleCommentsParams {
917
- /** Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1217
+ /** Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
918
1218
  url: string;
919
- /** Max items to return. Default 50, max 500. Billed per result. */
1219
+ /** Max items to return (default 50, max 500). Flat 2 credits per call. */
920
1220
  limit?: number;
1221
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1222
+ cache?: boolean;
921
1223
  }
922
1224
  export declare class RumbleApi {
923
1225
  private readonly core;
924
1226
  constructor(core: HttpCore);
925
- /** Rumble Video Details — Metadata + stats for a Rumble video. (1 credit) */
1227
+ /** Rumble Video Details — Rumble video metadata — uniform streams[] with rendition meta, captions[], audioStreams. (1 credit) */
926
1228
  videoDetails(params: RumbleVideoDetailsParams): Promise<ApiEnvelope>;
927
- /** Rumble Channel Videos — List videos from a Rumble channel. (12 credits) */
1229
+ /** Rumble Video Transcript — Rumble published captions as timed segments — parses the .vtt from video-details (not speech-to-text). (1 credit) */
1230
+ videoTranscript(params: RumbleVideoTranscriptParams): Promise<ApiEnvelope>;
1231
+ /** Rumble Channel Videos — Rumble channel uploads — lean streams[{url,type}]; call video-details for rendition meta. (~6 credits (0.6/result)) */
928
1232
  channelVideos(params: RumbleChannelVideosParams): Promise<ApiEnvelope>;
929
- /** Rumble Search — Search Rumble videos by keyword. (12 credits) */
1233
+ /** Rumble Search — Rumble keyword search — same video card shape as channel-videos (type, durationSeconds + durationText, UTC publishedAt). (~6 credits (0.6/result)) */
930
1234
  search(params: RumbleSearchParams): Promise<ApiEnvelope>;
931
- /** Rumble Comments — Comments on a Rumble video. (30 credits) */
1235
+ /** Rumble Comments — Rumble top-level comments — publishedAt ISO-8601 UTC from title= on the comment time link. (2 credits) */
932
1236
  comments(params: RumbleCommentsParams): Promise<ApiEnvelope>;
933
1237
  }
934
1238
  export interface TiktokShopSearchParams {
935
- /** Product search query. */
1239
+ /** Product search query (min 2 characters), e.g. phone case. */
936
1240
  q: string;
937
- /** Two-letter TikTok Shop region. Default US. */
1241
+ /** Two-letter market region for the search (default US). Echoed on the response as data.region — not a creator home country. Native search is a SERP window (not TikTok's full catalog); compare requested to serpHits / windowMax. */
938
1242
  region?: string;
939
- /** Max items to return. Default 20, max 200. Billed per result. */
1243
+ /** Max items to return (default 10, max 10). Flat 2 credits per call. */
940
1244
  limit?: number;
1245
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1246
+ cache?: boolean;
941
1247
  }
942
1248
  export interface TiktokShopProductsParams {
943
- /** TikTok Shop store URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1249
+ /** TikTok Shop store URL with numeric shop id, e.g. https://www.tiktok.com/shop/store/goli-nutrition/7495794203056835079. A slug-only /shop/store/{name} URL is a definitive 400 — TikTok's catalog SSR is keyed by shop id. Get the full URL from /v1/tiktok-shop/user-showcase or a product's seller.url. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
944
1250
  url: string;
945
- /** Max items to return. Default 20, max 200. Billed per result. */
1251
+ /** Two-letter market region (default US). Non-US coverage depends on TikTok exposing that shop in the selected region — empty results outside the US are often a platform limit, not a Captapi bug. */
1252
+ region?: string;
1253
+ /** Max items to return (default 20, max 200). 2 credits when served natively (limit ≤ 30); above 30, or when the native page misses, the fallback path bills 2.8 credits per product returned, rounded up, minimum 2. */
946
1254
  limit?: number;
1255
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1256
+ cache?: boolean;
947
1257
  }
948
1258
  export interface TiktokShopProductDetailsParams {
949
- /** TikTok Shop product URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1259
+ /** TikTok Shop product URL, e.g. https://shop.tiktok.com/view/product/1731410956394792439?region=BR or https://www.tiktok.com/shop/pdp/1731098552908944370. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
950
1260
  url: string;
1261
+ /** Two-letter market region (default US). A region= or oec_region= query on the product URL wins over this default so a BR share URL is not fetched as US. Echoed as data.region. */
1262
+ region?: string;
1263
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1264
+ cache?: boolean;
951
1265
  }
952
1266
  export interface TiktokShopProductReviewsParams {
953
- /** TikTok Shop product URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1267
+ /** TikTok Shop product URL, e.g. https://www.tiktok.com/shop/pdp/1731962298839634826. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
954
1268
  url: string;
955
- /** Max items to return. Default 20, max 200. Billed per result. */
1269
+ /** Max items to return (default 20, max 200). Billed per result. */
956
1270
  limit?: number;
1271
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1272
+ cache?: boolean;
957
1273
  }
958
1274
  export interface TiktokShopUserShowcaseParams {
959
- /** TikTok username with or without @. */
1275
+ /** TikTok username, @handle, or profile URL, e.g. jeffreestar or https://www.tiktok.com/@jeffreestar. */
960
1276
  username: string;
961
- /** Max items to return. Default 20, max 200. Billed per result. */
1277
+ /** Max items to return (default 10, max 200). Billed per result. */
962
1278
  limit?: number;
1279
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1280
+ cache?: boolean;
963
1281
  }
964
1282
  export declare class TiktokShopApi {
965
1283
  private readonly core;
966
1284
  constructor(core: HttpCore);
967
- /** TikTok Shop Search — Search TikTok Shop products by keyword. (56 credits) */
1285
+ /** TikTok Shop Search — TikTok Shop keyword search — priced products with rating/reviews, typed discount, seller id. (2 credits) */
968
1286
  search(params: TiktokShopSearchParams): Promise<ApiEnvelope>;
969
- /** TikTok Shop Products — List products from a TikTok Shop store. (56 credits) */
1287
+ /** TikTok Shop Products — Store catalog with shopInfo (sold/followers/rating) + products priced with sold, rating, typed discount. (2 credits (fallback: 2.8/product, min 2)) */
970
1288
  products(params: TiktokShopProductsParams): Promise<ApiEnvelope>;
971
- /** TikTok Shop Product Details — Full TikTok Shop product details, seller and price metadata. (14 credits) */
1289
+ /** TikTok Shop Product Details — PDP — price (sku_min when guest min is *), sold vs stock, seller id/url, images[]. Unresolved URL is 404 at 0 credits. (2 credits) */
972
1290
  productDetails(params: TiktokShopProductDetailsParams): Promise<ApiEnvelope>;
973
- /** TikTok Shop Product Reviews — Customer reviews for a TikTok Shop product. (45 credits) */
1291
+ /** TikTok Shop Product Reviews — TikTok Shop product reviews — star rating, text, SKU variant, verified purchase, country, and review photos. (~45 credits (2.25/result)) */
974
1292
  productReviews(params: TiktokShopProductReviewsParams): Promise<ApiEnvelope>;
975
- /** TikTok Shop User Showcase — Products promoted in a TikTok creator showcase. (45 credits) */
1293
+ /** TikTok Shop User Showcase — Creator Shop showcase — affiliate shelf products with per-product sold, rating, typed discount, and seller name/url. (~23 credits (2.25/result)) */
976
1294
  userShowcase(params: TiktokShopUserShowcaseParams): Promise<ApiEnvelope>;
977
1295
  }
1296
+ export interface FacebookMarketplaceSearchParams {
1297
+ /** Product or keyword to search Facebook Marketplace for. */
1298
+ q: string;
1299
+ /** Search-origin city or place name, e.g. 'Austin, TX'. Required — there is no default city. Echoed on the envelope and inside filters. Not listings[].location. Names that don't resolve to a real place are a definitive 400 UNKNOWN_LOCATION (Facebook would otherwise silently search an unrelated metro) — /v1/facebook/marketplace-location-search finds valid ones. */
1300
+ searchLocation: string;
1301
+ /** Alias of searchLocation. Prefer searchLocation. Either one is required. */
1302
+ location?: string;
1303
+ /** How many listings to return (1–200). Flat 2 credits when details=false; details=true billed as 2 + 2 per listing. */
1304
+ limit?: number;
1305
+ /** Minimum price in local currency units. */
1306
+ minPrice?: number;
1307
+ /** Maximum price in local currency units. */
1308
+ maxPrice?: number;
1309
+ /** suggested | distance | creation_time | price_ascend | price_descend. */
1310
+ sortBy?: string;
1311
+ /** Facebook calendar-day recency: 1 = since the start of yesterday (not a rolling 24 hours), 7, or 30. */
1312
+ daysSinceListed?: string;
1313
+ /** new, like_new, good, fair (comma-separated ok). */
1314
+ condition?: string;
1315
+ /** local_pickup | shipping | all. Shipped listings can appear nationwide outside radiusMiles — use local_pickup for nearby-only; rows expose isLocal / shipsOutsideRadius. */
1316
+ deliveryMethod?: string;
1317
+ /** available | sold | all. */
1318
+ availability?: string;
1319
+ /** Radius in miles: 1,2,5,10,20,40,60,80,100,250,500. Does not exclude nationwide shipped inventory. */
1320
+ radiusMiles?: number;
1321
+ /** Top-level category slug, e.g. electronics. */
1322
+ category?: string;
1323
+ /** Opaque pagination cursor from a previous nextCursor. A cursor this endpoint did not issue is 400 INVALID_CURSOR. */
1324
+ cursor?: string;
1325
+ /** When true, adds description/condition/coordinates/full photo gallery/seller/distanceMiles — billed as 2 + 2 credits per enriched listing (listings the 90s deadline did not reach ship as search cards with truncatedReason=enrich_deadline and are not billed the extra 2). Default false → flat 2 credits; cover photo is still in image. */
1326
+ details?: boolean;
1327
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1328
+ cache?: boolean;
1329
+ }
1330
+ export interface FacebookMarketplaceLocationSearchParams {
1331
+ /** City/place query. Bare names like 'Austin' may return multiple candidates (TX/MN/IN); include a state for a single hit (e.g. 'Austin, TX'). */
1332
+ q: string;
1333
+ /** Max items to return (default 10, max 50). Flat 2 credits per call. */
1334
+ limit?: number;
1335
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1336
+ cache?: boolean;
1337
+ }
1338
+ export interface FacebookMarketplaceItemParams {
1339
+ /** Facebook Marketplace item URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1340
+ url: string;
1341
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1342
+ cache?: boolean;
1343
+ }
1344
+ export declare class FacebookMarketplaceApi {
1345
+ private readonly core;
1346
+ constructor(core: HttpCore);
1347
+ /** Facebook Marketplace Search — Search Marketplace by keyword + city — filters, isLocal/shipsOutsideRadius, opaque cursor (2 credits). (2 credits) */
1348
+ search(params: FacebookMarketplaceSearchParams): Promise<ApiEnvelope>;
1349
+ /** Facebook Marketplace Location Search — Disambiguate city names into Marketplace hubs — id + lat/lng. Flat 2 credits. (2 credits) */
1350
+ locationSearch(params: FacebookMarketplaceLocationSearchParams): Promise<ApiEnvelope>;
1351
+ /** Facebook Marketplace Item — Marketplace listing — title, priceAmount, status, seller{}, condition, coords (2 credits). (2 credits) */
1352
+ item(params: FacebookMarketplaceItemParams): Promise<ApiEnvelope>;
1353
+ }
1354
+ export interface FacebookEventSearchParams {
1355
+ /** Topic keyword, e.g. 'comedy'. Pair with location for city-scoped results. */
1356
+ q: string;
1357
+ /** City/place geo filter (e.g. London). Matches timezone, location.city, or coords near the city — not a title substring. */
1358
+ location?: string;
1359
+ /** Inclusive local start date filter YYYY-MM-DD. Use for upcoming-only windows — Facebook/SERP may return past events. */
1360
+ from?: string;
1361
+ /** Inclusive local start date filter YYYY-MM-DD. */
1362
+ to?: string;
1363
+ /** When true and from is omitted, sets from to today's UTC date so past events are dropped. */
1364
+ upcoming?: boolean;
1365
+ /** Max items to return (default 20, max 200). Flat 2 credits per call. Response `source` is native or extended (fetch path — not a price change). */
1366
+ limit?: number;
1367
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1368
+ cache?: boolean;
1369
+ }
1370
+ export interface FacebookEventDetailsParams {
1371
+ /** Facebook event URL, e.g. https://facebook.com/events/ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1372
+ url: string;
1373
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1374
+ cache?: boolean;
1375
+ }
1376
+ export interface FacebookProfileEventsParams {
1377
+ /** Facebook profile/page URL, @handle, or page name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1378
+ url: string;
1379
+ /** Max items to return (default 20, max 200). Flat 2 credits per call. Response `source` is native or extended (fetch path — not a price change). */
1380
+ limit?: number;
1381
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1382
+ cache?: boolean;
1383
+ }
1384
+ export declare class FacebookEventsApi {
1385
+ private readonly core;
1386
+ constructor(core: HttpCore);
1387
+ /** Facebook Event Search — Search Facebook events by topic and city — local startDate/timezone, venue. 2 credits. (2 credits) */
1388
+ facebookEventSearch(params: FacebookEventSearchParams): Promise<ApiEnvelope>;
1389
+ /** Facebook Event Details — Get a Facebook event — title, local start/end, timezone, place, host id, and attendance when exposed. (2 credits) */
1390
+ facebookEventDetails(params: FacebookEventDetailsParams): Promise<ApiEnvelope>;
1391
+ /** Facebook Profile Events — List a Facebook Page's events — local startDate, timezone, venue. 2 credits. (2 credits) */
1392
+ facebookProfileEvents(params: FacebookProfileEventsParams): Promise<ApiEnvelope>;
1393
+ }
1394
+ export interface FacebookAdLibrarySearchParams {
1395
+ /** Keyword, brand, or advertiser to search Meta Ad Library (min 2 characters). */
1396
+ q: string;
1397
+ /** Two-letter ISO country code (e.g. US, GB, DE), or ALL for every country (Meta's own value). Default US. For inactive ads prefer ALL: a single-country search can list far fewer inactive ads than ALL. Other non-ISO codes are a definitive 400 INVALID_COUNTRY — Meta would otherwise ignore the code and search globally while echoing it back as if the filter worked. */
1398
+ country?: string;
1399
+ /** Max items to return (default 20, max 200). Flat 2 credits per call. */
1400
+ limit?: number;
1401
+ /** Ad delivery status: ACTIVE (default), INACTIVE, or ALL. Use ACTIVE for "what are they running now?". */
1402
+ status?: string;
1403
+ /** Creative filter: ALL (default), IMAGE, VIDEO, MEME, IMAGE_AND_MEME, or NONE. */
1404
+ media_type?: string;
1405
+ /** Comma-separated publisher platforms to keep: FACEBOOK, INSTAGRAM, MESSENGER, AUDIENCE_NETWORK, THREADS. */
1406
+ platforms?: string;
1407
+ /** all (default) or political_and_issue_ads. Spend/impressions are typically only filled for political/issue ads. */
1408
+ ad_type?: string;
1409
+ /** keyword_unordered (default) or keyword_exact_phrase. */
1410
+ search_type?: string;
1411
+ /** Meta sort mode: total_impressions or relevancy_monthly_grouped. */
1412
+ sort_by?: string;
1413
+ /** Only ads shown (delivered) on or after this date (YYYY-MM-DD). Delivery-date window, not a start-date filter: an ad that started earlier but was still running in the range is included. */
1414
+ start_date?: string;
1415
+ /** Only ads shown (delivered) on or before this date (YYYY-MM-DD). */
1416
+ end_date?: string;
1417
+ /** Pagination cursor from a previous nextCursor. Pages through the current Meta HTML result batch. */
1418
+ cursor?: string;
1419
+ /** When true, omit cards/images/videos typed arrays (media[] stays). Captapi payloads are already lean vs Meta nested snapshots. */
1420
+ trim?: boolean;
1421
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1422
+ cache?: boolean;
1423
+ }
1424
+ export interface FacebookAdLibraryCompanyAdsParams {
1425
+ /** pageId from /search-companies (preferred), libraryUrl, vanity page URL (facebook.com/nike/), or Ad Library URL with view_all_page_id. Do not pass profileId from facebook.com/{digits}/ when it differs from pageId. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1426
+ url: string;
1427
+ /** Two-letter ISO country code, or ALL for every country (Meta's own value). Default US. For inactive ads prefer ALL: a single-country search can list far fewer inactive ads than ALL. Other non-ISO codes are a definitive 400 INVALID_COUNTRY. */
1428
+ country?: string;
1429
+ /** Max items to return (default 20, max 200). Flat 2 credits per call on the native path; the extended fallback bills per returned ad. */
1430
+ limit?: number;
1431
+ /** Ad delivery status: ACTIVE (default), INACTIVE, or ALL. Use ACTIVE for "what are they running now?". */
1432
+ status?: string;
1433
+ /** Meta sort mode: total_impressions or relevancy_monthly_grouped. Omit for Meta's default ranking (top ads by impressions first). */
1434
+ sort_by?: string;
1435
+ /** Only ads shown (delivered) on or after this date (YYYY-MM-DD). Delivery-date window, not a start-date filter: an ad that started earlier but was still running in the range is included. */
1436
+ start_date?: string;
1437
+ /** Only ads shown (delivered) on or before this date (YYYY-MM-DD). */
1438
+ end_date?: string;
1439
+ /** Pagination cursor from a previous nextCursor. Pages through the current Meta HTML result batch. */
1440
+ cursor?: string;
1441
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1442
+ cache?: boolean;
1443
+ }
1444
+ export interface FacebookAdLibrarySearchCompaniesParams {
1445
+ /** Company or brand name to search for (min 2 characters). Name-matched — off-brand pages are dropped. */
1446
+ q: string;
1447
+ /** Two-letter ISO country code. Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY. */
1448
+ country?: string;
1449
+ /** Max items to return (default 20, max 200). Flat 2 credits per call. */
1450
+ limit?: number;
1451
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1452
+ cache?: boolean;
1453
+ }
1454
+ export interface FacebookAdLibraryAdDetailsParams {
1455
+ /** Meta Ad Library ad URL or ad ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1456
+ url: string;
1457
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1458
+ cache?: boolean;
1459
+ }
1460
+ export interface FacebookAdLibraryAdTranscriptParams {
1461
+ /** Meta Ad Library ad URL or ad ID. Returns the ad's written copy — headline, body text, CTA and landing URL. Meta does not expose ad audio, so this is not a speech transcript. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1462
+ url: string;
1463
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1464
+ cache?: boolean;
1465
+ }
1466
+ export declare class FacebookAdLibraryApi {
1467
+ private readonly core;
1468
+ constructor(core: HttpCore);
1469
+ /** Facebook Ad Library Search — Search Meta Ad Library by keyword — active/inactive, media type, date range, platforms, cursor, and spend/impressions when Meta publishes them. (2 credits) */
1470
+ search(params: FacebookAdLibrarySearchParams): Promise<ApiEnvelope>;
1471
+ /** Facebook Company Ads — Ads for one Meta page — active by default, Meta's top-by-impressions order, sort_by and date window, same envelope as /facebook/search. (2 credits) */
1472
+ companyAds(params: FacebookAdLibraryCompanyAdsParams): Promise<ApiEnvelope>;
1473
+ /** Facebook Ad Library Search Companies — Find Meta Ad Library pages by brand — name-matched, pageId for company-ads (not profileId). (2 credits) */
1474
+ searchCompanies(params: FacebookAdLibrarySearchCompaniesParams): Promise<ApiEnvelope>;
1475
+ /** Facebook Ad Details — One Meta ad by ID — same creative as search, plus EU transparency data for EU-delivered ads. Flat 2 credits. (2 credits) */
1476
+ adDetails(params: FacebookAdLibraryAdDetailsParams): Promise<ApiEnvelope>;
1477
+ /** Facebook Ad Transcript — Spoken transcript of a Meta video ad with timed segments — written copy as fallback. (2 credits) */
1478
+ adTranscript(params: FacebookAdLibraryAdTranscriptParams): Promise<ApiEnvelope>;
1479
+ }
1480
+ export interface TiktokAdLibrarySearchParams {
1481
+ /** Keyword or advertiser to search TikTok Commercial Content Library (min 2 characters). */
1482
+ q: string;
1483
+ /** Two-letter ISO country code (e.g. GB, DE, FR). Default GB. TikTok's Commercial Content Library only covers the EU/EEA, the UK and Switzerland (32 countries) — other codes (US, SA, …) return 400 UNSUPPORTED_REGION with the supported list; TikTok has no ad-library data for them. */
1484
+ country?: string;
1485
+ /** Keyword token mode: "any" (default, OR whole-word) or "all" (AND). hair ≠ wheelchair. Literal hits lead; already-fetched SERP ads fill behind them up to limit (matchedFrom [] = ranked fill). Empty results are free. */
1486
+ match?: string;
1487
+ /** Max items to return (default 20, max 200). Does not change the price: 2 credits native, 5 via the fallback path, 0 when empty. */
1488
+ limit?: number;
1489
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1490
+ cache?: boolean;
1491
+ }
1492
+ export interface TiktokAdLibraryTopAdsParams {
1493
+ /** Optional keyword that ranks the one ~20-row leaderboard page — not a library search. Case-insensitive whole-word hits on title/brandName/industry/objective (hair ≠ wheelchair) come first; the rest of TikTok's keyword-ranked page follows as fill (matchedFrom [] on those ads, rankedFill in the envelope). There is no tags field. advertiser.name is often null in the default US market. Envelope candidatesScanned is the pre-filter pool size. For a known advertiser, use /tiktok/ad-details by ad id. */
1494
+ q?: string;
1495
+ /** Keyword token mode: "any" (default, OR) or "all" (AND). Zero whole-word hits still return TikTok's keyword-ranked page as matchBasis=ranked (literalMatches=0). */
1496
+ match?: string;
1497
+ /** Two-letter ISO country code. Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY (Creative Center used to quietly return an empty leaderboard for them). */
1498
+ country?: string;
1499
+ /** Lookback window in days: 7, 30, or 180. Default 30. */
1500
+ period?: number;
1501
+ /** Sort: for_you, likes, ctr, impressions, or cost. Default for_you. */
1502
+ orderBy?: string;
1503
+ /** Optional industry key or label from Creative Center. */
1504
+ industry?: string;
1505
+ /** Optional campaign objective (e.g. Traffic, Conversion, Reach). */
1506
+ objective?: string;
1507
+ /** Optional format filter: spark or non_spark. Served only by the extended fetcher — while it is disabled, adFormat returns 503 filter_unavailable (retryable false, not billed). Omit adFormat for the native leaderboard. */
1508
+ adFormat?: string;
1509
+ /** Max items to return (default 20, max 20). One Creative Center leaderboard page is ~20 rows; limit only trims that pool — it cannot scan more candidates. Flat 2 credits on the native path; the fallback path ~1 credit per returned ad (min 2). */
1510
+ limit?: number;
1511
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1512
+ cache?: boolean;
1513
+ }
1514
+ export interface TiktokAdLibraryAdDetailsParams {
1515
+ /** TikTok Ad Library URL or numeric ad ID. Inputs with no extractable numeric ID are a definitive 400. An ID TikTok's library positively reports as nonexistent is a definitive 404 AD_NOT_FOUND (ads outside the EU/EEA+UK+CH never enter the library, and entries expire one year after last impression). The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1516
+ url: string;
1517
+ /** Two-letter ISO country code. Default GB. Only EU/EEA + UK + CH are covered by TikTok's library; other codes return 400 UNSUPPORTED_REGION. */
1518
+ country?: string;
1519
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1520
+ cache?: boolean;
1521
+ }
1522
+ export declare class TiktokAdLibraryApi {
1523
+ private readonly core;
1524
+ constructor(core: HttpCore);
1525
+ /** TikTok Ad Library Search — Search TikTok Commercial Content Library — relevance-filtered, uniform null schema (2 credits native, 5 via fallback). (2 credits (5 via fallback path)) */
1526
+ search(params: TiktokAdLibrarySearchParams): Promise<ApiEnvelope>;
1527
+ /** TikTok Creative Center Top Ads — TikTok Creative Center Top Ads — one ~20-row leaderboard page, not a library search (flat 2; ~1/ad on the fallback path). (2 credits) */
1528
+ topAds(params?: TiktokAdLibraryTopAdsParams): Promise<ApiEnvelope>;
1529
+ /** TikTok Ad Details — One TikTok Commercial Content Library ad by ID — calendar-day dates, always 2 credits. (2 credits) */
1530
+ adDetails(params: TiktokAdLibraryAdDetailsParams): Promise<ApiEnvelope>;
1531
+ }
1532
+ export interface GoogleAdLibraryCompanyAdsParams {
1533
+ /** Advertiser name, domain (e.g. nike.com), or Google advertiser ID (AR…). Prefer AR… from advertiser-search. */
1534
+ advertiser: string;
1535
+ /** Two-letter ISO country / region code (soft filter). Default US. Alias: region. Non-ISO codes are a definitive 400 INVALID_COUNTRY. */
1536
+ country?: string;
1537
+ /** Alias for country. */
1538
+ region?: string;
1539
+ /** YYYY-MM-DD — keep creatives whose shown window overlaps this start. */
1540
+ start_date?: string;
1541
+ /** YYYY-MM-DD — keep creatives whose shown window overlaps this end. */
1542
+ end_date?: string;
1543
+ /** Client-side sort: last_shown (recent activity first) or first_shown. Default is ATC order. */
1544
+ sort?: string;
1545
+ /** Pagination cursor from nextCursor. */
1546
+ cursor?: string;
1547
+ /** Only "all" is supported (commercial ATC). Google publishes spend and impression ranges only for election ads; commercial advertisers omit both. isActive is true when lastShown is within 7 UTC days. */
1548
+ topic?: string;
1549
+ /** Max items to return (default 20, max 200). Flat 2 credits when results are returned; 0 credits when totalReturned is 0. */
1550
+ limit?: number;
1551
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1552
+ cache?: boolean;
1553
+ }
1554
+ export interface GoogleAdLibraryAdDetailsParams {
1555
+ /** Google Ads Transparency URL containing AR... advertiser and CR... creative IDs. A creative that does not exist under the advertiser is a definitive 404 AD_NOT_FOUND (upstream answered) — 503 is reserved for actual transport failures. */
1556
+ creative_id: string;
1557
+ /** Two-letter ISO country code. Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY. */
1558
+ country?: string;
1559
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1560
+ cache?: boolean;
1561
+ }
1562
+ export interface GoogleAdLibraryAdvertiserSearchParams {
1563
+ /** Brand, domain, or advertiser name (min 2 characters). Expanded + ranked so US prefers Inc. over SRL. */
1564
+ q: string;
1565
+ /** Two-letter ISO country code used for ranking (e.g. US). Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY. */
1566
+ country?: string;
1567
+ /** Max items to return (default 10, max 50). Flat 1 credit when results are returned; 0 credits when totalReturned is 0. */
1568
+ limit?: number;
1569
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1570
+ cache?: boolean;
1571
+ }
1572
+ export declare class GoogleAdLibraryApi {
1573
+ private readonly core;
1574
+ constructor(core: HttpCore);
1575
+ /** Google Company Ads — Google publishes spend and impression ranges only for election ads; commercial advertisers omit both. isActive is true when lastShown is within 7 UTC days. (2 credits) */
1576
+ companyAds(params: GoogleAdLibraryCompanyAdsParams): Promise<ApiEnvelope>;
1577
+ /** Google Ad Details — Google publishes spend and impression ranges only for election ads; commercial advertisers omit both. isActive is true when lastShown is within 7 UTC days. (2 credits) */
1578
+ adDetails(params: GoogleAdLibraryAdDetailsParams): Promise<ApiEnvelope>;
1579
+ /** Google Advertiser Search — Find Google Ads Transparency AR… entities — ranked multi-result (1 credit when found; empty is free). (1 credit) */
1580
+ advertiserSearch(params: GoogleAdLibraryAdvertiserSearchParams): Promise<ApiEnvelope>;
1581
+ }
1582
+ export interface LinkedinAdLibrarySearchAdsParams {
1583
+ /** Advertiser / account owner name (min 2 when used). Provide q/company, keyword, or companyId. */
1584
+ q?: string;
1585
+ /** Alias of q — advertiser / account owner name. */
1586
+ company?: string;
1587
+ /** Optional keyword filter on ad creative copy. Whole-word hits are ordered first; already-fetched SERP cards without a literal hit fill behind them up to limit (matchedFrom [] = ranked fill). */
1588
+ keyword?: string;
1589
+ /** LinkedIn numeric company id for exact advertiser match. */
1590
+ companyId?: string;
1591
+ /** Single ISO country code. Default US. Ignored when countries is set. Non-ISO codes are a definitive 400 INVALID_COUNTRY — LinkedIn would otherwise answer an empty result set as if the filter worked. */
1592
+ country?: string;
1593
+ /** Comma-separated ISO country codes (e.g. US,CA,MX). Each code is validated — non-ISO codes are a 400 INVALID_COUNTRY. */
1594
+ countries?: string;
1595
+ /** Custom range start YYYY-MM-DD (use with endDate). */
1596
+ startDate?: string;
1597
+ /** Custom range end YYYY-MM-DD (use with startDate). */
1598
+ endDate?: string;
1599
+ /** Pagination token from paginationToken / nextCursor. */
1600
+ cursor?: string;
1601
+ /** Alias of cursor. */
1602
+ paginationToken?: string;
1603
+ /** Max items to return (default 20, max 200). One LinkedIn SERP page is ~25 cards — when limit is higher, further pages are pulled automatically within the request's time budget, so limit=50 fills to 50 when LinkedIn has the ads (hasMore + nextCursor cover the rest). Flat 2 credits per call on the native path; the extended fallback bills ~3.5 credits per returned ad. Response `source` is native or extended so you can see which price applied. */
1604
+ limit?: number;
1605
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1606
+ cache?: boolean;
1607
+ }
1608
+ export interface LinkedinAdLibraryAdDetailsParams {
1609
+ /** LinkedIn Ad Library URL or numeric ad ID (also accepts urn:li:sponsoredCreative:ID). Inputs that are neither numeric nor an ad-library detail URL are a definitive 400. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1610
+ url: string;
1611
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1612
+ cache?: boolean;
1613
+ }
1614
+ export declare class LinkedinAdLibraryApi {
1615
+ private readonly core;
1616
+ constructor(core: HttpCore);
1617
+ /** LinkedIn Ad Library Search — LinkedIn publishes run dates, impressions and targeting only on a subset of creatives. Search is the SERP card; source is native. (2 credits) */
1618
+ searchAds(params?: LinkedinAdLibrarySearchAdsParams): Promise<ApiEnvelope>;
1619
+ /** LinkedIn Ad Details — One LinkedIn Ad Library ad by ID. LinkedIn withholds Ran-from / impressions / targeting on most creatives — those keys are omitted, not 404. (2 credits) */
1620
+ adDetails(params: LinkedinAdLibraryAdDetailsParams): Promise<ApiEnvelope>;
1621
+ }
1622
+ export interface AmazonShopPageParams {
1623
+ /** Amazon seller storefront URL (/sp?seller=… or /s?me=…) or raw seller ID. Not influencer /shop/<handle> pages. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1624
+ url: string;
1625
+ /** Amazon marketplace code. Default US. */
1626
+ marketplace?: string;
1627
+ /** Max products to include (default 20, max 200; 0 = seller metadata only). Billed per 16-product storefront page: ceil(limit / 16) credits, minimum 1 — the default 20 costs 2. */
1628
+ limit?: number;
1629
+ /** Pagination cursor from nextCursor (page or page:offset). Leave empty for the first page. */
1630
+ cursor?: string;
1631
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1632
+ cache?: boolean;
1633
+ }
1634
+ export declare class AmazonShopApi {
1635
+ private readonly core;
1636
+ constructor(core: HttpCore);
1637
+ /** Amazon Seller Storefront — Third-party seller storefronts (/sp?seller= / /s?me=) — ASIN + canonical /dp URLs, price, badges. Not influencer /shop/{handle}. (1 credit per 16 products (default limit 20 = 2)) */
1638
+ page(params: AmazonShopPageParams): Promise<ApiEnvelope>;
1639
+ }
978
1640
  export interface GithubUserParams {
979
- /** GitHub username or profile URL. */
1641
+ /** GitHub username or profile URL, e.g. getify or https://github.com/getify. */
980
1642
  username: string;
1643
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1644
+ cache?: boolean;
981
1645
  }
982
1646
  export interface GithubRepositoriesParams {
983
- /** GitHub username or profile URL. */
1647
+ /** GitHub username or profile URL, e.g. torvalds. */
984
1648
  username: string;
985
- /** Max items to return. Default 30, max 100. Billed per result. */
1649
+ /** created | updated | pushed | full_name (default updated). Not stars — GitHub's user-repos API has no stars sort. Echoed as data.sort. */
1650
+ sort?: string;
1651
+ /** asc or desc (default desc). Echoed as data.direction. */
1652
+ direction?: string;
1653
+ /** owner (default) | member | all — affiliation filter. Echoed as data.type. */
1654
+ type?: string;
1655
+ /** Max items to return (default 10, max 100). Billed per result. */
986
1656
  limit?: number;
987
- }
988
- export interface GithubRepositoryParams {
989
- /** Repository URL or owner/name. */
990
- repo: string;
1657
+ /** Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number. */
1658
+ cursor?: string;
1659
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1660
+ cache?: boolean;
991
1661
  }
992
1662
  export interface GithubPullRequestsParams {
993
- /** Repository URL or owner/name. */
1663
+ /** Repository URL or owner/name, e.g. vercel/next.js. */
994
1664
  repo: string;
995
- /** open, closed, or all. Default open. */
1665
+ /** open (API default), closed, or all. Echoed as data.state. Docs example uses closed so mergedAt is visible. */
996
1666
  state?: string;
997
- /** Max items to return. Default 30, max 100. Billed per result. */
1667
+ /** Max items to return (default 10, max 100). Billed per result. */
998
1668
  limit?: number;
1669
+ /** Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number. */
1670
+ cursor?: string;
1671
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1672
+ cache?: boolean;
999
1673
  }
1000
1674
  export interface GithubActivityParams {
1001
- /** GitHub username or profile URL. */
1675
+ /** GitHub username or profile URL, e.g. getify. */
1002
1676
  username: string;
1003
- /** Max items to return. Default 30, max 100. Billed per result. */
1677
+ /** Max items to return (default 10, max 90). Billed per result. */
1004
1678
  limit?: number;
1679
+ /** Opaque cursor from a previous nextCursor. Pagination stops after GitHub's 90-event public activity ceiling. */
1680
+ cursor?: string;
1681
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1682
+ cache?: boolean;
1005
1683
  }
1006
1684
  export interface GithubFollowersParams {
1007
- /** GitHub username or profile URL. */
1685
+ /** GitHub username or profile URL, e.g. getify. */
1008
1686
  username: string;
1009
- /** Max items to return. Default 30, max 100. Billed per result. */
1687
+ /** Max items to return (default 30, max 100). Billed per result. */
1010
1688
  limit?: number;
1689
+ /** Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number. */
1690
+ cursor?: string;
1691
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1692
+ cache?: boolean;
1011
1693
  }
1012
1694
  export interface GithubFollowingParams {
1013
- /** GitHub username or profile URL. */
1695
+ /** GitHub username or profile URL, e.g. getify. */
1014
1696
  username: string;
1015
- /** Max items to return. Default 30, max 100. Billed per result. */
1697
+ /** Max items to return (default 30, max 100). Billed per result. */
1016
1698
  limit?: number;
1699
+ /** Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number. */
1700
+ cursor?: string;
1701
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1702
+ cache?: boolean;
1017
1703
  }
1018
1704
  export interface GithubContributionsParams {
1019
- /** GitHub username or profile URL. */
1705
+ /** GitHub username or profile URL, e.g. getify or https://github.com/getify. */
1020
1706
  username: string;
1707
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1708
+ cache?: boolean;
1709
+ }
1710
+ export interface GithubRepositoryParams {
1711
+ /** Repository URL or owner/name, e.g. torvalds/linux or https://github.com/torvalds/linux. */
1712
+ repo: string;
1713
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1714
+ cache?: boolean;
1021
1715
  }
1022
1716
  export interface GithubTrendingRepositoriesParams {
1023
- /** GitHub repository search query. Default stars:>1000. */
1024
- q: string;
1025
- /** Max items to return. Default 20, max 100. Billed per result. */
1717
+ /** Trending window: daily (default), weekly, or monthly — matches github.com/trending?since=. */
1718
+ since?: string;
1719
+ /** Optional programming-language slug (e.g. python, typescript) → /trending/{language}. */
1720
+ language?: string;
1721
+ /** Max items to return (default 25, max 100). Flat 2 credits per call. */
1026
1722
  limit?: number;
1723
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1724
+ cache?: boolean;
1027
1725
  }
1028
1726
  export interface GithubTrendingDevelopersParams {
1029
- /** GitHub user search query. Default followers:>1000. */
1030
- q: string;
1031
- /** Max items to return. Default 20, max 100. Billed per result. */
1727
+ /** Trending window: daily (default), weekly, or monthly — matches github.com/trending/developers?since=. */
1728
+ since?: string;
1729
+ /** Optional programming-language slug → /trending/developers/{language}. */
1730
+ language?: string;
1731
+ /** Max items to return (default 25, max 100). Flat 2 credits per call. */
1032
1732
  limit?: number;
1733
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1734
+ cache?: boolean;
1033
1735
  }
1034
1736
  export declare class GithubApi {
1035
1737
  private readonly core;
1036
1738
  constructor(core: HttpCore);
1037
- /** GitHub User — Public GitHub user profile details. (3 credits) */
1739
+ /** GitHub User — GitHub public profile — login, type User|Organization, email when public, followers (1 credit). (1 credit) */
1038
1740
  user(params: GithubUserParams): Promise<ApiEnvelope>;
1039
- /** GitHub Repositories — List a GitHub user's repositories. (12 credits) */
1741
+ /** GitHub Repositories — List a user's repos with sort/direction/type — opaque Link cursor (~0.4/repo). (~4 credits (0.4/result)) */
1040
1742
  repositories(params: GithubRepositoriesParams): Promise<ApiEnvelope>;
1041
- /** GitHub Repository — Repository details, stars, forks and metadata. (3 credits) */
1042
- repository(params: GithubRepositoryParams): Promise<ApiEnvelope>;
1043
- /** GitHub Pull Requests — List repository pull requests. (12 credits) */
1743
+ /** GitHub Pull Requests — List repo PRs — draft, labels, author{}, head/base, opaque Link cursor (state echoed). (~4 credits (0.4/result)) */
1044
1744
  pullRequests(params: GithubPullRequestsParams): Promise<ApiEnvelope>;
1045
- /** GitHub Activity — Recent public activity for a GitHub user. (12 credits) */
1745
+ /** GitHub Activity — Public events with typed payload (Push commits/ref, PR/issue action) — 90-event ceiling. (~4 credits (0.4/result)) */
1046
1746
  activity(params: GithubActivityParams): Promise<ApiEnvelope>;
1047
- /** GitHub Followers — List GitHub followers. (12 credits) */
1747
+ /** GitHub Followers — Follower cards {id, login, type, url, avatar} — ~0.1/row; large accounts are expensive to page fully. (~3 credits (0.1/result)) */
1048
1748
  followers(params: GithubFollowersParams): Promise<ApiEnvelope>;
1049
- /** GitHub Following — List accounts a GitHub user follows. (12 credits) */
1749
+ /** GitHub Following — Accounts a user follows — same card and ~0.1/row pricing as followers. (~3 credits (0.1/result)) */
1050
1750
  following(params: GithubFollowingParams): Promise<ApiEnvelope>;
1051
- /** GitHub Contributions — Summary of recent public GitHub contributions. (3 credits) */
1751
+ /** GitHub Contributions — GitHub contribution graph — sorted days[], currentStreak (today grace), longestStreak (2 credits). (2 credits) */
1052
1752
  contributions(params: GithubContributionsParams): Promise<ApiEnvelope>;
1053
- /** GitHub Trending Repositories — Search trending repositories by stars or query. (12 credits) */
1054
- trendingRepositories(params: GithubTrendingRepositoriesParams): Promise<ApiEnvelope>;
1055
- /** GitHub Trending Developers — Search popular GitHub developers. (12 credits) */
1056
- trendingDevelopers(params: GithubTrendingDevelopersParams): Promise<ApiEnvelope>;
1057
- }
1058
- export interface GoogleSearchParams {
1059
- /** Search query or keywords (min 2 chars). */
1060
- q: string;
1061
- /** Two-letter country code. Default us. */
1062
- country?: string;
1063
- /** Google language code. Default en. */
1064
- language?: string;
1065
- /** Max items to return. Default 10, max 100. Billed per result. */
1066
- limit?: number;
1067
- }
1068
- export declare class GoogleApi {
1069
- private readonly core;
1070
- constructor(core: HttpCore);
1071
- /** Google Search — Google SERP organic search results by keyword, country, and language. (42 credits) */
1072
- search(params: GoogleSearchParams): Promise<ApiEnvelope>;
1753
+ /** GitHub Repository — GitHub repo — stars, real watchers (subscribers), openIssuesAndPrs, license, parent when fork (1 credit). (1 credit) */
1754
+ repository(params: GithubRepositoryParams): Promise<ApiEnvelope>;
1755
+ /** GitHub Trending Repositories — github.com/trending — repos ranked by starsGained (daily|weekly|monthly), not all-time stars (2 credits). (2 credits) */
1756
+ trendingRepositories(params?: GithubTrendingRepositoriesParams): Promise<ApiEnvelope>;
1757
+ /** GitHub Trending Developers — github.com/trending/developers — windowed ranks with popularRepo + followers (2 credits). (2 credits) */
1758
+ trendingDevelopers(params?: GithubTrendingDevelopersParams): Promise<ApiEnvelope>;
1073
1759
  }
1074
1760
  export interface TwitchProfileParams {
1075
- /** Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1761
+ /** Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1076
1762
  url: string;
1763
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. */
1764
+ cache?: boolean;
1765
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. */
1766
+ cacheMaxAge?: string;
1077
1767
  }
1078
1768
  export interface TwitchUserVideosParams {
1079
- /** Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1769
+ /** Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1080
1770
  url: string;
1081
- /** Max items to return. Default 20, max 30. Billed per result. */
1771
+ /** Max items to return (default 20, max 100). Flat 2 credits per call. Hard ceiling: first 100 matching videos only — deeper history is not available (windowMax=100). */
1082
1772
  limit?: number;
1773
+ /** ARCHIVE | HIGHLIGHT | UPLOAD. Omit for all types — there is no default filter (unset filterBy is omitted, not null). */
1774
+ filterBy?: string;
1775
+ /** TIME (default, newest first) or VIEWS. */
1776
+ sortBy?: string;
1777
+ /** Pagination cursor = last video id from the previous nextCursor. Leave empty for the first page. Pages the first 100 matching videos only (not a raw offset). */
1778
+ cursor?: string;
1779
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1780
+ cache?: boolean;
1083
1781
  }
1084
1782
  export interface TwitchUserScheduleParams {
1085
- /** Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1783
+ /** Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1086
1784
  url: string;
1785
+ /** Max schedule segments to return (default 50, max 100). Flat 1 credit per call. */
1786
+ limit?: number;
1787
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1788
+ cache?: boolean;
1087
1789
  }
1088
1790
  export interface TwitchClipParams {
1089
- /** Twitch clip URL, channel URL, or username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1791
+ /** Twitch clip URL (clips.twitch.tv/<slug> or twitch.tv/<channel>/clip/<slug>). The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1090
1792
  url: string;
1793
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. */
1794
+ cache?: boolean;
1795
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. */
1796
+ cacheMaxAge?: string;
1091
1797
  }
1092
1798
  export declare class TwitchApi {
1093
1799
  private readonly core;
1094
1800
  constructor(core: HttpCore);
1095
- /** Twitch Profile — Twitch channel profile, followers, live status and recent metadata. (9 credits) */
1801
+ /** Twitch Profile — Twitch channel — handle + displayName, socials[], topClips, schedule preview, stream only when live (1 credit). (1 credit) */
1096
1802
  profile(params: TwitchProfileParams): Promise<ApiEnvelope>;
1097
- /** Twitch User Videos — Recent Twitch VODs for a channel. (34 credits) */
1803
+ /** Twitch User Videos — Twitch channel VODs — lean rows, video-id cursor, filter/sort, top-level broadcaster{} (flat 2). (2 credits) */
1098
1804
  userVideos(params: TwitchUserVideosParams): Promise<ApiEnvelope>;
1099
- /** Twitch User Schedule — Upcoming Twitch schedule data when exposed on the public channel. (34 credits) */
1805
+ /** Twitch User Schedule — Twitch channel schedule — startAt/endAt, title, game, isRecurring (0 credits when empty). (1 credit) */
1100
1806
  userSchedule(params: TwitchUserScheduleParams): Promise<ApiEnvelope>;
1101
- /** Twitch Clip — Twitch clip metadata from a clip URL or channel fallback. (9 credits) */
1807
+ /** Twitch Clip — Twitch clip — curator vs channel, signedVideoUrl, unwrapped token, relatedClips (1 credit). (1 credit) */
1102
1808
  clip(params: TwitchClipParams): Promise<ApiEnvelope>;
1103
1809
  }
1104
1810
  export interface SpotifyArtistParams {
1105
- /** Spotify URL, URI, or ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1811
+ /** Spotify URL, URI, or ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1106
1812
  url: string;
1813
+ /** Include the upstream GraphQL payload as data.raw. Default false — omit unless you need fields not in the normalized shape (~80% of the old response body). */
1814
+ raw?: boolean;
1815
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1816
+ cache?: boolean;
1107
1817
  }
1108
1818
  export interface SpotifyTrackParams {
1109
- /** Spotify URL, URI, or ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1819
+ /** Spotify URL, URI, or ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1110
1820
  url: string;
1821
+ /** Include the upstream GraphQL payload as data.raw. Default false — getTrack embeds bulky artist discography. */
1822
+ raw?: boolean;
1823
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1824
+ cache?: boolean;
1111
1825
  }
1112
1826
  export interface SpotifyAlbumParams {
1113
- /** Spotify URL, URI, or ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1827
+ /** Spotify URL, URI, or ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1114
1828
  url: string;
1829
+ /** Include the upstream GraphQL payload as data.raw. Default false — omit unless you need fields not in the normalized shape. */
1830
+ raw?: boolean;
1831
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1832
+ cache?: boolean;
1115
1833
  }
1116
1834
  export interface SpotifySearchParams {
1117
- /** Search query or keywords (min 2 chars). */
1835
+ /** Search term (min 2 chars). */
1118
1836
  q: string;
1119
- /** tracks, albums, artists, podcasts, or episodes. Default tracks. */
1837
+ /** Result kind: tracks (default), albums, artists, podcasts, or episodes. */
1120
1838
  type?: string;
1121
- /** Max items to return. Default 20, max 50. Billed per result. */
1839
+ /** Max items to return (default 20, max 50). Flat 2 credits per call. */
1122
1840
  limit?: number;
1841
+ /** Include per-result upstream payload as results[].raw. Default false. Pathfinder GraphQL vs fallback-path shapes differ — see FAQ. */
1842
+ raw?: boolean;
1843
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1844
+ cache?: boolean;
1123
1845
  }
1124
1846
  export interface SpotifyPodcastParams {
1125
- /** Spotify URL, URI, or ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1847
+ /** Spotify show/podcast URL, URI, or ID (e.g. https://open.spotify.com/show/…). Not an artist URL. */
1126
1848
  url: string;
1127
- /** Max items to return. Default 20, max 50. Billed per result. */
1128
- limit?: number;
1849
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1850
+ cache?: boolean;
1129
1851
  }
1130
1852
  export interface SpotifyPodcastEpisodesParams {
1131
- /** Spotify URL, URI, or ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1853
+ /** Spotify show/podcast URL, URI, or ID (e.g. https://open.spotify.com/show/…). Not an artist URL. */
1132
1854
  url: string;
1133
- /** Max items to return. Default 20, max 50. Billed per result. */
1855
+ /** Max items to return (default 20, max 50). Flat 2 credits per call. */
1134
1856
  limit?: number;
1857
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
1858
+ cursor?: string;
1859
+ /** Include slimmed per-episode upstream payload as episodes[].raw. Default false. visualIdentity / playedState / podcastV2 are never included. */
1860
+ raw?: boolean;
1861
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1862
+ cache?: boolean;
1135
1863
  }
1136
1864
  export declare class SpotifyApi {
1137
1865
  private readonly core;
1138
1866
  constructor(core: HttpCore);
1139
- /** Spotify Artist — Spotify artist details, followers and listener metadata. (6 credits) */
1867
+ /** Spotify Artist — Spotify artist — followers, monthlyListeners, worldRank, topCities, topTracks with playCount, concerts, and related artists (1 credit). (1 credit) */
1140
1868
  artist(params: SpotifyArtistParams): Promise<ApiEnvelope>;
1141
- /** Spotify Track — Spotify track metadata, artists, album and play count when available. (6 credits) */
1869
+ /** Spotify Track — Spotify track — playCount, joinable artists[]/album{}, explicit, releaseDate (1 credit). (1 credit) */
1142
1870
  track(params: SpotifyTrackParams): Promise<ApiEnvelope>;
1143
- /** Spotify Album — Spotify album metadata and track count. (6 credits) */
1871
+ /** Spotify Album — Spotify album — tracks[] with playCount, joinable artists[], releaseDate, explicit (1 credit). (1 credit) */
1144
1872
  album(params: SpotifyAlbumParams): Promise<ApiEnvelope>;
1145
- /** Spotify Search — Search Spotify tracks, albums, artists, podcasts or episodes. (23 credits) */
1873
+ /** Spotify Search — Search Spotify — canonical spotify: URIs, explicit, fetchedAt (flat 2 credits). (2 credits) */
1146
1874
  search(params: SpotifySearchParams): Promise<ApiEnvelope>;
1147
- /** Spotify Podcast — Spotify podcast/show details and episode summary metadata. (6 credits) */
1875
+ /** Spotify Podcast — Spotify podcast show — publisher, rating, topics, explicit flag, and totalEpisodes as clean JSON. (1 credit) */
1148
1876
  podcast(params: SpotifyPodcastParams): Promise<ApiEnvelope>;
1149
- /** Spotify Podcast Episodes — List episodes for a Spotify podcast/show. (23 credits) */
1877
+ /** Spotify Podcast Episodes — Podcast episode archive — previewUrl, releaseDate, explicit, cursor pagination (flat 2 credits). (2 credits) */
1150
1878
  podcastEpisodes(params: SpotifyPodcastEpisodesParams): Promise<ApiEnvelope>;
1151
1879
  }
1152
1880
  export interface SoundcloudArtistParams {
1153
- /** SoundCloud artist profile URL or username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1881
+ /** SoundCloud artist profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1154
1882
  url: string;
1883
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. */
1884
+ cache?: boolean;
1885
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. */
1886
+ cacheMaxAge?: string;
1155
1887
  }
1156
1888
  export interface SoundcloudArtistTracksParams {
1157
- /** SoundCloud artist profile URL or username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1889
+ /** SoundCloud artist profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1158
1890
  url: string;
1159
- /** Max items to return. Default 20, max 100. Billed per result. */
1891
+ /** Max items to return (default 20, max 100). Flat 2 credits per call. */
1160
1892
  limit?: number;
1893
+ /** Opaque pagination cursor from the previous nextCursor. Leave empty for the first page. Do not edit or invent values. */
1894
+ cursor?: string;
1895
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1896
+ cache?: boolean;
1161
1897
  }
1162
1898
  export interface SoundcloudTrackParams {
1163
- /** SoundCloud track URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1899
+ /** SoundCloud track URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1164
1900
  url: string;
1901
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. */
1902
+ cache?: boolean;
1903
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. */
1904
+ cacheMaxAge?: string;
1165
1905
  }
1166
1906
  export declare class SoundcloudApi {
1167
1907
  private readonly core;
1168
1908
  constructor(core: HttpCore);
1169
- /** SoundCloud Artist — SoundCloud artist profile metadata. (7 credits) */
1909
+ /** SoundCloud Artist — SoundCloud artist — handle + name, subscriptionTier, externalLinks, verified (1 credit). (1 credit) */
1170
1910
  artist(params: SoundcloudArtistParams): Promise<ApiEnvelope>;
1171
- /** SoundCloud Artist Tracks — Tracks from a SoundCloud artist profile. (28 credits) */
1911
+ /** SoundCloud Artist Tracks — Artist track list — opaque cursor, native-window when the api-v2 page ends (2 credits; empty is 0). (2 credits) */
1172
1912
  artistTracks(params: SoundcloudArtistTracksParams): Promise<ApiEnvelope>;
1173
- /** SoundCloud Track — SoundCloud track metadata and engagement stats. (7 credits) */
1913
+ /** SoundCloud Track — SoundCloud track — plays/likes/license, tags[], nested artist{}, streamUrl when streamable (1 credit). (1 credit) */
1174
1914
  track(params: SoundcloudTrackParams): Promise<ApiEnvelope>;
1175
1915
  }
1176
1916
  export interface LinktreePageParams {
1177
- /** Linktree profile URL or username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1917
+ /** Linktree profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1178
1918
  url: string;
1919
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. */
1920
+ cache?: boolean;
1921
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. */
1922
+ cacheMaxAge?: string;
1179
1923
  }
1180
1924
  export declare class LinktreeApi {
1181
1925
  private readonly core;
1182
1926
  constructor(core: HttpCore);
1183
- /** Linktree Page — Public Linktree profile links, socials and profile metadata. (4 credits) */
1927
+ /** Linktree Page — Link-in-bio → creator graph: typed links, socialAccounts{} that feed TikTok/Instagram/Spotify/SoundCloud, email, verticals. Flat 1 credit. (1 credit) */
1184
1928
  page(params: LinktreePageParams): Promise<ApiEnvelope>;
1185
1929
  }
1186
1930
  export interface SnapchatUserProfileParams {
1187
- /** Snapchat username or profile URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1931
+ /** Snapchat username or profile URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1188
1932
  url: string;
1933
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1934
+ cache?: boolean;
1189
1935
  }
1190
1936
  export declare class SnapchatApi {
1191
1937
  private readonly core;
1192
1938
  constructor(core: HttpCore);
1193
- /** Snapchat User Profile — Public Snapchat profile metadata, subscriber count, avatar and highlights. (11 credits) */
1939
+ /** Snapchat User Profile — Snapchat profile — stable identity card, millisecond timestamps, mediaType image/video (1 credit). (1 credit) */
1194
1940
  userProfile(params: SnapchatUserProfileParams): Promise<ApiEnvelope>;
1195
1941
  }
1196
1942
  export interface TruthSocialProfileParams {
1197
- /** Truth Social profile URL or @username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1943
+ /** Truth Social profile URL or @username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1198
1944
  url: string;
1945
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1946
+ cache?: boolean;
1199
1947
  }
1200
1948
  export interface TruthSocialUserPostsParams {
1201
- /** Truth Social profile URL or @username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1949
+ /** Truth Social profile URL or @username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1202
1950
  url: string;
1203
- /** Max items to return. Default 20, max 80. Billed per result. */
1951
+ /** Max posts to return (default 20, max 80). Truth Social's statuses page is ~20 items — a full page returns nextCursor. On the extended path hasMore can be true with nextCursor null (truncatedReason=single_page_only). Flat 2 credits. */
1204
1952
  limit?: number;
1953
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
1954
+ cursor?: string;
1955
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1956
+ cache?: boolean;
1205
1957
  }
1206
1958
  export interface TruthSocialPostParams {
1207
- /** Truth Social post URL or post ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1959
+ /** Truth Social post URL or post ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1208
1960
  url: string;
1961
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
1962
+ cache?: boolean;
1209
1963
  }
1210
1964
  export declare class TruthSocialApi {
1211
1965
  private readonly core;
1212
1966
  constructor(core: HttpCore);
1213
- /** Truth Social Profile — Public Truth Social profile metadata and stats. (5 credits) */
1967
+ /** Truth Social Profile — Prominent public Truth Social profiles — isPrivate/bot/group, CP-F counts, avatar/banner. Flat 1 credit. (1 credit) */
1214
1968
  profile(params: TruthSocialProfileParams): Promise<ApiEnvelope>;
1215
- /** Truth Social User Posts — Recent public posts from a Truth Social profile. (17 credits) */
1969
+ /** Truth Social User Posts — Recent Truths — same post mapper as /post (links, card, reblog/quote, mentions). 2 credits. (2 credits) */
1216
1970
  userPosts(params: TruthSocialUserPostsParams): Promise<ApiEnvelope>;
1217
- /** Truth Social Post — Truth Social post metadata, text, media and engagement. (5 credits) */
1971
+ /** Truth Social Post — One Truth — text, links[], card, reblog/quote chain, media.meta, externalVideoId. Flat 1 credit. (1 credit) */
1218
1972
  post(params: TruthSocialPostParams): Promise<ApiEnvelope>;
1219
1973
  }
1220
1974
  export interface KickClipParams {
1221
- /** Kick clip URL, channel URL, or channel username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1975
+ /** Kick clip URL for one enriched clip (e.g. https://kick.com/{channel}/clips/clip_…), or channel input for recent clips[]: kick.com/{name}, kick.com/@{name}, @{name}, or {name}. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1222
1976
  url: string;
1223
- /** Max items to return. Default 30, max 100. Billed per result. */
1977
+ /** Channel mode only — max recent clips to return (default 20, max 100). Ignored when url is a clip. Flat 1 credit. No cursor — one response holds up to limit clips. */
1224
1978
  limit?: number;
1979
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. */
1980
+ cache?: boolean;
1981
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. */
1982
+ cacheMaxAge?: string;
1225
1983
  }
1226
1984
  export declare class KickApi {
1227
1985
  private readonly core;
1228
1986
  constructor(core: HttpCore);
1229
- /** Kick Clip — Kick clip metadata from a clip URL or recent channel clips. (34 credits) */
1987
+ /** Kick Clip — Get a Kick clip, or a channel's recent clips — 7d clip cache. Flat 1 credit. (1 credit) */
1230
1988
  clip(params: KickClipParams): Promise<ApiEnvelope>;
1231
1989
  }
1232
- export interface AmazonShopPageParams {
1233
- /** Amazon seller storefront URL, seller profile URL, or seller ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1234
- url: string;
1235
- /** Amazon marketplace code. Default US. */
1236
- marketplace?: string;
1237
- /** Max items to return. Default 20, max 200. Billed per result. */
1238
- limit?: number;
1239
- }
1240
- export declare class AmazonShopApi {
1241
- private readonly core;
1242
- constructor(core: HttpCore);
1243
- /** Amazon Shop Page — Amazon seller storefront metadata and product listings. (89 credits) */
1244
- page(params: AmazonShopPageParams): Promise<ApiEnvelope>;
1245
- }
1246
- export interface AgeGenderGetParams {
1247
- /** First name, or fallback when names is omitted. */
1248
- name: string;
1249
- /** Optional comma-separated list of names. */
1250
- names?: string;
1251
- }
1252
- export declare class AgeGenderApi {
1253
- private readonly core;
1254
- constructor(core: HttpCore);
1255
- /** Age and Gender — Predict age, gender and nationality signals from first names. (4 credits) */
1256
- get(params: AgeGenderGetParams): Promise<ApiEnvelope>;
1257
- }
1258
1990
  export interface AccountBalanceParams {
1259
1991
  }
1260
1992
  export interface AccountRequestHistoryParams {
1261
- /** Max items to return. Default 50, max 500. Billed per result. */
1262
- limit?: number;
1993
+ /** Max rows to return (default 50, max 500). Free — does not consume credits. */
1994
+ limit?: number;
1995
+ /** Exact Captapi path filter, e.g. /v1/instagram/basic-profile. */
1996
+ endpoint?: string;
1997
+ /** Filter by HTTP status code (e.g. 500). */
1998
+ statusCode?: number;
1999
+ /** Inclusive lower bound on createdAt (ISO date or datetime). */
2000
+ since?: string;
2001
+ /** Exclusive upper bound on createdAt (ISO date or datetime). */
2002
+ until?: string;
2003
+ /** Pagination cursor from nextCursor (createdAt of the last row). Leave empty for the first page. */
2004
+ cursor?: string;
1263
2005
  }
1264
2006
  export interface AccountDailyUsageParams {
1265
- /** Number of days to include. Default 30, max 365. */
2007
+ /** Number of days to include (default 30, max 365). */
1266
2008
  days?: number;
1267
2009
  }
1268
2010
  export interface AccountMostUsedRoutesParams {
1269
- /** Number of days to include. Default 30, max 365. */
2011
+ /** Number of days to include (default 30, max 365). */
1270
2012
  days?: number;
1271
- /** Max items to return. Default 20, max 100. Billed per result. */
2013
+ /** Max rows to return (default 20, max 100). Free — does not consume credits. */
1272
2014
  limit?: number;
1273
2015
  }
1274
2016
  export declare class AccountApi {
1275
2017
  private readonly core;
1276
2018
  constructor(core: HttpCore);
1277
- /** Credit Balance — Get current Captapi credit balance and plan limits. (0 credits) */
2019
+ /** Credit Balance — Plan, subscription vs top-up credits, monthly quota, and renewsAt — 0 credits. (0 credits) */
1278
2020
  balance(params?: Record<string, never>): Promise<ApiEnvelope>;
1279
- /** Request History — List recent Captapi API requests for the current key owner. (0 credits) */
2021
+ /** Request History — Recent API requests for your key — requestId, status, credits, cacheHit (0 credits). (0 credits) */
1280
2022
  requestHistory(params?: AccountRequestHistoryParams): Promise<ApiEnvelope>;
1281
- /** Daily Usage — Daily request and credit usage summary. (0 credits) */
2023
+ /** Daily Usage — Day-by-day credit usage for spend monitoring (0 credits). (0 credits) */
1282
2024
  dailyUsage(params?: AccountDailyUsageParams): Promise<ApiEnvelope>;
1283
- /** Most Used Routes — Most used API routes by request count and credits. (0 credits) */
2025
+ /** Most Used Routes — Ranked list of which Captapi routes your key calls most (0 credits). (0 credits) */
1284
2026
  mostUsedRoutes(params?: AccountMostUsedRoutesParams): Promise<ApiEnvelope>;
1285
2027
  }
2028
+ export interface AnalyticsPostParams {
2029
+ /** Public post/video/reel URL from one of 11 platforms: YouTube, TikTok, Instagram, Facebook, X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, or Rumble. Platform is auto-detected — cross-platform URLs are expected here (unlike single-platform endpoints). Not in scope: Kwai, Twitch, Spotify, Snapchat, and other Captapi platforms. */
2030
+ url: string;
2031
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
2032
+ cache?: boolean;
2033
+ }
2034
+ export interface AnalyticsCompareParams {
2035
+ /** Comma-separated post/video/reel URLs (up to 10), any mix of the same 11 platforms as Post Analytics. Example: a TikTok URL and a YouTube URL in one call. */
2036
+ urls: string;
2037
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
2038
+ cache?: boolean;
2039
+ }
2040
+ export interface VideoTranscriptParams {
2041
+ /** Video or audio file (multipart form field — use -F file=@path, not a query string). Max 200MB / 60 minutes. */
2042
+ file: string;
2043
+ /** ISO-639-1 language hint, e.g. "en" or "tr". Omit to auto-detect. */
2044
+ language?: string;
2045
+ /** When true, translate speech to English. Default false. */
2046
+ translate?: boolean;
2047
+ /** segment (default) or word — word-level timings when the transcription model exposes them. */
2048
+ timestampGranularity?: string;
2049
+ }
2050
+ export interface VideoSummarizeParams {
2051
+ /** Video or audio file (multipart form field — use -F file=@path, not a query string). Max 200MB / 60 minutes. */
2052
+ file: string;
2053
+ /** ISO-639-1 language hint, e.g. "en" or "tr". Omit to auto-detect. */
2054
+ language?: string;
2055
+ /** When true, translate speech to English before summarizing. Default false. */
2056
+ translate?: boolean;
2057
+ /** segment (default) or word. */
2058
+ timestampGranularity?: string;
2059
+ }
2060
+ export declare class UtilitiesApi {
2061
+ private readonly core;
2062
+ constructor(core: HttpCore);
2063
+ /** Post Analytics — Unified metrics for one post, video, or reel — platform auto-detected (1 credit). (1 credit) */
2064
+ analyticsPost(params: AnalyticsPostParams): Promise<ApiEnvelope>;
2065
+ /** Compare Analytics — Compare unified metrics across up to 10 URLs — each row is the analytics/post object (1 credit/resolved URL). (1 credit/url) */
2066
+ analyticsCompare(params: AnalyticsCompareParams): Promise<ApiEnvelope>;
2067
+ /** Video File Transcript — AI transcription of an uploaded file — 1 credit/min; noSpeech=true and 0 credits when there is no speech. (1 credit/min) */
2068
+ videoTranscript(params: VideoTranscriptParams): Promise<ApiEnvelope>;
2069
+ /** Video File Summarizer — AI transcription + summary of an uploaded file — transcript included; 1 credit/min + 1. (1 credit/min +1) */
2070
+ videoSummarize(params: VideoSummarizeParams): Promise<ApiEnvelope>;
2071
+ }
1286
2072
  export interface KwaiProfileParams {
1287
- /** Kwai/Kuaishou profile URL or user ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
2073
+ /** Kwai profile URL or @handle, e.g. https://www.kwai.com/@topfilmeseseriesnatv. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1288
2074
  url: string;
2075
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
2076
+ cache?: boolean;
1289
2077
  }
1290
2078
  export interface KwaiUserPostsParams {
1291
- /** Kwai/Kuaishou profile URL or user ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
2079
+ /** Kwai profile URL or @handle, e.g. https://www.kwai.com/@topfilmeseseriesnatv. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1292
2080
  url: string;
1293
- /** Max items to return. Default 20, max 200. Billed per result. */
2081
+ /** Max posts to return (1–200). Default 10. ~1 credit per post returned (min 2). */
1294
2082
  limit?: number;
2083
+ /** Opaque pagination cursor from the previous nextCursor. Pages within posts from one profile fetch. */
2084
+ cursor?: string;
2085
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
2086
+ cache?: boolean;
1295
2087
  }
1296
2088
  export interface KwaiPostParams {
1297
- /** Kwai/Kuaishou post URL or video/photo ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
2089
+ /** Kwai video URL, e.g. https://www.kwai.com/@topfilmeseseriesnatv/video/5240932700689736196. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1298
2090
  url: string;
2091
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
2092
+ cache?: boolean;
1299
2093
  }
1300
2094
  export declare class KwaiApi {
1301
2095
  private readonly core;
1302
2096
  constructor(core: HttpCore);
1303
- /** Kwai Profile — Kwai/Kuaishou public profile details and stats. (17 credits) */
2097
+ /** Kwai Profile — Fetch Kwai profile — display name, bio, counts, and verification as structured JSON. (1 credit) */
1304
2098
  profile(params: KwaiProfileParams): Promise<ApiEnvelope>;
1305
- /** Kwai User Posts — Recent Kwai/Kuaishou videos from a profile. (45 credits) */
2099
+ /** Kwai User Posts — Kwai profile posts — caption ("" when none), engagement, mp4 + transcript (~1 credit/post). (~10 credits (1/result)) */
1306
2100
  userPosts(params: KwaiUserPostsParams): Promise<ApiEnvelope>;
1307
- /** Kwai Post — Kwai/Kuaishou post metadata and engagement. (17 credits) */
2101
+ /** Kwai Post — Single Kwai video — caption ("" when none), hashtags[], author, mp4 (2 credits). (2 credits) */
1308
2102
  post(params: KwaiPostParams): Promise<ApiEnvelope>;
1309
2103
  }
1310
2104
  export interface KomiPageParams {
1311
- /** Komi page URL or username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
2105
+ /** Komi page URL or username, e.g. https://komi.io/kimkardashian or https://kimkardashian.komi.io/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1312
2106
  url: string;
2107
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. */
2108
+ cache?: boolean;
2109
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. */
2110
+ cacheMaxAge?: string;
1313
2111
  }
1314
2112
  export declare class KomiApi {
1315
2113
  private readonly core;
1316
2114
  constructor(core: HttpCore);
1317
- /** Komi Page — Public Komi page links and profile metadata. (4 credits) */
2115
+ /** Komi Page — Komi link-in-bio → identity, socials{} (incl. website), content LINK/PRODUCT rows with price/currency. Flat 1 credit. (1 credit) */
1318
2116
  page(params: KomiPageParams): Promise<ApiEnvelope>;
1319
2117
  }
1320
2118
  export interface PillarPageParams {
1321
- /** Pillar page URL or username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
2119
+ /** Pillar page URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1322
2120
  url: string;
2121
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. */
2122
+ cache?: boolean;
2123
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. */
2124
+ cacheMaxAge?: string;
1323
2125
  }
1324
2126
  export declare class PillarApi {
1325
2127
  private readonly core;
1326
2128
  constructor(core: HttpCore);
1327
- /** Pillar Page — Public Pillar page links and profile metadata. (4 credits) */
2129
+ /** Pillar Page — Pillar link-in-bio → identity, socials{}, links[] with per-link clicks, products[]. Flat 1 credit. (1 credit) */
1328
2130
  page(params: PillarPageParams): Promise<ApiEnvelope>;
1329
2131
  }
1330
2132
  export interface LinkbioPageParams {
1331
- /** Linkbio page URL or username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
2133
+ /** Linkbio (lnk.bio) page URL or username, e.g. https://lnk.bio/charlidamelio. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1332
2134
  url: string;
2135
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. */
2136
+ cache?: boolean;
2137
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. */
2138
+ cacheMaxAge?: string;
1333
2139
  }
1334
2140
  export declare class LinkbioApi {
1335
2141
  private readonly core;
1336
2142
  constructor(core: HttpCore);
1337
- /** Linkbio Page — Public Linkbio page links and profile metadata. (4 credits) */
2143
+ /** Linkbio Page — lnk.bio → id, socials{}, titled links[], website/email/whatsapp, other[]. Flat 1 credit. (1 credit) */
1338
2144
  page(params: LinkbioPageParams): Promise<ApiEnvelope>;
1339
2145
  }
1340
2146
  export interface LinkmeProfileParams {
1341
- /** Linkme profile URL or username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
2147
+ /** Linkme profile URL or username, e.g. https://link.me/danucd or danucd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1342
2148
  url: string;
2149
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. */
2150
+ cache?: boolean;
2151
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. */
2152
+ cacheMaxAge?: string;
1343
2153
  }
1344
2154
  export declare class LinkmeApi {
1345
2155
  private readonly core;
1346
2156
  constructor(core: HttpCore);
1347
- /** Linkme Profile — Public Linkme profile links and metadata. (4 credits) */
2157
+ /** Linkme Profile — Linkme profile → bio, profileVisitCount, featured links, webLinks, email/infoLinks, stripeStatus. Flat 1 credit. (1 credit) */
1348
2158
  profile(params: LinkmeProfileParams): Promise<ApiEnvelope>;
1349
2159
  }
1350
- export interface FacebookAdLibrarySearchParams {
1351
- /** Search query or keywords (min 2 chars). */
1352
- q: string;
1353
- /** ISO country code. Default US. */
1354
- country?: string;
1355
- /** Max items to return. Default 20, max 200. Billed per result. */
1356
- limit?: number;
1357
- }
1358
- export interface FacebookAdLibraryCompanyAdsParams {
1359
- /** Facebook page URL or Meta Ad Library URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1360
- url: string;
1361
- /** ISO country code. Default US. */
1362
- country?: string;
1363
- /** Max items to return. Default 20, max 200. Billed per result. */
1364
- limit?: number;
1365
- }
1366
- export interface FacebookAdLibrarySearchCompaniesParams {
1367
- /** Search query or keywords (min 2 chars). */
1368
- q: string;
1369
- /** ISO country code. Default US. */
1370
- country?: string;
1371
- /** Max items to return. Default 20, max 200. Billed per result. */
1372
- limit?: number;
1373
- }
1374
- export interface FacebookAdLibraryAdDetailsParams {
1375
- /** Meta Ad Library ad URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1376
- url: string;
1377
- }
1378
- export interface FacebookAdLibraryAdTranscriptParams {
1379
- /** Meta Ad Library ad URL or ad ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1380
- url: string;
1381
- }
1382
- export interface TiktokAdLibrarySearchParams {
1383
- /** Search query or keywords (min 2 chars). */
1384
- q: string;
1385
- /** ISO country code. Default DE. */
1386
- country?: string;
1387
- /** Max items to return. Default 20, max 200. Billed per result. */
1388
- limit?: number;
1389
- }
1390
- export interface TiktokAdLibraryAdDetailsParams {
1391
- /** TikTok Ad Library URL or ad ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
1392
- url: string;
1393
- /** ISO country code. Default DE. */
1394
- country?: string;
1395
- }
1396
- export interface GoogleAdLibraryCompanyAdsParams {
1397
- /** Advertiser name, domain, or Google advertiser ID. */
1398
- advertiser: string;
1399
- /** ISO country code. Default US. */
1400
- country?: string;
1401
- /** Max items to return. Default 20, max 200. Billed per result. */
1402
- limit?: number;
1403
- }
1404
- export interface GoogleAdLibraryAdDetailsParams {
1405
- /** Google Ads Transparency Center URL containing AR advertiser ID and CR creative ID. */
1406
- creative_id: string;
1407
- /** ISO country code. Default US. */
1408
- country?: string;
1409
- }
1410
- export interface GoogleAdLibraryAdvertiserSearchParams {
1411
- /** Search query or keywords (min 2 chars). */
2160
+ export interface GoogleMapsBusinessSearchParams {
2161
+ /** Keyword, for example plumber or coffee. Min 2 characters. */
1412
2162
  q: string;
1413
- /** ISO country code. Default US. */
1414
- country?: string;
1415
- /** Max items to return. Default 10, max 50. Billed per result. */
2163
+ /** Place name: City, Country or City, Region, Country — for example Austin, TX, Istanbul, Turkey, Paris, France, or a country such as Germany. Case, accents, US state codes, and country aliases (USA, UK, Turkey) are handled. A city name shared by several places (Paris) returns 400 with suggestions. When set, the locationCode parameter is ignored. */
2164
+ location?: string;
2165
+ /** Numeric place code, used only when location is omitted. Default 2840 (United States). */
2166
+ locationCode?: number;
2167
+ /** Language code, for example en. Default en. */
2168
+ language?: string;
2169
+ /** Max businesses to return (default 20, max 100). Not a page cursor — there is no next page. Flat 2 credits per call; zero businesses is 0 credits. */
1416
2170
  limit?: number;
2171
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. */
2172
+ cache?: boolean;
1417
2173
  }
1418
- export interface LinkedinAdLibrarySearchAdsParams {
1419
- /** Search query or keywords (min 2 chars). */
1420
- q: string;
1421
- /** ISO country code. Default US. */
1422
- country?: string;
1423
- /** Max items to return. Default 20, max 200. Billed per result. */
1424
- limit?: number;
2174
+ export declare class GoogleMapsApi {
2175
+ private readonly core;
2176
+ constructor(core: HttpCore);
2177
+ /** Google Maps Business Search — Local businesses from a Maps search — name, address, phone, website, rating, hours, place id. Flat 2 credits. No emails. (2 credits) */
2178
+ businessSearch(params: GoogleMapsBusinessSearchParams): Promise<ApiEnvelope>;
1425
2179
  }
1426
- export interface LinkedinAdLibraryAdDetailsParams {
1427
- /** LinkedIn Ad Library URL or ad ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. */
2180
+ export interface WebsiteContactsParams {
2181
+ /** Business website or bare domain, for example https://atxfamilydental.com or atxfamilydental.com (https:// is added). Social profile URLs are not accepted here. */
1428
2182
  url: string;
2183
+ /** Set true to use the 24h cache (0 credits on hit). Default false. */
2184
+ cache?: boolean;
1429
2185
  }
1430
- export declare class AdLibraryApi {
2186
+ export declare class WebsiteApi {
1431
2187
  private readonly core;
1432
2188
  constructor(core: HttpCore);
1433
- /** Facebook Ad Library Search — Search Meta/Facebook ads by keyword. (70 credits) */
1434
- facebookSearch(params: FacebookAdLibrarySearchParams): Promise<ApiEnvelope>;
1435
- /** Facebook Company Ads — Ads for a Facebook page or Meta Ad Library URL. (70 credits) */
1436
- facebookCompanyAds(params: FacebookAdLibraryCompanyAdsParams): Promise<ApiEnvelope>;
1437
- /** Facebook Ad Library Search Companies — Find advertisers/pages in the Meta Ad Library by name. (70 credits) */
1438
- facebookSearchCompanies(params: FacebookAdLibrarySearchCompaniesParams): Promise<ApiEnvelope>;
1439
- /** Facebook Ad Details — Meta/Facebook ad details. (17 credits) */
1440
- facebookAdDetails(params: FacebookAdLibraryAdDetailsParams): Promise<ApiEnvelope>;
1441
- /** Facebook Ad Transcript — Extract creative text from a Meta/Facebook ad as transcript text. (17 credits) */
1442
- facebookAdTranscript(params: FacebookAdLibraryAdTranscriptParams): Promise<ApiEnvelope>;
1443
- /** TikTok Ad Library Search — Search TikTok Ad Library and Creative Center. (70 credits) */
1444
- tiktokSearch(params: TiktokAdLibrarySearchParams): Promise<ApiEnvelope>;
1445
- /** TikTok Ad Details — TikTok ad details by ad URL or ID. (17 credits) */
1446
- tiktokAdDetails(params: TiktokAdLibraryAdDetailsParams): Promise<ApiEnvelope>;
1447
- /** Google Company Ads — Google Ads Transparency Center ads for an advertiser. (67 credits) */
1448
- googleCompanyAds(params: GoogleAdLibraryCompanyAdsParams): Promise<ApiEnvelope>;
1449
- /** Google Ad Details — Google ad details by Transparency Center URL. (17 credits) */
1450
- googleAdDetails(params: GoogleAdLibraryAdDetailsParams): Promise<ApiEnvelope>;
1451
- /** Google Advertiser Search — Search Google Ads advertisers. (45 credits) */
1452
- googleAdvertiserSearch(params: GoogleAdLibraryAdvertiserSearchParams): Promise<ApiEnvelope>;
1453
- /** LinkedIn Ad Library Search — Search LinkedIn Ad Library ads. (70 credits) */
1454
- linkedinSearchAds(params: LinkedinAdLibrarySearchAdsParams): Promise<ApiEnvelope>;
1455
- /** LinkedIn Ad Details — LinkedIn ad details by URL or ID. (17 credits) */
1456
- linkedinAdDetails(params: LinkedinAdLibraryAdDetailsParams): Promise<ApiEnvelope>;
2189
+ /** Website Contacts — Business website → role emails, E.164 phones, social profiles. 1 credit when something is found, 0 when not. (1 credit) */
2190
+ contacts(params: WebsiteContactsParams): Promise<ApiEnvelope>;
1457
2191
  }
1458
2192
  /** Captapi API client. Get your key at https://captapi.com/dashboard/api-keys */
1459
2193
  export declare class Captapi {
@@ -1469,8 +2203,14 @@ export declare class Captapi {
1469
2203
  readonly linkedin: LinkedinApi;
1470
2204
  readonly rumble: RumbleApi;
1471
2205
  readonly tiktokShop: TiktokShopApi;
2206
+ readonly facebookMarketplace: FacebookMarketplaceApi;
2207
+ readonly facebookEvents: FacebookEventsApi;
2208
+ readonly facebookAdLibrary: FacebookAdLibraryApi;
2209
+ readonly tiktokAdLibrary: TiktokAdLibraryApi;
2210
+ readonly googleAdLibrary: GoogleAdLibraryApi;
2211
+ readonly linkedinAdLibrary: LinkedinAdLibraryApi;
2212
+ readonly amazonShop: AmazonShopApi;
1472
2213
  readonly github: GithubApi;
1473
- readonly google: GoogleApi;
1474
2214
  readonly twitch: TwitchApi;
1475
2215
  readonly spotify: SpotifyApi;
1476
2216
  readonly soundcloud: SoundcloudApi;
@@ -1478,14 +2218,14 @@ export declare class Captapi {
1478
2218
  readonly snapchat: SnapchatApi;
1479
2219
  readonly truthSocial: TruthSocialApi;
1480
2220
  readonly kick: KickApi;
1481
- readonly amazonShop: AmazonShopApi;
1482
- readonly ageGender: AgeGenderApi;
1483
2221
  readonly account: AccountApi;
2222
+ readonly utilities: UtilitiesApi;
1484
2223
  readonly kwai: KwaiApi;
1485
2224
  readonly komi: KomiApi;
1486
2225
  readonly pillar: PillarApi;
1487
2226
  readonly linkbio: LinkbioApi;
1488
2227
  readonly linkme: LinkmeApi;
1489
- readonly adLibrary: AdLibraryApi;
2228
+ readonly googleMaps: GoogleMapsApi;
2229
+ readonly website: WebsiteApi;
1490
2230
  constructor(options?: CaptapiOptions);
1491
2231
  }