@captapi/sdk 0.1.0 → 0.2.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,1460 +1,2158 @@
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. Envelope includes cached + cachedAt on hits. */
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). */
16
+ maxCredits?: number;
17
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
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. Envelope includes cached + cachedAt on hits. */
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. Envelope includes cached + cachedAt on hits. */
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. Envelope includes cached + cachedAt on hits. */
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. Envelope includes cached + cachedAt on hits. */
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 | date | views | rating (alias: popular→views). */
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. Envelope includes cached + cachedAt on hits. */
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. Envelope includes cached + cachedAt on hits. */
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. Envelope includes cached + cachedAt on hits. */
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. Envelope includes cached + cachedAt on hits. */
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. Envelope includes cached + cachedAt on hits. */
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. Envelope includes cached + cachedAt on hits. */
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. Envelope includes cached + cachedAt on hits. */
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. Envelope includes cached + cachedAt on hits. */
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. Envelope includes cached + cachedAt on hits. */
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. Envelope includes cached + cachedAt on hits. */
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. Envelope includes cached + cachedAt on hits. */
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). */
104
160
  q: string;
105
- /** Max items to return. Default 20, max 200. Billed per result. */
161
+ /** Max items to return (default 20, 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. Envelope includes cached + cachedAt on hits. */
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. Envelope includes cached + cachedAt on hits. */
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. Envelope includes cached + cachedAt on hits. */
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. Envelope includes cached + cachedAt on hits. */
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. Envelope includes cached + cachedAt on hits. */
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. Envelope includes cached + cachedAt on hits. */
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 — GPT 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. (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). (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. (~20 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 URL, e.g. https://tiktok.com/@user/video/ID. 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 URL, e.g. https://tiktok.com/@user/video/ID. 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. Envelope includes cached + cachedAt on hits. */
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 URL, e.g. https://tiktok.com/@user/video/ID. 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. Envelope includes cached + cachedAt on hits. */
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 URL, e.g. https://tiktok.com/@user/video/ID. 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. Envelope includes cached + cachedAt on hits. */
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 (privacy ints, profileTab, …). 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. Envelope includes cached + cachedAt on hits. */
302
+ cache?: boolean;
303
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt. */
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 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
312
+ cache?: boolean;
211
313
  }
212
314
  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. */
315
+ /** 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
316
  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;
317
+ /** How many recent videos to sample comments from: 12 (default, 3 credits), 30 (5 credits), or 60 (8 credits). */
318
+ videos?: number;
319
+ /** Max countries in audienceLocations; remainder folds into other{count,percentage}. Omit for the full list (other is omitted when unused). */
320
+ countriesLimit?: number;
321
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
322
+ cache?: boolean;
221
323
  }
222
324
  export interface TiktokSearchSuggestionsParams {
223
- /** Seed keyword for autocomplete suggestions. */
325
+ /** Seed keyword to expand into autocomplete suggestions, e.g. skincare. */
224
326
  q: string;
225
- /** Two-letter ISO country code. Default US. */
327
+ /** Two-letter ISO country code that localizes the suggestions to a market, e.g. US, GB, DE. Default US. */
226
328
  country?: string;
227
- /** Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. */
329
+ /** Interface language for the suggestions, e.g. en-US or de-DE. Default en-US. */
228
330
  language?: string;
229
- /** Max items to return. Default 20, max 100. Billed per result. */
331
+ /** Max items to return (default 20, max 100). Flat 2 credits per call. */
230
332
  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;
333
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
334
+ cache?: boolean;
235
335
  }
236
336
  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. */
337
+ /** 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
338
  url: string;
239
- /** Max items to return. Default 20, max 200. Billed per result. */
339
+ /** How many of the creator's latest videos to return on this page (default 20, max 200). Newest first. Flat 2 credits per call. */
240
340
  limit?: number;
341
+ /** 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. */
342
+ cursor?: string;
343
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
344
+ cache?: boolean;
241
345
  }
242
346
  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. */
347
+ /** Public TikTok video URL, e.g. https://tiktok.com/@user/video/ID. 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
348
  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. */
349
+ /** ID of the parent (top-level) comment to fetch replies for — from the comments endpoint. Legacy alias: comment_id. */
350
+ commentId: string;
351
+ /** Max items to return (default 50, max 500). Flat 2 credits per call. */
248
352
  limit?: number;
353
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value from the previous response. */
354
+ cursor?: string;
355
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
356
+ cache?: boolean;
249
357
  }
250
358
  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. */
359
+ /** 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
360
  url: string;
253
- /** Max items to return. Default 50, max 500. Billed per result. */
361
+ /** Max items to return (default 50, max 500). Flat 1 credit per call. */
254
362
  limit?: number;
363
+ /** Pagination cursor (TikTok minCursor). Leave empty for the first page; then pass nextCursor from the previous response. */
364
+ cursor?: string;
365
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
366
+ cache?: boolean;
255
367
  }
256
368
  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. */
369
+ /** 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
370
  url: string;
259
- /** Max items to return. Default 50, max 500. Billed per result. */
371
+ /** Max items to return (default 50, max 500). Flat 1 credit per call. */
260
372
  limit?: number;
373
+ /** Pagination cursor (TikTok minCursor). Leave empty for the first page; then pass nextCursor from the previous response. */
374
+ cursor?: string;
375
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
376
+ cache?: boolean;
261
377
  }
262
378
  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. */
379
+ /** 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
380
  url: string;
265
- /** Max items to return. Default 20, max 200. Billed per result. */
381
+ /** Max items to return (default 20, max 200). Flat 2 credits per call. */
266
382
  limit?: number;
383
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
384
+ cursor?: string;
385
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
386
+ cache?: boolean;
267
387
  }
268
- export interface TiktokHashtagSearchParams {
269
- /** Hashtag with or without the # (min 2 chars). */
388
+ export interface TiktokTopSearchParams {
389
+ /** Search query or keywords (min 2 characters). */
270
390
  q: string;
271
- /** Max items to return. Default 20, max 200. Billed per result. */
391
+ /** Max items to return (default 20, max 200). Flat 2 credits per call. */
272
392
  limit?: number;
393
+ /** Pagination cursor. Leave 0 for the first page; then pass nextCursor from the previous response. TikTok may return duplicates across pages. */
394
+ cursor?: number;
395
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
396
+ cache?: boolean;
273
397
  }
274
- export interface TiktokTopSearchParams {
275
- /** Search query or keywords (min 2 chars). */
398
+ export interface TiktokSearchByHashtagParams {
399
+ /** Hashtag for the /tag/{name} challenge feed, with or without # (min 2). Not a keyword query. */
276
400
  q: string;
277
- /** Max items to return. Default 20, max 200. Billed per result. */
401
+ /** Max items to return (default 20, max 100). Billed per result. */
278
402
  limit?: number;
403
+ /** 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. */
404
+ cursor?: number;
405
+ /** Two-letter ISO 3166-1 country our request is sent from. Default US. Does not filter results by country. */
406
+ region?: string;
407
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
408
+ cache?: boolean;
279
409
  }
280
- export interface TiktokUserSearchParams {
281
- /** Search query or keywords (min 2 chars). */
410
+ export interface TiktokSearchUsersParams {
411
+ /** Search query matched against usernames, display names and bios (min 2 characters). */
282
412
  q: string;
283
- /** Max items to return. Default 20, max 100. Billed per result. */
413
+ /** Max items to return (default 20, max 100). Flat 1 credit per call. */
284
414
  limit?: number;
415
+ /** 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. */
416
+ cursor?: string;
417
+ /** Opt into the scraper actor when native search is unavailable (~2 min, capped at 100 s, degraded-empty on timeout). Default false — return an empty degraded page (0 credits) instead. */
418
+ fallback?: boolean;
419
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
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. Envelope includes cached + cachedAt on hits. */
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. Envelope includes cached + cachedAt on hits. */
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 legacy co-occurrence + challenge/detail enrich. Omit, or pass trending, to use the Creative Center chart. A chart miss is 502 — trending is not treated as a niche seed. */
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. Envelope includes cached + cachedAt on hits. */
462
+ cache?: boolean;
463
+ }
464
+ export interface TiktokPopularSongsParams {
465
+ /** Two-letter ISO country. Default US. */
466
+ country?: string;
467
+ /** 7, 30, or 120 days (180→120). Default 7. */
468
+ period?: number;
469
+ /** Page number (default 1). */
470
+ page?: number;
471
+ /** popular | surging. Default popular. */
472
+ rankType?: string;
473
+ /** Only sounds newly on the Top 100. */
474
+ newOnBoard?: boolean;
475
+ /** Only Commercial Music Library–cleared sounds. */
476
+ commercialMusic?: boolean;
477
+ /** Max items to return (default 20, max 20). Flat 2 credits per call. */
478
+ limit?: number;
479
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
480
+ cache?: boolean;
301
481
  }
302
482
  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. */
483
+ /** 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
484
  url: string;
485
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
486
+ cache?: boolean;
305
487
  }
306
488
  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. */
489
+ /** 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
490
  url: string;
491
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
492
+ cache?: boolean;
309
493
  }
310
494
  export interface TiktokPopularCreatorsParams {
311
495
  /** Two-letter ISO country code. Default US. */
312
496
  country?: string;
313
497
  /** follower, engagement, or popularity. Default follower. */
314
498
  sort?: string;
315
- /** Optional range: 10k-100k, 100k-1m, 1m-10m, >10m. */
499
+ /** Creative Center page (default 1). */
500
+ page?: number;
501
+ /** Optional range on FYP/Apify fallthrough: 10k-100k, 100k-1m, 1m-10m, >10m. */
316
502
  follower_count?: string;
317
- /** Max items to return. Default 20, max 100. Billed per result. */
503
+ /** Max items to return (default 20, max 100). Flat 2 credits per call. */
318
504
  limit?: number;
505
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits. */
506
+ cache?: boolean;
507
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt. */
508
+ cacheMaxAge?: string;
319
509
  }
320
510
  export declare class TiktokApi {
321
511
  private readonly core;
322
512
  constructor(core: HttpCore);
323
- /** TikTok Transcript — Transcript of a TikTok video (via captions). (2 credits) */
513
+ /** TikTok Transcript — Transcript (2 credits) */
324
514
  transcript(params: TiktokTranscriptParams): Promise<ApiEnvelope>;
325
- /** TikTok Summarizer — AI summary of a TikTok video. (4 credits) */
515
+ /** TikTok Summarizer — Summarizer (4 credits) */
326
516
  summarize(params: TiktokSummarizeParams): Promise<ApiEnvelope>;
327
- /** TikTok Video Details — Metadata + stats for a TikTok video. (1 credit) */
517
+ /** 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
518
  videoDetails(params: TiktokVideoDetailsParams): Promise<ApiEnvelope>;
329
- /** TikTok Comments — Comments on a TikTok video. (10 credits) */
519
+ /** 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
520
  comments(params: TiktokCommentsParams): Promise<ApiEnvelope>;
331
- /** TikTok Channel Details — Profile info & stats for a TikTok user. (1 credit) */
521
+ /** TikTok Channel Details — Resolve a TikTok @handle to id + secUid — createTime, ttSeller, bioLink, decoded privacy flags. (1 credit) */
332
522
  channelDetails(params: TiktokChannelDetailsParams): Promise<ApiEnvelope>;
333
- /** TikTok Profile Region — Region and language signals for a TikTok profile. (7 credits) */
523
+ /** 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
524
  profileRegion(params: TiktokProfileRegionParams): Promise<ApiEnvelope>;
335
- /** TikTok Audience Demographics — Audience and demographic signals for a TikTok profile. (7 credits) */
525
+ /** TikTok Audience Demographics — Audience country + language mix for a TikTok creator — engagement sample, not a follower census. (3 credits) */
336
526
  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) */
527
+ /** 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
528
  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) */
529
+ /** TikTok Channel Posts — Latest videos from a TikTok profile. May return a labelled 6h-stale snapshot (degraded + staleAgeMs) when the live list is blocked. Failures are 0 credits. (2 credits) */
344
530
  channelPosts(params: TiktokChannelPostsParams): Promise<ApiEnvelope>;
345
- /** TikTok Comment Replies — Replies to a specific TikTok comment. (50 credits) */
531
+ /** TikTok Comment Replies — Replies under a TikTok comment — same authorId/authorSecUid/commentLanguage shape as comments. (2 credits) */
346
532
  commentReplies(params: TiktokCommentRepliesParams): Promise<ApiEnvelope>;
347
- /** TikTok User Followers — List a TikTok user's followers. (20 credits) */
533
+ /** TikTok User Followers — List a TikTok user's followers — id, secUid, createTime, region, language, cursor pagination. Flat 1 credit. (1 credit) */
348
534
  userFollowers(params: TiktokUserFollowersParams): Promise<ApiEnvelope>;
349
- /** TikTok User Followings — List who a TikTok user follows. (20 credits) */
535
+ /** TikTok User Followings — List who a TikTok user follows — id, secUid, createTime, region, language, cursor pagination. Flat 1 credit. (1 credit) */
350
536
  userFollowings(params: TiktokUserFollowingsParams): Promise<ApiEnvelope>;
351
- /** TikTok Music Posts — Posts using a specific TikTok sound/music. (32 credits) */
537
+ /** 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
538
  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) */
539
+ /** TikTok Top Search — TikTok Top/General search — videos and photo carousels when TikTok includes them, with contentType + images[]. (2 credits) */
356
540
  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) */
541
+ /** TikTok Search by Hashtag — Videos from TikTok's /tag/{name} challenge feed — not keyword or username search. Cursor + hasMore. (~14 credits (0.7/result)) */
542
+ searchByHashtag(params: TiktokSearchByHashtagParams): Promise<ApiEnvelope>;
543
+ /** TikTok Search Users — Search TikTok users — distinct creators only, id + secUid, per-counter isApproximate flags, cursor pagination. (1 credit) */
544
+ searchUsers(params: TiktokSearchUsersParams): Promise<ApiEnvelope>;
545
+ /** TikTok Song Details — TikTok sound metadata — usageCount, artists[{id,secUid,handle}], audio{bpm,loudness,beats}, commerce rights (1 credit native). (1 credit) */
360
546
  songDetails(params: TiktokSongDetailsParams): Promise<ApiEnvelope>;
361
- /** TikTok Trending Feed — TikTok trending (For You) videos by region. (14 credits) */
547
+ /** 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
548
  trendingFeed(params?: TiktokTrendingFeedParams): Promise<ApiEnvelope>;
363
- /** TikTok Popular Hashtags — Trending TikTok hashtags for a topic/keyword. (14 credits) */
549
+ /** TikTok Popular Hashtags — TikTok Creative Center hashtag chart — real videoCount/totalPlays, plus rankDiff and trend[] on that path. Flat 2 credits. (2 credits) */
364
550
  popularHashtags(params?: TiktokPopularHashtagsParams): Promise<ApiEnvelope>;
365
- /** TikTok Live — Live status & room info for a TikTok creator. (1 credit) */
551
+ /** TikTok Popular Songs — Creative Center popular/surging sounds — rankDiff, trend[], commercialMusic. 110s deadline, 0 credits on 502. (2 credits) */
552
+ popularSongs(params?: TiktokPopularSongsParams): Promise<ApiEnvelope>;
553
+ /** TikTok Live — Is this TikTok creator live — isLive/status, creator.id/secUid, room, streamQualities with flv/hls/cmaf/dash. (1 credit) */
366
554
  live(params: TiktokLiveParams): Promise<ApiEnvelope>;
367
- /** TikTok Live Info — Live room details for a TikTok creator. (7 credits) */
555
+ /** TikTok Live Info — Identical to TikTok Live (isLive, creator.id/secUid, streamQualities hls/cmaf). (7 credits) */
368
556
  liveInfo(params: TiktokLiveInfoParams): Promise<ApiEnvelope>;
369
- /** TikTok Popular Creators — Popular TikTok creators by country and ranking mode. (28 credits) */
557
+ /** TikTok Popular Creators — Creative Center creators + createTime / bioLinkRisk / ttSeller hydrate for partnership vetting. (2 credits) */
370
558
  popularCreators(params?: TiktokPopularCreatorsParams): Promise<ApiEnvelope>;
371
559
  }
