[{"slug":"ZV-2026-0228","server_name":"api.captapi.com","severity":"breaking","title":"api.captapi.com: Type of details on facebook_marketplace_search changed string → boolean.","summary":"[risky] Description of account_balance changed (69% word delta). [risky] Description of account_daily_usage changed (61% word delta). [risky] Description of account_most_used_routes changed (68% word delta). [risky] Description of account_request_history changed (73% word delta). [risky] Optional field cursor was added to account_request_history; may shift model behaviour. [risky] Description of amazon_shop_page changed (72% word delta). [risky] Description of analytics_compare changed (60% word delta). [risky] Description of analytics_post changed (63% word delta). [risky] Description of bluesky_post_details changed (68% word delta). [risky] Optional field depth was added to bluesky_post_details; may shift model behaviour. [risky] Description of bluesky_profile changed (50% word delta). [risky] Optional field cacheMaxAge was added to bluesky_profile; may shift model behaviour. [risky] Description of bluesky_user_posts changed (66% word delta). [risky] Optional field filter was added to bluesky_user_posts; may shift model behaviour. [risky] Optional field includeReposts was added to bluesky_user_posts; may shift model behaviour. [risky] Description of facebook_ad_library_ad_details changed (73% word delta). [risky] Description of facebook_ad_library_ad_transcript changed (50% word delta). [risky] Description of facebook_ad_library_company_ads changed (61% word delta). [risky] Description of facebook_ad_library_search changed (66% word delta). [risky] Optional field cursor was added to facebook_ad_library_search; may shift model behaviour. [risky] Optional field platforms was added to facebook_ad_library_search; may shift model behaviour. [risky] Optional field trim was added to facebook_ad_library_search; may shift model behaviour. [risky] Description of facebook_ad_library_search_companies changed (59% word delta). [risky] Description of facebook_comment_replies changed (63% word delta). [risky] Description of facebook_comments changed (62% word delta). [risky] Des","changes":[{"kind":"description_changed","tool":"account_balance","after":"Plan, subscription vs top-up credits, monthly quota, and renewsAt — 0 credits. Costs 0 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Get current Captapi credit balance and plan limits. Costs ~0 credits; cached results are free, failures are never charged.","detail":"Description of `account_balance` changed (69% word delta).","severity":"risky","descriptionDelta":0.6944444444444444},{"kind":"description_changed","tool":"account_daily_usage","after":"Day-by-day credit usage for spend monitoring (0 credits). Costs 0 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Daily request and credit usage summary. Costs ~0 credits; cached results are free, failures are never charged.","detail":"Description of `account_daily_usage` changed (61% word delta).","severity":"risky","descriptionDelta":0.6129032258064516},{"kind":"description_changed","tool":"account_most_used_routes","after":"Ranked list of which Captapi routes your key calls most (0 credits). Costs 0 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Most used API routes by request count and credits. Costs ~0 credits; cached results are free, failures are never charged.","detail":"Description of `account_most_used_routes` changed (68% word delta).","severity":"risky","descriptionDelta":0.6756756756756757},{"kind":"description_changed","tool":"account_request_history","after":"Recent API requests for your key — requestId, status, credits, cacheHit (0 credits). Costs 0 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Live request log with requestId, creditsUsed, cacheHit. Filter by endpoint/statusCode/since/until. Free. Costs ~0 credits; cached results are free, failures are never charged.","detail":"Description of `account_request_history` changed (73% word delta).","severity":"risky","descriptionDelta":0.7317073170731707},{"kind":"input_property_added","path":"inputSchema.properties.cursor","tool":"account_request_history","after":{"type":"string","description":"Pagination cursor from nextCursor (createdAt of the last row). Leave empty for the first page."},"detail":"Optional field `cursor` was added to `account_request_history`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"amazon_shop_page","after":"Third-party seller storefronts (/sp?seller= / /s?me=) — ASIN + canonical /dp URLs, price, badges. Not influencer /shop/{handle}. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Amazon seller storefront products with price, badges, scrapedAt, and cursor pagination. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `amazon_shop_page` changed (72% word delta).","severity":"risky","descriptionDelta":0.7173913043478262},{"kind":"description_changed","tool":"analytics_compare","after":"Compare unified metrics across up to 10 URLs — each row is the analytics/post object (1 credit/resolved URL). Costs 1 credit/url. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Same analytics/post object per URL (up to 10). 1 credit per resolved URL; cache hits free. Mix platforms freely. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `analytics_compare` changed (60% word delta).","severity":"risky","descriptionDelta":0.6},{"kind":"description_changed","tool":"analytics_post","after":"Unified metrics for one post, video, or reel — platform auto-detected (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Unified metrics for one post across 11 platforms (auto-detect). engagementRateBasis + commentsIsApproximate/interactionsIsApproximate. Flat 1 credit. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `analytics_post` changed (63% word delta).","severity":"risky","descriptionDelta":0.625},{"kind":"description_changed","tool":"bluesky_post_details","after":"Post thread via getPostThread — nested replies[], facet links/mentions/hashtags, rich author (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Metadata + engagement for a Bluesky post. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `bluesky_post_details` changed (68% word delta).","severity":"risky","descriptionDelta":0.6756756756756757},{"kind":"input_property_added","path":"inputSchema.properties.depth","tool":"bluesky_post_details","after":{"type":"integer","minimum":1,"description":"Reply nesting levels under the post (0 = post only with no replies[], default 1, max 6). Maps to Bluesky getPostThread depth."},"detail":"Optional field `depth` was added to `bluesky_post_details`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"bluesky_profile","after":"Bluesky profile — handle, did, bio, counts, banner, verification{}, labels[], and associated{} (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Bluesky profile — counts, banner, verification{}, labels[], associated{}. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `bluesky_profile` changed (50% word delta).","severity":"risky","descriptionDelta":0.5},{"kind":"input_property_added","path":"inputSchema.properties.cacheMaxAge","tool":"bluesky_profile","after":{"type":"string","description":"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."},"detail":"Optional field `cacheMaxAge` was added to `bluesky_profile`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"bluesky_user_posts","after":"Author feed — posts and reposts (isRepost marked), quote/external/images embeds, opaque cursor. Costs ~3 credits (0.1/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Recent posts from a Bluesky profile — text, author, likes, reposts, embeds; cursor pagination. Costs ~3 credits; cached results are free, failures are never charged.","detail":"Description of `bluesky_user_posts` changed (66% word delta).","severity":"risky","descriptionDelta":0.6590909090909092},{"kind":"input_property_added","path":"inputSchema.properties.filter","tool":"bluesky_user_posts","after":{"type":"string","description":"Bluesky getAuthorFeed filter: posts_with_replies (default), posts_no_replies, posts_with_media, posts_and_author_threads, or posts_with_video. Controls replies/media/threads — not reposts. Use includeReposts=false to drop reposts."},"detail":"Optional field `filter` was added to `bluesky_user_posts`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.includeReposts","tool":"bluesky_user_posts","after":{"type":"boolean","description":"When false, omit repost rows (reasonRepost). Default true — reposts are included and marked with isRepost / repostedBy / repostedAt."},"detail":"Optional field `includeReposts` was added to `bluesky_user_posts`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"facebook_ad_library_ad_details","after":"One Meta ad by ID — same creative as search, plus delivery breakdowns when Meta publishes them. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Meta/Facebook ad details. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `facebook_ad_library_ad_details` changed (73% word delta).","severity":"risky","descriptionDelta":0.725},{"kind":"description_changed","tool":"facebook_ad_library_ad_transcript","after":"Written creative copy from a Meta ad — headline, body, CTA, landing URL. Not a speech transcript. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"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. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `facebook_ad_library_ad_transcript` changed (50% word delta).","severity":"risky","descriptionDelta":0.5},{"kind":"description_changed","tool":"facebook_ad_library_company_ads","after":"Company Ads Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Ads for a Facebook page or Meta Ad Library URL. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `facebook_ad_library_company_ads` changed (61% word delta).","severity":"risky","descriptionDelta":0.6129032258064516},{"kind":"description_changed","tool":"facebook_ad_library_search","after":"Search Meta Ad Library by keyword — active/inactive, media type, date range, platforms, cursor, and spend/impressions when Meta publishes them. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Search Meta/Facebook ads by keyword with status, media, date, and sort filters. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `facebook_ad_library_search` changed (66% word delta).","severity":"risky","descriptionDelta":0.6595744680851063},{"kind":"input_property_added","path":"inputSchema.properties.cursor","tool":"facebook_ad_library_search","after":{"type":"string","description":"Pagination cursor from a previous nextCursor. Pages through the current Meta HTML result batch."},"detail":"Optional field `cursor` was added to `facebook_ad_library_search`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.platforms","tool":"facebook_ad_library_search","after":{"type":"string","description":"Comma-separated publisher platforms to keep: FACEBOOK, INSTAGRAM, MESSENGER, AUDIENCE_NETWORK, THREADS."},"detail":"Optional field `platforms` was added to `facebook_ad_library_search`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.trim","tool":"facebook_ad_library_search","after":{"type":"boolean","description":"When true, omit cards/images/videos typed arrays (media[] stays). Captapi payloads are already lean vs Meta nested snapshots."},"detail":"Optional field `trim` was added to `facebook_ad_library_search`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"facebook_ad_library_search_companies","after":"Find Meta Ad Library pages by brand — name-matched, pageId for company-ads (not profileId). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Find advertisers/pages in the Meta Ad Library by name. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `facebook_ad_library_search_companies` changed (59% word delta).","severity":"risky","descriptionDelta":0.5897435897435898},{"kind":"description_changed","tool":"facebook_comment_replies","after":"Comment Replies Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Replies to a Facebook comment — same author/reactions shape as comments. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `facebook_comment_replies` changed (63% word delta).","severity":"risky","descriptionDelta":0.625},{"kind":"description_changed","tool":"facebook_comments","after":"Facebook post comments with reactionCount, reactions.like when mixed, author.id (pfbid), and replyCount. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Facebook comments — 10-type reactions{}, stable author.id, replyCount, hasMore. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `facebook_comments` changed (62% word delta).","severity":"risky","descriptionDelta":0.6153846153846154},{"kind":"description_changed","tool":"facebook_details","after":"Facebook post or Reel — caption, engagement, author id, video{} playback, and music when Facebook exposes them. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Facebook post or Reel details — engagement, author id, SD/HD video, captions, and music when exposed. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `facebook_details` changed (51% word delta).","severity":"risky","descriptionDelta":0.5121951219512195},{"kind":"description_changed","tool":"facebook_event_details","after":"Get a Facebook event — title, local start/end, timezone, place, host id, and attendance when exposed. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Facebook event — title, local start/end, timezone, place, hosts, attendance when exposed. Flat 2 credits. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `facebook_event_details` changed (47% word delta).","severity":"risky","descriptionDelta":0.4736842105263158},{"kind":"description_changed","tool":"facebook_event_search","after":"Search Facebook events by topic and city — local startDate/timezone, venue. 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Search Facebook events by topic/city — same Event shape as details/profile-events. 2 credits native (~2/result Apify). Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `facebook_event_search` changed (63% word delta).","severity":"risky","descriptionDelta":0.6341463414634146},{"kind":"description_changed","tool":"facebook_group_posts","after":"Public Facebook group posts — listingHits / hydrateFailures / hydrateSkipped, sortBy, and per-count *IsApproximate. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Public Facebook group posts — author IDs, permalink, sortBy, engagement (shares null when unknown). Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `facebook_group_posts` changed (66% word delta).","severity":"risky","descriptionDelta":0.6585365853658536},{"kind":"description_changed","tool":"facebook_marketplace_item","after":"Marketplace listing — title, priceAmount, status, seller{}, condition, coords (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Marketplace listing details — title, price, status, seller when exposed. Flat 2 credits. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `facebook_marketplace_item` changed (60% word delta).","severity":"risky","descriptionDelta":0.6},{"kind":"description_changed","tool":"facebook_marketplace_location_search","after":"Disambiguate city names into Marketplace hubs — id + lat/lng. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Disambiguate city names into Marketplace hubs — id + lat/lng. Bare cities use a local table (<1s). Flat 2 credits. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `facebook_marketplace_location_search` changed (47% word delta).","severity":"risky","descriptionDelta":0.4736842105263158},{"kind":"description_changed","tool":"facebook_marketplace_search","after":"Search Marketplace by keyword + city — filters, isLocal/shipsOutsideRadius, opaque cursor (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Search Facebook Marketplace listings by keyword and city name. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `facebook_marketplace_search` changed (57% word delta).","severity":"risky","descriptionDelta":0.5714285714285714},{"kind":"input_type_changed","path":"inputSchema.properties.details","tool":"facebook_marketplace_search","after":"boolean","before":"string","detail":"Type of `details` on `facebook_marketplace_search` changed string → boolean.","severity":"breaking"},{"kind":"description_changed","tool":"facebook_page_details","after":"Facebook page profile — likes vs followers (distinct), talkingAbout, category, website, and public email. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Facebook page profile — distinct likes vs followers, talkingAbout, category, website, public email. Flat 2 credits. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `facebook_page_details` changed (40% word delta).","severity":"risky","descriptionDelta":0.4},{"kind":"description_changed","tool":"facebook_profile_events","after":"List a Facebook Page's events — local startDate, timezone, venue. 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"List a Facebook Page's events — same Event shape as search/details. 2 credits native (~2/result Apify). Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `facebook_profile_events` changed (63% word delta).","severity":"risky","descriptionDelta":0.625},{"kind":"description_changed","tool":"facebook_profile_photos","after":"Photo grid from a Facebook Page — full image URL plus accessibilityCaption (alt-text, not a post caption). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Photos from a Facebook profile or page. Costs ~12 credits; cached results are free, failures are never charged.","detail":"Description of `facebook_profile_photos` changed (71% word delta).","severity":"risky","descriptionDelta":0.7073170731707317},{"kind":"description_changed","tool":"facebook_profile_posts","after":"Latest posts and Reels from a Facebook page — listingHits / timings.phase; 60s deadline, failures 0 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Latest posts from a Facebook profile/page. Costs ~12 credits; cached results are free, failures are never charged.","detail":"Description of `facebook_profile_posts` changed (61% word delta).","severity":"risky","descriptionDelta":0.6111111111111112},{"kind":"description_changed","tool":"facebook_profile_reels","after":"Latest Facebook page Reels — views, likes, comments, shares; newest-first without archive padding. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Latest page Reels with full engagement; newest-first, archive cliff. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `facebook_profile_reels` changed (62% word delta).","severity":"risky","descriptionDelta":0.6153846153846154},{"kind":"description_changed","tool":"facebook_summarize","after":"Summarizer Costs 4 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"AI summary of a Facebook video or post. Costs ~4 credits; cached results are free, failures are never charged.","detail":"Description of `facebook_summarize` changed (67% word delta).","severity":"risky","descriptionDelta":0.6666666666666667},{"kind":"description_changed","tool":"github_activity","after":"Public events with typed payload (Push commits/ref, PR/issue action) — 90-event ceiling. Costs ~12 credits (0.4/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Public events with typed payload (Push commits/ref, PR/issue action). 90-event ceiling; opaque Link cursor. Costs ~12 credits; cached results are free, failures are never charged.","detail":"Description of `github_activity` changed (45% word delta).","severity":"risky","descriptionDelta":0.45238095238095233},{"kind":"description_changed","tool":"github_contributions","after":"GitHub contribution graph — sorted days[], currentStreak (today grace), longestStreak (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Real contribution graph — totalContributions, currentStreak, days[{date,count,level}] from the public calendar HTML. Flat 2 credits. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `github_contributions` changed (69% word delta).","severity":"risky","descriptionDelta":0.6904761904761905},{"kind":"description_changed","tool":"github_followers","after":"Follower cards {id, login, type, url, avatar} — ~0.1/row; large accounts are expensive to page fully. Costs ~3 credits (0.1/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Follower cards {id,login,type,url,avatar}. ~0.1/row; opaque Link cursor. Large accounts expensive to page fully. Costs ~3 credits; cached results are free, failures are never charged.","detail":"Description of `github_followers` changed (40% word delta).","severity":"risky","descriptionDelta":0.40476190476190477},{"kind":"description_changed","tool":"github_following","after":"Accounts a user follows — same card and ~0.1/row pricing as followers. Costs ~3 credits (0.1/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Same card and ~0.1/row pricing as followers. Opaque Link cursor. Costs ~3 credits; cached results are free, failures are never charged.","detail":"Description of `github_following` changed (51% word delta).","severity":"risky","descriptionDelta":0.5135135135135135},{"kind":"description_changed","tool":"github_pull_requests","after":"List repo PRs — draft, labels, author{}, head/base, opaque Link cursor (state echoed). Costs ~12 credits (0.4/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"List PRs with draft, labels, author{}, head/base; state echoed; opaque Link cursor. Costs ~12 credits; cached results are free, failures are never charged.","detail":"Description of `github_pull_requests` changed (46% word delta).","severity":"risky","descriptionDelta":0.46153846153846156},{"kind":"description_changed","tool":"github_repositories","after":"List a user's repos with sort/direction/type — opaque Link cursor (~0.4/repo). Costs ~12 credits (0.4/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"List repos with sort/direction/type echoed; opaque Link cursor. parent/watchers only on github/repository. Costs ~12 credits; cached results are free, failures are never charged.","detail":"Description of `github_repositories` changed (59% word delta).","severity":"risky","descriptionDelta":0.5909090909090908},{"kind":"description_changed","tool":"github_repository","after":"GitHub repo — stars, real watchers (subscribers), openIssuesAndPrs, license, parent when fork (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Repo details — stars, real watchers (subscribers), openIssuesAndPrs, license (NOASSERTION→null), parent when fork. Flat 1 credit. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `github_repository` changed (49% word delta).","severity":"risky","descriptionDelta":0.4864864864864865},{"kind":"description_changed","tool":"github_trending_developers","after":"github.com/trending/developers — windowed ranks with popularRepo + followers (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"github.com/trending/developers — windowed ranks with popularRepo + hydrated followers/bio. Flat 2 credits. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `github_trending_developers` changed (47% word delta).","severity":"risky","descriptionDelta":0.47058823529411764},{"kind":"description_changed","tool":"github_trending_repositories","after":"github.com/trending — repos ranked by starsGained (daily|weekly|monthly), not all-time stars (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"github.com/trending — repos ranked by starsGained (since=daily|weekly|monthly), not all-time star search. Flat 2 credits. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `github_trending_repositories` changed (45% word delta).","severity":"risky","descriptionDelta":0.44999999999999996},{"kind":"description_changed","tool":"github_user","after":"GitHub public profile — login, type User|Organization, email when public, followers (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Public GitHub profile as camelCase JSON (type User|Organization, email when public). 1 credit — thin wrap of free GitHub REST; prefer Captapi for one-key multi-platform, api.github.com for GitHub-only. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `github_user` changed (63% word delta).","severity":"risky","descriptionDelta":0.625},{"kind":"description_changed","tool":"google_ad_library_ad_details","after":"Google publishes spend and impression ranges only for election ads; commercial advertisers omit both. isActive is true when lastShown is within 7 UTC days. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Google publishes spend and impression ranges only for election ads in regions that require disclosure; commercial advertisers omit both. isActive is derived from lastShown — true when the creative was seen within 7 UTC days. Lookup one commercial ATC creative by AR…+CR… URL — same payload as a company-ads row. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `google_ad_library_ad_details` changed (49% word delta).","severity":"risky","descriptionDelta":0.49230769230769234},{"kind":"description_changed","tool":"google_ad_library_advertiser_search","after":"Find Google Ads Transparency AR… entities — ranked multi-result (1 credit when found; empty is free). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Search Google Ads advertisers. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `google_ad_library_advertiser_search` changed (69% word delta).","severity":"risky","descriptionDelta":0.6944444444444444},{"kind":"description_changed","tool":"google_ad_library_company_ads","after":"Google publishes spend and impression ranges only for election ads; commercial advertisers omit both. isActive is true when lastShown is within 7 UTC days. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Google publishes spend and impression ranges only for election ads in regions that require disclosure; commercial advertisers omit both. isActive is derived from lastShown — true when the creative was seen within 7 UTC days. List commercial ATC creatives (name, domain, or AR id). Image/video omit text/headline/cta/landingUrl; text-format keeps those keys as null (format is inferred, ATC does not ship the copy). Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `google_ad_library_company_ads` changed (59% word delta).","severity":"risky","descriptionDelta":0.5897435897435898},{"kind":"input_property_added","path":"inputSchema.properties.sort","tool":"google_ad_library_company_ads","after":{"type":"string","description":"Client-side sort: last_shown (recent activity first) or first_shown. Default is ATC order."},"detail":"Optional field `sort` was added to `google_ad_library_company_ads`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.topic","tool":"google_ad_library_company_ads","after":{"type":"string","description":"Only \"all\" is supported (commercial ATC). Google publishes spend and impression ranges only for election ads; commercial advertisers omit both. isActive is true when lastShown is within 7 UTC days."},"detail":"Optional field `topic` was added to `google_ad_library_company_ads`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"instagram_basic_profile","after":"Instagram profile by user ID or @handle — camelCase schema aligned with Channel Details (followers, externalUrl, businessAddress). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Instagram profile by user ID/@handle — camelCase (followers, externalUrl, businessAddress). Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `instagram_basic_profile` changed (50% word delta).","severity":"risky","descriptionDelta":0.5},{"kind":"input_property_added","path":"inputSchema.properties.cacheMaxAge","tool":"instagram_basic_profile","after":{"type":"string","description":"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."},"detail":"Optional field `cacheMaxAge` was added to `instagram_basic_profile`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"instagram_channel_details","after":"Instagram profile stats — fixed key set (null fillers), fbid, bioLinks, isBusinessAccount, approx flags. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Profile info & stats for an Instagram account. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `instagram_channel_details` changed (66% word delta).","severity":"risky","descriptionDelta":0.6578947368421053},{"kind":"input_property_added","path":"inputSchema.properties.cacheMaxAge","tool":"instagram_channel_details","after":{"type":"string","description":"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."},"detail":"Optional field `cacheMaxAge` was added to `instagram_channel_details`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"instagram_channel_posts","after":"Latest posts from a public Instagram profile — carousel children[], mediaCount, user{} in one call. Costs ~6 credits (0.3/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Latest posts from an Instagram profile. Costs ~6 credits; cached results are free, failures are never charged.","detail":"Description of `instagram_channel_posts` changed (64% word delta).","severity":"risky","descriptionDelta":0.641025641025641},{"kind":"description_changed","tool":"instagram_channel_reels","after":"Latest Reels from a public Instagram profile — pass userId to skip resolve; ceil(n×0.3) credits; nextCursor + hasMore. Costs ~6 credits (0.3/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Latest Reels from an Instagram profile — url or userId; nextCursor + hasMore. Costs ~6 credits; cached results are free, failures are never charged.","detail":"Description of `instagram_channel_reels` changed (60% word delta).","severity":"risky","descriptionDelta":0.5952380952380952},{"kind":"description_changed","tool":"instagram_comments","after":"Get the comments on any Instagram post or Reel — text, author, avatar, likes, and timestamp for each comment. Costs ~45 credits (0.9/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Comments on an Instagram post or reel. Costs ~45 credits; cached results are free, failures are never charged.","detail":"Description of `instagram_comments` changed (64% word delta).","severity":"risky","descriptionDelta":0.6428571428571428},{"kind":"description_changed","tool":"instagram_details","after":"Get an Instagram post, Reel or carousel — caption, likes, comments, views, media URLs, author, and per-slide children on carousels. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Details for an Instagram post or reel. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `instagram_details` changed (64% word delta).","severity":"risky","descriptionDelta":0.6428571428571428},{"kind":"description_changed","tool":"instagram_embed","after":"Classic Instagram embed snippet — blockquote.instagram-media + embed.js. Drop html into your page. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Embed HTML for an Instagram post, reel, or profile. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `instagram_embed` changed (67% word delta).","severity":"risky","descriptionDelta":0.6666666666666667},{"kind":"description_changed","tool":"instagram_hashtag_search","after":"Native Instagram hashtag Explore — Reels-heavy top surface with real likes, views, captions, and paid flags. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Search Instagram posts by hashtag (native grid). Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `instagram_hashtag_search` changed (71% word delta).","severity":"risky","descriptionDelta":0.7142857142857143},{"kind":"description_changed","tool":"instagram_highlights","after":"Persistent Story Highlight albums for a public profile — id, title, cover, owner. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Persistent Story Highlight albums for a public profile — id, title, cover, owner. Flat 1 credit. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `instagram_highlights` changed (33% word delta).","severity":"risky","descriptionDelta":0.33333333333333337},{"kind":"description_changed","tool":"instagram_highlights_details","after":"Items inside one Instagram Story Highlight album — media URLs, type, takenAt. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Items inside one Instagram Story Highlight album — media URLs, type, takenAt. Flat 1 credit. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `instagram_highlights_details` changed (38% word delta).","severity":"risky","descriptionDelta":0.38235294117647056},{"kind":"description_changed","tool":"instagram_profile_search","after":"Resolve a brand or @handle to one public Instagram profile — stable id, bio, links, and stats (not niche discovery). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Resolve a brand or @handle to one Instagram profile with id, bio, links, and stats (not niche discovery). Flat 1 credit. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `instagram_profile_search` changed (37% word delta).","severity":"risky","descriptionDelta":0.36585365853658536},{"kind":"description_changed","tool":"instagram_reels_by_audio_id","after":"Is this Instagram sound trending? Reels that use it + isTrendingInClips / trendRank / rich music{}. Costs ~28 credits (1.4/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Reels by audio + isTrendingInClips / trendRank / music{}. Costs ~28 credits; cached results are free, failures are never charged.","detail":"Description of `instagram_reels_by_audio_id` changed (68% word delta).","severity":"risky","descriptionDelta":0.675},{"kind":"input_property_removed","path":"inputSchema.properties.audio_id","tool":"instagram_reels_by_audio_id","before":{"type":"string","description":"Instagram audio/music ID or full audio URL."},"detail":"Field `audio_id` was removed from `instagram_reels_by_audio_id` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_required_added","path":"inputSchema.properties.audioId","tool":"instagram_reels_by_audio_id","after":{"type":"string","description":"Instagram audio/music ID or full audio URL, e.g. 27919946310946207."},"detail":"New required field `audioId` on `instagram_reels_by_audio_id`; requests without it will fail.","severity":"breaking"},{"kind":"description_changed","tool":"instagram_reels_search","after":"Native Instagram Reels hashtag search — engagement.views + viewsSource, location, commercial flags. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Native Instagram Reels hashtag search — views/plays, author verified/followers, datePosted. Flat 2 credits. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `instagram_reels_search` changed (59% word delta).","severity":"risky","descriptionDelta":0.5897435897435898},{"kind":"description_changed","tool":"instagram_summarize","after":"Get an AI summary of any Instagram Reel — a short paragraph plus key points, without watching the video. Costs 4 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"AI summary of an Instagram Reel. Costs ~4 credits; cached results are free, failures are never charged.","detail":"Description of `instagram_summarize` changed (62% word delta).","severity":"risky","descriptionDelta":0.6153846153846154},{"kind":"description_changed","tool":"instagram_tagged_posts","after":"Posts that tag an Instagram account — author verified/avatar when available, staleFeed when Instagram only exposes an archive. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Tagged posts — author id, views, hashtags/mentions; cursor pagination. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `instagram_tagged_posts` changed (75% word delta).","severity":"risky","descriptionDelta":0.75},{"kind":"description_changed","tool":"instagram_transcript","after":"Turn any Instagram Reel's speech into text — the full transcript plus timestamped segments, ready for search, subtitles, or AI pipelines. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Transcript of an Instagram Reel. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `instagram_transcript` changed (73% word delta).","severity":"risky","descriptionDelta":0.7272727272727273},{"kind":"description_changed","tool":"instagram_trending_reels","after":"Cache-first trending Reels — flat 2 credits every call (4h TTL). Costs 2 credits. Empty results and failures are never charged. Successful calls bill even on cache hits.","before":"Cache-first trending Reels — flat 2 credits every call (4h TTL). Use reels-search for keyword scrapes. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `instagram_trending_reels` changed (47% word delta).","severity":"risky","descriptionDelta":0.46875},{"kind":"description_changed","tool":"kick_clip","after":"Get a Kick clip — creator vs channel, HLS playback, VOD deep-link, views, and duration as structured JSON. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Kick clip — creator vs channel, category, maturity, VOD; or recent channel clips. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `kick_clip` changed (65% word delta).","severity":"risky","descriptionDelta":0.6511627906976745},{"kind":"input_property_added","path":"inputSchema.properties.cacheMaxAge","tool":"kick_clip","after":{"type":"string","description":"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."},"detail":"Optional field `cacheMaxAge` was added to `kick_clip`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"komi_page","after":"Komi link-in-bio → identity, socials{} (incl. website), content LINK/PRODUCT rows with price/currency. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Komi page — id/displayName/bio, socials{} (incl. website), content LINK/PRODUCT rows with price/currency. Flat 1 credit. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `komi_page` changed (45% word delta).","severity":"risky","descriptionDelta":0.44999999999999996},{"kind":"input_property_added","path":"inputSchema.properties.cacheMaxAge","tool":"komi_page","after":{"type":"string","description":"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."},"detail":"Optional field `cacheMaxAge` was added to `komi_page`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"kwai_post","after":"Single Kwai video — caption (\"\" when none), hashtags[], author, mp4 (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Kwai post metadata and engagement. Costs ~17 credits; cached results are free, failures are never charged.","detail":"Description of `kwai_post` changed (71% word delta).","severity":"risky","descriptionDelta":0.7142857142857143},{"kind":"description_changed","tool":"kwai_profile","after":"Fetch Kwai profile — display name, bio, counts, and verification as structured JSON. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Kwai profile — bio, counts, verification, and post privacy flags. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `kwai_profile` changed (58% word delta).","severity":"risky","descriptionDelta":0.5833333333333333},{"kind":"description_changed","tool":"kwai_user_posts","after":"Kwai profile posts — caption (\"\" when none), engagement, mp4 + transcript (~1 credit/post). Costs ~20 credits (1/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Recent Kwai videos from a profile. Costs ~45 credits; cached results are free, failures are never charged.","detail":"Description of `kwai_user_posts` changed (72% word delta).","severity":"risky","descriptionDelta":0.717948717948718},{"kind":"input_property_added","path":"inputSchema.properties.cursor","tool":"kwai_user_posts","after":{"type":"string","description":"Opaque pagination cursor from the previous nextCursor. Pages within posts from one profile fetch."},"detail":"Optional field `cursor` was added to `kwai_user_posts`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"linkbio_page","after":"lnk.bio → id, socials{}, titled links[], website/email/whatsapp, other[]. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"lnk.bio page — id, socials{} (often filled where SC is null), titled links[], website/email/whatsapp, other[]. Flat 1 credit. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `linkbio_page` changed (50% word delta).","severity":"risky","descriptionDelta":0.5},{"kind":"input_property_added","path":"inputSchema.properties.cacheMaxAge","tool":"linkbio_page","after":{"type":"string","description":"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."},"detail":"Optional field `cacheMaxAge` was added to `linkbio_page`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"linkedin_ad_library_ad_details","after":"One LinkedIn Ad Library ad by ID. LinkedIn withholds Ran-from / impressions / targeting on most creatives — those keys are omitted, not 404. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"One LinkedIn Ad Library ad. LinkedIn withholds Ran-from on most creatives — those keys omitted, not 404. source native|extended. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `linkedin_ad_library_ad_details` changed (45% word delta).","severity":"risky","descriptionDelta":0.4545454545454546},{"kind":"description_changed","tool":"linkedin_ad_library_search_ads","after":"LinkedIn publishes run dates, impressions and targeting only on a subset of creatives. Search is the SERP card; source is native|extended. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"LinkedIn Ad Library SERP cards. Run dates/impressions/targeting only on a subset — source is native|extended. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `linkedin_ad_library_search_ads` changed (48% word delta).","severity":"risky","descriptionDelta":0.4772727272727273},{"kind":"input_property_added","path":"inputSchema.properties.company","tool":"linkedin_ad_library_search_ads","after":{"type":"string","description":"Alias of q — advertiser / account owner name."},"detail":"Optional field `company` was added to `linkedin_ad_library_search_ads`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.paginationToken","tool":"linkedin_ad_library_search_ads","after":{"type":"string","description":"Alias of cursor."},"detail":"Optional field `paginationToken` was added to `linkedin_ad_library_search_ads`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"linkedin_company","after":"Company page for B2B intel — specialties, similarPages, employeeCount, founded, slogan, cover. Native 1 / enrich 2. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Public LinkedIn company page details. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `linkedin_company` changed (71% word delta).","severity":"risky","descriptionDelta":0.7105263157894737},{"kind":"description_changed","tool":"linkedin_company_posts","after":"Company posts with engagement{likes,comments} — cursor pages up to 100. Flat 1 credit on the native path. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Recent public posts from a LinkedIn company page, with cursor pagination (nextCursor + hasMore) up to 100 posts. Costs ~16 credits; cached results are free, failures are never charged.","detail":"Description of `linkedin_company_posts` changed (69% word delta).","severity":"risky","descriptionDelta":0.6875},{"kind":"description_changed","tool":"linkedin_post_details","after":"Get a LinkedIn post — text, author, reactions, and comments count as structured JSON. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Metadata + engagement for a LinkedIn post. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `linkedin_post_details` changed (63% word delta).","severity":"risky","descriptionDelta":0.6285714285714286},{"kind":"description_changed","tool":"linkedin_post_transcript","after":"LinkedIn post text as a transcript — paragraph segments, timingSource none. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Extract post text as a transcript for a LinkedIn post. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `linkedin_post_transcript` changed (52% word delta).","severity":"risky","descriptionDelta":0.5151515151515151},{"kind":"description_changed","tool":"linkedin_profile","after":"LinkedIn person profile with experience[], education[], similarProfiles[] — masked guest text becomes restricted:true. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Public LinkedIn person profile details. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `linkedin_profile` changed (67% word delta).","severity":"risky","descriptionDelta":0.6666666666666667},{"kind":"description_changed","tool":"linkedin_search_posts","after":"Keyword search of public LinkedIn posts — offset cursor, ceiling 50. Costs ~16 credits (0.8/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Search public LinkedIn posts by keyword — cursor pagination (nextCursor + hasMore) up to 50. ~0.8 credits/result. Costs ~16 credits; cached results are free, failures are never charged.","detail":"Description of `linkedin_search_posts` changed (54% word delta).","severity":"risky","descriptionDelta":0.5365853658536586},{"kind":"description_changed","tool":"linkme_profile","after":"Linkme profile → bio, profileVisitCount, featured links, webLinks, email/infoLinks, stripeStatus. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Public Linkme profile links and metadata. Costs ~4 credits; cached results are free, failures are never charged.","detail":"Description of `linkme_profile` changed (70% word delta).","severity":"risky","descriptionDelta":0.7027027027027026},{"kind":"input_property_added","path":"inputSchema.properties.cacheMaxAge","tool":"linkme_profile","after":{"type":"string","description":"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."},"detail":"Optional field `cacheMaxAge` was added to `linkme_profile`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"linktree_page","after":"Link-in-bio → creator graph: typed links, socialAccounts{} that feed TikTok/Instagram/Spotify/SoundCloud, email, verticals. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Public Linktree profile links (incl. GROUP children), socials, email, verticals. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `linktree_page` changed (74% word delta).","severity":"risky","descriptionDelta":0.7391304347826086},{"kind":"input_property_added","path":"inputSchema.properties.cacheMaxAge","tool":"linktree_page","after":{"type":"string","description":"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."},"detail":"Optional field `cacheMaxAge` was added to `linktree_page`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"pillar_page","after":"Pillar link-in-bio → identity, socials{}, links[] with per-link clicks, products[]. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Pillar page — id/displayName/bio/location/email, socials{}, links[] with clicks, products[]. Flat 1 credit. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `pillar_page` changed (56% word delta).","severity":"risky","descriptionDelta":0.5641025641025641},{"kind":"input_property_added","path":"inputSchema.properties.cacheMaxAge","tool":"pillar_page","after":{"type":"string","description":"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."},"detail":"Optional field `cacheMaxAge` was added to `pillar_page`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"pinterest_board","after":"Pins on a Pinterest board — saves, imageOriginal, destinationUrl, top-level author. ~0.5 credits/pin. Costs ~13 credits (0.5/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Board pins — cursor pagination (nextCursor + hasMore) up to the pidgets window (~100). ~0.5 credits/pin. Costs ~13 credits; cached results are free, failures are never charged.","detail":"Description of `pinterest_board` changed (70% word delta).","severity":"risky","descriptionDelta":0.6956521739130435},{"kind":"description_changed","tool":"pinterest_pin_details","after":"Get a Pinterest pin — title, description, link, board, origin creator, and engagement as structured JSON. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Pin title, description, link, board, originAuthor, images, and engagement (1 credit). Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `pinterest_pin_details` changed (57% word delta).","severity":"risky","descriptionDelta":0.5675675675675675},{"kind":"description_changed","tool":"pinterest_search","after":"Keyword pin search — offset cursor, SERP window 40. Costs ~13 credits (0.5/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Search Pinterest pins by keyword — cursor pagination up to the SERP window (40). ~0.5 credits/result. Costs ~13 credits; cached results are free, failures are never charged.","detail":"Description of `pinterest_search` changed (55% word delta).","severity":"risky","descriptionDelta":0.55},{"kind":"description_changed","tool":"pinterest_user_boards","after":"Boards on a Pinterest profile — pinCount, coverImage (474x), privacy, sections. Board followers when scoped. Costs ~13 credits (0.5/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Boards on a Pinterest profile — cursor pagination (nextCursor + hasMore) up to 200. ~0.5 credits/board. Costs ~13 credits; cached results are free, failures are never charged.","detail":"Description of `pinterest_user_boards` changed (62% word delta).","severity":"risky","descriptionDelta":0.6222222222222222},{"kind":"description_changed","tool":"pinterest_user_pins","after":"Pins from a Pinterest profile — offset cursor, pidgets window ~100. Costs ~13 credits (0.5/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Pins from a Pinterest profile — cursor pagination (nextCursor + hasMore) up to the pidgets window (~100). ~0.5 credits/result. Costs ~13 credits; cached results are free, failures are never charged.","detail":"Description of `pinterest_user_pins` changed (48% word delta).","severity":"risky","descriptionDelta":0.475},{"kind":"description_changed","tool":"reddit_post_comments","after":"Flat Reddit comment threads with depth/parentId, cursor pagination, and the parent post in one call. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Comments on a Reddit post — cursor pagination (nextCursor + hasMore). Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `reddit_post_comments` changed (66% word delta).","severity":"risky","descriptionDelta":0.6585365853658536},{"kind":"description_changed","tool":"reddit_post_details","after":"Get a Reddit post — title, body, score, comments count, subreddit, and author as structured JSON. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Metadata + stats for a Reddit post. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `reddit_post_details` changed (65% word delta).","severity":"risky","descriptionDelta":0.6486486486486487},{"kind":"description_changed","tool":"reddit_post_transcript","after":"Written post text — title, body and top comments. Not a speech transcript. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Returns the post's written content — title, body and top comments — as text. Reddit does not expose speech transcripts for v.redd.it video, so this is not a speech transcript. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `reddit_post_transcript` changed (55% word delta).","severity":"risky","descriptionDelta":0.5510204081632653},{"kind":"description_changed","tool":"reddit_search","after":"Reddit site-wide post search — sort + timeframe + cursor, score/upvoteRatio, authorFullname. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Site-wide Reddit search with sort/timeframe, scores, authorFullname, cursor. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `reddit_search` changed (53% word delta).","severity":"risky","descriptionDelta":0.5277777777777778},{"kind":"description_changed","tool":"reddit_subreddit_details","after":"Subreddit card — id (t5_…), members, activeUsers, rules[], ISO createdAt, nsfw/type. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Subreddit card — t5_ id, members, activeUsers, rules[], ISO createdAt. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `reddit_subreddit_details` changed (47% word delta).","severity":"risky","descriptionDelta":0.47058823529411764},{"kind":"description_changed","tool":"reddit_subreddit_posts","after":"List posts from a subreddit with sort, timeframe, and cursor pagination — title, score, upvote ratio, flair, and more. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Posts in a subreddit with sort/timeframe and cursor pagination (nextCursor + hasMore). Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `reddit_subreddit_posts` changed (55% word delta).","severity":"risky","descriptionDelta":0.55},{"kind":"description_changed","tool":"reddit_subreddit_search","after":"Search posts inside one subreddit — not subreddit discovery. Same sort/timeframe as site-wide Search. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Search posts inside one subreddit — not subreddit discovery. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `reddit_subreddit_search` changed (56% word delta).","severity":"risky","descriptionDelta":0.5555555555555556},{"kind":"description_changed","tool":"rumble_channel_videos","after":"Rumble channel uploads — lean streams[{url,type}]; call video-details for rendition meta. Costs ~12 credits (0.6/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"List videos from a Rumble channel. Costs ~12 credits; cached results are free, failures are never charged.","detail":"Description of `rumble_channel_videos` changed (70% word delta).","severity":"risky","descriptionDelta":0.7},{"kind":"description_changed","tool":"rumble_comments","after":"Rumble top-level comments — publishedAt ISO-8601 UTC from title= on the comment time link. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Comments on a Rumble video. Costs ~30 credits; cached results are free, failures are never charged.","detail":"Description of `rumble_comments` changed (69% word delta).","severity":"risky","descriptionDelta":0.6923076923076923},{"kind":"description_changed","tool":"rumble_search","after":"Rumble keyword search — same video card shape as channel-videos (type, durationSeconds + durationText, UTC publishedAt). Costs ~12 credits (0.6/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Search Rumble videos by keyword. Costs ~12 credits; cached results are free, failures are never charged.","detail":"Description of `rumble_search` changed (68% word delta).","severity":"risky","descriptionDelta":0.6829268292682926},{"kind":"description_changed","tool":"rumble_video_details","after":"Rumble video metadata — uniform streams[] with rendition meta, captions[], audioStreams. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Rumble video metadata + stats: real likes/comments (null when unknown), durationSeconds, captions, media qualities, channelFollowers/verified. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `rumble_video_details` changed (70% word delta).","severity":"risky","descriptionDelta":0.7045454545454546},{"kind":"description_changed","tool":"rumble_video_transcript","after":"Rumble published captions as timed segments — parses the .vtt from video-details (not speech-to-text). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Published Rumble captions as timed segments (parses .vtt; not STT). 404 is free. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `rumble_video_transcript` changed (56% word delta).","severity":"risky","descriptionDelta":0.5609756097560976},{"kind":"description_changed","tool":"snapchat_user_profile","after":"Snapchat profile — unwrapped highlight ids, mediaType image/video, category labels, Spotlight boosts (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Public Snapchat profile — highlights with snap lists, Spotlight engagement, related accounts. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `snapchat_user_profile` changed (71% word delta).","severity":"risky","descriptionDelta":0.7142857142857143},{"kind":"description_changed","tool":"soundcloud_artist","after":"SoundCloud artist — handle + name, subscriptionTier, externalLinks, verified (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"SoundCloud artist — bio, counts, badges, creator subscription tier. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `soundcloud_artist` changed (69% word delta).","severity":"risky","descriptionDelta":0.6857142857142857},{"kind":"input_property_added","path":"inputSchema.properties.cacheMaxAge","tool":"soundcloud_artist","after":{"type":"string","description":"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."},"detail":"Optional field `cacheMaxAge` was added to `soundcloud_artist`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"soundcloud_artist_tracks","after":"Artist track list — opaque cursor, native-window when the api-v2 page ends (2 credits; empty is 0). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Tracks from a SoundCloud artist profile, with cursor pagination (nextCursor + hasMore). Costs ~28 credits; cached results are free, failures are never charged.","detail":"Description of `soundcloud_artist_tracks` changed (76% word delta).","severity":"risky","descriptionDelta":0.7608695652173914},{"kind":"description_changed","tool":"soundcloud_track","after":"SoundCloud track — plays/likes/license, tags[], nested artist{}, streamUrl when streamable (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"SoundCloud track metadata and engagement stats. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `soundcloud_track` changed (67% word delta).","severity":"risky","descriptionDelta":0.6666666666666667},{"kind":"input_property_added","path":"inputSchema.properties.cacheMaxAge","tool":"soundcloud_track","after":{"type":"string","description":"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."},"detail":"Optional field `cacheMaxAge` was added to `soundcloud_track`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"spotify_album","after":"Spotify album — tracks[] with playCount, joinable artists[], releaseDate, explicit (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Spotify album metadata and track count. Costs ~6 credits; cached results are free, failures are never charged.","detail":"Description of `spotify_album` changed (72% word delta).","severity":"risky","descriptionDelta":0.7222222222222222},{"kind":"input_property_added","path":"inputSchema.properties.raw","tool":"spotify_album","after":{"type":"boolean","description":"Include the upstream GraphQL payload as data.raw. Default false — omit unless you need fields not in the normalized shape."},"detail":"Optional field `raw` was added to `spotify_album`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"spotify_artist","after":"Spotify artist — followers, monthlyListeners, worldRank, topCities, topTracks with playCount, concerts, and related artists (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Spotify artist — followers, monthlyListeners, worldRank, topCities, topTracks with playCount, concerts, related artists. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `spotify_artist` changed (38% word delta).","severity":"risky","descriptionDelta":0.38235294117647056},{"kind":"input_property_added","path":"inputSchema.properties.raw","tool":"spotify_artist","after":{"type":"boolean","description":"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)."},"detail":"Optional field `raw` was added to `spotify_artist`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"spotify_podcast","after":"Spotify podcast show — publisher, rating, topics, explicit flag, and totalEpisodes as clean JSON. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Spotify podcast — publisher, rating, topics, explicit, totalEpisodes. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `spotify_podcast` changed (53% word delta).","severity":"risky","descriptionDelta":0.5294117647058824},{"kind":"input_property_removed","path":"inputSchema.properties.limit","tool":"spotify_podcast","before":{"type":"integer","minimum":1,"description":"Max items to return. Default 20, max 50. Flat 1 credit per call."},"detail":"Field `limit` was removed from `spotify_podcast` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"description_changed","tool":"spotify_podcast_episodes","after":"Podcast episode archive — previewUrl, releaseDate, explicit, cursor pagination (flat 2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"List episodes for a Spotify podcast/show. Costs ~23 credits; cached results are free, failures are never charged.","detail":"Description of `spotify_podcast_episodes` changed (69% word delta).","severity":"risky","descriptionDelta":0.6944444444444444},{"kind":"input_property_added","path":"inputSchema.properties.cursor","tool":"spotify_podcast_episodes","after":{"type":"string","description":"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response."},"detail":"Optional field `cursor` was added to `spotify_podcast_episodes`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.raw","tool":"spotify_podcast_episodes","after":{"type":"boolean","description":"Include slimmed per-episode upstream payload as episodes[].raw. Default false. visualIdentity / playedState / podcastV2 are never included."},"detail":"Optional field `raw` was added to `spotify_podcast_episodes`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"spotify_search","after":"Search Spotify — canonical spotify: URIs, explicit, fetchedAt (flat 2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Search Spotify by type (tracks/albums/artists/podcasts/episodes) - canonical URIs, explicit/playable, scrapedAt. Flat 2 credits. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `spotify_search` changed (61% word delta).","severity":"risky","descriptionDelta":0.6052631578947368},{"kind":"input_property_added","path":"inputSchema.properties.raw","tool":"spotify_search","after":{"type":"boolean","description":"Include per-result upstream payload as results[].raw. Default false. Pathfinder GraphQL vs Apify scraper shapes differ — see FAQ."},"detail":"Optional field `raw` was added to `spotify_search`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"spotify_track","after":"Spotify track — playCount, joinable artists[]/album{}, explicit, releaseDate (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Spotify track — playCount, artist/album IDs, explicit rating. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `spotify_track` changed (58% word delta).","severity":"risky","descriptionDelta":0.5757575757575757},{"kind":"input_property_added","path":"inputSchema.properties.raw","tool":"spotify_track","after":{"type":"boolean","description":"Include the upstream GraphQL payload as data.raw. Default false — getTrack embeds bulky artist discography."},"detail":"Optional field `raw` was added to `spotify_track`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"threads_post_details","after":"Threads post — engagement (views when exposed), comments[], relatedPosts[], threadId/isReply. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Metadata + engagement for a Threads post. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `threads_post_details` changed (59% word delta).","severity":"risky","descriptionDelta":0.5882352941176471},{"kind":"description_changed","tool":"threads_profile","after":"Threads profile — displayName, private/isPrivate, bioLinks (Meta verified), isThreadsOnlyUser, transparencyLabel, bioFragments, HD avatars (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Threads profile — bio, followers, verified, isPrivate, bioLinks, transparencyLabel, HD avatar versions. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `threads_profile` changed (59% word delta).","severity":"risky","descriptionDelta":0.5897435897435898},{"kind":"description_changed","tool":"threads_search","after":"Threads keyword search — posts with engagement + media. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Threads keyword search — flat 2 native (~0.7/post Apify). Meta Top SERP; no sort/date. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `threads_search` changed (68% word delta).","severity":"risky","descriptionDelta":0.6829268292682926},{"kind":"description_changed","tool":"threads_search_users","after":"Threads user discovery from keyword search — id, handle, avatar, verified. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Distinct authors from keyword search — id, avatar, verified. Flat 1 native. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `threads_search_users` changed (56% word delta).","severity":"risky","descriptionDelta":0.5555555555555556},{"kind":"description_changed","tool":"threads_user_posts","after":"Recent Threads posts — engagement{views,likes,replies,reposts,quotes}, threadId/isReply. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Recent Threads posts — views+engagement, threadId/isReply. Flat 2 native. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `threads_user_posts` changed (51% word delta).","severity":"risky","descriptionDelta":0.5142857142857142},{"kind":"description_changed","tool":"tiktok_ad_library_ad_details","after":"One TikTok Commercial Content Library ad by ID — calendar-day dates, always 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"TikTok ad details by ad URL or ID. Always 2 credits; fetchPath native|fallback. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_ad_library_ad_details` changed (64% word delta).","severity":"risky","descriptionDelta":0.641025641025641},{"kind":"description_changed","tool":"tiktok_ad_library_search","after":"Search TikTok Commercial Content Library — relevance-filtered, uniform null schema (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"EU DSA Ad Library search — match=any|all, matchedFrom/filteredOut, empty free, ~40s cap. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_ad_library_search` changed (71% word delta).","severity":"risky","descriptionDelta":0.7142857142857143},{"kind":"description_changed","tool":"tiktok_ad_library_top_ads","after":"TikTok Creative Center Top Ads — one ~20-row leaderboard page, not a library search (flat 2 / ~1 Apify). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Creative Center Top Ads — browser list XHR early-exit, 30–60s typical; flat 2 / ~1 Apify. Client timeout ≥120s. Costs ~20 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_ad_library_top_ads` changed (65% word delta).","severity":"risky","descriptionDelta":0.653061224489796},{"kind":"description_changed","tool":"tiktok_audience_demographics","after":"Audience country + language mix for a TikTok creator — engagement sample, not a follower census. Costs 3 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Ranked country breakdown of a TikTok creator's audience, based on people who comment on their recent videos (not a full follower census). From a profile URL or @handle. Costs ~3 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_audience_demographics` changed (67% word delta).","severity":"risky","descriptionDelta":0.6666666666666667},{"kind":"input_property_added","path":"inputSchema.properties.countriesLimit","tool":"tiktok_audience_demographics","after":{"type":"integer","minimum":1,"description":"Max countries in audienceLocations; remainder folds into other{count,percentage}. Omit for the full list (other is omitted when unused)."},"detail":"Optional field `countriesLimit` was added to `tiktok_audience_demographics`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.videos","tool":"tiktok_audience_demographics","after":{"type":"integer","minimum":1,"description":"How many recent videos to sample comments from: 12 (default, 3 credits), 30 (5 credits), or 60 (8 credits)."},"detail":"Optional field `videos` was added to `tiktok_audience_demographics`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"tiktok_channel_details","after":"Resolve a TikTok @handle to id + secUid — createTime, ttSeller, bioLink, decoded privacy flags. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Resolve @handle → id + secUid; createTime, ttSeller, bioLink.risk, category, commerce flags. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `tiktok_channel_details` changed (54% word delta).","severity":"risky","descriptionDelta":0.5405405405405406},{"kind":"input_property_added","path":"inputSchema.properties.cacheMaxAge","tool":"tiktok_channel_details","after":{"type":"string","description":"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."},"detail":"Optional field `cacheMaxAge` was added to `tiktok_channel_details`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.raw","tool":"tiktok_channel_details","after":{"type":"boolean","description":"Set true to include TikTok's upstream user/statsV2 blob under raw (privacy ints, profileTab, …). Default false — curated fields only."},"detail":"Optional field `raw` was added to `tiktok_channel_details`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"tiktok_channel_posts","after":"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. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Latest videos from a TikTok profile — caption, engagement, thumbnail, sound, and hashtags for each post. Cursor pagination via nextCursor. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_channel_posts` changed (68% word delta).","severity":"risky","descriptionDelta":0.679245283018868},{"kind":"description_changed","tool":"tiktok_comment_replies","after":"Replies under a TikTok comment — same authorId/authorSecUid/commentLanguage shape as comments. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Replies under a TikTok comment — text, author, likes, timestamp, with cursor pagination (nextCursor + hasMore). Flat 2 credits. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_comment_replies` changed (67% word delta).","severity":"risky","descriptionDelta":0.6744186046511628},{"kind":"description_changed","tool":"tiktok_comments","after":"TikTok comments — clean schema plus authorName, stable authorId/authorSecUid and commentLanguage for listening loops. Unresolvable videos are 404 at 0 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Comments on a TikTok video — text, author, avatar, likes, and timestamp, plus totalComments and cursor pagination (limit up to 500). Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_comments` changed (74% word delta).","severity":"risky","descriptionDelta":0.7358490566037736},{"kind":"description_changed","tool":"tiktok_live","after":"Is this TikTok creator live — isLive/status, creator.id/secUid, room, streamQualities with flv/hls/cmaf/dash. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"isLive/status, creator.id/secUid, streamQualities with flv/hls/cmaf/dash. Flat 1 credit. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `tiktok_live` changed (49% word delta).","severity":"risky","descriptionDelta":0.4871794871794872},{"kind":"description_changed","tool":"tiktok_live_info","after":"Identical to TikTok Live (isLive, creator.id/secUid, streamQualities hls/cmaf). Costs 7 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"True alias of /live (same payload) at 7 credits. Costs ~7 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_live_info` changed (71% word delta).","severity":"risky","descriptionDelta":0.7105263157894737},{"kind":"description_changed","tool":"tiktok_music_posts","after":"List TikTok videos that use a specific sound — caption, author, exact engagement, canonical hashtags, and mentions, with cursor pagination. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Posts using a specific TikTok sound/music. Costs ~32 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_music_posts` changed (72% word delta).","severity":"risky","descriptionDelta":0.7209302325581395},{"kind":"input_property_added","path":"inputSchema.properties.cursor","tool":"tiktok_music_posts","after":{"type":"string","description":"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response."},"detail":"Optional field `cursor` was added to `tiktok_music_posts`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"tiktok_popular_creators","after":"Creative Center creators + createTime / bioLinkRisk / ttSeller hydrate for partnership vetting. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Popular TikTok creators by country and ranking mode. Costs ~28 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_popular_creators` changed (74% word delta).","severity":"risky","descriptionDelta":0.736842105263158},{"kind":"input_property_added","path":"inputSchema.properties.cacheMaxAge","tool":"tiktok_popular_creators","after":{"type":"string","description":"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."},"detail":"Optional field `cacheMaxAge` was added to `tiktok_popular_creators`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.page","tool":"tiktok_popular_creators","after":{"type":"integer","minimum":1,"description":"Creative Center page (default 1)."},"detail":"Optional field `page` was added to `tiktok_popular_creators`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"tiktok_popular_hashtags","after":"TikTok Creative Center hashtag chart — real videoCount/totalPlays, plus rankDiff and trend[] on that path. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"TikTok Creative Center hashtag chart (population videoCount). Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_popular_hashtags` changed (61% word delta).","severity":"risky","descriptionDelta":0.6052631578947368},{"kind":"input_property_added","path":"inputSchema.properties.country","tool":"tiktok_popular_hashtags","after":{"type":"string","description":"Two-letter ISO country for the Creative Center chart. Default US."},"detail":"Optional field `country` was added to `tiktok_popular_hashtags`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.industryId","tool":"tiktok_popular_hashtags","after":{"type":"string","description":"Optional Creative Center industry_id."},"detail":"Optional field `industryId` was added to `tiktok_popular_hashtags`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.newOnBoard","tool":"tiktok_popular_hashtags","after":{"type":"boolean","description":"Only hashtags newly on the Top 100."},"detail":"Optional field `newOnBoard` was added to `tiktok_popular_hashtags`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.page","tool":"tiktok_popular_hashtags","after":{"type":"integer","minimum":1,"description":"Creative Center page (default 1)."},"detail":"Optional field `page` was added to `tiktok_popular_hashtags`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.period","tool":"tiktok_popular_hashtags","after":{"type":"integer","minimum":1,"description":"Lookback days: 7, 30, or 120 (180→120). Default 7."},"detail":"Optional field `period` was added to `tiktok_popular_hashtags`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.sortBy","tool":"tiktok_popular_hashtags","after":{"type":"string","description":"Chart sort: popular (default)."},"detail":"Optional field `sortBy` was added to `tiktok_popular_hashtags`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"tiktok_popular_songs","after":"Creative Center popular/surging sounds — rankDiff, trend[], commercialMusic. 110s deadline, 0 credits on 502. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Creative Center popular/surging sounds — rankDiff, trend[], commercialMusic. Flat 2 credits. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_popular_songs` changed (53% word delta).","severity":"risky","descriptionDelta":0.5277777777777778},{"kind":"input_type_changed","path":"inputSchema.properties.period","tool":"tiktok_popular_songs","after":"integer","before":"string","detail":"Type of `period` on `tiktok_popular_songs` changed string → integer.","severity":"breaking"},{"kind":"description_changed","tool":"tiktok_profile_region","after":"Find out where a TikTok creator is likely based and what language they use — country, language, stable ids, and core profile stats. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Where a TikTok creator is likely based and what language they use — country, language, and core profile stats from a profile URL or @handle. When TikTok hides the country, it is estimated from public bio/name/language cues, with a confidence grade. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_profile_region` changed (55% word delta).","severity":"risky","descriptionDelta":0.5535714285714286},{"kind":"input_property_added","path":"inputSchema.properties.raw","tool":"tiktok_profile_region","after":{"type":"boolean","description":"Set true to include TikTok's upstream user/statsV2 blob under raw. Default false — curated fields only."},"detail":"Optional field `raw` was added to `tiktok_profile_region`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"tiktok_search_by_hashtag","after":"Videos from TikTok's /tag/{name} challenge feed — not keyword or username search. Cursor + hasMore. Costs ~14 credits (0.7/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Search TikTok videos by hashtag — video URL, caption, author, and engagement counts per result, with cursor pagination (nextCursor + hasMore). Costs ~14 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_search_by_hashtag` changed (69% word delta).","severity":"risky","descriptionDelta":0.6923076923076923},{"kind":"description_changed","tool":"tiktok_search_suggestions","after":"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. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"The autocomplete terms TikTok suggests in its search bar for a seed keyword — the real phrases people search, ranked. Localize by country + language. Costs ~28 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_search_suggestions` changed (54% word delta).","severity":"risky","descriptionDelta":0.5384615384615384},{"kind":"description_changed","tool":"tiktok_search_users","after":"Search TikTok users — distinct creators only, id + secUid, per-counter isApproximate flags, cursor pagination. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Search TikTok users — id, secUid, followers/following, verified, sample videos; cursor pagination. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `tiktok_search_users` changed (61% word delta).","severity":"risky","descriptionDelta":0.6097560975609756},{"kind":"input_property_added","path":"inputSchema.properties.fallback","tool":"tiktok_search_users","after":{"type":"boolean","description":"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."},"detail":"Optional field `fallback` was added to `tiktok_search_users`; may shift model behaviour.","severity":"risky"},{"kind":"input_type_changed","path":"inputSchema.properties.cursor","tool":"tiktok_search_users","after":"string","before":"integer","detail":"Type of `cursor` on `tiktok_search_users` changed integer → string.","severity":"breaking"},{"kind":"description_changed","tool":"tiktok_shop_product_details","after":"PDP — price/originalPrice/typed discount, images[], skus[] with per-variant stock + saleProps, seller id/url, categories (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"PDP with price/originalPrice/discount, skus[]+saleProps, images, categories. 2 credits native. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_shop_product_details` changed (54% word delta).","severity":"risky","descriptionDelta":0.5384615384615384},{"kind":"description_changed","tool":"tiktok_shop_product_reviews","after":"TikTok Shop product reviews — star rating, text, SKU variant, verified purchase, country, and review photos. Costs ~45 credits (2.25/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Shop product reviews — stars, text, SKU, verified, country, review photos. Not video comments. Costs ~45 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_shop_product_reviews` changed (58% word delta).","severity":"risky","descriptionDelta":0.5813953488372092},{"kind":"description_changed","tool":"tiktok_shop_products","after":"Store catalog with shopInfo (sold/followers/rating) + products priced with sold, rating, typed discount. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Store catalog + shopInfo. Flat 2 credits on native SSR (limit does not multiply). Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_shop_products` changed (71% word delta).","severity":"risky","descriptionDelta":0.7073170731707317},{"kind":"input_property_added","path":"inputSchema.properties.region","tool":"tiktok_shop_products","after":{"type":"string","description":"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."},"detail":"Optional field `region` was added to `tiktok_shop_products`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"tiktok_shop_search","after":"TikTok Shop keyword search — priced products with sold, rating/reviews, typed discount, seller id. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"TikTok Shop keyword search — SERP window of 10 PDP links (windowMax=10). limit default 10, max 10. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_shop_search` changed (69% word delta).","severity":"risky","descriptionDelta":0.6888888888888889},{"kind":"description_changed","tool":"tiktok_shop_user_showcase","after":"Creator Shop showcase — affiliate shelf products with per-product sold, rating, typed discount, and seller name/url. Costs ~45 credits (2.25/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Creator affiliate shelf — sold, rating, originalPrice, seller name/url (PDP-hydrated). Costs ~45 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_shop_user_showcase` changed (61% word delta).","severity":"risky","descriptionDelta":0.6136363636363636},{"kind":"description_changed","tool":"tiktok_song_details","after":"TikTok sound metadata — usageCount, artists[{id,secUid,handle}], audio{bpm,loudness,beats}, commerce rights (1 credit native). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Sound metadata — usageCount, artists[], commerce rights, chorus timing; 1 credit native. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `tiktok_song_details` changed (59% word delta).","severity":"risky","descriptionDelta":0.5897435897435898},{"kind":"description_changed","tool":"tiktok_summarize","after":"Summarizer Costs 4 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"AI summary of a TikTok video. Costs ~4 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_summarize` changed (64% word delta).","severity":"risky","descriptionDelta":0.6428571428571428},{"kind":"description_changed","tool":"tiktok_top_search","after":"TikTok Top/General search — videos and photo carousels when TikTok includes them, with contentType + images[]. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Top/General search: videos + photo carousels (contentType/images), cursor pagination. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_top_search` changed (54% word delta).","severity":"risky","descriptionDelta":0.5405405405405406},{"kind":"input_property_added","path":"inputSchema.properties.cursor","tool":"tiktok_top_search","after":{"type":"integer","minimum":1,"description":"Pagination cursor. Leave 0 for the first page; then pass nextCursor from the previous response. TikTok may return duplicates across pages."},"detail":"Optional field `cursor` was added to `tiktok_top_search`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"tiktok_transcript","after":"Transcript Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Transcript of a TikTok video (via captions). Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_transcript` changed (61% word delta).","severity":"risky","descriptionDelta":0.6071428571428572},{"kind":"description_changed","tool":"tiktok_trending_feed","after":"For You by default; pass orderBy/period/page for Creative Center popular videos (like/hot/comment/repost) with totalCount. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"TikTok trending (For You) videos by region. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `tiktok_trending_feed` changed (68% word delta).","severity":"risky","descriptionDelta":0.6829268292682926},{"kind":"input_property_added","path":"inputSchema.properties.countryCode","tool":"tiktok_trending_feed","after":{"type":"string","description":"Alias of country. Wins when both are set."},"detail":"Optional field `countryCode` was added to `tiktok_trending_feed`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.orderBy","tool":"tiktok_trending_feed","after":{"type":"string","description":"Creative Center sort: hot (views), like, comment, or repost. Unknown values are 400. vv/views/plays are aliases of hot — the response echoes the public name. Setting this (or period / page>1) switches from For You to the popular-videos chart. On a For You fallthrough the same sort is applied locally."},"detail":"Optional field `orderBy` was added to `tiktok_trending_feed`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.page","tool":"tiktok_trending_feed","after":{"type":"integer","minimum":1,"description":"Creative Center page (default 1). page>1 triggers chart mode."},"detail":"Optional field `page` was added to `tiktok_trending_feed`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.period","tool":"tiktok_trending_feed","after":{"type":"integer","minimum":1,"description":"Lookback days: 7, 30, or 120 (180→120). Triggers chart mode. Every returned publishedAt is inside this window — a For You fallthrough is filtered the same way."},"detail":"Optional field `period` was added to `tiktok_trending_feed`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"tiktok_user_followers","after":"List a TikTok user's followers — id, secUid, createTime, region, language, cursor pagination. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Followers — id, secUid, createTime, region, language; total + nextCursor. Flat 1 credit native. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `tiktok_user_followers` changed (58% word delta).","severity":"risky","descriptionDelta":0.5789473684210527},{"kind":"description_changed","tool":"tiktok_user_followings","after":"List who a TikTok user follows — id, secUid, createTime, region, language, cursor pagination. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Followings — id, secUid, createTime, region, language; total + nextCursor. Flat 1 credit native. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `tiktok_user_followings` changed (62% word delta).","severity":"risky","descriptionDelta":0.6153846153846154},{"kind":"description_changed","tool":"tiktok_video_details","after":"Get everything about one TikTok video from its URL — caption, view/like/comment/share/save counts, creator, sound, hashtags, and thumbnail. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Metadata + stats for a TikTok video. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `tiktok_video_details` changed (70% word delta).","severity":"risky","descriptionDelta":0.7045454545454546},{"kind":"description_changed","tool":"truth_social_post","after":"One Truth — text, links[], card, reblog/quote chain, media.meta, externalVideoId. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Truth Social post metadata, text, media and engagement. Costs ~5 credits; cached results are free, failures are never charged.","detail":"Description of `truth_social_post` changed (73% word delta).","severity":"risky","descriptionDelta":0.725},{"kind":"description_changed","tool":"truth_social_profile","after":"Prominent public Truth Social profiles — isPrivate/bot/group, fields[], avatar/banner. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Public Truth Social profile (bot/isPrivate/group, static media, emojis). Prominent accounts only — most others require auth. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `truth_social_profile` changed (64% word delta).","severity":"risky","descriptionDelta":0.6363636363636364},{"kind":"description_changed","tool":"truth_social_user_posts","after":"Recent Truths — same post mapper as /post (links, card, reblog/quote, mentions). 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Recent public posts from a Truth Social profile, with cursor pagination (nextCursor + hasMore). Costs ~17 credits; cached results are free, failures are never charged.","detail":"Description of `truth_social_user_posts` changed (78% word delta).","severity":"risky","descriptionDelta":0.7777777777777778},{"kind":"description_changed","tool":"twitch_clip","after":"Twitch clip — curator vs channel, signedVideoUrl, unwrapped token, relatedClips (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Twitch clip — curator vs channel, qualities, token expiry. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `twitch_clip` changed (55% word delta).","severity":"risky","descriptionDelta":0.5454545454545454},{"kind":"input_property_added","path":"inputSchema.properties.cacheMaxAge","tool":"twitch_clip","after":{"type":"string","description":"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."},"detail":"Optional field `cacheMaxAge` was added to `twitch_clip`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"twitch_profile","after":"Twitch channel — handle + displayName, socials[], topClips, schedule preview, stream only when live (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Twitch channel — live stream, last broadcast, recent videos with embedUrl, game box art, storyboard previews. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `twitch_profile` changed (71% word delta).","severity":"risky","descriptionDelta":0.7111111111111111},{"kind":"input_property_added","path":"inputSchema.properties.cacheMaxAge","tool":"twitch_profile","after":{"type":"string","description":"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."},"detail":"Optional field `cacheMaxAge` was added to `twitch_profile`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"twitch_user_schedule","after":"Twitch channel schedule — startAt/endAt, title, game, isRecurring (0 credits when empty). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Upcoming Twitch schedule data when exposed on the public channel. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `twitch_user_schedule` changed (67% word delta).","severity":"risky","descriptionDelta":0.6666666666666667},{"kind":"input_property_added","path":"inputSchema.properties.limit","tool":"twitch_user_schedule","after":{"type":"integer","minimum":1,"description":"Max schedule segments to return (default 50, max 100). Flat 1 credit per call."},"detail":"Optional field `limit` was added to `twitch_user_schedule`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"twitch_user_videos","after":"Twitch channel VODs — lean rows, video-id cursor, filter/sort, top-level broadcaster{} (flat 2). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Channel VODs with filterBy/sortBy, cursor, broadcaster id/followers. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `twitch_user_videos` changed (65% word delta).","severity":"risky","descriptionDelta":0.65},{"kind":"description_changed","tool":"twitter_community","after":"X Community metadata — ISO createdAt, flat creator handle, isNsfw + bannerImage, rules[]. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Details for an X (Twitter) community. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `twitter_community` changed (67% word delta).","severity":"risky","descriptionDelta":0.6666666666666667},{"kind":"description_changed","tool":"twitter_community_tweets","after":"Posts in an X Community — same 6-metric tweet shape as search. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Community posts — flat 2 native; ~0.7/tweet Apify fallback. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `twitter_community_tweets` changed (68% word delta).","severity":"risky","descriptionDelta":0.675},{"kind":"description_changed","tool":"twitter_profile","after":"X profile: verified + blue/legacy/identity, displayName, avatar/banner, tipjar→contact{}, expanded website. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"X profile with blue/identity/affiliate verification, listed/media/likes counts, banner, pinned tweets. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `twitter_profile` changed (68% word delta).","severity":"risky","descriptionDelta":0.6818181818181819},{"kind":"input_property_added","path":"inputSchema.properties.cacheMaxAge","tool":"twitter_profile","after":{"type":"string","description":"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."},"detail":"Optional field `cacheMaxAge` was added to `twitter_profile`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"twitter_transcript","after":"Tweet text as a transcript — timingSource none (not Whisper). Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Extract tweet text as transcript text. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `twitter_transcript` changed (59% word delta).","severity":"risky","descriptionDelta":0.59375},{"kind":"description_changed","tool":"twitter_tweet_details","after":"One tweet as JSON — text, author (followers), likes/replies/retweets/quotes, media, ISO publishedAt. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Metadata + engagement stats for a tweet. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `twitter_tweet_details` changed (69% word delta).","severity":"risky","descriptionDelta":0.6923076923076923},{"kind":"description_changed","tool":"twitter_user_tweets","after":"Most popular public tweets from a Twitter/X profile (~100 cap) — not chronological. Text, author, engagement, hashtags, media. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Recent tweets from a Twitter/X profile. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `twitter_user_tweets` changed (63% word delta).","severity":"risky","descriptionDelta":0.6341463414634146},{"kind":"description_changed","tool":"video_summarize","after":"Whisper + AI summary of an uploaded file — transcript included; 1 credit/min + 1. Costs 1 credit/min +1. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"POST multipart Whisper + AI summary PLUS full transcript. durationSeconds/creditsCharged. 1 credit/min + 1. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `video_summarize` changed (65% word delta).","severity":"risky","descriptionDelta":0.65},{"kind":"description_changed","tool":"video_transcript","after":"Whisper transcription of an uploaded file — 1 credit/min; noSpeech=true and 0 credits when there is no speech. Costs 1 credit/min. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"POST multipart Whisper transcript. Returns language, durationSeconds, creditsCharged. 1 credit/min. Max 200MB/60min. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `video_transcript` changed (77% word delta).","severity":"risky","descriptionDelta":0.7659574468085106},{"kind":"description_changed","tool":"youtube_audio_transcript","after":"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. Costs 2 credits/min of audio. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Whisper-class speech-to-text for YouTube audio (Groq turbo when configured). 2 credits/min; sync cap 90 min; maxCredits safety valve. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `youtube_audio_transcript` changed (73% word delta).","severity":"risky","descriptionDelta":0.7301587301587302},{"kind":"description_changed","tool":"youtube_channel_details","after":"YouTube channel stats — ISO country, createdAt date-only, real banner or null, quote-aware SEO tags, absolute links. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Channel info & numeric stats for a YouTube channel — plus handle, verified, links, email, and SEO tags when available. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `youtube_channel_details` changed (63% word delta).","severity":"risky","descriptionDelta":0.6326530612244898},{"kind":"description_changed","tool":"youtube_channel_playlists","after":"Channel playlists with cursor pagination — id, title, totalVideos, thumbnailUrl. Flat 2 credits/page. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Channel playlists with cursor — id, title, totalVideos, thumbnailUrl. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `youtube_channel_playlists` changed (48% word delta).","severity":"risky","descriptionDelta":0.48484848484848486},{"kind":"description_changed","tool":"youtube_channel_shorts","after":"Channel Shorts with cursor pagination — same row shape as channel-videos (exact publishedAt). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Channel Shorts with cursor pagination — same row shape as channel-videos. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `youtube_channel_shorts` changed (44% word delta).","severity":"risky","descriptionDelta":0.4411764705882353},{"kind":"description_changed","tool":"youtube_channel_streams","after":"Channel Live tab only — liveStatus per row; 0 credits when hasLiveTab is false. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Channel Live tab only — 0 credits when hasLiveTab=false; flat 2 when streams are fetched. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `youtube_channel_streams` changed (54% word delta).","severity":"risky","descriptionDelta":0.5405405405405406},{"kind":"description_changed","tool":"youtube_channel_videos","after":"Channel uploads with cursor pagination — exact publishedAt from reel_item_watch (same as channel-shorts). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Channel uploads with cursor pagination — exact publishedAt via reel_item_watch. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `youtube_channel_videos` changed (51% word delta).","severity":"risky","descriptionDelta":0.5142857142857142},{"kind":"description_changed","tool":"youtube_comment_replies","after":"Replies under a top-level comment — parentReplyCount + cursor. Nested reply ids return 404. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Top-level comment replies — parentReplyCount + cursor; nested reply ids 404. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `youtube_comment_replies` changed (44% word delta).","severity":"risky","descriptionDelta":0.4411764705882353},{"kind":"description_changed","tool":"youtube_comments","after":"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. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Comments on a YouTube video, with cursor pagination (nextCursor + hasMore). Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `youtube_comments` changed (58% word delta).","severity":"risky","descriptionDelta":0.5777777777777777},{"kind":"description_changed","tool":"youtube_community_post_details","after":"One community post — list schema + commentCount trio + isEdited. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"One community post — list schema + commentCount trio + isEdited. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `youtube_community_post_details` changed (43% word delta).","severity":"risky","descriptionDelta":0.43333333333333335},{"kind":"description_changed","tool":"youtube_community_posts","after":"Community posts — channel{}, publishedTimeApprox, likeCountIsApproximate, linkedVideos[], cursor (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Community posts — channel{}, publishedTimeApprox, likeCountIsApproximate, linkedVideos[], cursor. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `youtube_community_posts` changed (45% word delta).","severity":"risky","descriptionDelta":0.4482758620689655},{"kind":"description_changed","tool":"youtube_hashtag_search","after":"Videos from youtube.com/hashtag/{name} — nested channel{}, viewCountIsApproximate. Not keyword search. Costs ~20 credits (1/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Hashtag page feed — nested channel{}, viewCountIsApproximate; fixed shelf, billed per result. Costs ~20 credits; cached results are free, failures are never charged.","detail":"Description of `youtube_hashtag_search` changed (67% word delta).","severity":"risky","descriptionDelta":0.6666666666666667},{"kind":"description_changed","tool":"youtube_playlist","after":"Playlist metadata only — title, channel{}, totalVideos, thumbnailUrl. No videos[]. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Playlist metadata only — title, channel{}, totalVideos, thumbnailUrl (no videos[]). Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `youtube_playlist` changed (44% word delta).","severity":"risky","descriptionDelta":0.4375},{"kind":"description_changed","tool":"youtube_playlist_videos","after":"Paginated playlist contents — cursor/nextCursor/hasMore, same row shape as channel-videos. Flat 2 credits/page. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Paginated playlist contents — cursor/nextCursor/hasMore, same row shape as channel-videos. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `youtube_playlist_videos` changed (42% word delta).","severity":"risky","descriptionDelta":0.41666666666666663},{"kind":"description_changed","tool":"youtube_search","after":"YouTube search with cursor pagination — typed hits, ids, canonical URLs, filters (2 credits/page). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"YouTube search — typed hits, ids, canonical URLs, cursor pagination, filters. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `youtube_search` changed (44% word delta).","severity":"risky","descriptionDelta":0.4411764705882353},{"kind":"description_changed","tool":"youtube_shorts_comments","after":"Comments on a YouTube Short — rejects long-form videos (≤3 min only). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Comments on a YouTube Short — same engine as /comments (flat 2 credits). Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `youtube_shorts_comments` changed (62% word delta).","severity":"risky","descriptionDelta":0.6216216216216216},{"kind":"description_changed","tool":"youtube_shorts_details","after":"YouTube Short metadata — same schema as Video Details, with isShort:true; long-form videos get HTTP 422. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Same schema as Video Details for a Short (isShort:true); long-form returns 422. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `youtube_shorts_details` changed (44% word delta).","severity":"risky","descriptionDelta":0.4358974358974359},{"kind":"description_changed","tool":"youtube_shorts_summarize","after":"AI summary of a YouTube Short — rejects long-form videos (≤3 min only). Costs 3 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"AI summary of a YouTube Short. Costs ~3 credits; cached results are free, failures are never charged.","detail":"Description of `youtube_shorts_summarize` changed (55% word delta).","severity":"risky","descriptionDelta":0.5454545454545454},{"kind":"description_changed","tool":"youtube_shorts_transcript","after":"Transcript for a YouTube Short — rejects long-form videos (≤3 min only). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Transcript of a YouTube Short. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `youtube_shorts_transcript` changed (61% word delta).","severity":"risky","descriptionDelta":0.6060606060606061},{"kind":"description_changed","tool":"youtube_summarize","after":"GPT summary from YouTube's published captions — same source as /transcript. Flat 3 credits; caption-miss 404 is free. Costs 3 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"AI summary (key points, topics, sentiment) of a YouTube video. Costs ~3 credits; cached results are free, failures are never charged.","detail":"Description of `youtube_summarize` changed (73% word delta).","severity":"risky","descriptionDelta":0.7333333333333334},{"kind":"description_changed","tool":"youtube_transcript","after":"YouTube's published captions with timestamps — not speech-to-text. Flat 1 credit; 404 is free. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"YouTube published captions (not STT). 404 is free; see audio-transcript for ASR. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `youtube_transcript` changed (60% word delta).","severity":"risky","descriptionDelta":0.6},{"kind":"description_changed","tool":"youtube_trending_shorts","after":"YouTube Shorts recommendation sequence — fixed window per call (no cursor), not a global chart. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Shorts reel_watch_sequence — fixed window per call (no cursor), not a keyword search. Costs ~2 credits; cached results are free, failures are never charged.","detail":"Description of `youtube_trending_shorts` changed (53% word delta).","severity":"risky","descriptionDelta":0.5263157894736843},{"kind":"description_changed","tool":"youtube_video_details","after":"YouTube video metadata + stats. Always includes degraded / degradedReason — retry when degraded is true. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"Metadata + engagement stats for a YouTube video. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `youtube_video_details` changed (55% word delta).","severity":"risky","descriptionDelta":0.5454545454545454},{"kind":"description_changed","tool":"youtube_video_sponsors","after":"SponsorBlock community segments — free while the CC BY-NC-SA commercial-use exception is pending. Costs 0 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).","before":"SponsorBlock segments (CC BY-NC-SA 4.0) — source/license disclosed; empty bills 0. Costs ~1 credit; cached results are free, failures are never charged.","detail":"Description of `youtube_video_sponsors` changed (65% word delta).","severity":"risky","descriptionDelta":0.6511627906976745}],"published_at":"2026-08-20T13:37:39.710Z"}]