composio-scavio 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -63,39 +63,33 @@ function buildScavioToolkit(options = {}) {
63
63
  tool(
64
64
  "AMAZON_SEARCH",
65
65
  "Scavio Amazon Search",
66
- "Search Amazon for products matching a query.",
66
+ "Search Amazon for products matching a query. Results are unsorted and cannot be filtered by category, merchant or price. Costs 1 credit.",
67
67
  z.object({
68
68
  query: str("The product search query."),
69
- domain: ostr("Amazon domain, e.g. 'amazon.com'."),
70
- country: ostr("Two-letter country code."),
71
- language: ostr("Two-letter language code."),
72
- currency: ostr("Currency code, e.g. 'USD'."),
73
- device: ostr("Device profile: 'desktop' or 'mobile'."),
74
- sort_by: ostr("Sort order for results."),
75
- start_page: onum("First page to return."),
76
- pages: onum("Number of pages to return."),
77
- category_id: ostr("Restrict to an Amazon category id."),
78
- merchant_id: ostr("Restrict to a merchant id."),
79
- zip_code: ostr("Delivery ZIP/postal code."),
80
- autoselect_variant: obool("Auto-select the best product variant when true.")
69
+ country: ostr("Marketplace country code (ISO 3166-1 alpha-2), not a domain: 'us' (default), 'gb' (the UK is gb, not uk), 'ca', 'de', 'fr', 'es', 'it', 'jp', 'in', 'au', 'br', 'mx', 'nl', 'pl', 'se', 'sg', 'ae', 'sa', 'eg', 'cn', 'be', 'tr'. An unknown code falls back to us."),
70
+ page: onum("Result page, 1-based. One page per call, 1 credit each.")
81
71
  }),
82
72
  (i) => client.amazon.search(i)
83
73
  ),
84
74
  tool(
85
75
  "AMAZON_PRODUCT",
86
76
  "Scavio Amazon Product",
87
- "Fetch full Amazon product details by ASIN.",
77
+ "Fetch full Amazon product details by ASIN. price is the buy-box price only. Costs 1 credit.",
88
78
  z.object({
89
79
  asin: str("Amazon Standard Identification Number (ASIN) of the product."),
90
- domain: ostr("Amazon domain, e.g. 'amazon.com'."),
91
- country: ostr("Two-letter country code."),
92
- language: ostr("Two-letter language code."),
93
- currency: ostr("Currency code, e.g. 'USD'."),
94
- device: ostr("Device profile: 'desktop' or 'mobile'."),
95
- zip_code: ostr("Delivery ZIP/postal code."),
96
- autoselect_variant: obool("Auto-select the best product variant when true.")
80
+ country: ostr("Marketplace country code (ISO 3166-1 alpha-2), not a domain: 'us' (default), 'gb' (the UK is gb, not uk), 'ca', 'de', 'fr', 'es', 'it', 'jp', 'in', 'au', 'br', 'mx', 'nl', 'pl', 'se', 'sg', 'ae', 'sa', 'eg', 'cn', 'be', 'tr'. An unknown code falls back to us.")
97
81
  }),
98
82
  (i) => client.amazon.product(i)
83
+ ),
84
+ tool(
85
+ "AMAZON_OFFERS",
86
+ "Scavio Amazon Offers",
87
+ "List every seller offer for one Amazon ASIN: price, seller, condition, shipping, and which offer holds the buy box. Page 1 only. Use this instead of AMAZON_PRODUCT when comparing sellers or checking who owns the buy box. Costs 1 credit.",
88
+ z.object({
89
+ asin: str("Amazon Standard Identification Number (ASIN) of the product."),
90
+ country: ostr("Marketplace country code (ISO 3166-1 alpha-2), not a domain: 'us' (default), 'gb' (the UK is gb, not uk), 'ca', 'de', 'fr', 'es', 'it', 'jp', 'in', 'au', 'br', 'mx', 'nl', 'pl', 'se', 'sg', 'ae', 'sa', 'eg', 'cn', 'be', 'tr'. An unknown code falls back to us.")
91
+ }),
92
+ (i) => client.amazon.offers(i)
99
93
  )
100
94
  );