372
560
  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. */
561
+ /** 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
562
  url: string;
563
+ /** Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. */
564
+ language?: string;
565
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
566
+ cache?: boolean;
375
567
  }
376
568
  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. */
569
+ /** 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
570
  url: string;
571
+ /** ISO code, e.g. "tr": pins the speech language and sets the summary output language. Defaults to auto-detect + English summary. */
572
+ language?: string;
573
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
574
+ cache?: boolean;
379
575
  }
380
576
  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. */
577
+ /** 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
578
  url: string;
579
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
580
+ cache?: boolean;
383
581
  }
384
582
  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. */
583
+ /** 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
584
  url: string;
387
- /** Max items to return. Default 50, max 500. Billed per result. */
585
+ /** Max items to return (default 50, max 500). Billed per result. */
388
586
  limit?: number;
587
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
588
+ cache?: boolean;
389
589
  }
390
590
  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. */
591
+ /** 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
592
  url: string;
593
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits. */
594
+ cache?: boolean;
595
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt. */
596
+ cacheMaxAge?: string;
393
597
  }
394
598
  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. */
599
+ /** 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
600
  url: string;
397
- /** Max items to return. Default 20, max 200. Billed per result. */
601
+ /** Max items to return (default 20, max 200). Billed per result. */
398
602
  limit?: number;
603
+ /** 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. */
604
+ cursor?: string;
605
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
606
+ cache?: boolean;
399
607
  }
400
608
  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. */
609
+ /** Instagram profile URL, @handle, or username. Omit when userId is set. The URL platform must match this endpoint's platform. */
610
+ url?: string;
611
+ /** 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. */
612
+ userId?: string;
613
+ /** Max items to return (default 20, max 200). Billed per result. */
404
614
  limit?: number;
615
+ /** 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. */
616
+ cursor?: string;
617
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
618
+ cache?: boolean;
405
619
  }
406
620
  export interface InstagramReelsSearchParams {
407
- /** Hashtag (without #) or keyword (min 2 chars). */
621
+ /** Hashtag (without #) or keyword (min 2 characters). */
408
622
  q: string;
409
- /** Max items to return. Default 20, max 200. Billed per result. */
623
+ /** Max items to return (default 20, max 200). Flat 2 credits per call. */
410
624
  limit?: number;
625
+ /** last_24_hours | last_week | last_month | last_year (aliases: today, this_week, this_month, this_year). */
626
+ datePosted?: string;
627
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
628
+ cache?: boolean;
411
629
  }
412
630
  export interface InstagramTrendingReelsParams {
413
- /** Country name for Explore localization. Default United States. */
631
+ /** 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
632
  country?: string;
415
- /** Max items to return. Default 20, max 200. Billed per result. */
633
+ /** Max items to return (default 10, max 200). Flat 2 credits per call. */
416
634
  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;
635
+ /** 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 (typically under 20s, hard-capped at 110s); the fresh result still refreshes the cache. */
636
+ cache?: boolean;
421
637
  }
422
638
  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. */
639
+ /** 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. */
424
640
  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. */
430
- url: string;
431
- /** Max items to return. Default 20, max 200. Billed per result. */
641
+ /** Max items to return (default 20, max 200). Flat 1 credit per call. */
432
642
  limit?: number;
643
+ /** Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
644
+ cursor?: string;
645
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
646
+ cache?: boolean;
433
647
  }
434
648
  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. */
649
+ /** Instagram audio/music ID or full audio URL, e.g. 27919946310946207. */
650
+ audioId: string;
651
+ /** Max items to return (default 20, max 200). Billed per result. */
438
652
  limit?: number;
653
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
654
+ cache?: boolean;
439
655
  }
440
656
  export interface InstagramHashtagSearchParams {
441
- /** Hashtag without the # (min 2 chars). */
657
+ /** Hashtag without the # (min 2 characters). */
442
658
  q: string;
443
- /** Max items to return. Default 20, max 200. Billed per result. */
659
+ /** Max items to return (default 20, max 200). Flat 2 credits per call. */
444
660
  limit?: number;
661
+ /** all (default) or reels — return only Reels/clips when set to reels. */
662
+ mediaType?: string;
663
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
664
+ cache?: boolean;
445
665
  }
446
666
  export interface InstagramProfileSearchParams {
447
- /** Search query or keywords (min 2 chars). */
667
+ /** Account name, @handle, or profile URL to resolve (min 2 characters). Not a niche keyword search. */
448
668
  q: string;
449
- /** Max items to return. Default 20, max 100. Billed per result. */
450
- limit?: number;
669
+ /** Serve from the 24h shared cache when available (0 credits on hit). Default true — set false to always fetch fresh. */
670
+ cache?: boolean;
451
671
  }
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. */
672
+ export interface InstagramEmbedParams {
673
+ /** 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
674
  url: string;
675
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
676
+ cache?: boolean;
455
677
  }
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;
678
+ export interface InstagramHighlightsParams {
679
+ /** Instagram profile URL, @handle, or username. Omit when userId is set. */
680
+ url?: string;
681
+ /** 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. */
682
+ userId?: string;
683
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
684
+ cache?: boolean;
461
685
  }
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;
686
+ export interface InstagramHighlightsDetailsParams {
687
+ /** Highlight id from /v1/instagram/highlights (with or without highlight: prefix). */
688
+ id: string;
689
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
690
+ cache?: boolean;
465
691
  }
466
692
  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;
693
+ /** Instagram numeric user ID (e.g. 13460080). A profile URL, @handle, or username is also accepted and resolved automatically. */
694
+ userId: string;
695
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits. */
696
+ cache?: boolean;
697
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt. */
698
+ cacheMaxAge?: string;
469
699
  }
470
700
  export declare class InstagramApi {
471
701
  private readonly core;
472
702
  constructor(core: HttpCore);
473
- /** Instagram Transcript — Transcript of an Instagram Reel. (2 credits) */
703
+ /** 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
704
  transcript(params: InstagramTranscriptParams): Promise<ApiEnvelope>;
475
- /** Instagram Summarizer — AI summary of an Instagram Reel. (4 credits) */
705
+ /** Instagram Summarizer — Get an AI summary of any Instagram Reel — a short paragraph plus key points, without watching the video. (4 credits) */
476
706
  summarize(params: InstagramSummarizeParams): Promise<ApiEnvelope>;
477
- /** Instagram Details — Details for an Instagram post or reel. (1 credit) */
707
+ /** Instagram Post Details — Get an Instagram post, Reel or carousel — caption, likes, comments, views, media URLs, author, and per-slide children on carousels. (1 credit) */
478
708
  details(params: InstagramDetailsParams): Promise<ApiEnvelope>;
479
- /** Instagram Comments — Comments on an Instagram post or reel. (45 credits) */
709
+ /** Instagram Post Comments — Get the comments on any Instagram post or Reel — text, author, avatar, likes, and timestamp for each comment. (~45 credits (0.9/result)) */
480
710
  comments(params: InstagramCommentsParams): Promise<ApiEnvelope>;
481
- /** Instagram Channel Details — Profile info & stats for an Instagram account. (1 credit) */
711
+ /** Instagram Channel Details — Instagram profile stats — fixed key set (null fillers), fbid, bioLinks, isBusinessAccount, approx flags. (1 credit) */
482
712
  channelDetails(params: InstagramChannelDetailsParams): Promise<ApiEnvelope>;
483
- /** Instagram Channel Posts — Latest posts from an Instagram profile. (12 credits) */
713
+ /** Instagram Channel Posts — Latest posts from a public Instagram profile — carousel children[], mediaCount, user{} in one call. (~6 credits (0.3/result)) */
484
714
  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) */
715
+ /** Instagram Channel Reels — Latest Reels from a public Instagram profile — pass userId to skip resolve; ceil(n×0.3) credits; nextCursor + hasMore. (~6 credits (0.3/result)) */
716
+ channelReels(params?: InstagramChannelReelsParams): Promise<ApiEnvelope>;
717
+ /** Instagram Reels Search — Native Instagram Reels hashtag search — engagement.views + viewsSource, location, commercial flags. Flat 2 credits. (2 credits) */
488
718
  reelsSearch(params: InstagramReelsSearchParams): Promise<ApiEnvelope>;
489
- /** Instagram Trending Reels — Trending Instagram Reels / Explore posts by country. (28 credits) */
719
+ /** Instagram Trending Reels — Cache-first trending Reels — flat 2 credits every call (4h TTL). (2 credits) */
490
720
  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) */
721
+ /** Instagram Tagged Posts — Posts that tag an Instagram account — author verified/avatar when available, staleFeed when Instagram only exposes an archive. (1 credit) */
494
722
  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) */
723
+ /** Instagram Reels By Audio ID — Is this Instagram sound trending? Reels that use it + isTrendingInClips / trendRank / rich music{}. (~28 credits (1.4/result)) */
498
724
  reelsByAudioId(params: InstagramReelsByAudioIdParams): Promise<ApiEnvelope>;
499
- /** Instagram Hashtag Search — Search Instagram posts by hashtag. (12 credits) */
725
+ /** Instagram Hashtag Search — Native Instagram hashtag Explore — Reels-heavy top surface with real likes, views, captions, and paid flags. Flat 2 credits. (2 credits) */
500
726
  hashtagSearch(params: InstagramHashtagSearchParams): Promise<ApiEnvelope>;
501
- /** Instagram Profile Search — Search Instagram profiles by keyword. (12 credits) */
727
+ /** Instagram Profile Search — Resolve a brand or @handle to one public Instagram profile — stable id, bio, links, and stats (not niche discovery). (1 credit) */
502
728
  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) */
729
+ /** Instagram Embed HTML — Classic Instagram embed snippet — blockquote.instagram-media + embed.js. Drop html into your page. (1 credit) */
508
730
  embed(params: InstagramEmbedParams): Promise<ApiEnvelope>;
509
- /** Instagram Basic Profile — Lightweight Instagram profile lookup (core fields). (1 credit) */
731
+ /** Instagram Highlights — Persistent Story Highlight albums for a public profile — id, title, cover, owner. Flat 1 credit. (1 credit) */
732
+ highlights(params?: InstagramHighlightsParams): Promise<ApiEnvelope>;
733
+ /** Instagram Highlights Details — Items inside one Instagram Story Highlight album — media URLs, type, takenAt. Flat 1 credit. (1 credit) */
734
+ highlightsDetails(params: InstagramHighlightsDetailsParams): Promise<ApiEnvelope>;
735
+ /** Instagram Basic Profile — Instagram profile by user ID or @handle — camelCase schema aligned with Channel Details (followers, externalUrl, businessAddress). (1 credit) */
510
736
  basicProfile(params: InstagramBasicProfileParams): Promise<ApiEnvelope>;
511
737
  }
512
738
  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. */
739
+ /** 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
740
  url: string;
741
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
742
+ cache?: boolean;
519
743
  }
520
744
  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. */
745
+ /** 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
746
  url: string;
747
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
748
+ cache?: boolean;
523
749
  }
524
750
  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. */
751
+ /** Facebook post or Reel URL. Omit when feedbackId is set. The URL platform must match this endpoint's platform. */
752
+ url?: string;
753
+ /** Post feedback id from /v1/facebook/details (base64 feedback:POSTID). Prefer when you already have it — also accepts feedback_id. */
754
+ feedbackId?: string;
755
+ /** Max items to return (default 50, max 500). Flat 2 credits per call. */
528
756
  limit?: number;
757
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
758
+ cache?: boolean;
529
759
  }
530
760
  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. */
761
+ /** 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
762
  url: string;
763
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
764
+ cache?: boolean;
533
765
  }
534
766
  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. */
767
+ /** 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
768
  url: string;
537
- /** Max items to return. Default 20, max 200. Billed per result. */
769
+ /** 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
770
  limit?: number;
771
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
772
+ cache?: boolean;
539
773
  }
540
774
  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. */
775
+ /** 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
776
  url: string;
543
- /** Max items to return. Default 20, max 200. Billed per result. */
777
+ /** Max items to return (default 20, max 200). Flat 2 credits per call. */
544
778
  limit?: number;
779
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
780
+ cache?: boolean;
545
781
  }
546
782
  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. */
783
+ /** Public Facebook group URL, e.g. https://facebook.com/groups/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. */
548
784
  url: string;
549
- /** Max items to return. Default 20, max 200. Billed per result. */
785
+ /** Max items to return (default 20, max 200). Flat 2 credits per call. */
550
786
  limit?: number;
