@captapi/sdk 0.2.0 → 0.3.0

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