101
95
  }
@@ -104,7 +98,7 @@ function buildScavioToolkit(options = {}) {
104
98
  tool(
105
99
  "WALMART_SEARCH",
106
100
  "Scavio Walmart Search",
107
- "Search Walmart for products matching a query.",
101
+ "Search Walmart for products matching a query. Costs 1 credit.",
108
102
  z.object({
109
103
  query: str("The product search query."),
110
104
  domain: ostr("Walmart domain."),
@@ -123,7 +117,7 @@ function buildScavioToolkit(options = {}) {
123
117
  tool(
124
118
  "WALMART_PRODUCT",
125
119
  "Scavio Walmart Product",
126
- "Fetch full Walmart product details by product id.",
120
+ "Fetch full Walmart product details by product id. Costs 1 credit.",
127
121
  z.object({
128
122
  product_id: str("Walmart product id."),
129
123
  domain: ostr("Walmart domain."),
@@ -140,13 +134,15 @@ function buildScavioToolkit(options = {}) {
140
134
  tool(
141
135
  "YOUTUBE_SEARCH",
142
136
  "Scavio YouTube Search",
143
- "Search YouTube for videos, channels, or playlists.",
137
+ "Search YouTube for videos, channels, or playlists. Costs 2 credits.",
144
138
  z.object({
145
139
  query: str("The video search query."),
146
- upload_date: ostr("Upload date filter, e.g. 'today', 'week', 'month'."),
147
- type: ostr("Result type, e.g. 'video', 'channel', 'playlist'."),
148
- duration: ostr("Duration filter, e.g. 'short', 'long'."),
149
- sort_by: ostr("Sort order for results."),
140
+ upload_date: ostr("Upload date filter: 'last_hour', 'today', 'this_week', 'this_month', 'this_year'."),
141
+ type: ostr("Result type: 'video', 'channel', 'playlist', or 'movie'."),
142
+ duration: ostr("Duration filter: 'short', 'medium', or 'long'."),
143
+ sort_by: ostr("Sort order: 'relevance', 'date', 'view_count', or 'rating'."),
144
+ features: z.array(z.string()).optional().describe("Feature filters, e.g. ['hd', '4k', 'subtitles', 'creative_commons', 'live', '360', '3d', 'hdr', 'vr180']."),
145
+ cursor: ostr("Pagination cursor from a prior response."),
150
146
  hd: obool("Restrict to HD videos when true."),
151
147
  subtitles: obool("Restrict to videos with subtitles when true."),
152
148
  creative_commons: obool("Restrict to Creative Commons videos when true."),
@@ -154,12 +150,144 @@ function buildScavioToolkit(options = {}) {
154
150
  }),
155
151
  (i) => client.youtube.search(i)
156
152
  ),
153
+ tool(
154
+ "YOUTUBE_SHORTS",
155
+ "Scavio YouTube Shorts",
156
+ "Search YouTube Shorts. Costs 2 credits.",
157
+ z.object({
158
+ query: str("The Shorts search query."),
159
+ sort_by: ostr("Sort order: 'relevance', 'date', 'view_count', or 'rating'."),
160
+ cursor: ostr("Pagination cursor from a prior response.")
161
+ }),
162
+ (i) => client.youtube.shorts(i)
163
+ ),
164
+ tool(
165
+ "YOUTUBE_SUGGESTIONS",
166
+ "Scavio YouTube Suggestions",
167
+ "Get YouTube search autocomplete suggestions for a partial query. Costs 1 credit.",
168
+ z.object({
169
+ query: str("The partial query to autocomplete."),
170
+ language: ostr("Suggestion language (ISO 639-1, default 'en')."),
171
+ region: ostr("Region code (ISO 3166-1 alpha-2, default 'US').")
172
+ }),
173
+ (i) => client.youtube.suggestions(i)
174
+ ),
175
+ tool(
176
+ "YOUTUBE_VIDEO",
177
+ "Scavio YouTube Video",
178
+ "Fetch full metadata for a YouTube video by id or watch URL. Costs 1 credit.",
179
+ z.object({ video_id: str("YouTube video id or a full watch URL.") }),
180
+ (i) => client.youtube.video(i)
181
+ ),
157
182
  tool(
158
183
  "YOUTUBE_METADATA",
159
184
  "Scavio YouTube Metadata",
160
- "Fetch metadata for a YouTube video by id.",
161
- z.object({ video_id: str("YouTube video id.") }),
185
+ "Fetch metadata for a YouTube video by id. Deprecated alias of YOUTUBE_VIDEO.",
186
+ z.object({ video_id: str("YouTube video id or a full watch URL.") }),
162
187
  (i) => client.youtube.metadata(i)
188
+ ),
189
+ tool(
190
+ "YOUTUBE_COMMENTS",
191
+ "Scavio YouTube Comments",
192
+ "List top-level comments on a YouTube video. Costs 1 credit.",
193
+ z.object({
194
+ video_id: str("YouTube video id or a full watch URL."),
195
+ cursor: ostr("Pagination cursor from a prior response.")
196
+ }),
197
+ (i) => client.youtube.comments(i)
198
+ ),
199
+ tool(
200
+ "YOUTUBE_COMMENT_REPLIES",
201
+ "Scavio YouTube Comment Replies",
202
+ "List replies to a YouTube comment using its reply cursor. Costs 1 credit.",
203
+ z.object({
204
+ video_id: str("YouTube video id or a full watch URL."),
205
+ reply_cursor: str("Reply cursor from a parent comment's 'reply_cursor' field."),
206
+ cursor: ostr("Pagination cursor from a prior response.")
207
+ }),
208
+ (i) => client.youtube.commentReplies(i)
209
+ ),
210
+ tool(
211
+ "YOUTUBE_TRANSCRIPT",
212
+ "Scavio YouTube Transcript",
213
+ "Fetch the transcript or timed captions for a YouTube video. Costs 8 credits.",
214
+ z.object({
215
+ video_id: str("YouTube video id or a full watch URL."),
216
+ language: ostr("Caption language code (default 'en')."),
217
+ format: ostr("'text' for a plain transcript or 'srt' for timed subtitles (default 'text').")
218
+ }),
219
+ (i) => client.youtube.transcript(i)
220
+ ),
221
+ tool(
222
+ "YOUTUBE_RELATED",
223
+ "Scavio YouTube Related",
224
+ "List videos related to a YouTube video. Costs 1 credit.",
225
+ z.object({
226
+ video_id: str("YouTube video id or a full watch URL."),
227
+ cursor: ostr("Pagination cursor from a prior response.")
228
+ }),
229
+ (i) => client.youtube.related(i)
230
+ ),
231
+ tool(
232
+ "YOUTUBE_CHANNEL_SEARCH",
233
+ "Scavio YouTube Channel Search",
234
+ "Search YouTube channels by keyword. Costs 1 credit.",
235
+ z.object({
236
+ query: str("The channel search query."),
237
+ cursor: ostr("Pagination cursor from a prior response.")
238
+ }),
239
+ (i) => client.youtube.channelSearch(i)
240
+ ),
241
+ tool(
242
+ "YOUTUBE_CHANNEL",
243
+ "Scavio YouTube Channel",
244
+ "Fetch YouTube channel details by id, @handle, or URL. Costs 1 credit.",
245
+ z.object({ channel_id: str("YouTube channel id, @handle, or channel URL.") }),
246
+ (i) => client.youtube.channel(i)
247
+ ),
248
+ tool(
249
+ "YOUTUBE_CHANNEL_VIDEOS",
250
+ "Scavio YouTube Channel Videos",
251
+ "List videos uploaded by a YouTube channel. Costs 1 credit.",
252
+ z.object({
253
+ channel_id: str("YouTube channel id."),
254
+ cursor: ostr("Pagination cursor from a prior response.")
255
+ }),
256
+ (i) => client.youtube.channelVideos(i)
257
+ ),
258
+ tool(
259
+ "YOUTUBE_CHANNEL_SHORTS",
260
+ "Scavio YouTube Channel Shorts",
261
+ "List Shorts posted by a YouTube channel. Costs 1 credit.",
262
+ z.object({
263
+ channel_id: str("YouTube channel id."),
264
+ cursor: ostr("Pagination cursor from a prior response.")
265
+ }),
266
+ (i) => client.youtube.channelShorts(i)
267
+ ),
268
+ tool(
269
+ "YOUTUBE_CHANNEL_COMMUNITY",
270
+ "Scavio YouTube Channel Community",
271
+ "List community posts from a YouTube channel. Costs 1 credit.",
272
+ z.object({
273
+ channel_id: str("YouTube channel id."),
274
+ cursor: ostr("Pagination cursor from a prior response.")
275
+ }),
276
+ (i) => client.youtube.channelCommunity(i)
277
+ ),
278
+ tool(
279
+ "YOUTUBE_CHANNEL_RESOLVE",
280
+ "Scavio YouTube Channel Resolve",
281
+ "Resolve a YouTube @handle or channel URL to a channel id. Costs 1 credit.",
282
+ z.object({ channel: str("A channel @handle or channel URL to resolve to a channel id.") }),
283
+ (i) => client.youtube.channelResolve(i)
284
+ ),
285
+ tool(
286
+ "YOUTUBE_STREAMS",
287
+ "Scavio YouTube Streams",
288
+ "Fetch playable or downloadable stream formats for a YouTube video. Costs 3 credits.",
289
+ z.object({ video_id: str("YouTube video id or a full watch URL.") }),
290
+ (i) => client.youtube.streams(i)
163
291
  )
164
292
  );
165
293
  }
@@ -168,20 +296,18 @@ function buildScavioToolkit(options = {}) {
168
296
  tool(
169
297
  "REDDIT_SEARCH",
170
298
  "Scavio Reddit Search",
171
- "Search Reddit posts, subreddits, or users.",
299
+ "Search Reddit posts. Returns data.results with next_cursor and has_more; page with cursor. Results cannot be filtered or sorted. Costs 1 credit.",
172
300
  z.object({
173
301
  query: str("The Reddit search query."),
174
- type: ostr("Search type, e.g. 'posts', 'subreddits', 'users'."),
175
- sort: ostr("Sort order, e.g. 'relevance', 'new', 'top'."),
176
- cursor: ostr("Pagination cursor.")
302
+ cursor: ostr("Pagination cursor: pass 'next_cursor' from a prior response.")
177
303
  }),
178
304
  (i) => client.reddit.search(i)
179
305
  ),
180
306
  tool(
181
307
  "REDDIT_POST",
182
308
  "Scavio Reddit Post",
183
- "Fetch a Reddit post and its comment thread by URL.",
184
- z.object({ url: str("Full URL of the Reddit post to fetch with its comments.") }),
309
+ "Fetch one Reddit post by URL. Returns a flat post object under data (post_id, title, text, url, subreddit, author, score, upvote_ratio, num_comments, created_at, is_nsfw, is_video, thumbnail, media); comments are NOT included. Costs 1 credit.",
310
+ z.object({ url: str("Full URL of the Reddit post.") }),
185
311
  (i) => client.reddit.post(i)
186
312
  )
187
313
  );
@@ -191,7 +317,7 @@ function buildScavioToolkit(options = {}) {
191
317
  tool(
192
318
  "TIKTOK_PROFILE",
193
319
  "Scavio TikTok Profile",
194
- "Fetch a TikTok user profile by username or secUid.",
320
+ "Fetch a TikTok user profile by username or secUid. Costs 1 credit.",
195
321
  z.object({
196
322
  username: ostr("TikTok username (without @). Provide this or sec_user_id."),
197
323
  sec_user_id: ostr("TikTok secUid. Provide this or username.")
@@ -201,7 +327,7 @@ function buildScavioToolkit(options = {}) {
201
327
  tool(
202
328
  "TIKTOK_USER_POSTS",
203
329
  "Scavio TikTok User Posts",
204
- "List a TikTok user's posts by secUid.",
330
+ "List a TikTok user's posts by secUid. Costs 1 credit.",
205
331
  z.object({
206
332
  sec_user_id: str("TikTok secUid of the user."),
207
333
  cursor: ostr("Pagination cursor."),
@@ -213,14 +339,14 @@ function buildScavioToolkit(options = {}) {
213
339
  tool(
214
340
  "TIKTOK_VIDEO",
215
341
  "Scavio TikTok Video",
216
- "Fetch a TikTok video by id.",
342
+ "Fetch a TikTok video by id. Costs 1 credit.",
217
343
  z.object({ video_id: str("TikTok video id.") }),
218
344
  (i) => client.tiktok.video(i)
219
345
  ),
220
346
  tool(
221
347
  "TIKTOK_VIDEO_COMMENTS",
222
348
  "Scavio TikTok Video Comments",
223
- "List comments on a TikTok video.",
349
+ "List comments on a TikTok video. Costs 1 credit.",
224
350
  z.object({
225
351
  video_id: str("TikTok video id."),
226
352
  cursor: ostr("Pagination cursor."),
@@ -231,7 +357,7 @@ function buildScavioToolkit(options = {}) {
231
357
  tool(
232
358
  "TIKTOK_COMMENT_REPLIES",
233
359
  "Scavio TikTok Comment Replies",
234
- "List replies to a TikTok video comment.",
360
+ "List replies to a TikTok video comment. Costs 1 credit.",
235
361
  z.object({
236
362
  video_id: str("TikTok video id."),
237
363
  comment_id: str("Parent comment id."),
@@ -243,7 +369,7 @@ function buildScavioToolkit(options = {}) {
243
369
  tool(
244
370
  "TIKTOK_SEARCH_VIDEOS",
245
371
  "Scavio TikTok Search Videos",
246
- "Search TikTok videos by keyword.",
372
+ "Search TikTok videos by keyword. Costs 1 credit.",
247
373
  z.object({
248
374
  keyword: str("Search keyword."),
249
375
  cursor: ostr("Pagination cursor."),
@@ -256,7 +382,7 @@ function buildScavioToolkit(options = {}) {
256
382
  tool(
257
383
  "TIKTOK_SEARCH_USERS",
258
384
  "Scavio TikTok Search Users",
259
- "Search TikTok users by keyword.",
385
+ "Search TikTok users by keyword. Costs 1 credit.",
260
386
  z.object({
261
387
  keyword: str("Search keyword."),
262
388
  cursor: ostr("Pagination cursor."),
@@ -267,7 +393,7 @@ function buildScavioToolkit(options = {}) {
267
393
  tool(
268
394
  "TIKTOK_HASHTAG",
269
395
  "Scavio TikTok Hashtag",
270
- "Fetch a TikTok hashtag by name or id.",
396
+ "Fetch a TikTok hashtag by name or id. Costs 1 credit.",
271
397
  z.object({
272
398
  hashtag_name: ostr("Hashtag name (without #). Provide this or hashtag_id."),
273
399
  hashtag_id: ostr("Hashtag id. Provide this or hashtag_name.")
@@ -277,7 +403,7 @@ function buildScavioToolkit(options = {}) {
277
403
  tool(
278
404
  "TIKTOK_HASHTAG_VIDEOS",
279
405
  "Scavio TikTok Hashtag Videos",
280
- "List videos for a TikTok hashtag by id.",
406
+ "List videos for a TikTok hashtag by id. Costs 1 credit.",
281
407
  z.object({
282
408
  hashtag_id: str("Hashtag id."),
283
409
  cursor: ostr("Pagination cursor."),
@@ -288,7 +414,7 @@ function buildScavioToolkit(options = {}) {
288
414
  tool(
289
415
  "TIKTOK_USER_FOLLOWERS",
290
416
  "Scavio TikTok User Followers",
291
- "List a TikTok user's followers by secUid.",
417
+ "List a TikTok user's followers by secUid. Costs 1 credit.",
292
418
  z.object({
293
419
  sec_user_id: str("TikTok secUid of the user."),
294
420
  count: onum("Number of followers to return."),
@@ -300,7 +426,7 @@ function buildScavioToolkit(options = {}) {
300
426
  tool(
301
427
  "TIKTOK_USER_FOLLOWINGS",
302
428
  "Scavio TikTok User Followings",
303
- "List the accounts a TikTok user follows, by secUid.",
429
+ "List the accounts a TikTok user follows, by secUid. Costs 1 credit.",
304
430
  z.object({
305
431
  sec_user_id: str("TikTok secUid of the user."),
306
432
  count: onum("Number of followings to return."),
@@ -316,7 +442,7 @@ function buildScavioToolkit(options = {}) {
316
442
  tool(
317
443
  "INSTAGRAM_PROFILE",
318
444
  "Scavio Instagram Profile",
319
- "Fetch an Instagram profile by username or user id.",
445
+ "Fetch an Instagram profile by username or user id. Costs 10 credits.",
320
446
  z.object({
321
447
  username: ostr("Instagram username. Provide this or user_id."),
322
448
  user_id: ostr("Instagram user id. Provide this or username.")
@@ -326,7 +452,7 @@ function buildScavioToolkit(options = {}) {
326
452
  tool(
327
453
  "INSTAGRAM_USER_POSTS",
328
454
  "Scavio Instagram User Posts",
329
- "List an Instagram user's posts.",
455
+ "List an Instagram user's posts. Costs 2 credits, the cheapest Instagram endpoint.",
330
456
  z.object({
331
457
  username: ostr("Instagram username. Provide this or user_id."),
332
458
  user_id: ostr("Instagram user id. Provide this or username."),
@@ -338,7 +464,7 @@ function buildScavioToolkit(options = {}) {
338
464
  tool(
339
465
  "INSTAGRAM_USER_REELS",
340
466
  "Scavio Instagram User Reels",
341
- "List an Instagram user's reels.",
467
+ "List an Instagram user's reels. Costs 10 credits.",
342
468
  z.object({
343
469
  username: ostr("Instagram username. Provide this or user_id."),
344
470
  user_id: ostr("Instagram user id. Provide this or username."),
@@ -350,7 +476,7 @@ function buildScavioToolkit(options = {}) {
350
476
  tool(
351
477
  "INSTAGRAM_USER_TAGGED",
352
478
  "Scavio Instagram User Tagged",
353
- "List posts an Instagram user is tagged in.",
479
+ "List posts an Instagram user is tagged in. Costs 10 credits.",
354
480
  z.object({
355
481
  username: ostr("Instagram username. Provide this or user_id."),
356
482
  user_id: ostr("Instagram user id. Provide this or username."),
@@ -362,7 +488,7 @@ function buildScavioToolkit(options = {}) {
362
488
  tool(
363
489
  "INSTAGRAM_USER_STORIES",
364
490
  "Scavio Instagram User Stories",
365
- "Fetch an Instagram user's current stories.",
491
+ "Fetch an Instagram user's current stories. Costs 10 credits.",
366
492
  z.object({
367
493
  username: ostr("Instagram username. Provide this or user_id."),
368
494
  user_id: ostr("Instagram user id. Provide this or username.")
@@ -372,7 +498,7 @@ function buildScavioToolkit(options = {}) {
372
498
  tool(
373
499
  "INSTAGRAM_POST",
374
500
  "Scavio Instagram Post",
375
- "Fetch an Instagram post by URL, media id, or shortcode.",
501
+ "Fetch an Instagram post by URL, media id, or shortcode. Costs 8 credits.",
376
502
  z.object({
377
503
  url: ostr("Post URL. Provide one of url, media_id, or shortcode."),
378
504
  media_id: ostr("Post media id. Provide one of url, media_id, or shortcode."),
@@ -383,7 +509,7 @@ function buildScavioToolkit(options = {}) {
383
509
  tool(
384
510
  "INSTAGRAM_POST_COMMENTS",
385
511
  "Scavio Instagram Post Comments",
386
- "List comments on an Instagram post by shortcode or URL.",
512
+ "List comments on an Instagram post by shortcode or URL. Costs 10 credits.",
387
513
  z.object({
388
514
  shortcode: ostr("Post shortcode. Provide this or url."),
389
515
  url: ostr("Post URL. Provide this or shortcode."),
@@ -395,7 +521,7 @@ function buildScavioToolkit(options = {}) {
395
521
  tool(
396
522
  "INSTAGRAM_COMMENT_REPLIES",
397
523
  "Scavio Instagram Comment Replies",
398
- "List replies to an Instagram post comment.",
524
+ "List replies to an Instagram post comment. Costs 8 credits.",
399
525
  z.object({
400
526
  media_id: str("Post media id."),
401
527
  comment_id: str("Parent comment id."),
@@ -406,7 +532,7 @@ function buildScavioToolkit(options = {}) {
406
532
  tool(
407
533
  "INSTAGRAM_SEARCH_USERS",
408
534
  "Scavio Instagram Search Users",
409
- "Search Instagram users by keyword.",
535
+ "Search Instagram users by keyword. Costs 10 credits.",
410
536
  z.object({
411
537
  keyword: str("Search keyword."),
412
538
  cursor: ostr("Pagination cursor.")
@@ -416,7 +542,7 @@ function buildScavioToolkit(options = {}) {
416
542
  tool(
417
543
  "INSTAGRAM_SEARCH_HASHTAGS",
418
544
  "Scavio Instagram Search Hashtags",
419
- "Search Instagram hashtags by keyword.",
545
+ "Search Instagram hashtags by keyword. Costs 10 credits.",
420
546
  z.object({
421
547
  keyword: str("Search keyword."),
422
548
  cursor: ostr("Pagination cursor.")
@@ -426,7 +552,7 @@ function buildScavioToolkit(options = {}) {
426
552
  tool(
427
553
  "INSTAGRAM_USER_FOLLOWERS",
428
554
  "Scavio Instagram User Followers",
429
- "List an Instagram user's followers.",
555
+ "List an Instagram user's followers. Costs 10 credits.",
430
556
  z.object({
431
557
  username: ostr("Instagram username. Provide this or user_id."),
432
558
  user_id: ostr("Instagram user id. Provide this or username."),
@@ -438,7 +564,7 @@ function buildScavioToolkit(options = {}) {
438
564
  tool(
439
565
  "INSTAGRAM_USER_FOLLOWINGS",
440
566
  "Scavio Instagram User Followings",
441
- "List the accounts an Instagram user follows.",
567
+ "List the accounts an Instagram user follows. Costs 10 credits.",
442
568
  z.object({
443
569
  username: ostr("Instagram username. Provide this or user_id."),
444
570
  user_id: ostr("Instagram user id. Provide this or username."),
@@ -451,7 +577,7 @@ function buildScavioToolkit(options = {}) {
451
577
  }
452
578
  return experimental_createToolkit("SCAVIO", {
453
579
  name: "Scavio",
454
- description: "Real-time structured search over Google, YouTube, Amazon, Walmart, Reddit, TikTok, and Instagram.",
580
+ description: "Real-time structured search over Google, YouTube, Amazon, Walmart, Reddit, TikTok, and Instagram (part of the Scavio API, which also covers TikTok Shop, X and LinkedIn).",
455
581
  tools
456
582
  });
457
583
  }