787
+ /** TOP_POSTS | RECENT_ACTIVITY | CHRONOLOGICAL (default) | CHRONOLOGICAL_LISTINGS. Maps to Facebook sorting_setting. */
788
+ sortBy?: string;
789
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
790
+ cache?: boolean;
551
791
  }
552
792
  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. */
793
+ /** 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
794
  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. */
795
+ /** ID of the parent (top-level) comment to fetch replies for — from the comments endpoint. Legacy alias: comment_id. */
796
+ commentId: string;
797
+ /** Max items to return (default 50, max 500). Flat 2 credits per call. */
580
798
  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;
799
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
800
+ cache?: boolean;
585
801
  }
586
802
  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. */
803
+ /** 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
804
  url: string;
589
- /** Max items to return. Default 20, max 200. Billed per result. */
805
+ /** 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
806
  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;
807
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
808
+ cache?: boolean;
601
809
  }
602
810
  export declare class FacebookApi {
603
811
  private readonly core;
604
812
  constructor(core: HttpCore);
605
- /** Facebook Details — Details for a Facebook video or post. (1 credit) */
813
+ /** Facebook Details — Facebook post or Reel — caption, engagement, author id, video{} playback, and music when Facebook exposes them. (2 credits) */
606
814
  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) */
815
+ /** Facebook Summarizer — Summarizer (4 credits) */
610
816
  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) */
817
+ /** Facebook Comments — Facebook post comments with reactionCount, reactions.like when mixed, author.id (pfbid), and replyCount. (2 credits) */
818
+ comments(params?: FacebookCommentsParams): Promise<ApiEnvelope>;
819
+ /** Facebook Page Details — Facebook page profile — likes vs followers (distinct), talkingAbout, category, website, and public email. (2 credits) */
614
820
  pageDetails(params: FacebookPageDetailsParams): Promise<ApiEnvelope>;
615
- /** Facebook Profile Posts — Latest posts from a Facebook profile/page. (12 credits) */
821
+ /** Facebook Profile Posts — Latest posts and Reels from a Facebook page — listingHits / timings.phase; 60s deadline, failures 0 credits. (2 credits) */
616
822
  profilePosts(params: FacebookProfilePostsParams): Promise<ApiEnvelope>;
617
- /** Facebook Profile Reels — Latest Reels from a Facebook profile/page. (36 credits) */
823
+ /** Facebook Profile Reels — Latest Facebook page Reels — views, likes, comments, shares; newest-first without archive padding. (2 credits) */
618
824
  profileReels(params: FacebookProfileReelsParams): Promise<ApiEnvelope>;
619
- /** Facebook Group Posts — Posts from a public Facebook group. (12 credits) */
825
+ /** Facebook Group Posts — Public Facebook group posts — listingHits / hydrateFailures / hydrateSkipped, sortBy, and per-count *IsApproximate. (2 credits) */
620
826
  groupPosts(params: FacebookGroupPostsParams): Promise<ApiEnvelope>;
621
- /** Facebook Comment Replies — Replies to a specific Facebook comment. (30 credits) */
827
+ /** Facebook Comment Replies — Comment Replies (2 credits) */
622
828
  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) */
829
+ /** Facebook Profile Photos — Photo grid from a Facebook Page — full image URL plus accessibilityCaption (alt-text, not a post caption). (2 credits) */
632
830
  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
831
  }
638
832
  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. */
833
+ /** 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
834
  url: string;
835
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
836
+ cache?: boolean;
641
837
  }
642
838
  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. */
839
+ /** 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
840
  url: string;
841
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
842
+ cache?: boolean;
645
843
  }
646
844
  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. */
845
+ /** 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
846
  url: string;
847
+ /** Set true to use the 1-hour profile cache (0 credits on hit). Default false — always fetch fresh. Prefer cacheMaxAge for 1d–30d. Envelope includes cached + cachedAt on hits. */
848
+ cache?: boolean;
849
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt. */
850
+ cacheMaxAge?: string;
649
851
  }
650
852
  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. */
853
+ /** 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
854
  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. */
855
+ /** 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
856
  limit?: number;
857
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
858
+ cache?: boolean;
661
859
  }
662
860
  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. */
861
+ /** 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
862
  url: string;
863
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
864
+ cache?: boolean;
665
865
  }
666
866
  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. */
867
+ /** 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
868
  url: string;
669
- /** Max items to return. Default 25, max 200. Billed per result. */
869
+ /** Max items to return (default 25, max 200). Flat 2 credits per call. */
670
870
  limit?: number;
871
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
872
+ cache?: boolean;
671
873
  }
672
874
  export declare class TwitterApi {
673
875
  private readonly core;
674
876
  constructor(core: HttpCore);
675
- /** Twitter/X Tweet Details — Metadata + engagement stats for a tweet. (1 credit) */
877
+ /** Twitter/X Tweet Details — One tweet as JSON — text, author (followers), likes/replies/retweets/quotes, media, ISO publishedAt. (1 credit) */
676
878
  tweetDetails(params: TwitterTweetDetailsParams): Promise<ApiEnvelope>;
677
- /** Twitter/X Transcript — Extract tweet text as transcript text. (7 credits) */
879
+ /** Twitter/X Transcript — Tweet text as a transcript — timingSource none (not Whisper). Flat 1 credit. (1 credit) */
678
880
  transcript(params: TwitterTranscriptParams): Promise<ApiEnvelope>;
679
- /** Twitter/X Profile — Profile info & stats for a Twitter/X account. (1 credit) */
881
+ /** Twitter/X Profile — X profile: verified + blue/legacy/identity, displayName, avatar/banner, tipjar→contact{}, expanded website. (1 credit) */
680
882
  profile(params: TwitterProfileParams): Promise<ApiEnvelope>;
681
- /** Twitter/X User Tweets — Recent tweets from a Twitter/X profile. (14 credits) */
883
+ /** 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
884
  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) */
885
+ /** Twitter/X Community — X Community metadata — ISO createdAt, flat creator handle, isNsfw + bannerImage, rules[]. (1 credit) */
686
886
  community(params: TwitterCommunityParams): Promise<ApiEnvelope>;
687
- /** Twitter/X Community Tweets — Tweets posted in an X community. (18 credits) */
887
+ /** Twitter/X Community Tweets — Posts in an X Community — same 6-metric tweet shape as search. Flat 2 credits. (2 credits) */
688
888
  communityTweets(params: TwitterCommunityTweetsParams): Promise<ApiEnvelope>;
689
889
  }
690
890
  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. */
891
+ /** 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
892
  url: string;
693
- /** Max items to return. Default 25, max 200. Billed per result. */
893
+ /** Max items to return (default 25, max 200). Flat 2 credits per call. */
694
894
  limit?: number;
895
+ /** Feed sort: best, hot, new (default), top, or rising. */
896
+ sort?: string;
897
+ /** For sort=top: hour, day (default), week, month, year, or all. */
898
+ timeframe?: string;
899
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
900
+ cursor?: string;
901
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
902
+ cache?: boolean;
695
903
  }
696
904
  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. */
905
+ /** 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
906
  url: string;
907
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
908
+ cache?: boolean;
699
909
  }
700
910
  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. */
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. */
702
912
  url: string;
703
- /** Max items to return. Default 50, max 500. Billed per result. */
913
+ /** Max items to return (default 50, max 500). Flat 2 credits per call. */
704
914
  limit?: number;
915
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
916
+ cursor?: string;
917
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
918
+ cache?: boolean;
705
919
  }
706
920
  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. */
921
+ /** 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
922
  url: string;
709
- /** Max items to return. Default 50, max 200. Billed per result. */
923
+ /** Max items to return (default 50, max 200). Flat 2 credits per call. */
710
924
  limit?: number;
925
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
926
+ cache?: boolean;
711
927
  }
712
928
  export interface RedditSearchParams {
713
- /** Search query or keywords (min 2 chars). */
929
+ /** Keyword or phrase to search Reddit posts site-wide (min 2 characters). */
714
930
  q: string;
715
- /** Max items to return. Default 25, max 200. Billed per result. */
931
+ /** relevance (default) | new | top | hot | comments (alias: comment_count). */
932
+ sort?: string;
933
+ /** For sort=top or comments: hour | day | week | month | year | all (default all). */
934
+ timeframe?: string;
935
+ /** Max items to return (default 25, max 200). Flat 2 credits per call. */
716
936
  limit?: number;
937
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
938
+ cursor?: string;
939
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
940
+ cache?: boolean;
717
941
  }
718
942
  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. */
943
+ /** 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
944
  url: string;
945
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
946
+ cache?: boolean;
721
947
  }
722
948
  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. */
949
+ /** 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
950
  url: string;
725
- /** Search query or keywords (min 2 chars). */
951
+ /** Keywords or search query (min 2 characters). */
726
952
  q: string;
727
- /** Max items to return. Default 25, max 200. Billed per result. */
953
+ /** relevance (default) | new | top | hot | comments (alias: comment_count). */
954
+ sort?: string;
955
+ /** For sort=top or comments: hour | day | week | month | year | all (default all). */
956
+ timeframe?: string;
957
+ /** Max items to return (default 25, max 200). Flat 2 credits per call. */
728
958
  limit?: number;
959
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
960
+ cursor?: string;
961
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
962
+ cache?: boolean;
729
963
  }
730
964
  export declare class RedditApi {
731
965
  private readonly core;
732
966
  constructor(core: HttpCore);
733
- /** Reddit Subreddit Posts — Recent posts in a subreddit. (10 credits) */
967
+ /** Reddit Subreddit Posts — List posts from a subreddit with sort, timeframe, and cursor pagination — title, score, upvote ratio, flair, and more. (2 credits) */
734
968
  subredditPosts(params: RedditSubredditPostsParams): Promise<ApiEnvelope>;
735
- /** Reddit Post Details — Metadata + stats for a Reddit post. (1 credit) */
969
+ /** Reddit Post Details — Get a Reddit post — title, body, score, comments count, subreddit, and author as structured JSON. (1 credit) */
736
970
  postDetails(params: RedditPostDetailsParams): Promise<ApiEnvelope>;
737
- /** Reddit Post Comments — Comments on a Reddit post. (20 credits) */
971
+ /** Reddit Post Comments — Flat Reddit comment threads with depth/parentId, cursor pagination, and the parent post in one call. (2 credits) */
738
972
  postComments(params: RedditPostCommentsParams): Promise<ApiEnvelope>;
739
- /** Reddit Post Transcript — Extract Reddit post text and top comments as a discussion transcript. (20 credits) */
973
+ /** Reddit Post Transcript — Written post text — title, body and top comments. Not a speech transcript. Flat 2 credits. (2 credits) */
740
974
  postTranscript(params: RedditPostTranscriptParams): Promise<ApiEnvelope>;
741
- /** Reddit Search — Search Reddit posts by keyword. (10 credits) */
975
+ /** Reddit Search — Reddit site-wide post search — sort + timeframe + cursor, score/upvoteRatio, authorFullname. Flat 2 credits. (2 credits) */
742
976
  search(params: RedditSearchParams): Promise<ApiEnvelope>;
743
- /** Reddit Subreddit Details — Info & member stats for a subreddit. (1 credit) */
977
+ /** Reddit Subreddit Details — Subreddit card — id (t5_…), members, activeUsers, rules[], ISO createdAt, nsfw/type. Flat 1 credit. (1 credit) */
744
978
  subredditDetails(params: RedditSubredditDetailsParams): Promise<ApiEnvelope>;
745
- /** Reddit Subreddit Search — Search posts within a specific subreddit. (10 credits) */
979
+ /** 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
980
  subredditSearch(params: RedditSubredditSearchParams): Promise<ApiEnvelope>;
747
981
  }
748
982
  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. */
983
+ /** 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
984
  url: string;
985
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
986
+ cache?: boolean;
751
987
  }
752
988
  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. */
989
+ /** 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
990
  url: string;
755
- /** Max items to return. Default 20, max 100. Billed per result. */
991
+ /** Max items to return (default 20, max 100). Threads only exposes the last ~20–30 public posts on this surface — asking for 100 will not return 100. Flat 2 credits on the native path; Apify fallback ~0.7/post (min 2). */
756
992
  limit?: number;
993
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
994
+ cache?: boolean;
757
995
  }
758
996
  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. */
997
+ /** 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
998
  url: string;
999
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1000
+ cache?: boolean;
761
1001
  }
762
1002
  export interface ThreadsSearchParams {
763
- /** Search query or keywords (min 2 chars). */
1003
+ /** Keyword or phrase to search public Threads posts (min 2 characters). */
764
1004
  q: string;
765
- /** Max items to return. Default 25, max 200. Billed per result. */
1005
+ /** Max items to return (default 25, max 200). Flat 2 credits per call. */
766
1006
  limit?: number;
1007
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1008
+ cache?: boolean;
767
1009
  }
768
1010
  export interface ThreadsSearchUsersParams {
769
- /** Search query or keywords (min 2 chars). */
1011
+ /** Keyword to find Threads users / creators (min 2 characters). */
770
1012
  q: string;
771
- /** Max items to return. Default 20, max 100. Billed per result. */
1013
+ /** Max items to return (default 20, max 100). Flat 1 credit per call. */
772
1014
  limit?: number;
1015
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1016
+ cache?: boolean;
773
1017
  }
774
1018
  export declare class ThreadsApi {
775
1019
  private readonly core;
776
1020
  constructor(core: HttpCore);
777
- /** Threads Profile — Profile info & stats for a Threads account. (1 credit) */
1021
+ /** Threads Profile — Threads profile — displayName, private/isPrivate, bioLinks (Meta verified), isThreadsOnlyUser, transparencyLabel, bioFragments, HD avatars (1 credit). (1 credit) */
778
1022
  profile(params: ThreadsProfileParams): Promise<ApiEnvelope>;
779
- /** Threads User Posts — Recent posts from a Threads profile. (14 credits) */
1023
+ /** Threads User Posts — Recent Threads posts — engagement{views,likes,replies,reposts,quotes}, threadId/isReply. Flat 2 credits. (2 credits) */
780
1024
  userPosts(params: ThreadsUserPostsParams): Promise<ApiEnvelope>;
781
- /** Threads Post Details — Metadata + engagement for a Threads post. (1 credit) */
1025
+ /** Threads Post Details — Threads post — engagement (views when exposed), comments[], relatedPosts[], threadId/isReply. Flat 1 credit. (1 credit) */
782
1026
  postDetails(params: ThreadsPostDetailsParams): Promise<ApiEnvelope>;
783
- /** Threads Search — Search Threads posts by keyword. (18 credits) */
1027
+ /** Threads Post Search — Threads keyword search — posts with engagement + media. Flat 2 credits. (2 credits) */
784
1028
  search(params: ThreadsSearchParams): Promise<ApiEnvelope>;
785
- /** Threads Search Users — Find Threads users matching a keyword. (14 credits) */
1029
+ /** Threads Search Users — Threads user discovery from keyword search — id, handle, avatar, verified. Flat 1 credit. (1 credit) */
786
1030
  searchUsers(params: ThreadsSearchUsersParams): Promise<ApiEnvelope>;
787
1031
  }
788
1032
  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. */
1033
+ /** 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
1034
  url: string;
1035
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits. */
1036
+ cache?: boolean;
1037
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt. */
1038
+ cacheMaxAge?: string;
791
1039
  }
792
1040
  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. */
1041
+ /** 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
1042
  url: string;
795
- /** Max items to return. Default 25, max 100. Billed per result. */
1043
+ /** Max items to return (default 25, max 100). Billed per result. */
796
1044
  limit?: number;
1045
+ /** 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). */
1046
+ cursor?: string;
1047
+ /** 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. */
1048
+ filter?: string;
1049
+ /** When false, omit repost rows (reasonRepost). Default true — reposts are included and marked with isRepost / repostedBy / repostedAt. */
1050
+ includeReposts?: boolean;
1051
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1052
+ cache?: boolean;
797
1053
  }
798
1054
  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. */
1055
+ /** 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
1056
  url: string;
1057
+ /** Reply nesting levels under the post (0 = post only with no replies[], default 1, max 6). Maps to Bluesky getPostThread depth. */
1058
+ depth?: number;
1059
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1060
+ cache?: boolean;
801
1061
  }
802
1062
  export declare class BlueskyApi {
803
1063
  private readonly core;
804
1064
  constructor(core: HttpCore);
805
- /** Bluesky Profile — Profile info & stats for a Bluesky account. (1 credit) */
1065
+ /** Bluesky Profile — Bluesky profile — handle, did, bio, counts, banner, verification{}, labels[], and associated{} (1 credit). (1 credit) */
806
1066
  profile(params: BlueskyProfileParams): Promise<ApiEnvelope>;
807
- /** Bluesky User Posts — Recent posts from a Bluesky profile. (3 credits) */
1067
+ /** Bluesky User Posts — Author feed — posts and reposts (isRepost marked), quote/external/images embeds, opaque cursor. (~3 credits (0.1/result)) */
808
1068
  userPosts(params: BlueskyUserPostsParams): Promise<ApiEnvelope>;
809
- /** Bluesky Post Details — Metadata + engagement for a Bluesky post. (1 credit) */
1069
+ /** Bluesky Post Details — Post thread via getPostThread — nested replies[], facet links/mentions/hashtags, rich author (1 credit). (1 credit) */
810
1070
  postDetails(params: BlueskyPostDetailsParams): Promise<ApiEnvelope>;
811
1071
  }
812
1072
  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. */
1073
+ /** 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
1074
  url: string;
1075
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1076
+ cache?: boolean;
815
1077
  }
816
1078
  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. */
1079
+ /** 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
1080
  url: string;
819
- /** Max items to return. Default 25, max 200. Billed per result. */
1081
+ /** Max items to return (default 25, max 200). Billed per result. */
820
1082
  limit?: number;
1083
+ /** 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). */
1084
+ cursor?: string;
1085
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1086
+ cache?: boolean;
821
1087
  }
822
1088
  export interface PinterestSearchParams {
823
- /** Search query or keywords (min 2 chars). */
1089
+ /** Keywords or search query (min 2 characters). */
824
1090
  q: string;
825
- /** Max items to return. Default 25, max 200. Billed per result. */
1091
+ /** Max items to return (default 25, max 200). Billed per result. */
826
1092
  limit?: number;
1093
+ /** 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 SERP window (max 40). */
1094
+ cursor?: string;
1095
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1096
+ cache?: boolean;
827
1097
  }
828
1098
  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. */
1099
+ /** 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
1100
  url: string;
831
- /** Max items to return. Default 25, max 200. Billed per result. */
1101
+ /** Max items to return (default 25, max 200). Billed per result. */
832
1102
  limit?: number;
1103
+ /** 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). */
1104
+ cursor?: string;
1105
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1106
+ cache?: boolean;
833
1107
  }
834
1108
  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. */
1109
+ /** 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
1110
  url: string;
837
- /** Max items to return. Default 25, max 200. Billed per result. */
1111
+ /** Max items to return (default 25, max 200). Billed per result. */
838
1112
  limit?: number;
1113
+ /** 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). */
1114
+ cursor?: string;
1115
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1116
+ cache?: boolean;
839
1117
  }
840
1118
  export declare class PinterestApi {
841
1119
  private readonly core;
842
1120
  constructor(core: HttpCore);
843
- /** Pinterest Pin Details — Metadata + saves for a Pinterest pin. (1 credit) */
1121
+ /** Pinterest Pin Details — Get a Pinterest pin — title, description, link, board, origin creator, and engagement as structured JSON. (1 credit) */
844
1122
  pinDetails(params: PinterestPinDetailsParams): Promise<ApiEnvelope>;
845
- /** Pinterest User Pins — Pins from a Pinterest profile. (13 credits) */
1123
+ /** Pinterest User Pins — Pins from a Pinterest profile — offset cursor, pidgets window ~100. (~13 credits (0.5/result)) */
846
1124
  userPins(params: PinterestUserPinsParams): Promise<ApiEnvelope>;
847
- /** Pinterest Search — Search Pinterest pins by keyword. (13 credits) */
1125
+ /** Pinterest Search — Keyword pin search — offset cursor, SERP window 40. (~13 credits (0.5/result)) */
848
1126
  search(params: PinterestSearchParams): Promise<ApiEnvelope>;
849
- /** Pinterest Board — List pins inside a Pinterest board. (13 credits) */
1127
+ /** Pinterest Board — Pins on a Pinterest board — saves, imageOriginal, destinationUrl, top-level author. ~0.5 credits/pin. (~13 credits (0.5/result)) */
850
1128
  board(params: PinterestBoardParams): Promise<ApiEnvelope>;
851
- /** Pinterest User Boards — List the boards on a Pinterest profile. (13 credits) */
1129
+ /** Pinterest User Boards — Boards on a Pinterest profile — pinCount, coverImage (474x), privacy, sections. Board followers when scoped. (~13 credits (0.5/result)) */
852
1130
  userBoards(params: PinterestUserBoardsParams): Promise<ApiEnvelope>;
853
1131
  }
854
1132
  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. */
1133
+ /** 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
1134
  url: string;
1135
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1136
+ cache?: boolean;
857
1137
  }
858
1138
  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. */
1139
+ /** 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
1140
  url: string;
1141
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1142
+ cache?: boolean;
861
1143
  }
862
1144
  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. */
1145
+ /** 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
1146
  url: string;
1147
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1148
+ cache?: boolean;
865
1149
  }
866
1150
  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. */
1151
+ /** 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
1152
  url: string;
1153
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1154
+ cache?: boolean;
869
1155
  }
870
1156
  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. */
1157
+ /** 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
1158
  url: string;
873
- /** Max items to return. Default 20, max 100. Billed per result. */
1159
+ /** Max items to return (default 20, max 100). Flat 1 credit per call. */
874
1160
  limit?: number;
1161
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 20). A null nextCursor means the end of the list (max 100 posts). */
1162
+ cursor?: string;
1163
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1164
+ cache?: boolean;
875
1165
  }
876
1166
  export interface LinkedinSearchPostsParams {
877
- /** Search query or keywords (min 2 chars). */
1167
+ /** Search query or keywords (min 2 characters). */
878
1168
  q: string;
879
1169
  /** relevance or date. Default relevance. */
880
1170
  sort?: string;
881
- /** Max items to return. Default 20, max 50. Billed per result. */
1171
+ /** Max items to return (default 20, max 50). Billed per result. */
882
1172
  limit?: number;
1173
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 20). A null nextCursor means the end of the list (max 50 posts). */
1174
+ cursor?: string;
1175
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1176
+ cache?: boolean;
883
1177
  }
884
1178
  export declare class LinkedinApi {
885
1179
  private readonly core;
886
1180
  constructor(core: HttpCore);
887
- /** LinkedIn Profile — Public LinkedIn person profile details. (2 credits) */
1181
+ /** LinkedIn Profile — LinkedIn person profile with experience[], education[], similarProfiles[] — masked guest text becomes restricted:true. (2 credits) */
888
1182
  profile(params: LinkedinProfileParams): Promise<ApiEnvelope>;
889
- /** LinkedIn Company — Public LinkedIn company page details. (2 credits) */
1183
+ /** LinkedIn Company — Company page for B2B intel — specialties, similarPages, employeeCount, founded, slogan, cover. Native 1 / enrich 2. (2 credits) */
890
1184
  company(params: LinkedinCompanyParams): Promise<ApiEnvelope>;
891
- /** LinkedIn Post Details — Metadata + engagement for a LinkedIn post. (1 credit) */
1185
+ /** LinkedIn Post Details — Get a LinkedIn post — text, author, reactions, and comments count as structured JSON. (1 credit) */
892
1186
  postDetails(params: LinkedinPostDetailsParams): Promise<ApiEnvelope>;
893
- /** LinkedIn Post Transcript — Extract post text as a transcript for a LinkedIn post. (7 credits) */
1187
+ /** LinkedIn Post Transcript — LinkedIn post text as a transcript — paragraph segments, timingSource none. Flat 1 credit. (1 credit) */
894
1188
  postTranscript(params: LinkedinPostTranscriptParams): Promise<ApiEnvelope>;
895
- /** LinkedIn Company Posts — Recent public posts from a LinkedIn company page. (16 credits) */
1189
+ /** LinkedIn Company Posts — Company posts with engagement{likes,comments} — cursor pages up to 100. Flat 1 credit on the native path. (1 credit) */
896
1190
  companyPosts(params: LinkedinCompanyPostsParams): Promise<ApiEnvelope>;
897
- /** LinkedIn Search Posts — Search public LinkedIn posts by keyword. (16 credits) */
1191
+ /** LinkedIn Search Posts — Keyword search of public LinkedIn posts — offset cursor, ceiling 50. (~16 credits (0.8/result)) */
898
1192
  searchPosts(params: LinkedinSearchPostsParams): Promise<ApiEnvelope>;
899
1193
  }
900
1194
  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. */
1195
+ /** 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. */
1196
+ url: string;
1197
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1198
+ cache?: boolean;
1199
+ }
1200
+ export interface RumbleVideoTranscriptParams {
1201
+ /** 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
1202
  url: string;
1203
+ /** Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. */
1204
+ language?: string;
1205
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1206
+ cache?: boolean;
903
1207
  }
904
1208
  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. */
1209
+ /** Rumble channel URL, e.g. https://rumble.com/c/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
1210
  url: string;
907
- /** Max items to return. Default 20, max 200. Billed per result. */
1211
+ /** Max items to return (default 20, max 200). Billed per result. */
908
1212
  limit?: number;
1213
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1214
+ cache?: boolean;
909
1215
  }
910
1216
  export interface RumbleSearchParams {
911
- /** Search query or keywords (min 2 chars). */
1217
+ /** Keywords or search query (min 2 characters). */
912
1218
  q: string;
913
- /** Max items to return. Default 20, max 200. Billed per result. */
1219
+ /** Max items to return (default 20, max 200). Billed per result. */
914
1220
  limit?: number;
1221
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1222
+ cache?: boolean;
915
1223
  }
916
1224
  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. */
1225
+ /** 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
1226
  url: string;
919
- /** Max items to return. Default 50, max 500. Billed per result. */
1227
+ /** Max items to return (default 50, max 500). Flat 2 credits per call. */
920
1228
  limit?: number;
1229
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1230
+ cache?: boolean;
921
1231
  }
922
1232
  export declare class RumbleApi {
923
1233
  private readonly core;
924
1234
  constructor(core: HttpCore);
925
- /** Rumble Video Details — Metadata + stats for a Rumble video. (1 credit) */
1235
+ /** Rumble Video Details — Rumble video metadata — uniform streams[] with rendition meta, captions[], audioStreams. (1 credit) */
926
1236
  videoDetails(params: RumbleVideoDetailsParams): Promise<ApiEnvelope>;
927
- /** Rumble Channel Videos — List videos from a Rumble channel. (12 credits) */
1237
+ /** Rumble Video Transcript — Rumble published captions as timed segments — parses the .vtt from video-details (not speech-to-text). (1 credit) */
1238
+ videoTranscript(params: RumbleVideoTranscriptParams): Promise<ApiEnvelope>;
1239
+ /** Rumble Channel Videos — Rumble channel uploads — lean streams[{url,type}]; call video-details for rendition meta. (~12 credits (0.6/result)) */
928
1240
  channelVideos(params: RumbleChannelVideosParams): Promise<ApiEnvelope>;
929
- /** Rumble Search — Search Rumble videos by keyword. (12 credits) */
1241
+ /** Rumble Search — Rumble keyword search — same video card shape as channel-videos (type, durationSeconds + durationText, UTC publishedAt). (~12 credits (0.6/result)) */
930
1242
  search(params: RumbleSearchParams): Promise<ApiEnvelope>;
931
- /** Rumble Comments — Comments on a Rumble video. (30 credits) */
1243
+ /** Rumble Comments — Rumble top-level comments — publishedAt ISO-8601 UTC from title= on the comment time link. (2 credits) */
932
1244
  comments(params: RumbleCommentsParams): Promise<ApiEnvelope>;
933
1245
  }
934
1246
  export interface TiktokShopSearchParams {
935
- /** Product search query. */
1247
+ /** Product search query (min 2 characters), e.g. phone case. */
936
1248
  q: string;
937
- /** Two-letter TikTok Shop region. Default US. */
1249
+ /** 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
1250
  region?: string;
939
- /** Max items to return. Default 20, max 200. Billed per result. */
1251
+ /** Max items to return (default 10, max 10). Flat 2 credits per call. */
940
1252
  limit?: number;
1253
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1254
+ cache?: boolean;
941
1255
  }
942
1256
  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. */
1257
+ /** TikTok Shop store URL, e.g. https://www.tiktok.com/shop/store/goli-nutrition/7495794203056835079. 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
1258
  url: string;
945
- /** Max items to return. Default 20, max 200. Billed per result. */
1259
+ /** 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. */
1260
+ region?: string;
1261
+ /** Max items to return (default 20, max 200). Flat 2 credits per call. */
946
1262
  limit?: number;
1263
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1264
+ cache?: boolean;
947
1265
  }
948
1266
  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. */
1267
+ /** TikTok Shop product URL, e.g. 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
1268
  url: string;
1269
+ /** Two-letter market region for the secondary fetch path (default US). Primary SSR uses the product URL's market; empty/partial non-US results are often a TikTok exposure limit. */
1270
+ region?: string;
1271
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1272
+ cache?: boolean;
951
1273
  }
952
1274
  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. */
1275
+ /** 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
1276
  url: string;
955
- /** Max items to return. Default 20, max 200. Billed per result. */
1277
+ /** Max items to return (default 20, max 200). Billed per result. */
956
1278
  limit?: number;
1279
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1280
+ cache?: boolean;
957
1281
  }
958
1282
  export interface TiktokShopUserShowcaseParams {
959
- /** TikTok username with or without @. */
1283
+ /** TikTok username, @handle, or profile URL, e.g. jeffreestar or https://www.tiktok.com/@jeffreestar. */
960
1284
  username: string;
961
- /** Max items to return. Default 20, max 200. Billed per result. */
1285
+ /** Max items to return (default 20, max 200). Billed per result. */
962
1286
  limit?: number;
1287
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1288
+ cache?: boolean;
963
1289
  }
964
1290
  export declare class TiktokShopApi {
965
1291
  private readonly core;
966
1292
  constructor(core: HttpCore);
967
- /** TikTok Shop Search — Search TikTok Shop products by keyword. (56 credits) */
1293
+ /** TikTok Shop Search — TikTok Shop keyword search — priced products with sold, rating/reviews, typed discount, seller id. (2 credits) */
968
1294
  search(params: TiktokShopSearchParams): Promise<ApiEnvelope>;
969
- /** TikTok Shop Products — List products from a TikTok Shop store. (56 credits) */
1295
+ /** TikTok Shop Products — Store catalog with shopInfo (sold/followers/rating) + products priced with sold, rating, typed discount. (2 credits) */
970
1296
  products(params: TiktokShopProductsParams): Promise<ApiEnvelope>;
971
- /** TikTok Shop Product Details — Full TikTok Shop product details, seller and price metadata. (14 credits) */
1297
+ /** TikTok Shop Product Details — PDP — price/originalPrice/typed discount, images[], skus[] with per-variant stock + saleProps, seller id/url, categories (2 credits). (2 credits) */
972
1298
  productDetails(params: TiktokShopProductDetailsParams): Promise<ApiEnvelope>;
973
- /** TikTok Shop Product Reviews — Customer reviews for a TikTok Shop product. (45 credits) */
1299
+ /** 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
1300
  productReviews(params: TiktokShopProductReviewsParams): Promise<ApiEnvelope>;
975
- /** TikTok Shop User Showcase — Products promoted in a TikTok creator showcase. (45 credits) */
1301
+ /** TikTok Shop User Showcase — Creator Shop showcase — affiliate shelf products with per-product sold, rating, typed discount, and seller name/url. (~45 credits (2.25/result)) */
976
1302
  userShowcase(params: TiktokShopUserShowcaseParams): Promise<ApiEnvelope>;
977
1303
  }
1304
+ export interface FacebookMarketplaceSearchParams {
1305
+ /** Product or keyword to search Facebook Marketplace for. */
1306
+ q: string;
1307
+ /** Search-origin city or place name, e.g. 'Austin, TX' (query echo — not each listing's city). */
1308
+ location: string;
1309
+ /** How many listings to return (1–200). Flat 2 credits when details=false; details=true billed as 2 + 2 per listing. */
1310
+ limit?: number;
1311
+ /** Minimum price in local currency units. */
1312
+ minPrice?: number;
1313
+ /** Maximum price in local currency units. */
1314
+ maxPrice?: number;
1315
+ /** suggested | distance | creation_time | price_ascend | price_descend. */
1316
+ sortBy?: string;
1317
+ /** 1 (24h), 7, or 30. */
1318
+ daysSinceListed?: string;
1319
+ /** new, like_new, good, fair (comma-separated ok). */
1320
+ condition?: string;
1321
+ /** local_pickup | shipping | all. Shipped listings can appear nationwide outside radiusMiles — use local_pickup for nearby-only; rows expose isLocal / shipsOutsideRadius. */
1322
+ deliveryMethod?: string;
1323
+ /** available | sold | all. */
1324
+ availability?: string;
1325
+ /** Radius in miles: 1,2,5,10,20,40,60,80,100,250,500. Does not exclude nationwide shipped inventory. */
1326
+ radiusMiles?: number;
1327
+ /** Top-level category slug, e.g. electronics. */
1328
+ category?: string;
1329
+ /** Opaque pagination cursor from a previous nextCursor. */
1330
+ cursor?: string;
1331
+ /** When true, adds description/condition/coordinates/full photo gallery/seller/distanceMiles — billed as 2 + 2 credits per listing. Default false → flat 2 credits; cover photo is still in image. */
1332
+ details?: boolean;
1333
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1334
+ cache?: boolean;
1335
+ }
1336
+ export interface FacebookMarketplaceLocationSearchParams {
1337
+ /** 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'). */
1338
+ q: string;
1339
+ /** Max items to return (default 10, max 50). Flat 2 credits per call. */
1340
+ limit?: number;
1341
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1342
+ cache?: boolean;
1343
+ }
1344
+ export interface FacebookMarketplaceItemParams {
1345
+ /** 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. */
1346
+ url: string;
1347
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1348
+ cache?: boolean;
1349
+ }
1350
+ export declare class FacebookMarketplaceApi {
1351
+ private readonly core;
1352
+ constructor(core: HttpCore);
1353
+ /** Facebook Marketplace Search — Search Marketplace by keyword + city — filters, isLocal/shipsOutsideRadius, opaque cursor (2 credits). (2 credits) */
1354
+ search(params: FacebookMarketplaceSearchParams): Promise<ApiEnvelope>;
1355
+ /** Facebook Marketplace Location Search — Disambiguate city names into Marketplace hubs — id + lat/lng. Flat 2 credits. (2 credits) */
1356
+ locationSearch(params: FacebookMarketplaceLocationSearchParams): Promise<ApiEnvelope>;
1357
+ /** Facebook Marketplace Item — Marketplace listing — title, priceAmount, status, seller{}, condition, coords (2 credits). (2 credits) */
1358
+ item(params: FacebookMarketplaceItemParams): Promise<ApiEnvelope>;
1359
+ }
1360
+ export interface FacebookEventSearchParams {
1361
+ /** Topic keyword, e.g. 'comedy'. Pair with location for city-scoped results. */
1362
+ q: string;
1363
+ /** City/place geo filter (e.g. London). Matches timezone, location.city, or coords near the city — not a title substring. */
1364
+ location?: string;
1365
+ /** Inclusive local start date filter YYYY-MM-DD. Use for upcoming-only windows — Facebook/SERP may return past events. */
1366
+ from?: string;
1367
+ /** Inclusive local start date filter YYYY-MM-DD. */
1368
+ to?: string;
1369
+ /** When true and from is omitted, sets from to today's UTC date so past events are dropped. */
1370
+ upcoming?: boolean;
1371
+ /** 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). */
1372
+ limit?: number;
1373
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1374
+ cache?: boolean;
1375
+ }
1376
+ export interface FacebookEventDetailsParams {
1377
+ /** 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. */
1378
+ url: string;
1379
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1380
+ cache?: boolean;
1381
+ }
1382
+ export interface FacebookProfileEventsParams {
1383
+ /** 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. */
1384
+ url: string;
1385
+ /** 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). */
1386
+ limit?: number;
1387
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1388
+ cache?: boolean;
1389
+ }
1390
+ export declare class FacebookEventsApi {
1391
+ private readonly core;
1392
+ constructor(core: HttpCore);
1393
+ /** Facebook Event Search — Search Facebook events by topic and city — local startDate/timezone, venue. 2 credits. (2 credits) */
1394
+ facebookEventSearch(params: FacebookEventSearchParams): Promise<ApiEnvelope>;
1395
+ /** Facebook Event Details — Get a Facebook event — title, local start/end, timezone, place, host id, and attendance when exposed. (2 credits) */
1396
+ facebookEventDetails(params: FacebookEventDetailsParams): Promise<ApiEnvelope>;
1397
+ /** Facebook Profile Events — List a Facebook Page's events — local startDate, timezone, venue. 2 credits. (2 credits) */
1398
+ facebookProfileEvents(params: FacebookProfileEventsParams): Promise<ApiEnvelope>;
1399
+ }
1400
+ export interface FacebookAdLibrarySearchParams {
1401
+ /** Keyword, brand, or advertiser to search Meta Ad Library (min 2 characters). */
1402
+ q: string;
1403
+ /** Two-letter ISO country code (e.g. US, GB, DE). Default US. */
1404
+ country?: string;
1405
+ /** Max items to return (default 20, max 200). Flat 2 credits per call. */
1406
+ limit?: number;
1407
+ /** Ad delivery status: ACTIVE (default), INACTIVE, or ALL. Use ACTIVE for "what are they running now?". */
1408
+ status?: string;
1409
+ /** Creative filter: ALL (default), IMAGE, VIDEO, MEME, IMAGE_AND_MEME, or NONE. */
1410
+ media_type?: string;
1411
+ /** Comma-separated publisher platforms to keep: FACEBOOK, INSTAGRAM, MESSENGER, AUDIENCE_NETWORK, THREADS. */
1412
+ platforms?: string;
1413
+ /** all (default) or political_and_issue_ads. Spend/impressions are typically only filled for political/issue ads. */
1414
+ ad_type?: string;
1415
+ /** keyword_unordered (default) or keyword_exact_phrase. */
1416
+ search_type?: string;
1417
+ /** Meta sort mode: total_impressions or relevancy_monthly_grouped. */
1418
+ sort_by?: string;
1419
+ /** Only ads with delivery start on/after this date (YYYY-MM-DD). */
1420
+ start_date?: string;
1421
+ /** Only ads with delivery start on/before this date (YYYY-MM-DD). */
1422
+ end_date?: string;
1423
+ /** Pagination cursor from a previous nextCursor. Pages through the current Meta HTML result batch. */
1424
+ cursor?: string;
1425
+ /** When true, omit cards/images/videos typed arrays (media[] stays). Captapi payloads are already lean vs Meta nested snapshots. */
1426
+ trim?: boolean;
1427
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1428
+ cache?: boolean;
1429
+ }
1430
+ export interface FacebookAdLibraryCompanyAdsParams {
1431
+ /** 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. */
1432
+ url: string;
1433
+ /** Two-letter ISO country code. Default US. */
1434
+ country?: string;
1435
+ /** Max items to return (default 20, max 200). Flat 2 credits per call on the native path; the extended fallback bills per returned ad. */
1436
+ limit?: number;
1437
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1438
+ cache?: boolean;
1439
+ }
1440
+ export interface FacebookAdLibrarySearchCompaniesParams {
1441
+ /** Company or brand name to search for (min 2 characters). Name-matched — off-brand pages are dropped. */
1442
+ q: string;
1443
+ /** Two-letter ISO country code. Default US. */
1444
+ country?: string;
1445
+ /** Max items to return (default 20, max 200). Flat 2 credits per call. */
1446
+ limit?: number;
1447
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1448
+ cache?: boolean;
1449
+ }
1450
+ export interface FacebookAdLibraryAdDetailsParams {
1451
+ /** 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. */
1452
+ url: string;
1453
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1454
+ cache?: boolean;
1455
+ }
1456
+ export interface FacebookAdLibraryAdTranscriptParams {
1457
+ /** 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. */
1458
+ url: string;
1459
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1460
+ cache?: boolean;
1461
+ }
1462
+ export declare class FacebookAdLibraryApi {
1463
+ private readonly core;
1464
+ constructor(core: HttpCore);
1465
+ /** 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) */
1466
+ search(params: FacebookAdLibrarySearchParams): Promise<ApiEnvelope>;
1467
+ /** Facebook Company Ads — Company Ads (2 credits) */
1468
+ companyAds(params: FacebookAdLibraryCompanyAdsParams): Promise<ApiEnvelope>;
1469
+ /** Facebook Ad Library Search Companies — Find Meta Ad Library pages by brand — name-matched, pageId for company-ads (not profileId). (2 credits) */
1470
+ searchCompanies(params: FacebookAdLibrarySearchCompaniesParams): Promise<ApiEnvelope>;
1471
+ /** Facebook Ad Details — One Meta ad by ID — same creative as search, plus delivery breakdowns when Meta publishes them. Flat 2 credits. (2 credits) */
1472
+ adDetails(params: FacebookAdLibraryAdDetailsParams): Promise<ApiEnvelope>;
1473
+ /** Facebook Ad Copy — Written creative copy from a Meta ad — headline, body, CTA, landing URL. Not a speech transcript. (2 credits) */
1474
+ adTranscript(params: FacebookAdLibraryAdTranscriptParams): Promise<ApiEnvelope>;
1475
+ }
1476
+ export interface TiktokAdLibrarySearchParams {
1477
+ /** Keyword or advertiser to search TikTok Commercial Content Library (min 2 characters). */
1478
+ q: string;
1479
+ /** Two-letter ISO country code (e.g. GB, DE, FR). Default GB (EU DSA library; US often empty). */
1480
+ country?: string;
1481
+ /** Keyword token mode: "any" (default, OR whole-word) or "all" (AND). hair ≠ wheelchair. Empty results are free. */
1482
+ match?: string;
1483
+ /** Max items to return (default 20, max 200). Flat 2 credits per call. */
1484
+ limit?: number;
1485
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1486
+ cache?: boolean;
1487
+ }
1488
+ export interface TiktokAdLibraryTopAdsParams {
1489
+ /** Optional keyword that filters the one ~20-row leaderboard page — not a library search. Case-insensitive whole-word match on title/brandName/industry/objective (hair ≠ wheelchair). 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. */
1490
+ q?: string;
1491
+ /** Keyword token mode: "any" (default, OR) or "all" (AND). Zero literal hits → empty ads[] (never an unfiltered soft list). */
1492
+ match?: string;
1493
+ /** Two-letter ISO country code. Default US. */
1494
+ country?: string;
1495
+ /** Lookback window in days: 7, 30, or 180. Default 30. */
1496
+ period?: number;
1497
+ /** Sort: for_you, likes, ctr, impressions, or cost. Default for_you. */
1498
+ orderBy?: string;
1499
+ /** Optional industry key or label from Creative Center. */
1500
+ industry?: string;
1501
+ /** Optional campaign objective (e.g. Traffic, Conversion, Reach). */
1502
+ objective?: string;
1503
+ /** Optional format filter: spark or non_spark. */
1504
+ adFormat?: string;
1505
+ /** 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 Decodo-native; Apify ~1 credit per returned ad (min 2). */
1506
+ limit?: number;
1507
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1508
+ cache?: boolean;
1509
+ }
1510
+ export interface TiktokAdLibraryAdDetailsParams {
1511
+ /** TikTok Ad Library 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. */
1512
+ url: string;
1513
+ /** Two-letter ISO country code. Default GB. */
1514
+ country?: string;
1515
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1516
+ cache?: boolean;
1517
+ }
1518
+ export declare class TiktokAdLibraryApi {
1519
+ private readonly core;
1520
+ constructor(core: HttpCore);
1521
+ /** TikTok Ad Library Search — Search TikTok Commercial Content Library — relevance-filtered, uniform null schema (2 credits). (2 credits) */
1522
+ search(params: TiktokAdLibrarySearchParams): Promise<ApiEnvelope>;
1523
+ /** TikTok Creative Center Top Ads — TikTok Creative Center Top Ads — one ~20-row leaderboard page, not a library search (flat 2 / ~1 Apify). (2 credits) */
1524
+ topAds(params?: TiktokAdLibraryTopAdsParams): Promise<ApiEnvelope>;
1525
+ /** TikTok Ad Details — One TikTok Commercial Content Library ad by ID — calendar-day dates, always 2 credits. (2 credits) */
1526
+ adDetails(params: TiktokAdLibraryAdDetailsParams): Promise<ApiEnvelope>;
1527
+ }
1528
+ export interface GoogleAdLibraryCompanyAdsParams {
1529
+ /** Advertiser name, domain (e.g. nike.com), or Google advertiser ID (AR…). Prefer AR… from advertiser-search. */
1530
+ advertiser: string;
1531
+ /** Two-letter ISO country / region code (soft filter). Default US. Alias: region. */
1532
+ country?: string;
1533
+ /** Alias for country. */
1534
+ region?: string;
1535
+ /** YYYY-MM-DD — keep creatives whose shown window overlaps this start. */
1536
+ start_date?: string;
1537
+ /** YYYY-MM-DD — keep creatives whose shown window overlaps this end. */
1538
+ end_date?: string;
1539
+ /** Client-side sort: last_shown (recent activity first) or first_shown. Default is ATC order. */
1540
+ sort?: string;
1541
+ /** Pagination cursor from nextCursor. */
1542
+ cursor?: string;
1543
+ /** 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. */
1544
+ topic?: string;
1545
+ /** Max items to return (default 20, max 200). Flat 2 credits when results are returned; 0 credits when totalReturned is 0. */
1546
+ limit?: number;
1547
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1548
+ cache?: boolean;
1549
+ }
1550
+ export interface GoogleAdLibraryAdDetailsParams {
1551
+ /** Google Ads Transparency URL containing AR... advertiser and CR... creative IDs. */
1552
+ creative_id: string;
1553
+ /** Two-letter ISO country code. Default US. */
1554
+ country?: string;
1555
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1556
+ cache?: boolean;
1557
+ }
1558
+ export interface GoogleAdLibraryAdvertiserSearchParams {
1559
+ /** Brand, domain, or advertiser name (min 2 characters). Expanded + ranked so US prefers Inc. over SRL. */
1560
+ q: string;
1561
+ /** Two-letter ISO country code used for ranking (e.g. US). Default US. */
1562
+ country?: string;
1563
+ /** Max items to return (default 10, max 50). Flat 1 credit when results are returned; 0 credits when totalReturned is 0. */
1564
+ limit?: number;
1565
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1566
+ cache?: boolean;
1567
+ }
1568
+ export declare class GoogleAdLibraryApi {
1569
+ private readonly core;
1570
+ constructor(core: HttpCore);
1571
+ /** 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) */
1572
+ companyAds(params: GoogleAdLibraryCompanyAdsParams): Promise<ApiEnvelope>;
1573
+ /** 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) */
1574
+ adDetails(params: GoogleAdLibraryAdDetailsParams): Promise<ApiEnvelope>;
1575
+ /** Google Advertiser Search — Find Google Ads Transparency AR… entities — ranked multi-result (1 credit when found; empty is free). (1 credit) */
1576
+ advertiserSearch(params: GoogleAdLibraryAdvertiserSearchParams): Promise<ApiEnvelope>;
1577
+ }
1578
+ export interface LinkedinAdLibrarySearchAdsParams {
1579
+ /** Advertiser / account owner name (min 2 when used). Provide q/company, keyword, or companyId. */
1580
+ q?: string;
1581
+ /** Alias of q — advertiser / account owner name. */
1582
+ company?: string;
1583
+ /** Optional keyword filter on ad creative copy. */
1584
+ keyword?: string;
1585
+ /** LinkedIn numeric company id for exact advertiser match. */
1586
+ companyId?: string;
1587
+ /** Single ISO country code. Default US. Ignored when countries is set. */
1588
+ country?: string;
1589
+ /** Comma-separated ISO country codes (e.g. US,CA,MX). */
1590
+ countries?: string;
1591
+ /** Custom range start YYYY-MM-DD (use with endDate). */
1592
+ startDate?: string;
1593
+ /** Custom range end YYYY-MM-DD (use with startDate). */
1594
+ endDate?: string;
1595
+ /** Pagination token from paginationToken / nextCursor. */
1596
+ cursor?: string;
1597
+ /** Alias of cursor. */
1598
+ paginationToken?: string;
1599
+ /** Max items to return (default 20, max 200). 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. */
1600
+ limit?: number;
1601
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1602
+ cache?: boolean;
1603
+ }
1604
+ export interface LinkedinAdLibraryAdDetailsParams {
1605
+ /** LinkedIn Ad Library 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. */
1606
+ url: string;
1607
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1608
+ cache?: boolean;
1609
+ }
1610
+ export declare class LinkedinAdLibraryApi {
1611
+ private readonly core;
1612
+ constructor(core: HttpCore);
1613
+ /** 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|extended. (2 credits) */
1614
+ searchAds(params?: LinkedinAdLibrarySearchAdsParams): Promise<ApiEnvelope>;
1615
+ /** 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) */
1616
+ adDetails(params: LinkedinAdLibraryAdDetailsParams): Promise<ApiEnvelope>;
1617
+ }
1618
+ export interface AmazonShopPageParams {
1619
+ /** 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. */
1620
+ url: string;
1621
+ /** Amazon marketplace code. Default US. */
1622
+ marketplace?: string;
1623
+ /** Max products to include (default 20, max 200; 0 = seller metadata only). Billed per storefront page — 1 credit per ~16 products. */
1624
+ limit?: number;
1625
+ /** Pagination cursor from nextCursor (page or page:offset). Leave empty for the first page. */
1626
+ cursor?: string;
1627
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1628
+ cache?: boolean;
1629
+ }
1630
+ export declare class AmazonShopApi {
1631
+ private readonly core;
1632
+ constructor(core: HttpCore);
1633
+ /** Amazon Seller Storefront — Third-party seller storefronts (/sp?seller= / /s?me=) — ASIN + canonical /dp URLs, price, badges. Not influencer /shop/{handle}. (1 credit) */
1634
+ page(params: AmazonShopPageParams): Promise<ApiEnvelope>;
1635
+ }
978
1636
  export interface GithubUserParams {
979
- /** GitHub username or profile URL. */
1637
+ /** GitHub username or profile URL, e.g. getify or https://github.com/getify. */
980
1638
  username: string;
1639
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1640
+ cache?: boolean;
981
1641
  }
982
1642
  export interface GithubRepositoriesParams {
983
- /** GitHub username or profile URL. */
1643
+ /** GitHub username or profile URL, e.g. torvalds. */
984
1644
  username: string;
985
- /** Max items to return. Default 30, max 100. Billed per result. */
1645
+ /** created | updated | pushed | full_name (default updated). Not stars — GitHub's user-repos API has no stars sort. Echoed as data.sort. */
1646
+ sort?: string;
1647
+ /** asc or desc (default desc). Echoed as data.direction. */
1648
+ direction?: string;
1649
+ /** owner (default) | member | all — affiliation filter. Echoed as data.type. */
1650
+ type?: string;
1651
+ /** Max items to return (default 30, max 100). Billed per result. */
986
1652
  limit?: number;
987
- }
988
- export interface GithubRepositoryParams {
989
- /** Repository URL or owner/name. */
990
- repo: string;
1653
+ /** Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number. */
1654
+ cursor?: string;
1655
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1656
+ cache?: boolean;
991
1657
  }
992
1658
  export interface GithubPullRequestsParams {
993
- /** Repository URL or owner/name. */
1659
+ /** Repository URL or owner/name, e.g. vercel/next.js. */
994
1660
  repo: string;
995
- /** open, closed, or all. Default open. */
1661
+ /** open (API default), closed, or all. Echoed as data.state. Docs example uses closed so mergedAt is visible. */
996
1662
  state?: string;
997
- /** Max items to return. Default 30, max 100. Billed per result. */
1663
+ /** Max items to return (default 30, max 100). Billed per result. */
998
1664
  limit?: number;
1665
+ /** Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number. */
1666
+ cursor?: string;
1667
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1668
+ cache?: boolean;
999
1669
  }
1000
1670
  export interface GithubActivityParams {
1001
- /** GitHub username or profile URL. */
1671
+ /** GitHub username or profile URL, e.g. getify. */
1002
1672
  username: string;
1003
- /** Max items to return. Default 30, max 100. Billed per result. */
1673
+ /** Max items to return (default 30, max 90). Billed per result. */
1004
1674
  limit?: number;
1675
+ /** Opaque cursor from a previous nextCursor. Pagination stops after GitHub's 90-event public activity ceiling. */
1676
+ cursor?: string;
1677
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1678
+ cache?: boolean;
1005
1679
  }
1006
1680
  export interface GithubFollowersParams {
1007
- /** GitHub username or profile URL. */
1681
+ /** GitHub username or profile URL, e.g. getify. */
1008
1682
  username: string;
1009
- /** Max items to return. Default 30, max 100. Billed per result. */
1683
+ /** Max items to return (default 30, max 100). Billed per result. */
1010
1684
  limit?: number;
1685
+ /** Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number. */
1686
+ cursor?: string;
1687
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1688
+ cache?: boolean;
1011
1689
  }
1012
1690
  export interface GithubFollowingParams {
1013
- /** GitHub username or profile URL. */
1691
+ /** GitHub username or profile URL, e.g. getify. */
1014
1692
  username: string;
1015
- /** Max items to return. Default 30, max 100. Billed per result. */
1693
+ /** Max items to return (default 30, max 100). Billed per result. */
1016
1694
  limit?: number;
1695
+ /** Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number. */
1696
+ cursor?: string;
1697
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1698
+ cache?: boolean;
1017
1699
  }
1018
1700
  export interface GithubContributionsParams {
1019
- /** GitHub username or profile URL. */
1701
+ /** GitHub username or profile URL, e.g. getify or https://github.com/getify. */
1020
1702
  username: string;
1703
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1704
+ cache?: boolean;
1705
+ }
1706
+ export interface GithubRepositoryParams {
1707
+ /** Repository URL or owner/name, e.g. torvalds/linux or https://github.com/torvalds/linux. */
1708
+ repo: string;
1709
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1710
+ cache?: boolean;
1021
1711
  }
1022
1712
  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. */
1713
+ /** Trending window: daily (default), weekly, or monthly — matches github.com/trending?since=. */
1714
+ since?: string;
1715
+ /** Optional programming-language slug (e.g. python, typescript) → /trending/{language}. */
1716
+ language?: string;
1717
+ /** Max items to return (default 25, max 100). Flat 2 credits per call. */
1026
1718
  limit?: number;
1719
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1720
+ cache?: boolean;
1027
1721
  }
1028
1722
  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. */
1723
+ /** Trending window: daily (default), weekly, or monthly — matches github.com/trending/developers?since=. */
1724
+ since?: string;
1725
+ /** Optional programming-language slug → /trending/developers/{language}. */
1726
+ language?: string;
1727
+ /** Max items to return (default 25, max 100). Flat 2 credits per call. */
1032
1728
  limit?: number;
1729
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1730
+ cache?: boolean;
1033
1731
  }
1034
1732
  export declare class GithubApi {
1035
1733
  private readonly core;
1036
1734
  constructor(core: HttpCore);
1037
- /** GitHub User — Public GitHub user profile details. (3 credits) */
1735
+ /** GitHub User — GitHub public profile — login, type User|Organization, email when public, followers (1 credit). (1 credit) */
1038
1736
  user(params: GithubUserParams): Promise<ApiEnvelope>;
1039
- /** GitHub Repositories — List a GitHub user's repositories. (12 credits) */
1737
+ /** GitHub Repositories — List a user's repos with sort/direction/type — opaque Link cursor (~0.4/repo). (~12 credits (0.4/result)) */
1040
1738
  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) */
1739
+ /** GitHub Pull Requests — List repo PRs — draft, labels, author{}, head/base, opaque Link cursor (state echoed). (~12 credits (0.4/result)) */
1044
1740
  pullRequests(params: GithubPullRequestsParams): Promise<ApiEnvelope>;
1045
- /** GitHub Activity — Recent public activity for a GitHub user. (12 credits) */
1741
+ /** GitHub Activity — Public events with typed payload (Push commits/ref, PR/issue action) — 90-event ceiling. (~12 credits (0.4/result)) */
1046
1742
  activity(params: GithubActivityParams): Promise<ApiEnvelope>;
1047
- /** GitHub Followers — List GitHub followers. (12 credits) */
1743
+ /** 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
1744
  followers(params: GithubFollowersParams): Promise<ApiEnvelope>;
1049
- /** GitHub Following — List accounts a GitHub user follows. (12 credits) */
1745
+ /** GitHub Following — Accounts a user follows — same card and ~0.1/row pricing as followers. (~3 credits (0.1/result)) */
1050
1746
  following(params: GithubFollowingParams): Promise<ApiEnvelope>;
1051
- /** GitHub Contributions — Summary of recent public GitHub contributions. (3 credits) */
1747
+ /** GitHub Contributions — GitHub contribution graph — sorted days[], currentStreak (today grace), longestStreak (2 credits). (2 credits) */
1052
1748
  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>;
1749
+ /** GitHub Repository — GitHub repo — stars, real watchers (subscribers), openIssuesAndPrs, license, parent when fork (1 credit). (1 credit) */
1750
+ repository(params: GithubRepositoryParams): Promise<ApiEnvelope>;
1751
+ /** GitHub Trending Repositories — github.com/trending — repos ranked by starsGained (daily|weekly|monthly), not all-time stars (2 credits). (2 credits) */
1752
+ trendingRepositories(params?: GithubTrendingRepositoriesParams): Promise<ApiEnvelope>;
1753
+ /** GitHub Trending Developers — github.com/trending/developers — windowed ranks with popularRepo + followers (2 credits). (2 credits) */
1754
+ trendingDevelopers(params?: GithubTrendingDevelopersParams): Promise<ApiEnvelope>;
1073
1755
  }
1074
1756
  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. */
1757
+ /** 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
1758
  url: string;
1759
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits. */
1760
+ cache?: boolean;
1761
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt. */
1762
+ cacheMaxAge?: string;
1077
1763
  }
1078
1764
  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. */
1765
+ /** 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
1766
  url: string;
1081
- /** Max items to return. Default 20, max 30. Billed per result. */
1767
+ /** 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
1768
  limit?: number;
1769
+ /** ARCHIVE | HIGHLIGHT | UPLOAD. Omit for all types — there is no default filter (unset filterBy is omitted, not null). */
1770
+ filterBy?: string;
1771
+ /** TIME (default, newest first) or VIEWS. */
1772
+ sortBy?: string;
1773
+ /** 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). */
1774
+ cursor?: string;
1775
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1776
+ cache?: boolean;
1083
1777
  }
1084
1778
  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. */
1779
+ /** 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
1780
  url: string;
1781
+ /** Max schedule segments to return (default 50, max 100). Flat 1 credit per call. */
1782
+ limit?: number;
1783
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1784
+ cache?: boolean;
1087
1785
  }
1088
1786
  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. */
1787
+ /** 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
1788
  url: string;
1789
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits. */
1790
+ cache?: boolean;
1791
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt. */
1792
+ cacheMaxAge?: string;
1091
1793
  }
1092
1794
  export declare class TwitchApi {
1093
1795
  private readonly core;
1094
1796
  constructor(core: HttpCore);
1095
- /** Twitch Profile — Twitch channel profile, followers, live status and recent metadata. (9 credits) */
1797
+ /** Twitch Profile — Twitch channel — handle + displayName, socials[], topClips, schedule preview, stream only when live (1 credit). (1 credit) */
1096
1798
  profile(params: TwitchProfileParams): Promise<ApiEnvelope>;
1097
- /** Twitch User Videos — Recent Twitch VODs for a channel. (34 credits) */
1799
+ /** Twitch User Videos — Twitch channel VODs — lean rows, video-id cursor, filter/sort, top-level broadcaster{} (flat 2). (2 credits) */
1098
1800
  userVideos(params: TwitchUserVideosParams): Promise<ApiEnvelope>;
1099
- /** Twitch User Schedule — Upcoming Twitch schedule data when exposed on the public channel. (34 credits) */
1801
+ /** Twitch User Schedule — Twitch channel schedule — startAt/endAt, title, game, isRecurring (0 credits when empty). (1 credit) */
1100
1802
  userSchedule(params: TwitchUserScheduleParams): Promise<ApiEnvelope>;
1101
- /** Twitch Clip — Twitch clip metadata from a clip URL or channel fallback. (9 credits) */
1803
+ /** Twitch Clip — Twitch clip — curator vs channel, signedVideoUrl, unwrapped token, relatedClips (1 credit). (1 credit) */
1102
1804
  clip(params: TwitchClipParams): Promise<ApiEnvelope>;
1103
1805
  }
1104
1806
  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. */
1807
+ /** 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
1808
  url: string;
1809
+ /** 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). */
1810
+ raw?: boolean;
1811
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1812
+ cache?: boolean;
1107
1813
  }
1108
1814
  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. */
1815
+ /** 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
1816
  url: string;
1817
+ /** Include the upstream GraphQL payload as data.raw. Default false — getTrack embeds bulky artist discography. */
1818
+ raw?: boolean;
1819
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1820
+ cache?: boolean;
1111
1821
  }
1112
1822
  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. */
1823
+ /** 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
1824
  url: string;
1825
+ /** Include the upstream GraphQL payload as data.raw. Default false — omit unless you need fields not in the normalized shape. */
1826
+ raw?: boolean;
1827
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1828
+ cache?: boolean;
1115
1829
  }
1116
1830
  export interface SpotifySearchParams {
1117
- /** Search query or keywords (min 2 chars). */
1831
+ /** Search term (min 2 chars). */
1118
1832
  q: string;
1119
- /** tracks, albums, artists, podcasts, or episodes. Default tracks. */
1833
+ /** Result kind: tracks (default), albums, artists, podcasts, or episodes. */
1120
1834
  type?: string;
1121
- /** Max items to return. Default 20, max 50. Billed per result. */
1835
+ /** Max items to return (default 20, max 50). Flat 2 credits per call. */
1122
1836
  limit?: number;
1837
+ /** Include per-result upstream payload as results[].raw. Default false. Pathfinder GraphQL vs Apify scraper shapes differ — see FAQ. */
1838
+ raw?: boolean;
1839
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1840
+ cache?: boolean;
1123
1841
  }
1124
1842
  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. */
1843
+ /** Spotify show/podcast URL, URI, or ID (e.g. https://open.spotify.com/show/…). Not an artist URL. */
1126
1844
  url: string;
1127
- /** Max items to return. Default 20, max 50. Billed per result. */
1128
- limit?: number;
1845
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1846
+ cache?: boolean;
1129
1847
  }
1130
1848
  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. */
1849
+ /** Spotify show/podcast URL, URI, or ID (e.g. https://open.spotify.com/show/…). Not an artist URL. */
1132
1850
  url: string;
1133
- /** Max items to return. Default 20, max 50. Billed per result. */
1851
+ /** Max items to return (default 20, max 50). Flat 2 credits per call. */
1134
1852
  limit?: number;
1853
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
1854
+ cursor?: string;
1855
+ /** Include slimmed per-episode upstream payload as episodes[].raw. Default false. visualIdentity / playedState / podcastV2 are never included. */
1856
+ raw?: boolean;
1857
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1858
+ cache?: boolean;
1135
1859
  }
1136
1860
  export declare class SpotifyApi {
1137
1861
  private readonly core;
1138
1862
  constructor(core: HttpCore);
1139
- /** Spotify Artist — Spotify artist details, followers and listener metadata. (6 credits) */
1863
+ /** Spotify Artist — Spotify artist — followers, monthlyListeners, worldRank, topCities, topTracks with playCount, concerts, and related artists (1 credit). (1 credit) */
1140
1864
  artist(params: SpotifyArtistParams): Promise<ApiEnvelope>;
1141
- /** Spotify Track — Spotify track metadata, artists, album and play count when available. (6 credits) */
1865
+ /** Spotify Track — Spotify track — playCount, joinable artists[]/album{}, explicit, releaseDate (1 credit). (1 credit) */
1142
1866
  track(params: SpotifyTrackParams): Promise<ApiEnvelope>;
1143
- /** Spotify Album — Spotify album metadata and track count. (6 credits) */
1867
+ /** Spotify Album — Spotify album — tracks[] with playCount, joinable artists[], releaseDate, explicit (1 credit). (1 credit) */
1144
1868
  album(params: SpotifyAlbumParams): Promise<ApiEnvelope>;
1145
- /** Spotify Search — Search Spotify tracks, albums, artists, podcasts or episodes. (23 credits) */
1869
+ /** Spotify Search — Search Spotify — canonical spotify: URIs, explicit, fetchedAt (flat 2 credits). (2 credits) */
1146
1870
  search(params: SpotifySearchParams): Promise<ApiEnvelope>;
1147
- /** Spotify Podcast — Spotify podcast/show details and episode summary metadata. (6 credits) */
1871
+ /** Spotify Podcast — Spotify podcast show — publisher, rating, topics, explicit flag, and totalEpisodes as clean JSON. (1 credit) */
1148
1872
  podcast(params: SpotifyPodcastParams): Promise<ApiEnvelope>;
1149
- /** Spotify Podcast Episodes — List episodes for a Spotify podcast/show. (23 credits) */
1873
+ /** Spotify Podcast Episodes — Podcast episode archive — previewUrl, releaseDate, explicit, cursor pagination (flat 2 credits). (2 credits) */
1150
1874
  podcastEpisodes(params: SpotifyPodcastEpisodesParams): Promise<ApiEnvelope>;
1151
1875
  }
1152
1876
  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. */
1877
+ /** 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
1878
  url: string;
1879
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits. */
1880
+ cache?: boolean;
1881
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt. */
1882
+ cacheMaxAge?: string;
1155
1883
  }
1156
1884
  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. */
1885
+ /** 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
1886
  url: string;
1159
- /** Max items to return. Default 20, max 100. Billed per result. */
1887
+ /** Max items to return (default 20, max 100). Flat 2 credits per call. */
1160
1888
  limit?: number;
1889
+ /** Opaque pagination cursor from the previous nextCursor. Leave empty for the first page. Do not edit or invent values. */
1890
+ cursor?: string;
1891
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1892
+ cache?: boolean;
1161
1893
  }
1162
1894
  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. */
1895
+ /** 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
1896
  url: string;
1897
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits. */
1898
+ cache?: boolean;
1899
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt. */
1900
+ cacheMaxAge?: string;
1165
1901
  }
1166
1902
  export declare class SoundcloudApi {
1167
1903
  private readonly core;
1168
1904
  constructor(core: HttpCore);
1169
- /** SoundCloud Artist — SoundCloud artist profile metadata. (7 credits) */
1905
+ /** SoundCloud Artist — SoundCloud artist — handle + name, subscriptionTier, externalLinks, verified (1 credit). (1 credit) */
1170
1906
  artist(params: SoundcloudArtistParams): Promise<ApiEnvelope>;
1171
- /** SoundCloud Artist Tracks — Tracks from a SoundCloud artist profile. (28 credits) */
1907
+ /** SoundCloud Artist Tracks — Artist track list — opaque cursor, native-window when the api-v2 page ends (2 credits; empty is 0). (2 credits) */
1172
1908
  artistTracks(params: SoundcloudArtistTracksParams): Promise<ApiEnvelope>;
1173
- /** SoundCloud Track — SoundCloud track metadata and engagement stats. (7 credits) */
1909
+ /** SoundCloud Track — SoundCloud track — plays/likes/license, tags[], nested artist{}, streamUrl when streamable (1 credit). (1 credit) */
1174
1910
  track(params: SoundcloudTrackParams): Promise<ApiEnvelope>;
1175
1911
  }
1176
1912
  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. */
1913
+ /** 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
1914
  url: string;
1915
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits. */
1916
+ cache?: boolean;
1917
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt. */
1918
+ cacheMaxAge?: string;
1179
1919
  }
1180
1920
  export declare class LinktreeApi {
1181
1921
  private readonly core;
1182
1922
  constructor(core: HttpCore);
1183
- /** Linktree Page — Public Linktree profile links, socials and profile metadata. (4 credits) */
1923
+ /** Linktree Page — Link-in-bio → creator graph: typed links, socialAccounts{} that feed TikTok/Instagram/Spotify/SoundCloud, email, verticals. Flat 1 credit. (1 credit) */
1184
1924
  page(params: LinktreePageParams): Promise<ApiEnvelope>;
1185
1925
  }
1186
1926
  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. */
1927
+ /** 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
1928
  url: string;
1929
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1930
+ cache?: boolean;
1189
1931
  }
1190
1932
  export declare class SnapchatApi {
1191
1933
  private readonly core;
1192
1934
  constructor(core: HttpCore);
1193
- /** Snapchat User Profile — Public Snapchat profile metadata, subscriber count, avatar and highlights. (11 credits) */
1935
+ /** Snapchat User Profile — Snapchat profile — unwrapped highlight ids, mediaType image/video, category labels, Spotlight boosts (1 credit). (1 credit) */
1194
1936
  userProfile(params: SnapchatUserProfileParams): Promise<ApiEnvelope>;
1195
1937
  }
1196
1938
  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. */
1939
+ /** 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
1940
  url: string;
1941
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1942
+ cache?: boolean;
1199
1943
  }
1200
1944
  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. */
1945
+ /** 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
1946
  url: string;
1203
- /** Max items to return. Default 20, max 80. Billed per result. */
1947
+ /** Max posts to return (default 20, max 80). Capped at 80 because Truth Social's statuses page is ~40 items — use nextCursor for more pages. Flat 2 credits per call. Response `source` is native or extended. */
1204
1948
  limit?: number;
1949
+ /** Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. */
1950
+ cursor?: string;
1951
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1952
+ cache?: boolean;
1205
1953
  }
1206
1954
  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. */
1955
+ /** 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
1956
  url: string;
1957
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
1958
+ cache?: boolean;
1209
1959
  }
1210
1960
  export declare class TruthSocialApi {
1211
1961
  private readonly core;
1212
1962
  constructor(core: HttpCore);
1213
- /** Truth Social Profile — Public Truth Social profile metadata and stats. (5 credits) */
1963
+ /** Truth Social Profile — Prominent public Truth Social profiles — isPrivate/bot/group, fields[], avatar/banner. Flat 1 credit. (1 credit) */
1214
1964
  profile(params: TruthSocialProfileParams): Promise<ApiEnvelope>;
1215
- /** Truth Social User Posts — Recent public posts from a Truth Social profile. (17 credits) */
1965
+ /** Truth Social User Posts — Recent Truths — same post mapper as /post (links, card, reblog/quote, mentions). 2 credits. (2 credits) */
1216
1966
  userPosts(params: TruthSocialUserPostsParams): Promise<ApiEnvelope>;
1217
- /** Truth Social Post — Truth Social post metadata, text, media and engagement. (5 credits) */
1967
+ /** Truth Social Post — One Truth — text, links[], card, reblog/quote chain, media.meta, externalVideoId. Flat 1 credit. (1 credit) */
1218
1968
  post(params: TruthSocialPostParams): Promise<ApiEnvelope>;
1219
1969
  }
1220
1970
  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. */
1971
+ /** Kick clip URL for one enriched clip (e.g. https://kick.com/{channel}/clips/clip_…), or channel URL/@username for recent clips[]. 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
1972
  url: string;
1223
- /** Max items to return. Default 30, max 100. Billed per result. */
1973
+ /** Channel mode only — max recent clips to return (default 30, max 100). Ignored when url is a clip. Flat 1 credit. No cursor — Kick returns a single page. */
1224
1974
  limit?: number;
1975
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits. */
1976
+ cache?: boolean;
1977
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt. */
1978
+ cacheMaxAge?: string;
1225
1979
  }
1226
1980
  export declare class KickApi {
1227
1981
  private readonly core;
1228
1982
  constructor(core: HttpCore);
1229
- /** Kick Clip — Kick clip metadata from a clip URL or recent channel clips. (34 credits) */
1983
+ /** Kick Clip — Get a Kick clip — creator vs channel, HLS playback, VOD deep-link, views, and duration as structured JSON. (1 credit) */
1230
1984
  clip(params: KickClipParams): Promise<ApiEnvelope>;
1231
1985
  }
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
1986
  export interface AccountBalanceParams {
1259
1987
  }
1260
1988
  export interface AccountRequestHistoryParams {
1261
- /** Max items to return. Default 50, max 500. Billed per result. */
1262
- limit?: number;
1989
+ /** Max rows to return (default 50, max 500). Free — does not consume credits. */
1990
+ limit?: number;
1991
+ /** Exact Captapi path filter, e.g. /v1/instagram/basic-profile. */
1992
+ endpoint?: string;
1993
+ /** Filter by HTTP status code (e.g. 500). */
1994
+ statusCode?: number;
1995
+ /** Inclusive lower bound on createdAt (ISO date or datetime). */
1996
+ since?: string;
1997
+ /** Exclusive upper bound on createdAt (ISO date or datetime). */
1998
+ until?: string;
1999
+ /** Pagination cursor from nextCursor (createdAt of the last row). Leave empty for the first page. */
2000
+ cursor?: string;
1263
2001
  }
1264
2002
  export interface AccountDailyUsageParams {
1265
- /** Number of days to include. Default 30, max 365. */
2003
+ /** Number of days to include (default 30, max 365). */
1266
2004
  days?: number;
1267
2005
  }
1268
2006
  export interface AccountMostUsedRoutesParams {
1269
- /** Number of days to include. Default 30, max 365. */
2007
+ /** Number of days to include (default 30, max 365). */
1270
2008
  days?: number;
1271
- /** Max items to return. Default 20, max 100. Billed per result. */
2009
+ /** Max rows to return (default 20, max 100). Free — does not consume credits. */
1272
2010
  limit?: number;
1273
2011
  }
1274
2012
  export declare class AccountApi {
1275
2013
  private readonly core;
1276
2014
  constructor(core: HttpCore);
1277
- /** Credit Balance — Get current Captapi credit balance and plan limits. (0 credits) */
2015
+ /** Credit Balance — Plan, subscription vs top-up credits, monthly quota, and renewsAt — 0 credits. (0 credits) */
1278
2016
  balance(params?: Record<string, never>): Promise<ApiEnvelope>;
1279
- /** Request History — List recent Captapi API requests for the current key owner. (0 credits) */
2017
+ /** Request History — Recent API requests for your key — requestId, status, credits, cacheHit (0 credits). (0 credits) */
1280
2018
  requestHistory(params?: AccountRequestHistoryParams): Promise<ApiEnvelope>;
1281
- /** Daily Usage — Daily request and credit usage summary. (0 credits) */
2019
+ /** Daily Usage — Day-by-day credit usage for spend monitoring (0 credits). (0 credits) */
1282
2020
  dailyUsage(params?: AccountDailyUsageParams): Promise<ApiEnvelope>;
1283
- /** Most Used Routes — Most used API routes by request count and credits. (0 credits) */
2021
+ /** Most Used Routes — Ranked list of which Captapi routes your key calls most (0 credits). (0 credits) */
1284
2022
  mostUsedRoutes(params?: AccountMostUsedRoutesParams): Promise<ApiEnvelope>;
1285
2023
  }
2024
+ export interface AnalyticsPostParams {
2025
+ /** 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. */
2026
+ url: string;
2027
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
2028
+ cache?: boolean;
2029
+ }
2030
+ export interface AnalyticsCompareParams {
2031
+ /** 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. */
2032
+ urls: string;
2033
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
2034
+ cache?: boolean;
2035
+ }
2036
+ export interface VideoTranscriptParams {
2037
+ /** Video or audio file (multipart form field — use -F file=@path, not a query string). Max 200MB / 60 minutes. */
2038
+ file: string;
2039
+ /** ISO-639-1 Whisper language hint, e.g. "en" or "tr". Omit to auto-detect. */
2040
+ language?: string;
2041
+ /** When true, translate speech to English (Whisper translations API). Default false. */
2042
+ translate?: boolean;
2043
+ /** segment (default) or word — word-level timings when Whisper exposes them. */
2044
+ timestampGranularity?: string;
2045
+ }
2046
+ export interface VideoSummarizeParams {
2047
+ /** Video or audio file (multipart form field — use -F file=@path, not a query string). Max 200MB / 60 minutes. */
2048
+ file: string;
2049
+ /** ISO-639-1 Whisper language hint, e.g. "en" or "tr". Omit to auto-detect. */
2050
+ language?: string;
2051
+ /** When true, translate speech to English before summarizing. Default false. */
2052
+ translate?: boolean;
2053
+ /** segment (default) or word. */
2054
+ timestampGranularity?: string;
2055
+ }
2056
+ export declare class UtilitiesApi {
2057
+ private readonly core;
2058
+ constructor(core: HttpCore);
2059
+ /** Post Analytics — Unified metrics for one post, video, or reel — platform auto-detected (1 credit). (1 credit) */
2060
+ analyticsPost(params: AnalyticsPostParams): Promise<ApiEnvelope>;
2061
+ /** Compare Analytics — Compare unified metrics across up to 10 URLs — each row is the analytics/post object (1 credit/resolved URL). (1 credit/url) */
2062
+ analyticsCompare(params: AnalyticsCompareParams): Promise<ApiEnvelope>;
2063
+ /** Video File Transcript — Whisper transcription of an uploaded file — 1 credit/min; noSpeech=true and 0 credits when there is no speech. (1 credit/min) */
2064
+ videoTranscript(params: VideoTranscriptParams): Promise<ApiEnvelope>;
2065
+ /** Video File Summarizer — Whisper + AI summary of an uploaded file — transcript included; 1 credit/min + 1. (1 credit/min +1) */
2066
+ videoSummarize(params: VideoSummarizeParams): Promise<ApiEnvelope>;
2067
+ }
1286
2068
  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. */
2069
+ /** 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
2070
  url: string;
2071
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
2072
+ cache?: boolean;
1289
2073
  }
1290
2074
  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. */
2075
+ /** 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
2076
  url: string;
1293
- /** Max items to return. Default 20, max 200. Billed per result. */
2077
+ /** Max posts to return (1–200). Default 20. ~1 credit per post returned (min 2). */
1294
2078
  limit?: number;
2079
+ /** Opaque pagination cursor from the previous nextCursor. Pages within posts from one profile fetch. */
2080
+ cursor?: string;
2081
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
2082
+ cache?: boolean;
1295
2083
  }
1296
2084
  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. */
2085
+ /** 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
2086
  url: string;
2087
+ /** Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. */
2088
+ cache?: boolean;
1299
2089
  }
1300
2090
  export declare class KwaiApi {
1301
2091
  private readonly core;
1302
2092
  constructor(core: HttpCore);
1303
- /** Kwai Profile — Kwai/Kuaishou public profile details and stats. (17 credits) */
2093
+ /** Kwai Profile — Fetch Kwai profile — display name, bio, counts, and verification as structured JSON. (1 credit) */
1304
2094
  profile(params: KwaiProfileParams): Promise<ApiEnvelope>;
1305
- /** Kwai User Posts — Recent Kwai/Kuaishou videos from a profile. (45 credits) */
2095
+ /** Kwai User Posts — Kwai profile posts — caption ("" when none), engagement, mp4 + transcript (~1 credit/post). (~20 credits (1/result)) */
1306
2096
  userPosts(params: KwaiUserPostsParams): Promise<ApiEnvelope>;
1307
- /** Kwai Post — Kwai/Kuaishou post metadata and engagement. (17 credits) */
2097
+ /** Kwai Post — Single Kwai video — caption ("" when none), hashtags[], author, mp4 (2 credits). (2 credits) */
1308
2098
  post(params: KwaiPostParams): Promise<ApiEnvelope>;
1309
2099
  }
1310
2100
  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. */
2101
+ /** 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
2102
  url: string;
2103
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits. */
2104
+ cache?: boolean;
2105
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt. */
2106
+ cacheMaxAge?: string;
1313
2107
  }
1314
2108
  export declare class KomiApi {
1315
2109
  private readonly core;
1316
2110
  constructor(core: HttpCore);
1317
- /** Komi Page — Public Komi page links and profile metadata. (4 credits) */
2111
+ /** Komi Page — Komi link-in-bio → identity, socials{} (incl. website), content LINK/PRODUCT rows with price/currency. Flat 1 credit. (1 credit) */
1318
2112
  page(params: KomiPageParams): Promise<ApiEnvelope>;
1319
2113
  }
1320
2114
  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. */
2115
+ /** 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
2116
  url: string;
2117
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits. */
2118
+ cache?: boolean;
2119
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt. */
2120
+ cacheMaxAge?: string;
1323
2121
  }
1324
2122
  export declare class PillarApi {
1325
2123
  private readonly core;
1326
2124
  constructor(core: HttpCore);
1327
- /** Pillar Page — Public Pillar page links and profile metadata. (4 credits) */
2125
+ /** Pillar Page — Pillar link-in-bio → identity, socials{}, links[] with per-link clicks, products[]. Flat 1 credit. (1 credit) */
1328
2126
  page(params: PillarPageParams): Promise<ApiEnvelope>;
1329
2127
  }
1330
2128
  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. */
2129
+ /** 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
2130
  url: string;
2131
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits. */
2132
+ cache?: boolean;
2133
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt. */
2134
+ cacheMaxAge?: string;
1333
2135
  }
1334
2136
  export declare class LinkbioApi {
1335
2137
  private readonly core;
1336
2138
  constructor(core: HttpCore);
1337
- /** Linkbio Page — Public Linkbio page links and profile metadata. (4 credits) */
2139
+ /** Linkbio Page — lnk.bio → id, socials{}, titled links[], website/email/whatsapp, other[]. Flat 1 credit. (1 credit) */
1338
2140
  page(params: LinkbioPageParams): Promise<ApiEnvelope>;
1339
2141
  }
1340
2142
  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. */
2143
+ /** 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
2144
  url: string;
2145
+ /** Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits. */
2146
+ cache?: boolean;
2147
+ /** Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt. */
2148
+ cacheMaxAge?: string;
1343
2149
  }
1344
2150
  export declare class LinkmeApi {
1345
2151
  private readonly core;
1346
2152
  constructor(core: HttpCore);
1347
- /** Linkme Profile — Public Linkme profile links and metadata. (4 credits) */
2153
+ /** Linkme Profile — Linkme profile → bio, profileVisitCount, featured links, webLinks, email/infoLinks, stripeStatus. Flat 1 credit. (1 credit) */
1348
2154
  profile(params: LinkmeProfileParams): Promise<ApiEnvelope>;
1349
2155
  }
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). */
1412
- q: string;
1413
- /** ISO country code. Default US. */
1414
- country?: string;
1415
- /** Max items to return. Default 10, max 50. Billed per result. */
1416
- limit?: number;
1417
- }
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;
1425
- }
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. */
1428
- url: string;
1429
- }
1430
- export declare class AdLibraryApi {
1431
- private readonly core;
1432
- 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>;
1457
- }
1458
2156
  /** Captapi API client. Get your key at https://captapi.com/dashboard/api-keys */
1459
2157
  export declare class Captapi {
1460
2158
  readonly youtube: YoutubeApi;
@@ -1469,8 +2167,14 @@ export declare class Captapi {
1469
2167
  readonly linkedin: LinkedinApi;
1470
2168
  readonly rumble: RumbleApi;
1471
2169
  readonly tiktokShop: TiktokShopApi;
2170
+ readonly facebookMarketplace: FacebookMarketplaceApi;
2171
+ readonly facebookEvents: FacebookEventsApi;
2172
+ readonly facebookAdLibrary: FacebookAdLibraryApi;
2173
+ readonly tiktokAdLibrary: TiktokAdLibraryApi;
2174
+ readonly googleAdLibrary: GoogleAdLibraryApi;
2175
+ readonly linkedinAdLibrary: LinkedinAdLibraryApi;
2176
+ readonly amazonShop: AmazonShopApi;
1472
2177
  readonly github: GithubApi;
1473
- readonly google: GoogleApi;
1474
2178
  readonly twitch: TwitchApi;
1475
2179
  readonly spotify: SpotifyApi;
1476
2180
  readonly soundcloud: SoundcloudApi;
@@ -1478,14 +2182,12 @@ export declare class Captapi {
1478
2182
  readonly snapchat: SnapchatApi;
1479
2183
  readonly truthSocial: TruthSocialApi;
1480
2184
  readonly kick: KickApi;
1481
- readonly amazonShop: AmazonShopApi;
1482
- readonly ageGender: AgeGenderApi;
1483
2185
  readonly account: AccountApi;
2186
+ readonly utilities: UtilitiesApi;
1484
2187
  readonly kwai: KwaiApi;
1485
2188
  readonly komi: KomiApi;
1486
2189
  readonly pillar: PillarApi;
1487
2190
  readonly linkbio: LinkbioApi;
1488
2191
  readonly linkme: LinkmeApi;
1489
- readonly adLibrary: AdLibraryApi;
1490
2192
  constructor(options?: CaptapiOptions);
1491
2193
  }