captapi
Server Details
Social media data: 85 tools across 11 platforms (YouTube, TikTok, Instagram, X & more), one key.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- CDCStream/captapi
- GitHub Stars
- 0
TDQS
Scored across 178 tools
Platform prefixes separate most tools, but several near-duplicates exist: tiktok_live and tiktok_live_info are explicitly identical with different pricing, and Instagram/Facebook profile endpoints overlap (basic_profile, channel_details, profile_search). With 178 tools, agents will frequently struggle to select the correct endpoint.
Most tools follow a readable platform_resource pattern, but naming conventions are inconsistent across platforms: the same concept appears as 'profile', 'channel', or 'user', and search appears as both suffix (youtube_search) and prefix (tiktok_search_users). Generic actions like summarize and transcript are mixed with noun-style resource names.
At 178 endpoints, this is an extreme tool count for any MCP server. Even for a broad multi-platform data API, the set far exceeds a manageable scope and will overwhelm tool selection and prompt planning.
The surface is broad across many platforms, but coverage is uneven: TikTok, Instagram, and YouTube are well covered, while Twitter lacks search, Google Ad Library lacks keyword ad search, GitHub lacks issues, and several platforms have only a single endpoint. Core read workflows are present, but obvious per-platform gaps remain.
Available Tools
178 toolsaccount_balanceCInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses cost (0 credits) and caching behavior (cache=true for free 24h hit), adding some transparency. However, it instructs to 'Pass cache=true' while the input schema has no parameters, creating a direct contradiction. This is misleading and undermines behavioral clarity, especially without annotations to fill the gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but not well-structured. It mixes output fields, cost, and caching in a single run-on sentence. While it is concise, the sequence is jumbled and the 'Pass cache=true' instruction is ambiguous. It could be reorganized for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lists output fields (plan, credits, quota, renewsAt) but lacks context on return format, authentication requirements, error behavior, or how the cache feature works given the schema lacks the parameter. For a zero-param tool with no output schema, more detail is needed to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the baseline is 4, but the description introduces a 'cache' parameter not present in the schema. This is misleading and actively harms understanding of what arguments may be passed. Since the schema is empty and the description adds a nonexistent parameter, it fails to provide value and introduces confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates the tool returns account balance information: plan type, subscription vs top-up credits, monthly quota, and renewsAt date. It effectively conveys the resource and fields, though it does not explicitly state 'get balance' or 'retrieve account balance.' It is distinguishable from siblings like usage and request history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It mentions cost (0 credits) and caching behavior but does not state prerequisites, typical use cases, or why one would call this over related account tools. The context is minimal and lacks explicit 'use when' instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
account_daily_usageBInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to include (default 30, max 365). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses zero cost, free failures/empty results, and cache behavior, but the claimed cache parameter does not exist in the schema. It also does not describe the shape of the returned daily usage data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is front-loaded and clear, but 'Costs 0 credits' redundantly repeats the earlier '(0 credits)'. The invalid cache instruction adds confusion rather than value; two brief sentences still contain notable waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple one-parameter tool with no output schema, and the description covers cost, caching, and failure policy. However, the invalid cache reference makes the instructions internally inconsistent, and it does not clarify what fields each daily usage entry contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documents 'days' well with default 30 and max 365, so the baseline is 3. However, the description invents a 'cache=true' parameter that the schema explicitly rejects via additionalProperties:false, creating harmful parameter confusion. It also adds no real meaning to the documented 'days' parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Day-by-day credit usage for spend monitoring', which clearly distinguishes it from sibling tools like account_balance and account_request_history. The scope and free credit cost are immediately visible.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides some context ('for spend monitoring') but no explicit when-to-use vs alternatives or exclusions. More importantly, it instructs 'Pass cache=true' even though the input schema only includes 'days' and additionalProperties is false, so this guidance is misleading and would fail validation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
account_most_used_routesBInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to include (default 30, max 365). | |
| limit | No | Max rows to return (default 20, max 100). Free — does not consume credits. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the transparency burden. It usefully discloses that the call costs 0 credits, that empty results and failures are never charged, and that caching is fresh by default. The claim 'Pass cache=true' is not supported by the schema, which creates a transparency gap despite the useful cost-related details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded, and easy to scan, with the most important facts in the first sentence. The only issue is the redundant mention of 0 credits twice, but overall it avoids unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two optional schema-described parameters, the description covers purpose, cost, failure behavior, and cache behavior. The unsupported cache parameter and lack of anything describing the ranked output structure or route identifier format leave some gaps, but the tool is mostly understandable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already has 100% coverage for days and limit, including defaults and ranges, so the description does not need to add param-level detail. However, the description explicitly instructs callers to pass cache=true, but no such parameter exists in the schema and additionalProperties is false; this actively misleads invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly says it returns a ranked list of Captapi routes by usage for the caller's key, which makes the purpose specific and distinct from sibling account tools like account_balance or account_daily_usage. It could be more explicit about what a 'route' is and how the ranking is ordered, but the core intent is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: use this tool to see which Captapi routes your key consumes most, especially when cost is a concern since it is free. However, there is no explicit guidance on when to choose this over account_daily_usage or account_request_history, and no when-not-to-use advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
account_request_historyAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max rows to return (default 50, max 500). Free — does not consume credits. | |
| since | No | Inclusive lower bound on createdAt (ISO date or datetime). | |
| until | No | Exclusive upper bound on createdAt (ISO date or datetime). | |
| cursor | No | Pagination cursor from nextCursor (createdAt of the last row). Leave empty for the first page. | |
| endpoint | No | Exact Captapi path filter, e.g. /v1/instagram/basic-profile. | |
| statusCode | No | Filter by HTTP status code (e.g. 500). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses cost behavior (0 credits, no charge for empty results/failures) and hints at a caching mechanism. However, it references a 'cache' parameter that does not exist in the schema (additionalProperties: false), which is misleading. It does not describe pagination details or error behavior beyond what the schema implies, but the cost transparency is valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that conveys multiple pieces of information (purpose, cost, cache behavior). It is concise but slightly dense and could be clearer with line breaks. Overall, it is efficient without unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description provides some context by listing likely return fields (requestId, status, credits, cacheHit). It does not explain pagination beyond the schema's cursor description, nor does it clarify the cache behavior given the missing parameter. The description is adequate but leaves some ambiguity about the cache option and what exactly is returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All six parameters are fully described in the schema (100% coverage), so the description does not need to repeat them. The description does not add any extra meaning to the parameters; it only mentions a non-existent 'cache' parameter, which does not help. Baseline is 3 given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: retrieving recent API requests for the user's key, listing key fields like requestId, status, credits, and cacheHit. It is distinct from sibling tools such as account_balance and account_daily_usage, which focus on balance and usage totals rather than individual request history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some usage guidance, including that the tool costs 0 credits and that empty results/failures are never charged, which reassures the agent about cost. It also mentions a caching option ('Pass cache=true') but this parameter is not present in the schema, which could mislead. No explicit guidance on when to prefer this over alternatives is given, but its distinct purpose implies when it should be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amazon_shop_pageAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Amazon seller storefront URL (/sp?seller=… or /s?me=…) or raw seller ID. Not influencer /shop/<handle> pages. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max products to include (default 20, max 200; 0 = seller metadata only). Billed per storefront page — 1 credit per ~16 products. | |
| cursor | No | Pagination cursor from nextCursor (page or page:offset). Leave empty for the first page. | |
| marketplace | No | Amazon marketplace code. Default US. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavior disclosure burden and largely succeeds: it discloses the 1-credit cost, that empty results and failures are never charged, and the free 24h cache-hit behavior with default always-fresh. It doesn't address auth or rate limits, but the economically important traits are transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences with zero filler: purpose, payload scope, exclusion, and cost/caching behavior in order. Every sentence earns its place and the most decision-relevant facts are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-param tool with no output schema or annotations, the description covers scope, exclusions, output-content hints, pricing and caching, while the schema covers all parameters at 100%. Only auth/rate-limit behavior and the exact return structure go unspecified, which is a minor gap for this tool family.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with url, cache, limit, cursor and marketplace each fully documented, so the baseline 3 applies. The description reinforces cache=true and the credit cost but adds no parameter syntax or format details beyond the schema — appropriate given the rich schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: fetching third-party seller storefronts via /sp?seller= or /s?me=. Enumerates the payload (ASIN + canonical /dp URLs, price, badges) and explicitly excludes influencer /shop/{handle} pages, sharply distinguishing it from potential sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: it targets Amazon seller storefronts and excludes influencer /shop pages, with the schema reinforcing the URL-platform-match requirement. No alternative tool is named for influencer storefronts, so the 'when-not' guidance is present but the routing alternative is left for the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analytics_compareAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | Comma-separated post/video/reel URLs (up to 10), any mix of the same 11 platforms as Post Analytics. Example: a TikTok URL and a YouTube URL in one call. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, and it delivers: it discloses the credit cost per URL, states that empty results and failures are never charged, and explains the cache behavior including the default 'always fresh' mode. This goes well beyond what the input schema states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description uses three tight sentences, front-loading the core purpose before cost and caching details. Every sentence adds distinct information with no filler or repetition of the schema verbatim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with only two parameters and no output schema, and the description covers purpose, input limits, platform scope, output row semantics, cost behavior, and cache behavior. An agent has everything needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds extra meaning by clarifying the per-URL credit cost, the cache hit pricing, the unified metrics output shape, and the flexibility of mixing platforms. This is useful context beyond the schema's basic field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Compare unified metrics across up to 10 URLs.' It clearly distinguishes this tool from single-URL analytics tools like analytics_post by emphasizing multi-URL comparison. The mention of each row being an analytics/post object further grounds what the tool returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies this tool is for comparing multiple URLs at once, and references Post Analytics to indicate platform scope. It does not explicitly say 'use analytics_post for a single URL' or list exclusion conditions, but the multi-URL comparison context gives an agent clear situational guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analytics_postAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public post/video/reel URL from one of 11 platforms: YouTube, TikTok, Instagram, Facebook, X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, or Rumble. Platform is auto-detected — cross-platform URLs are expected here (unlike single-platform endpoints). Not in scope: Kwai, Twitch, Spotify, Snapchat, and other Captapi platforms. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and it delivers meaningful behavioral detail: 1-credit cost, no charge for empty results/failures, and cache behavior with a free 24h hit when cache=true. It does not describe what metrics are included or any rate limits, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose. It loses a point because 'Costs 1 credit' repeats the parenthetical '(1 credit)' in the first sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema, it covers cost, caching, and platform scope, but 'unified metrics' does not say what metrics are actually returned. An agent can invoke it correctly but may not know whether the response satisfies a request for specific data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both url and cache are already fully documented, so the description adds only cost/cache context rather than parameter meaning. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: returns unified metrics for a single post, video, or reel, with platform auto-detection. The schema's 'unlike single-platform endpoints' explicitly distinguishes it from the many platform-specific detail tools in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description plus schema gives a clear use case: cross-platform URLs expected for unified metrics, as opposed to single-platform endpoints. It does not explicitly rule out alternatives like analytics_compare or platform-specific deep-dive tools, so it stops short of a full when/when-not decision rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bluesky_post_detailsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Bluesky post URL, e.g. https://bsky.app/profile/handle/post/RKEY. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| depth | No | Reply nesting levels under the post (0 = post only with no replies[], default 1, max 6). Maps to Bluesky getPostThread depth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden and does so well: it discloses the 1-credit cost, that empty results and failures are never charged, and the free caching behavior. It does not mention rate limits or auth requirements, but for a read-only fetch tool the cost and caching transparency is substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the core purpose and return content. The cost information is slightly redundant ('(1 credit)' followed by 'Costs 1 credit'), and 'Post thread' is ambiguous as a verb phrase, but the overall structure is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the key invocation details: required URL, cache behavior, depth mapping, cost, failure billing, and the main returned fields. With no output schema, it gives enough return-content context for an agent to understand what the tool provides, though it could add explicit sibling differentiation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents url, cache, and depth. The description adds some context around caching and cost, but it does not add meaningfully new parameter-level semantics beyond what the input schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it returns a Bluesky post thread via getPostThread and lists the returned content: nested replies, facet links/mentions/hashtags, and rich author info. This distinguishes it from profile and user-post sibling tools, though the phrasing 'Post thread' is terse and could more explicitly say 'retrieve details for a single Bluesky post and its replies.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear operational guidance, such as using cache=true for a free 24h cache hit and defaulting to fresh fetches. However, it does not explicitly state when to choose this tool over alternatives like bluesky_profile or bluesky_user_posts, leaving usage context implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bluesky_profileAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Bluesky profile URL, @handle, or handle, e.g. bsky.app/profile/handle. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does a solid job: it discloses the 1-credit cost, states that empty results and failures are never charged, and explains caching behavior (cache=true gives a free 24h hit; default is always fresh). It does not explicitly state read-only behavior, but that is reasonably implied by 'profile' retrieval. The billing and caching specifics add meaningful transparency beyond basic expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the profile contents, but it contains redundancy: '(1 credit)' appears in the first clause and 'Costs 1 credit' repeats the same information in the second sentence. The caching guidance is concise, but the duplication means not every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and no annotations, the description provides a good inventory of return fields, the credit cost, failure non-charging, and cache options. It doesn't cover rate limits or authentication, but for a straightforward profile fetch these may not be critical. The 'associated{}' and 'verification{}' notation is slightly cryptic but acceptable. Overall, it is reasonably complete for invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description adds valuable semantic context: it clarifies that cache=true yields a free 24h cache hit, distinguishes this from default always-fresh behavior, and points to cacheMaxAge for 1d–30d freshness control. This goes beyond the schema's generic 'default TTL' and helps the agent make informed caching choices.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as a Bluesky profile and lists the returned fields (handle, did, bio, counts, banner, verification{}, labels[], associated{}), so an agent knows exactly what the tool produces. It lacks an explicit verb like 'fetch' or 'get', but the resource and payload scope are clear. It doesn't explicitly distinguish from sibling tools like bluesky_user_posts, but the platform and 'profile' focus make the purpose reasonably distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternative siblings such as bluesky_user_posts or bluesky_post_details. It does offer caching usage tips (cache=true for a free 24h cache hit, prefer cacheMaxAge for 1d–30d), but that is parameter handling rather than tool-selection guidance. No exclusions or alternative references are present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bluesky_user_postsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Bluesky profile URL, @handle, or handle, e.g. https://bsky.app/profile/handle.bsky.social. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 100). Billed per result. | |
| cursor | No | Opaque pagination cursor from the previous nextCursor. Leave empty for the first page. Do not invent a cursor from publishedAt — the feed is ordered by feed time (reposts sort by repost time). | |
| filter | No | 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. | |
| includeReposts | No | When false, omit repost rows (reasonRepost). Default true — reposts are included and marked with isRepost / repostedBy / repostedAt. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, and it does a strong job: it reveals repost marking, embed types, opaque cursor semantics, credit costs per result, the fact that empty results and failures are not charged, and cache behavior. It does not cover every possible behavior like rate limits or explicit output shape, but the provided details add meaningful transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely compact and front-loaded: it opens with the core resource and content type, then adds cost and caching details in short, scannable sentences. Every sentence contributes useful information with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given six parameters, no output schema, and no annotations, the description is largely complete: it covers content, repost markers, embeds, cursor pagination, costs, failure billing, and cache behavior. It stops short of describing the exact response envelope or error format, which would make it fully complete in the absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 even without parameter detail in the description. The description adds some value by explaining the opaque cursor, cache hit behavior, and per-result billing, which relate to cursor, cache, and limit, but it does not need to restate the schema's already thorough parameter docs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as an 'Author feed' containing posts and reposts, with reposts marked via isRepost and various embed types. It differentiates from sibling tools like bluesky_profile and bluesky_post_details by emphasizing feed-level listing behavior, though it lacks an explicit verb like 'fetch' or 'list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful context about caching and cost, but it does not explicitly state when to choose this tool over alternatives such as bluesky_profile or bluesky_post_details. Usage is only implied by the phrase 'Author feed' rather than explicitly routed with when-to-use or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_ad_library_ad_detailsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Meta Ad Library ad URL or ad ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It does this well by stating the flat 2-credit cost, that empty results and failures are never charged, that cache=true yields a free 24h hit, and that breakdowns appear only when Meta publishes them. It omits auth and rate-limit details, but those are less critical for a single-ad lookup.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short, front-loaded, and delivers the core purpose in the opening phrase. The only notable flaw is the redundant 'Flat 2 credits. Costs 2 credits.' which slightly weakens the otherwise tight structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter lookup endpoint with no annotations and no output schema, the description is nearly complete: it explains what is returned, how much it costs, when it is free, and how it differs from search. It lacks explicit output-format or auth notes, but those are not essential for invoking this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description's cache guidance largely duplicates the schema's cache property description, and it adds no URL-format details beyond what the schema already provides for the url parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific operation: retrieve one Meta ad by ID. 'Same creative as search, plus delivery breakdowns' distinguishes it from the search and transcript sibling tools without relying on the tool name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies the tool is for a known Meta ad ID/URL and that it adds delivery breakdowns beyond search results, but it never explicitly says when to choose this over facebook_ad_library_search or facebook_ad_library_ad_transcript. The schema's cross-platform warning is a parameter constraint, not tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_ad_library_ad_transcriptAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Meta Ad Library ad URL or ad ID. Returns the ad's written copy — headline, body text, CTA and landing URL. Meta does not expose ad audio, so this is not a speech transcript. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It discloses credit costs (2 credits), that empty results and failures are never charged, and cache semantics (free 24-hour hit vs. always-fresh default). It does not cover rate limits or error types, but it transparently covers the most decision-relevant behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences with no wasted words: the core output and caveat come first, followed by pricing and cache options. Every sentence earns its place and the most critical distinguishing fact (not a speech transcript) is fron-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool with 100% schema coverage and no output schema, the description is sufficient. It states the output fields, pricing, cache behavior, and non-transcript nature, while the schema handles URL platform constraints. Nothing needed to invoke the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully describes both parameters, including URL/ID format, platform matching, and cache behavior, so schema coverage is 100% and the baseline is 3. The description adds no significant parameter-level detail beyond what the schema provides; it only reinforces cost and cache semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool returns — written creative copy from a Meta ad (headline, body, CTA, landing URL) — and explicitly separates it from a speech transcript, which is crucial given the tool's name contains 'transcript'. This scope is unambiguous and distinguishes it from transcript-style siblings like youtube_transcript or tiktok_transcript.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use it: for Meta ad written copy, not speech audio. It also gives practical invocation guidance such as platform-match requirements and cache behavior. It does not explicitly name an alternative tool like facebook_ad_library_ad_details, but the non-transcript clarification and cost/cache notes give sufficient routing information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_ad_library_company_adsCInspect
Company Ads Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | pageId from /search-companies (preferred), libraryUrl, vanity page URL (facebook.com/nike/), or Ad Library URL with view_all_page_id. Do not pass profileId from facebook.com/{digits}/ when it differs from pageId. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call on the native path; the extended fallback bills per returned ad. | |
| country | No | Two-letter ISO country code. Default US. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden, and it does add useful operational context: flat 2-credit cost, no charge for empty results/failures, and cache-hit semantics. However, it does not disclose what the tool returns, how results are structured, or any other runtime behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler; the cost and cache behavior are stated efficiently. It is concise, though it front-loads billing details instead of the tool's actual function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is incomplete for a tool with no output schema and no annotations. It covers cost and caching but never states that the tool returns a company's Facebook Ad Library ads, what fields come back, or how it differs from related library tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters thoroughly. The description adds no parameter-level meaning, but the baseline of 3 is appropriate because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never states what the tool does; 'Company Ads' merely echoes the tool name and then moves straight to pricing. There is no verb or resource statement, so an agent cannot tell this apart from facebook_ad_library_search or facebook_ad_library_ad_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives. The description focuses entirely on credits and caching, with no mention of use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_ad_library_searchAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Keyword, brand, or advertiser to search Meta Ad Library (min 2 characters). | |
| trim | No | When true, omit cards/images/videos typed arrays (media[] stays). Captapi payloads are already lean vs Meta nested snapshots. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. | |
| cursor | No | Pagination cursor from a previous nextCursor. Pages through the current Meta HTML result batch. | |
| status | No | Ad delivery status: ACTIVE (default), INACTIVE, or ALL. Use ACTIVE for "what are they running now?". | |
| ad_type | No | all (default) or political_and_issue_ads. Spend/impressions are typically only filled for political/issue ads. | |
| country | No | Two-letter ISO country code (e.g. US, GB, DE). Default US. | |
| sort_by | No | Meta sort mode: total_impressions or relevancy_monthly_grouped. | |
| end_date | No | Only ads with delivery start on/before this date (YYYY-MM-DD). | |
| platforms | No | Comma-separated publisher platforms to keep: FACEBOOK, INSTAGRAM, MESSENGER, AUDIENCE_NETWORK, THREADS. | |
| media_type | No | Creative filter: ALL (default), IMAGE, VIDEO, MEME, IMAGE_AND_MEME, or NONE. | |
| start_date | No | Only ads with delivery start on/after this date (YYYY-MM-DD). | |
| search_type | No | keyword_unordered (default) or keyword_exact_phrase. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses billing behavior (flat 2 credits, empty/failed calls not charged), cache semantics (cache=true free for 24h, default fresh), and a data-availability caveat (spend/impressions typically only filled for political/issue ads). This is meaningful behavioral transparency beyond the bare operation. It doesn't document rate limits or auth, but the disclosed operational behaviors are substantial. No contradiction with annotations since annotations are absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact paragraph with high information density. Every sentence earns its place: what it does, what it costs, and the free-cache option. It could slightly improve structure by separating billing/caching into bullet points, but it is still efficient and front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 14 parameters, no annotations, and no output schema, the description fills several critical gaps: pricing, cache semantics, political/issue data caveat, and the broad search scope. Some gaps remain — no rate limits, no explicit mention of pagination depth or return shape, and no explicit sibling differentiation — but the description covers the most decision-relevant operational context and the schema covers all parameter meanings at 100%.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value beyond the schema by explaining billing per call (flat 2 credits), the cache behavior (0 credits on cache hit), and the caveat that spend/impressions are typically only filled for political/issue ads. It also hints that trim relates to lean payloads. It doesn't describe pagination deeply, but the cursor parameter and nextCursor mention in schema cover the basics. Minor gap: no explanation of how date range interacts with delivery start, though that's partially in schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Search'), a precise resource (Meta Ad Library), and the key axes of the search (keyword, active/inactive, media type, date range, platforms, cursor, spend/impressions). It says what the tool returns at a level that distinguishes it from siblings like facebook_ad_library_ad_details and facebook_ad_library_search_companies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it — general keyword search of Meta Ad Library — and several operational facts (2 credits, cache=true for free hits, spend/impressions only typically filled for political/issue ads in the ad_type parameter). It doesn't explicitly contrast with sibling tools like facebook_ad_library_company_ads or facebook_ad_library_search_companies, but the search-scoped verb and parameter hints do enough. The cache and billing guidance is useful direct usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_ad_library_search_companiesAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Company or brand name to search for (min 2 characters). Name-matched — off-brand pages are dropped. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. | |
| country | No | Two-letter ISO country code. Default US. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses pricing (2 credits), that empty results/failures are free, cache behavior (cache=true gives free hit, default fresh), and the output nature (pageId for company-ads, not profileId). This is substantial behavioral context beyond a simple 'find' statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, all earning their place. The first sentence delivers the core purpose with key differentiators, the second covers pricing and failure policy, the third gives the cache hint. No redundant or speculative content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-param search tool with no output schema and no annotations, the description covers purpose, cost, failure policy, cache behavior, and ID type. It doesn't explicitly describe the return list shape, but the 'pageId for company-ads' phrase conveys the essential output. Most of the missing parameter details are in the 100%-covered schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by specifying the result contains pageId for company-ads (not profileId), which is not in the schema. It also reiterates cache=true for free hit, reinforcing the schema. This exceeds the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Find Meta Ad Library pages by brand.' It adds two differentiating details: results are name-matched and return pageId for company-ads (not profileId). This clearly separates it from sibling tools like facebook_ad_library_search and facebook_ad_library_company_ads.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: this is for finding Meta Ad Library pages by brand name, name-matched, with pageId output. It doesn't name sibling alternatives or state when not to use it, but the purpose implies the appropriate scenario. Cache and cost behavior also guide usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_comment_repliesCInspect
Comment Replies Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Facebook post URL the comment belongs to. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 2 credits per call. | |
| commentId | Yes | ID of the parent (top-level) comment to fetch replies for — from the comments endpoint. Legacy alias: comment_id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does add useful non-obvious operational details: the 2-credit cost, that empty results and failures are not charged, and that cache=true provides a free 24-hour hit. However, it does not state whether the operation is read-only, what side effects exist, or any rate-limit or authentication considerations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and dense, with each sentence delivering distinct operational facts about cost, failure billing, and caching. The only waste is the redundant 'Comment Replies' at the start, but overall the structure is efficient and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple fetch-replies tool, the schema covers parameters and the description covers credits and caching. However, there is no output schema and the description does not clarify the return shape, pagination, or how the results relate to the provided commentId, so some important context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already well-documented in the input schema. The description adds no new semantic meaning about the parameters beyond echoing the cache option, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Comment Replies', which merely restates the tool name rather than stating an action such as 'Fetch' or 'List'. It does not explicitly identify the resource or distinguish this from facebook_comments or the sibling comment-reply tools for other platforms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to choose this tool over alternatives like facebook_comments or youtube_comment_replies. The description focuses on credits and caching, not on the conditions that should lead an agent to select this endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_commentsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Facebook post or Reel URL. Omit when feedbackId is set. The URL platform must match this endpoint's platform. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 2 credits per call. | |
| feedbackId | No | Post feedback id from /v1/facebook/details (base64 feedback:POSTID). Prefer when you already have it — also accepts feedback_id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden and does substantial work: it discloses the 2-credit cost, the no-charge policy for empty results and failures, the 24h cache behavior, and the default fresh-fetch behavior. It does not mention pagination or reply expansion, but the disclosed behavior is valuable and specific.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four short sentences with no wasted words, front-loading the output fields before covering cost and caching. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Combined with the fully described schema, the agent knows the input parameters, the key output fields, the cost model, and the caching behavior, which is sufficient for a moderate-complexity tool with no output schema. The main missing context is routing to facebook_comment_replies if reply bodies are needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are already well documented. The description adds no parameter-level meaning beyond what the schema provides, including the cache behavior which is already described in the schema. This matches the baseline for complete schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as Facebook post comments and lists distinctive output fields (reactionCount, reactions.like, author.id, replyCount), making the tool's purpose inferable. It lacks an explicit verb such as 'list' or 'get' and does not differentiate from the sibling facebook_comment_replies tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention facebook_comment_replies or other comment-related siblings, and the cache/cost notes are operational tips rather than tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_detailsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public Facebook video or post URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry full behavioral disclosure, and it does so by stating the 2-credit cost, the no-charge policy for empty/failed results, the free 24h cache behavior versus default fresh fetch, and the caveat that some fields appear only 'when Facebook exposes them.' It doesn't discuss rate limits or auth, but the public-URL constraint is in the schema, and the disclosed items go well beyond a bare description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences lead with the resource and returned fields, then cover cost, charge policy, and caching. No filler or repetition; each sentence adds information. The only slight cryptic element is 'video{} playback', but it conveys the object shape without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description supplies the key return categories and the variability caveat ('when Facebook exposes them'), plus cost and caching behavior. It doesn't cover every edge case (e.g., private posts, redirects), but for a 2-parameter tool with a well-documented schema this is sufficient for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both url and cache. The description's cache statement ('Pass cache=true for a free 24h cache hit (default always fresh)') restates the schema's default-false semantics, adding no new meaning. Baseline of 3 is appropriate because the description doesn't need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the target resource ('Facebook post or Reel') and enumerates returned content (caption, engagement, author id, video{} playback, music), distinguishing it from sibling Facebook tools like facebook_comments or facebook_page_details. However, there is no explicit verb like 'retrieves' or 'fetches', so the action is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case — call when you need details of a single Facebook post or Reel — but it never names alternative tools or conditions for choosing between them (e.g., facebook_comments for comments, facebook_profile_posts for a user's posts). The only guidance present is about not passing cross-platform URLs, which is a parameter constraint in the schema rather than tool-selection advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_event_detailsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Facebook event URL, e.g. https://facebook.com/events/ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and covers several operational traits: costs 2 credits, free 24h cache hits with cache=true, and no charge for empty results or failures. It also notes attendance is only returned 'when exposed,' setting expectations about field availability. It does not mention rate limits, auth, or private-event restrictions, but the core cost/failure behavior is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the tool's purpose followed by cost and caching. No filler or redundancy; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter lookup with no output schema, the description is nearly complete: it names returned fields, cost model, and cache behavior. The only notable gap is explicit routing guidance among Facebook sibling tools, but that is more about tool selection than invocation context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both url and cache fully documented. The description's cache note ('free 24h cache hit... default always fresh') largely mirrors the schema and adds no new parameter semantics beyond what is already structured.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('Facebook event') and enumerates the exact data fields returned: title, local start/end, timezone, place, host id, and attendance. This clearly differentiates it from sibling tools like facebook_event_search or facebook_profile_events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when an agent has a Facebook event URL, and the schema's url parameter reinforces the platform-match constraint. However, it never explicitly names alternatives like facebook_event_search or states when not to use this tool, so guidance is only implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_event_searchAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Topic keyword, e.g. 'comedy'. Pair with location for city-scoped results. | |
| to | No | Inclusive local start date filter YYYY-MM-DD. | |
| from | No | Inclusive local start date filter YYYY-MM-DD. Use for upcoming-only windows — Facebook/SERP may return past events. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. Response `source` is native or extended (fetch path — not a price change). | |
| location | No | City/place geo filter (e.g. London). Matches timezone, location.city, or coords near the city — not a title substring. | |
| upcoming | No | When true and from is omitted, sets from to today's UTC date so past events are dropped. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and delivers meaningful behavioral disclosures: '2 credits', 'Empty results and failures are never charged', and 'Pass cache=true for a free 24h cache hit (default always fresh)'. This is valuable economic and caching context. It does not cover rate limits, latency, or fetch-path behavior, but the disclosed traits are substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads purpose before cost and cache details, which is good structure. However, '2 credits. Costs 2 credits.' is a direct duplication of the same information — a sentence that fails to earn its place and indicates sloppy editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a moderate-complexity tool (7 params, all schema-documented), the description plus schema cover purpose, result content, cost, cache, and failure-charge policy reasonably well. Gaps remain: no explicit sibling routing, no output schema to describe return shape beyond a partial hint, and no operational limits like rate ceilings. Adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 and the schema already documents all seven parameters. The description adds only marginal reinforcement — it restates cache behavior ('Pass cache=true for a free 24h cache hit') and references 'local startDate/timezone' which maps to the to/from filters, but adds no new format or syntax details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource — 'Search Facebook events' — with a clear scope: 'by topic and city'. It further specifies result content ('local startDate/timezone, venue'), which lets an agent distinguish this from facebook_event_details (single-event retrieval) and facebook_profile_events (profile-scoped events) without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the scope phrase 'Search Facebook events by topic and city' — an agent can infer this is the tool for topic/city-based event discovery. However, there are no explicit alternatives, exclusions, or when-not-to-use conditions, and several closely related siblings (facebook_event_details, facebook_profile_events) are not mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_group_postsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public Facebook group URL, e.g. https://facebook.com/groups/ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. | |
| sortBy | No | TOP_POSTS | RECENT_ACTIVITY | CHRONOLOGICAL (default) | CHRONOLOGICAL_LISTINGS. Maps to Facebook sorting_setting. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden and does a strong job: it discloses the 2-credit cost, free handling of empty results and failures, 24-hour cache behavior, and the approximate-count/failure/skip response characteristics. This is far more than a generic read-only statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the core resource, and every sentence adds value: response characteristics, cost, failure policy, and cache behavior. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description does a reasonable job of hinting at response content via listingHits/hydrateFailures/hydrateSkipped and approximate counts, plus the required url parameter is documented in the schema. It could more clearly state the overall return shape, but the core calling and billing context is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description mentions cache, sortBy, and approximate counts, but it mostly echoes or lightly references what the schema already documents rather than adding new parameter-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as 'Public Facebook group posts' and lists the notable response attributes, so an agent can tell this is a fetch/list operation for group posts. It is specific enough to distinguish from profile posts or page details, though it lacks an explicit verb like 'get' or 'list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies it is for public Facebook group posts, but it never names sibling tools or conditions for when to choose this over, for example, facebook_profile_posts or facebook_page_details. It does provide useful operational guidance on caching and credit charges, but not tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_marketplace_itemAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Facebook Marketplace item URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and discloses meaningful operational behavior: the exact credit cost, that empty results and failures are not charged, and that cache=true provides a free 24h cache hit. It does not explicitly state read-only semantics or rate limits, but the billing and caching details are unusually specific and valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the resource and key fields before moving to cost and caching details. The phrase 'coords (2 credits)' is slightly cryptic, but the overall structure is efficient and each sentence contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description lists the expected return fields and covers billing, failure charging, and cache behavior. It could be more explicit about URL input and error details, but the schema covers the URL and the description mentions failures.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% parameter coverage, including URL platform matching and cache behavior. The description mostly reiterates the cache parameter and cost, adding no new semantic meaning beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a Marketplace listing and enumerates its returned fields (title, priceAmount, status, seller, condition, coords), making it clear this is an item-detail endpoint. It lacks an explicit verb like 'fetch' or 'get', but the resource scope is unambiguous and distinguishable from the marketplace search siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage with a specific Marketplace item URL and touches on cache usage, but it never explicitly contrasts this tool with facebook_marketplace_search or facebook_marketplace_location_search. The intended use case is inferable from the required URL and the term 'Marketplace listing', but no direct guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_marketplace_location_searchAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | City/place query. Bare names like 'Austin' may return multiple candidates (TX/MN/IN); include a state for a single hit (e.g. 'Austin, TX'). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 10, max 50). Flat 2 credits per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral disclosure burden. It explicitly states the flat 2-credit cost, that empty results and failures are never charged, and the cache semantics (cache=true gives a free 24h hit, default is always fresh). These are the key behavioral traits an agent needs to make cost-aware decisions, and they are communicated clearly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the purpose and output. However, it contains a redundant duplicate: 'Flat 2 credits. Costs 2 credits.' — the same fact stated twice in adjacent fragments. Otherwise every sentence earns its place, covering output, cost, failure pricing, and cache behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter tool with no output schema, the description covers purpose, cost, caching, and a partial output shape (id + lat/lng). It is complete enough for an agent to call the tool correctly. It could be stronger by describing the response structure in more detail, but the minimal output hint is sufficient for this use case.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no new parameter meaning beyond the schema: it repeats the cache cost/behavior already documented in the schema and does not add details for 'q' or 'limit'. The useful cost-on-failure note is behavioral rather than parameter-specific.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Disambiguate city names into Marketplace hubs — id + lat/lng.' This clearly distinguishes the tool from siblings like facebook_marketplace_search and facebook_marketplace_item, which handle listings rather than location resolution. It also names the key output fields, leaving no ambiguity about what the tool produces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use case is implied by 'Disambiguate city names into Marketplace hubs' — an agent can infer it should be called when a city string needs resolving to a hub ID. However, it never explicitly states when to prefer this over the sibling search tools, nor does it mention any exclusions or preconditions. The guidance is present but left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_marketplace_searchAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Product or keyword to search Facebook Marketplace for. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | How many listings to return (1–200). Flat 2 credits when details=false; details=true billed as 2 + 2 per listing. | |
| cursor | No | Opaque pagination cursor from a previous nextCursor. | |
| sortBy | No | suggested | distance | creation_time | price_ascend | price_descend. | |
| details | No | When true, adds description/condition/coordinates/full photo gallery/seller/distanceMiles — billed as 2 + 2 credits per listing. Default false → flat 2 credits; cover photo is still in image. | |
| category | No | Top-level category slug, e.g. electronics. | |
| location | No | Alias of searchLocation. Prefer searchLocation. Either one is required. | |
| maxPrice | No | Maximum price in local currency units. | |
| minPrice | No | Minimum price in local currency units. | |
| condition | No | new, like_new, good, fair (comma-separated ok). | |
| radiusMiles | No | Radius in miles: 1,2,5,10,20,40,60,80,100,250,500. Does not exclude nationwide shipped inventory. | |
| availability | No | available | sold | all. | |
| deliveryMethod | No | local_pickup | shipping | all. Shipped listings can appear nationwide outside radiusMiles — use local_pickup for nearby-only; rows expose isLocal / shipsOutsideRadius. | |
| searchLocation | Yes | Search-origin city or place name, e.g. 'Austin, TX'. Required — there is no default city. Echoed on the envelope and inside filters. Not listings[].location. | |
| daysSinceListed | No | Facebook calendar-day recency: 1 = since the start of yesterday (not a rolling 24 hours), 7, or 30. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description correctly takes on the transparency burden: it discloses the 2-credit cost, no-charge policy for empty/failed results, and cache hit behavior. It also hints at result semantics via isLocal/shipsOutsideRadius and the opaque cursor. It does not cover rate limits or full response shape, but the core behavioral profile is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences: purpose, essentials, cost, then cache policy. Every sentence carries distinct information and there is no fluff or repetition of generic filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description plus the very detailed schema cover required inputs, billing, filtering, caching, and pagination semantics, and the tool name alone implies a listing response. But because there is no output schema and no annotations, the description still leaves the agent to infer the full return shape and any operational limits. It is solid but not fully complete for a 16-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already documents every parameter (including cache, cursor, searchLocation, and billing tied to limit/details), so the baseline is 3. The description restates the cache and cost model rather than adding new parameter-level meaning. It adds no syntax or format details beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence is specific: 'Search Marketplace by keyword + city' gives verb, resource, and core inputs. It also names key capabilities (filters, isLocal/shipsOutsideRadius, opaque cursor). It does not explicitly contrast with sibling tools like facebook_marketplace_item or facebook_marketplace_location_search, so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating the search scenario and adds concrete conditions for caching ('Pass cache=true...') and billing ('Empty results and failures are never charged'). However, it never tells the agent when to prefer this over alternative Marketplace tools or when not to use it, leaving alternative selection implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_page_detailsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Facebook page URL, @handle, or page name, e.g. https://facebook.com/PageName. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. It usefully discloses the 2-credit cost, that empty results and failures are never charged, and the cache behavior with cache=true. This goes beyond surface-level purpose and gives an agent actionable operational expectations, though it does not discuss rate limits or error response specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact two-sentence structure: the first sentence conveys purpose and key output fields, and the second covers cost and caching. There is no filler or redundant elaboration; every clause contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, has only two well-documented parameters, and no output schema, so the description's listing of returned fields partially compensates. It also covers costing and cache behavior, which are important operational details. It could be more complete by clarifying the shape of the response or handling of missing pages, but overall it is sufficient for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both url and cache parameters well. The description restates the cache behavior already present in the schema, adding no meaningful new parameter semantics. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as a Facebook page profile and lists specific returned data like likes vs followers, talkingAbout, category, website, and public email. However, it lacks an explicit verb like 'retrieves' or 'returns', and it does not explicitly differentiate itself from the similar sibling facebook_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as facebook_details or facebook_summarize. It mentions cache usage and credit cost, but offers no selection criteria or exclusions to help route an agent to the correct endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_profile_eventsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Facebook profile/page URL, @handle, or page name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. Response `source` is native or extended (fetch path — not a price change). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does a solid job: it discloses the 2-credit cost, that empty results and failures are never charged, and the cache semantics (free 24h hit, default always fresh). These are meaningful behavioral details beyond the basic 'list' action, though it does not cover rate limits or detailed return structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose, but it redundantly states '2 credits. Costs 2 credits.' and largely repeats the schema's cache explanation. The redundancy makes it less crisp than it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Together with the fully described schema, the description is nearly complete: it covers the purpose, output fields, cost, cache behavior, and failure charging. The main gap is lack of sibling routing context, which is already accounted for in usage_guidelines; nothing needed for a correct call is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with detailed descriptions for url, cache, and limit, so the baseline applies. The description only restates cache behavior and credit cost already present in the schema, adding no new parameter-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource — 'List a Facebook Page's events' — and adds the distinguishing output fields (local startDate, timezone, venue). This makes it clearly distinguishable from siblings like facebook_event_search (general event search) and facebook_event_details (details of a single event).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a use case (listing events for a specific Facebook page) but provides no explicit when-to-use guidance or named alternatives. It does not tell the agent to prefer this tool over facebook_event_search or facebook_event_details, nor does it state any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_profile_photosAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Facebook profile/page URL, @handle, or page name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). The public /photos grid is a single SSR batch (often ~8) — retrievableCount is that batch, not a promise Facebook will fill limit. Flat 2 credits per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it discloses the 2-credit cost, that empty results and failures are never charged, the 24h cache behavior, and clarifies that accessibilityCaption is alt-text 'not a post caption'—a valuable disambiguation. It lacks only minor context such as rate limits or authentication needs, but the cost/cache/failure disclosures are strong for a public data-fetch tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, each earning its place: purpose/output, cost, failure billing policy, and cache behavior. The core purpose is front-loaded first, and there is zero filler or repetition beyond what a standalone description legitimately needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with 100% schema coverage and no annotations, the description covers the important operational facts: cost, non-charging of failures, cache semantics, and the key return field (accessibilityCaption). The absence of an output schema is a structural gap, but the description partially compensates by naming the return fields. Minor omissions like pagination behavior or error semantics are acceptable given the schema's rich limit parameter explanation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented in the schema. The description's cache and credit mentions largely restate what the schema's cache and limit descriptions already say ('0 credits on hit', 'Flat 2 credits per call'). The accessibilityCaption note is output semantics rather than parameter meaning, so the description adds little beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource—'Photo grid from a Facebook Page'—and specifies the output contents (image URL plus accessibilityCaption). It is easily distinguished from siblings like facebook_profile_posts, facebook_profile_reels, and facebook_details because it is the only photos-oriented Facebook tool. However, it lacks an explicit verb ('Retrieves'/'Fetches'), phrased as a noun phrase rather than a specific verb+resource construction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the unique 'photo grid' purpose, and operational guidance is given ('Pass cache=true for a free 24h cache hit'). However, it does not explicitly state when to prefer this tool over any Facebook sibling, nor name alternatives or exclusions. The schema's URL note adds cross-platform constraints, but the description itself provides no tool-selection routing among the large sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_profile_postsBInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Facebook profile/page URL, @handle, or page name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 4, max 4). The logged-out listing hop is ~23–29s typical, hard-capped at 40s. Each hydrate is typically 6–10s (can be ~100ms when listing already carried the post) and is capped at 12s. The next-item fit check uses that 12s cap, not the typical 6–10s, so a call cannot exceed 60s. The loop stops when the next item would miss the 60s deadline and returns what it has (truncatedReason=hydrate-budget | deadline). Asking for 20 cannot return 20 inside that ceiling. Flat 2 credits per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It discloses several non-obvious traits: the 2-credit cost, free 24h cache hits, no charge for empty results or failures, and the 60s deadline. This is valuable context beyond the schema. The cryptic 'listingHits / timings.phase' fragment is unexplained, preventing a perfect score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the core purpose, but the phrase 'listingHits / timings.phase; 60s deadline, failures 0 credits' is dense, jargon-heavy, and poorly structured. It could convey the same operational facts more clearly, so it does not reach the level of a tightly written 4 or 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers cost, caching, and failure policy, but with no output schema and no sibling differentiation it leaves significant gaps: what fields the response contains, how this endpoint relates to Reels-only or page-details endpoints, and when to prefer it over facebook_profile_reels or facebook_page_details. For an agent choosing among many Facebook tools, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already documents url, cache, and limit in substantial detail, including timing caps and truncation behavior. The description mostly repeats the cache guidance and does not add meaningful parameter semantics beyond what the schema provides, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb and resource: 'Latest posts and Reels from a Facebook page.' This accurately states what the tool returns. It does not explicitly differentiate it from sibling tools like facebook_profile_reels or facebook_page_details, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool instead of related siblings such as facebook_profile_reels, facebook_profile_events, or facebook_page_details. The cache and credit guidance is operationally useful, but it does not help an agent decide between this tool and its alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_profile_reelsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Facebook profile/page URL, @handle, or page name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral burden and excels: it discloses ordering behavior, exclusion of archive padding, credit cost, no-charge policies for empty results/failures, and cache semantics. All of these are concrete behavioral traits beyond the annotation-free baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with zero filler. The core purpose and output characteristics are front-loaded, followed by cost and cache guidance. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with 3 fully documented parameters and no output schema, the description is complete: it covers what data is returned, the ordering, filtering behavior, cost, failure handling, and cache options. An agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents url, cache, and limit parameters. The description reinforces the cache behavior ('free 24h cache hit' and 'default always fresh') but adds no new meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource and scope: 'Latest Facebook page Reels' with the exact metrics returned (views, likes, comments, shares) and ordering ('newest-first'). It distinguishes itself from sibling profile tools like facebook_profile_posts or instagram_channel_reels by naming 'Facebook page Reels' as the specific target.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: for the latest Facebook page Reels, with explicit ordering and no archive padding. It also gives actionable guidance on cache usage ('Pass cache=true for a free 24h cache hit'). It does not explicitly name alternatives or when-not-to-use scenarios, but the context is unambiguous enough for an agent to select this tool correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_summarizeCInspect
Summarizer Costs 4 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public Facebook video or post URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden and does so well for billing and caching: it states the 4-credit cost, that empty results and failures are free, and that cache=true yields a free 24-hour hit with a default of always fresh. This meaningfully informs the agent about side effects and costs, though it omits rate limits, auth, or response-shape behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and contains no wasted words; the two sentences deliver the cost and cache facts efficiently. The awkward opening 'Summarizer' is a structural weakness, but overall conciseness is strong.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no annotations and no output schema, so the description needs to specify what the tool does, what it returns, and when to select it. It does none of those things. The schema documents the parameters well, but the core purpose and selection context are missing, leaving an agent to rely on the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already has 100% parameter coverage with detailed descriptions for both url and cache, including the cross-platform URL restriction and cache semantics. The description adds little beyond repeating the freshness default and attaching a cost implication to cache hits, so schema carries the load and the description is adequate but not additive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Summarizer' but never states what is summarized — no mention of Facebook, videos, posts, or any other resource. This is effectively a tautology of the tool name 'facebook_summarize'; the actual purpose must be inferred from the name and input schema rather than the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational guidance about caching and cost, but it does not say when to use this tool versus sibling alternatives like facebook_details, facebook_comments, or video_summarize. There is no when-to-use or when-not-to-use framing for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_activityAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 30, max 90). Billed per result. | |
| cursor | No | Opaque cursor from a previous nextCursor. Pagination stops after GitHub's 90-event public activity ceiling. | |
| username | Yes | GitHub username or profile URL, e.g. getify. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does substantial work: it discloses the 90-event ceiling, credit costs, free failures/empty results, and cache behavior. It does not describe sorting, return structure, or whether authentication is needed, but the core operational behavior is clearly exposed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the core purpose, and every clause earns its place: typed payload, ceiling, credits, failure charging, and cache behavior. There is no filler or repetition beyond what the context requires.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the moderate parameter complexity and absence of an output schema, the description is mostly complete: it explains what events are returned, gives payload examples, notes the ceiling, and covers costs and caching. It could be slightly stronger by outlining the response shape or pagination contract, but the essential operational details are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all four parameters thoroughly. The description mostly restates what the schema says (limit's 90 max, cache being free, 24h cache), adding little new semantic meaning beyond emphasizing the overall ceiling and billing context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: GitHub public events with typed payload examples (Push commits/ref, PR/issue action). It is distinguishable from sibling tools like github_repositories or github_contributions, though it lacks an explicit verb like 'list' or 'retrieve' and does not name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Public events' implies this tool is for GitHub user activity feeds, and the payload examples narrow the use case. However, there is no explicit guidance on when to choose this instead of related GitHub tools such as github_contributions, github_repositories, or github_user.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_contributionsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| username | Yes | GitHub username or profile URL, e.g. getify or https://github.com/getify. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals important execution traits: a 2-credit cost, no charge for empty results or failures, default fresh fetch behavior, and the availability of a free cached response. The 'today grace' note hints at streak calculation nuance, though it is not fully explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose. However, 'longestStreak (2 credits)' followed by 'Costs 2 credits' creates minor ambiguity about whether the 2 credits refers to the longestStreak field or the entire call, which costs a little clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool, the description covers the essential operational context: cost, caching, failure charging policy, and a rough sketch of the return shape. It does not explicitly route the agent to a sibling for profile data or describe all output details in the absence of an output schema, but the needed info for a correct call is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description reiterates the cache parameter's behavior ('cache=true for a free 24h cache hit') and mentions username indirectly through the tool's purpose, but it does not add meaningful detail beyond what the input schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific noun phrase 'GitHub contribution graph' and enumerates the output fields (sorted days[], currentStreak, longestStreak), making it clear this is about contribution history statistics. This distinguishes it from sibling tools like github_user, github_repositories, or github_activity, even without naming them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives actionable usage guidance about cost and caching: using cache=true for a free 24-hour hit, and noting that empty results/failures are never charged. It does not explicitly compare to alternative GitHub tools or state when not to use it, so it misses the top score but provides clear operational context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_followersAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 30, max 100). Billed per result. | |
| cursor | No | Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number. | |
| username | Yes | GitHub username or profile URL, e.g. getify. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It clearly discloses cost per result, approximate total cost, the 24h cache behavior, and that empty results and failures are never charged. It does not address auth or rate limits, but the cost and failure semantics are unusually explicit and valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place: result shape, pricing and pagination warning, and cache/failure billing. The description is compact, front-loaded with the core purpose, and contains no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no annotations and no output schema, the description gives the agent the essential return fields, cost expectations, pagination caution, and cache behavior. It could be slightly more explicit that the response is a list for the specified username, but combined with the schema it leaves few gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all four parameters with 100% coverage, so the baseline is 3. The description adds useful pricing context for cache, limit, and paging, but it does not add new semantic meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as follower cards and lists the returned fields, making it clear this tool returns followers for a GitHub user. It lacks an explicit verb like 'list' or 'get', and it does not explicitly distinguish itself from github_following, but the resource and output shape are clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: pass a username, control cost with limit, and use cache=true for free repeated calls. It warns that large accounts are expensive to page fully, but it never explicitly says when to prefer this tool over alternatives like github_following or github_user, nor does it state exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_followingBInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 30, max 100). Billed per result. | |
| cursor | No | Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number. | |
| username | Yes | GitHub username or profile URL, e.g. getify. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It adds useful details about caching (cache=true for free 24h hit, default fresh) and billing behavior (empty results and failures not charged). However, it does not disclose output shape, pagination behavior beyond schema, rate limits, or whether the operation is read-only, though that is mildly implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the core purpose. There is some minor redundancy in the pricing statements ('same card and ~0.1/row pricing' followed by 'Costs ~3 credits (0.1/result)'), but the overall length is appropriate and every sentence contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with a complete schema, the description is mostly adequate but leaves gaps: it does not mention what the response contains beyond 'accounts', lacks an alternative differentiation, and with no output schema, an agent might benefit from a note about pagination or result structure. The cost and cache details are helpful but not sufficient for full context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all four parameters. The description does not add new parameter semantics beyond what the schema already provides; it only reinforces the cache behavior already described in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource clearly: 'Accounts a user follows,' which unambiguously identifies the following list. It does not use an explicit verb like 'list' or 'return', and while it mentions followers for pricing, it does not explicitly contrast itself with the github_followers sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. The only reference to followers is about pricing, not about choosing between github_followers and github_following. An agent is left to infer the use case from the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_pull_requestsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repository URL or owner/name, e.g. vercel/next.js. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 30, max 100). Billed per result. | |
| state | No | open (API default), closed, or all. Echoed as data.state. Docs example uses closed so mergedAt is visible. | |
| cursor | No | Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses credit costs, free caching semantics, no-charge on empty/failed results, opaque cursor behavior, and state echo. It does not mention auth requirements or error shape, but the important operational behaviors are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tightly packed and front-loaded: the action and resource come first, followed by return hints, cost, and caching. Every sentence earns its place and there is no redundant restatement of schema fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description communicates the essential return fields, pagination cursor behavior, cost model, and cache behavior. It could be more explicit about response envelope or error handling, but the information needed to invoke it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, setting the baseline at 3. The description adds value beyond the schema by clarifying that the cursor is an opaque GitHub Link token, that state is echoed as data.state, that cache=true yields a free 24h hit, and that billing is per result.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with a specific verb and resource: "List repo PRs", and enumerates the key returned fields (draft, labels, author{}, head/base, cursor). This clearly distinguishes it from sibling GitHub tools like github_activity or github_repositories, which target different resource types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: call it when you need pull requests for a repository, with cache and state options detailed. It does not explicitly name alternatives or say when not to use it, so guidance is adequate but leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_repositoriesAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | created | updated | pushed | full_name (default updated). Not stars — GitHub's user-repos API has no stars sort. Echoed as data.sort. | |
| type | No | owner (default) | member | all — affiliation filter. Echoed as data.type. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 30, max 100). Billed per result. | |
| cursor | No | Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number. | |
| username | Yes | GitHub username or profile URL, e.g. torvalds. | |
| direction | No | asc or desc (default desc). Echoed as data.direction. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and delivers: cost model ('~12 credits (0.4/result)'), billing policy ('Empty results and failures are never charged'), cache semantics ('cache=true for a free 24h cache hit (default always fresh)'), and opaque-cursor pagination. This far exceeds typical transparency for a read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first sentence, followed by cost, billing policy, and cache option — every sentence earns its place. A minor flaw: the per-item rate is stated twice ('~0.4/repo' and '0.4/result'), a small redundancy in an otherwise dense description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with no annotations and no output schema, the description covers the unusual operational aspects (cost, empty/failure billing, cache, cursor) while the schema covers all parameter semantics. The remaining gap is the response shape, partially mitigated by schema hints like 'from a previous nextCursor' and 'Echoed as data.sort'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema itself is unusually rich (defaults, option lists, the 'Not stars' caveat, 'Not a bare page number' cursor warning, 'Echoed as data.*'). The tool description only references sort/direction/type and cache=true at a high level, adding no incremental parameter meaning beyond the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and a specific resource ('a user's repos'), with qualifying dimensions 'sort/direction/type'. The plural resource distinctly separates it from close siblings like github_repository (single repo) and github_trending_repositories (not user-scoped), so an agent can distinguish it without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear operational context — caching, costs, cursor pagination — but never addresses when to pick this over alternatives. Among ~150 siblings, github_repository (singular) is an obvious alternative for one repo's details, yet no when/when-not or alternative routing is given; usage is only implied by the name and 'List a user's repos'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_repositoryAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repository URL or owner/name, e.g. torvalds/linux or https://github.com/torvalds/linux. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the disclosure burden. It usefully discloses the 1-credit cost, that empty results and failures are never charged, cache behavior, and a clarification that 'watchers' means real subscribers. This is substantive behavioral context beyond what the schema alone provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the returned fields before moving to cost and cache behavior. There is minor redundancy: 'parent when fork (1 credit)' followed by 'Costs 1 credit' re-states the credit cost. Overall, it is compact and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-repository lookup with a well-documented input schema, the description covers the resource, key returned values, cost, failure policy, and caching. It does not explain how it relates to sibling GitHub tools, but the core information needed to invoke the tool correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. Both parameters are already well documented in the schema, and the description does not meaningfully expand on the repo or cache parameters; it mainly restates cache cost behavior already present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('GitHub repo') and enumerates the data fields it returns (stars, real watchers, openIssuesAndPrs, license, parent when fork), making the purpose reasonably clear. However, there is no explicit verb like 'retrieves' or 'fetches,' and it does not distinguish itself from the sibling github_repositories, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational guidance about cost and cache usage ('Pass cache=true for a free 24h cache hit (default always fresh)'), but it never states when to use this tool versus alternatives such as github_repositories, github_user, or github_activity. No prerequisites, exclusions, or selection criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_trending_developersAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 100). Flat 2 credits per call. | |
| since | No | Trending window: daily (default), weekly, or monthly — matches github.com/trending/developers?since=. | |
| language | No | Optional programming-language slug → /trending/developers/{language}. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does meaningfully disclose cost (2 credits), free handling of empty results/failures, and cache semantics with a fresh-by-default policy. It does not cover rate limits or response shape, but it adds substantial non-obvious behavioral context beyond the basic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the endpoint and key semantics, followed by billing/cache caveats. It is slightly redundant in stating the 2-credit cost twice, but it remains efficient and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, fully optional-parameter fetch tool, the description covers the source, return content, pricing, failure charging, and caching behavior. It lacks an explicit output shape, but the 'popularRepo + followers' mention gives the agent enough context to understand what will be returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents cache, limit, since, and language thoroughly. The description reinforces cache behavior and the trending-window concept but adds little parameter meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (github.com/trending/developers) and the core output concept: windowed ranks with popularRepo + followers. It distinguishes this from sibling github_trending_repositories by name and content, though it lacks an explicit imperative verb like 'Get' or 'List'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (when you need trending developers, optionally filtered by since window or language), and the since/language parameters provide usage context. However, it does not explicitly state when not to use it or name an alternative such as github_trending_repositories.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_trending_repositoriesAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 100). Flat 2 credits per call. | |
| since | No | Trending window: daily (default), weekly, or monthly — matches github.com/trending?since=. | |
| language | No | Optional programming-language slug (e.g. python, typescript) → /trending/{language}. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It transparently covers cost (2 credits), free cache hits, the fact that empty results and failures are never charged, and the default fresh-fetch behavior. It does not describe output shape or failure response details, but the cost/caching disclosure goes well beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, followed by cost, cache, and failure-billing behavior. There is minor redundancy: '2 credits' appears twice ('(2 credits)' and 'Costs 2 credits'), which wastes a few words but does not meaningfully hurt comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameter-light read tool with full schema coverage, the description covers the key dimensions: purpose, ranking metric, windows, language option, cost, caching, and failure billing. No output schema exists, but the description conveys that it returns repos ranked by starsGained, which is enough for basic invocation; output-shape details are a minor but not critical gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds meaningful parameter context beyond the schema: cost tied to limit, cache parameter behavior (0 credits on hit), accepted since windows, and language path semantics, plus the important 'not all-time stars' distinction.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly identifies the resource (github.com/trending) and defines the core ranking criterion: repos ranked by starsGained over daily/weekly/monthly windows, not all-time stars. Though there is no imperative verb, the agent can unambiguously understand what this tool returns and distinguish it from all-time repository listing tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use this tool: when trending ranking by starsGained is desired, with an explicit exclusion of all-time star rankings. It also gives concrete cache-usage guidance (cache=true for a free hit, default always fresh). It does not explicitly name a sibling alternative or state when not to use it, so it stops short of the strongest guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_userAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| username | Yes | GitHub username or profile URL, e.g. getify or https://github.com/getify. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and discloses genuinely useful behaviors beyond the schema: the 1-credit cost, that empty results and failures are never charged, and the 24h cache semantics with default-always-fresh. Rate limits and error handling are not covered, but the cost/cache/billing disclosure is substantive and well beyond what structured fields provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four compact sentences with the purpose front-loaded and no filler. Minor redundancy: '1 credit' appears in both the first sentence ('followers (1 credit)') and the second sentence ('Costs 1 credit'), which is the only wasted increment.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter read tool with no annotations and no output schema, the description covers the core facts needed to invoke it correctly: returned fields, cost, cache behavior, and the billing-on-failure policy. Missing only explicit sibling routing and error behavior details, which are minor for a simple profile fetch.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds cost context to cache=true (free on hit, fresh by default) that goes slightly beyond the schema's cache description, but it adds nothing material for username beyond what the schema already provides ('GitHub username or profile URL'). The schema does the heavy lifting here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (GitHub public profile) and enumerates the returned fields (login, type User|Organization, email when public, followers), which distinguishes it from sibling GitHub tools like github_followers, github_repositories, and github_activity. An agent can infer what data it returns without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The field listing implies when to use this tool — when a user's profile identity, type, email, or follower count is needed — but it never names an alternative or states exclusions. With many github_* siblings present, explicit routing guidance would materially help selection, so the guidance stays at the implied level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ad_library_ad_detailsBInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| country | No | Two-letter ISO country code. Default US. | |
| creative_id | Yes | Google Ads Transparency URL containing AR... advertiser and CR... creative IDs. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it discloses several non-obvious traits: crediting cost, no charge on empty/failed results, 24h cache behavior, the definition of isActive, and that spend/impression ranges only appear for election ads. It stops short of covering auth or rate limits, but it is notably transparent for practical invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and information-dense: four short sentences cover data availability, field semantics, billing, and caching. It is well-structured and front-loaded with a key caveat, though it would be slightly clearer if the core purpose statement came first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers operational details well—credits, caching, failure charges, and one field definition—and the schema covers all parameters. However, with no output schema and no explicit statement of what 'ad details' includes or how this tool differs from google_ad_library_company_ads, an agent is left to infer the tool's main return content and selection context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description essentially restates the cache parameter behavior that already appears in the schema and adds nothing new about creative_id or country. It does not compensate with extra semantic detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never explicitly states that this tool fetches details for a single Google Ad Library ad; it jumps straight into caveats about spend/impression availability, isActive semantics, credits, and caching. The tool name and the required creative_id make the purpose inferable, but the description itself lacks a clear verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus sibling tools like google_ad_library_company_ads or google_ad_library_advertiser_search. The only usage advice is about passing cache=true for a free cache hit, which is parameter-level, not tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ad_library_advertiser_searchBInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Brand, domain, or advertiser name (min 2 characters). Expanded + ranked so US prefers Inc. over SRL. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 10, max 50). Flat 1 credit when results are returned; 0 credits when totalReturned is 0. | |
| country | No | Two-letter ISO country code used for ranking (e.g. US). Default US. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses meaningful operational traits: cost is 1 credit, empty results and failures are free, caching can yield a free hit within 24 hours, and results are ranked. This goes well beyond a generic tool description, though it omits potential rate limits, error formats, or return structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and generally front-loaded, but it repeats credit information: '1 credit when found; empty is free' is followed by 'Costs 1 credit. Empty results and failures are never charged.' This redundancy reduces conciseness. The overall structure is readable, but the duplication wastes a sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description covers cost, cache, and ranking but not the shape of returned results or when to choose this tool over similar siblings. The schema covers parameters well, but the description alone is not fully complete for an agent deciding whether and how to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces ranking and cache behavior, but those details are already covered by the q and cache parameter descriptions in the schema. The description adds little new meaning beyond what the input schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Find Google Ads Transparency AR… entities — ranked multi-result.' It communicates that this is a search tool returning multiple ranked results. However, it does not explicitly differentiate from sibling tools like google_ad_library_ad_details or google_ad_library_company_ads, so the purpose is clear but the distinction from siblings is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions caching and credit behavior, but does not explain when an agent should prefer advertiser_search over company_ads or ad_details, nor any exclusions or context that would route the agent correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ad_library_company_adsBInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Client-side sort: last_shown (recent activity first) or first_shown. Default is ATC order. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits when results are returned; 0 credits when totalReturned is 0. | |
| topic | No | 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. | |
| cursor | No | Pagination cursor from nextCursor. | |
| region | No | Alias for country. | |
| country | No | Two-letter ISO country / region code (soft filter). Default US. Alias: region. | |
| end_date | No | YYYY-MM-DD — keep creatives whose shown window overlaps this end. | |
| advertiser | Yes | Advertiser name, domain (e.g. nike.com), or Google advertiser ID (AR…). Prefer AR… from advertiser-search. | |
| start_date | No | YYYY-MM-DD — keep creatives whose shown window overlaps this start. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and delivers substantial disclosure: flat 2-credit cost, no charge for empty results or failures, free 24h cache hit when cache=true (default always fresh), spend/impression ranges published only for election ads, and the isActive definition (lastShown within 7 UTC days). These all go beyond what the schema states. It stops short of covering rate limits or error behavior, but this is a genuinely informative behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five dense sentences with zero filler; each sentence carries a distinct fact (data availability, isActive rule, cost, billing, caching). The only structural flaw is leading with a caveat instead of the tool's core function, but as a behavioral note it is efficiently packed and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter tool with no output schema and no annotations, the description is incomplete: it never states the core operation or what the response contains (e.g., ad creatives, nextCursor pagination, default ATC sort order). Rich parameter documentation in the schema and the behavioral notes compensate partially, but the central 'what does this return and what do I do with it' is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies. The description adds interpretive context — commercial ads omit spend/impression ranges, and isActive depends on lastShown within 7 UTC days — which helps an agent understand why response fields may be empty, but it provides no parameter-level semantics beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never states what the tool does — there is no verb+resource statement like 'lists an advertiser's ads from the Google Ad Library.' A reader must infer the core function from the tool name and the advertiser parameter. It opens with a data-availability caveat rather than a purpose statement, and does not differentiate from siblings such as google_ad_library_ad_details or google_ad_library_advertiser_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to select this tool over its siblings — google_ad_library_ad_details, google_ad_library_advertiser_search, or the facebook_ad_library_* equivalents are never mentioned. The only operational advice is about caching and billing (cache=true, 2 credits), which is cost optimization rather than tool-selection guidance. The schema's advertiser parameter points to advertiser-search, but the description itself does not.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_basic_profileAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| userId | Yes | Instagram numeric user ID (e.g. 13460080). A profile URL, @handle, or username is also accepted and resolved automatically. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It discloses cost (1 credit), free 24h cache behavior, default fresh fetch, and that empty results/failures are never charged. It does not cover error conditions or rate limits, but transparently addresses the main non-obvious behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Several short, information-dense sentences that front-load the core purpose before adding cost and caching details. Every sentence contributes distinct, non-redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essentials for a simple profile fetch: identifier formats, key output fields, cost, and caching. Because there is no output schema, it relies on the Channel Details alignment to convey the response shape; this is adequate but not exhaustive. It doesn't mention auth or rate-limit context, but for this basic lookup the definition is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and already explains all three parameters in detail. The description adds value by clarifying that cache=true yields a free 24-hour cache hit and that fresh fetches are the default, which is not fully captured in the schema. This strengthens the semantic model for the cache parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific operation (fetch profile) by user ID or @handle, and adds schema context (aligned with Channel Details) with key fields listed. It is clear about the resource, but does not explicitly differentiate from overlapping siblings like instagram_channel_details or instagram_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful operational context (credit cost, caching, charge policy) but does not say when to choose this tool over instagram_channel_details, instagram_details, or instagram_profile_search. Usage is implied by the purpose, not explicitly routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_channel_detailsBInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Instagram profile URL, @handle, or username, e.g. https://instagram.com/username/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden and does substantial work: it discloses cost ('Costs 1 credit'), the no-charge policy for empty/failed results, the default-fresh behavior versus the free 24h cache hit, and approximate/null-filled values in the output. It could additionally cover rate limits or auth requirements, but for a read-only stats endpoint this is well above the minimum.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: four short sentences, with the purpose front-loaded before operational details. Every sentence earns its place (purpose/output shape, cost, failure policy, caching). The first sentence is dense to the point of being slightly cryptic, but there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and no annotations, the description partially compensates by listing key output fields and operational behavior (cost, cache, failure charges). However, it leaves gaps: no explanation of what 'approx flags' or the full fixed key set means, no sibling differentiation among Instagram profile tools, and no error/rate-limit context. It is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 and the schema already handles url/cache/cacheMaxAge semantics. The description adds a small extra detail for cache ('free 24h cache hit (default always fresh)') beyond the schema, but contributes nothing for url or cacheMaxAge. No compensation beyond baseline is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (Instagram profile) and the delivered data type ('profile stats'), and adds concrete output detail ('fbid, bioLinks, isBusinessAccount, approx flags'). However, it uses no explicit verb ('fetch'/'get'), and the cryptic phrase 'fixed key set (null fillers)' muddies exactly what is returned. It also does not differentiate from the overlapping siblings instagram_basic_profile and instagram_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement about when to choose this tool over instagram_basic_profile, instagram_details, or other Instagram siblings, which is a real gap given their overlapping scope. The operational notes about cost and caching are useful but are not tool-selection guidance. Usage is only implied: use it when you need Instagram profile stats.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_channel_postsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Instagram profile URL, @handle, or username, e.g. https://instagram.com/username/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Billed per result. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (e.g. 3937014945555313553_1697296). A null nextCursor means the end of the list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden and does well: it states the profile must be public, explains credit cost per result, notes that empty results/failures are never charged, and clarifies cache behavior and default freshness. This goes beyond the schema's parameter-level descriptions and gives an agent realistic expectations for cost and failure handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only three sentences, front-loads the core function and key output fields, and then packs billing and cache behavior into the remaining sentences. Every sentence earns its place; there is no filler, redundancy, or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and no annotations, the description compensates well by naming important return fields, stating the public-profile requirement, and covering cost/failure/cache behavior. It also relies appropriately on the schema for parameter details like pagination and URL format. Minor gaps remain around the exact response envelope and how failures manifest, but the essential context for calling the tool is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, and the description adds value on top by explaining cost implications (~6 credits, 0.3/result) and the free cache-hit benefit. This helps an agent reason about limit and cache parameter trade-offs. It does not redundantly restate the parameter descriptions, so it earns a point above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns 'Latest posts from a public Instagram profile' and highlights key response fields (carousel children[], mediaCount, user{}). It is specific enough about the endpoint's resource and output. However, it does not explicitly contrast with closely related siblings like instagram_channel_reels or instagram_tagged_posts, so it stops short of perfect differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys when the tool is appropriate by focusing on 'latest posts' and 'in one call', and it gives operational guidance about caching and billing. But it does not explicitly state when to use this tool versus alternatives or mention exclusion cases, such as 'use instagram_tagged_posts for tagged content'. Thus guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_channel_reelsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Instagram profile URL, @handle, or username. Omit when userId is set. The URL platform must match this endpoint's platform. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Billed per result. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass nextCursor from the previous response (clips:{userId}:{opaque} on the native Reels path, or legacy {mediaId}_{userId}). Stop when hasMore is false. | |
| userId | No | Instagram numeric user ID (e.g. 173560420). Skips handle→ID resolve (legacy sequential WPI alone could cost ~80s). Prefer when you already have the ID from basic-profile or profile-search. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosure, and it excels: it explains the credit cost formula (ceil(n×0.3), ~6 credits at default), pagination contract (nextCursor + hasMore), cache behavior (cache=true for free 24h hit, default fresh), and a no-charge policy for empty results and failures. This is far more transparent than typical tool descriptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and informative, front-loading the core purpose. However, 'costs ~6 credits (0.3/result)' restates the earlier 'ceil(n×0.3) credits' formula, introducing slight redundancy. Still, every other clause earns its place, so it remains well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description provides a remarkably complete picture: cost, caching, pagination, resolve behavior, and failure charging. The only notable gap is the lack of any description of the returned reels data shape, which is partially mitigated by the mention of nextCursor and hasMore.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter (url, cache, limit, cursor, userId) is already well documented in the schema. The description adds some context around cost per result and the resolve-skip optimization, but these mostly reinforce the schema rather than add new semantic meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Latest Reels') and a specific resource ('from a public Instagram profile'), making the tool's function immediately clear. It distinguishes this from sibling reels tools like instagram_trending_reels and instagram_reels_search by anchoring to a specific profile's channel.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by saying 'from a public Instagram profile', but it never explicitly states when to choose this tool over alternatives like instagram_reels_search or instagram_channel_posts, nor does it mention exclusions or prerequisites beyond 'public'. The guidance is clear but not directly comparative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_commentsAInspect
Session-paged Instagram comments — a logged-out 2-row preview of a larger thread is 503 SESSION_UNAVAILABLE at 0 credits. 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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Instagram post or reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Billed per result. | |
| cursor | No | Pagination cursor from the previous nextCursor ({mediaPk}:{minId}). Omit on the first page. hasMore is true when nextCursor is set, or when more exist and cannot be paged (nextCursor null + truncatedReason). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden of behavioral disclosure. It discloses cost (~45 credits, 0.9/result), no charge on empty/failed results, cache behavior, and a specific failure mode (503 SESSION_UNAVAILABLE for a logged-out 2-row preview of a larger thread at 0 credits). This goes well beyond what the input schema or name alone convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the core resource appears first, followed by short, dense operational caveats. The phrase about the 'logged-out 2-row preview... 503 SESSION_UNAVAILABLE' is cryptic, but the overall text is efficient rather than padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter, read-style endpoint with no output schema and no annotations, the description covers the main invocation concerns: session/error behavior, caching, cost, and pagination context. It does not describe the response shape, but the fully documented schema reduces that burden.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents url, cache, limit, and cursor, including defaults, minimums, and the nextCursor format. The description reinforces cache and billing behavior but does not add new meaning to any individual parameter beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource ('Instagram comments') and the pagination mode ('Session-paged'), and the schema's URL parameter clarifies that it operates on Instagram post/reel URLs. It does not open with an explicit verb phrase like 'Retrieves comments for...' and it does not differentiate against sibling tools, but the tool name plus schema make the operation unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives actionable call guidance: pass cache=true for a free 24h cache hit, default is always fresh, and empty/failed calls are not charged. It does not name alternative endpoints or explicit exclusions, but within the Instagram sibling set there is no direct comments alternative, so the context provided is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_detailsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Instagram post or reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses the 1-credit cost, that empty results and failures are never charged, and the free 24h cache-hit behavior with fresh-by-default semantics. It does not mention auth, rate limits, or error formats, but for a simple read endpoint this is solidly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. It front-loads the action and returned data, then packs cost, failure policy, and cache behavior into the second sentence. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter read tool with no output schema, the description compensates by listing the expected return fields and operational details like credits and caching. It is sufficient for an agent to call correctly, though it could go further by naming sibling alternatives for disambiguation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already thoroughly documents both url and cache semantics. The description repeats the cache behavior but adds no new parameter-level meaning beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb and resource: 'Get an Instagram post, Reel or carousel' and lists concrete return fields (caption, likes, comments, views, media URLs, author, per-slide children). This clearly distinguishes it from sibling endpoints like instagram_basic_profile, instagram_channel_posts, or instagram_embed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool by scoping it to posts, Reels, and carousels, and it gives useful cache usage guidance. However, it never explicitly names alternatives or states when to prefer a sibling tool such as instagram_comments or instagram_channel_posts, so usage context is implied rather than explicitly routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_embedAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Instagram post, reel, or profile URL (or @handle), e.g. https://instagram.com/reel/ID/ or https://instagram.com/username/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden and does so well. It discloses the 1-credit cost, that empty/failed results are not charged, the 24-hour cache behavior, and that the default is always fresh. This is valuable operational context beyond what the schema states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no fluff. The purpose comes first, followed by cost, failure policy, and caching behavior. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity tool with two simple parameters and no output schema, the description plus schema fully covers what the tool does, how to use it, what it returns, and its operational behavior around credits and caching. Nothing essential is missing for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both url and cache are already well documented. The description reinforces the cache default and cost implications, but adds no new meaning about the parameters themselves beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a specific deliverable: a classic Instagram embed snippet using blockquote.instagram-media and embed.js, to be dropped into a page. This distinguishes it from the many Instagram data-fetching siblings like instagram_details or instagram_channel_posts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly conveys the use case: generate an HTML embed snippet for a page, with an optional cache=true path for free cached results. It doesn't explicitly compare against sibling alternatives, but no sibling serves the same embed purpose, so the context is clear without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_hashtag_searchBInspect
Hashtag Explore: session-raced native grid, Apify only on miss. Max 50. 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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Hashtag without the # (min 2 characters). One token — spaces are 400 HASHTAG_HAS_SPACES. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 50). Flat 2 credits per call. | |
| mediaType | No | all (default) or reels — return only Reels/clips when set to reels. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden — and it delivers: flat 2-credit cost, free 24h cache hits, empty results/failures never charged, and the native-grid/Apify fallback mechanism. These go well beyond what the schema reveals. Minor gap: no mention of auth requirements or rate limits, and 'session-raced native grid' is jargon that an agent may struggle to interpret.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tight and front-loaded — identity first, then pricing, then cache behavior. The clear flaw is redundancy: 'Flat 2 credits. Costs 2 credits.' says the same thing twice. Otherwise every sentence earns its place; removing the duplicate would make this a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with no output schema and no annotations, the description covers pricing, caching, and failure policy unusually well, and the schema fully documents all 4 parameters. What's missing: return-value shape (what items come back), pagination, and rate limits. An agent could call it correctly but wouldn't know what to expect in the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3 — the schema already documents q's format/error code, cache's 0-credit hit behavior, limit's default of 20, and mediaType's options. The description reinforces the max-50 and cache semantics, but mostly duplicates what the schema states rather than adding new parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool name plus 'Hashtag Explore' makes the verb+resource clear: search Instagram hashtags. The description adds execution context (session-raced native grid, Apify fallback), which gives it a specific identity. However, it doesn't explicitly distinguish itself from sibling hashtag tools like youtube_hashtag_search or tiktok_search_by_hashtag beyond the platform already implied in the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. There are many search variants among siblings (instagram_profile_search, instagram_reels_search, youtube_hashtag_search), but the description never names a condition, exclusion, or alternative. It does explain cache=true usage, but that's operational detail, not tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_highlightsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Instagram profile URL, @handle, or username. Omit when userId is set. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| userId | No | Numeric Instagram user ID. Prefer when known — skips handle→ID resolve. When only userId is set we reverse-resolve the username so the WPI / profile-HTML shelf can still run. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden and covers pricing (flat 1 credit), cache behavior (cache=true free 24h hit, default fresh), and the guarantee that empty results/failures aren't charged. It doesn't discuss rate limits or auth, but for a simple public read tool the key operational behavior is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the core purpose before pricing/caching details. The only blemish is redundancy—'Flat 1 credit. Costs 1 credit.'—which keeps it from top marks.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity tool with fully documented schema, the description covers what the tool returns, cost, cache, and failure charging. It could be more complete by explicitly noting the relationship to instagram_highlights_details, but nothing essential is missing for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all three parameters at 100% coverage. The description adds value beyond the schema by explaining the cache parameter's effect and the default freshness behavior, which is directly actionable for invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the resource and returned fields (id, title, cover, owner) clearly, and 'for a public profile' sets scope. However it lacks an explicit verb and does not directly distinguish itself from the sibling instagram_highlights_details, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is for retrieving a profile's highlight albums and gives clear context (public profile, cache behavior), but it never states when to choose this tool over the similar instagram_highlights_details or other Instagram tools. No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_highlights_detailsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Highlight id from /v1/instagram/highlights (with or without highlight: prefix). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It does well by covering credit cost, the free 24h cache behavior, the default fresh-fetch behavior, and the policy that empty results and failures are not charged. It does not state read-only status or rate limits, but the read nature is clear from the described output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the main purpose, but 'Flat 1 credit. Costs 1 credit.' is redundant repetition. The cache guidance also largely duplicates the schema, so not every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read operation with no output schema, the description is reasonably complete: it states the input source context via the schema, the returned fields, pricing, cache options, and failure/empty-result charging behavior. It could mention how to obtain the highlight id more directly, but the schema already references /v1/instagram/highlights.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented. The description mostly restates the cache behavior already present in the schema, adding no significant new parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: items inside one Instagram Story Highlight album, and names the returned data (media URLs, type, takenAt). The word 'one' distinguishes it from the sibling tool instagram_highlights, which lists highlight albums themselves.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as instagram_highlights. The cache parameter is explained, but tool-selection context is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_profile_searchAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Account name, @handle, or profile URL to resolve (min 2 characters). A leading _ is stripped. Not a niche keyword search. | |
| cache | No | Serve from the 24h shared cache when available (0 credits on hit). Default true — set false to always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses that the tool costs 1 credit, that empty results and failures are never charged, and that cache=true provides a free 24h cache hit. These are important operational details beyond the schema. It does not mention auth or rate limits, but for a simple lookup tool this is reasonably transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loads the core purpose, and then covers cost and caching in two additional sentences. No fluff, every sentence adds value. It is well-structured and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter tool with no output schema and no annotations, the description covers the essential context: what it does, what it returns (stable id, bio, links, stats), cost, cache behavior, and public scope. It lacks explicit details on output structure or error responses, but given the tool's simplicity, it is adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so both q and cache are already well-documented in the schema. The description adds minimal new meaning for parameters—it repeats the cache behavior and clarifies that q is not a niche keyword search, which the schema already states. Per the baseline rule, since coverage is high, a score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool resolves a brand or @handle to a single public Instagram profile and lists what it returns (stable id, bio, links, stats). It explicitly excludes niche discovery, which helps distinguish from search-like tools. However, it does not explicitly name or differentiate from other profile tools like instagram_basic_profile or instagram_details, so it is not fully distinguishing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some usage guidance: it excludes niche discovery, implying when not to use, and explains cache behavior (cache=true for free hit). However, it does not explicitly state when to choose this tool over specific alternatives, such as instagram_details for deeper profile info or instagram_search for discovery. The 'not niche discovery' note gives a clue but no explicit alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_reels_by_audio_idAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Billed per result. | |
| audioId | Yes | Instagram audio/music ID or full audio URL, e.g. 27919946310946207. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does this well by revealing the credit cost (~28 credits, 1.4/result), the no-charge policy for empty/failed results, and the cache behavior (cache=true gives a free 24h hit). It does not mention rate limits or authentication, but the key operational traits are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core value proposition; every sentence carries purpose or operational information. The only weakness is the cryptic 'rich music{}' notation, which is not as self-explanatory as the rest of the text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates reasonably by naming expected response fields (isTrendingInClips, trendRank, rich music) and explaining cost and cache behavior. It does not fully define the shape or nesting of returned objects, but combined with a fully documented input schema it is adequate for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces cache semantics and billing per result, but those details are already present in the schema, and it adds no new parameter-level meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states that the tool tells whether an Instagram sound is trending and returns reels using that sound, plus trend-related fields (isTrendingInClips, trendRank, rich music). The action is implied rather than expressed as a direct verb like 'fetch', but the resource and purpose are clear enough to distinguish it from generic reels search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The opening question 'Is this Instagram sound trending?' implies the main use case, and the cost/cache details add useful decision context. However, it never explicitly says when to choose this tool over related siblings such as instagram_trending_reels, instagram_reels_search, or tiktok_music_posts, nor does it state any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_reels_searchBInspect
Cascade: native (session residential + Android tag feed) → Decodo → Apify. Max 50. 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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Hashtag without the # (min 2 characters). One token — spaces are 400 HASHTAG_HAS_SPACES. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 50). Flat 2 credits per call. | |
| datePosted | No | last_24_hours | last_week | last_month | last_year (aliases: today, this_week, this_month, this_year). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does disclose meaningful behavior: the cascade approach, flat 2-credit cost, no charge on empty results/failures, and the 24h cache behavior. It also states the default freshness. This goes well beyond the schema. However, it does not describe the response structure or potential error behavior beyond cost implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and dense, but it contains redundancy: 'Flat 2 credits' and 'Costs 2 credits' repeat the same fact. It front-loads the technical 'Cascade' term, which may not be the most relevant starting point. Overall it is efficient and readable, though a tighter edit would improve it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description omits essential information: what the returned data looks like, pagination behavior, rate limits, or any prerequisites. It explains cost and cache well but leaves the agent guessing about the actual result format and how to interpret the output. This is a significant gap for an agent trying to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description repeats some parameter facts (max 50, flat 2 credits) but adds no new meaning beyond the schema. It does not clarify parameter interactions or provide examples. Thus it meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name clearly indicates searching Instagram reels, but the description focuses on the execution cascade and cost model rather than stating the tool's purpose explicitly. It never says 'searches Instagram reels by hashtag' – that is only implied by the schema's 'q' parameter and the phrase 'Android tag feed'. This is more than a tautology but leaves the agent to infer the core function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus its many siblings (e.g., instagram_hashtag_search, instagram_trending_reels). The description mentions a cascade and cost details but offers no decision criteria or exclusions. An agent cannot tell from the description why to pick this tool over similar ones.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_summarizeAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Instagram Reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| language | No | ISO code, e.g. "tr": pins the speech language and sets the summary output language. Defaults to auto-detect + English summary. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden and does well: it discloses credit cost, that failures and empty results are not charged, and the cache hit behavior. It could add more about failure conditions or privacy restrictions, but the current information is genuinely useful beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each adding distinct value: core purpose, pricing/failure policy, and cache behavior. No filler or redundancy; the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description adequately covers the return shape, cost, failure charging, and caching. The language parameter is left to the schema, which fully documents it. This is sufficient for an agent to select and call the tool correctly in most cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents url, cache, and language. The description does not add meaning beyond the schema — it mostly repeats the cache behavior. This meets the baseline but does not go further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Get an AI summary of any Instagram Reel' and defines the output as 'a short paragraph plus key points.' This clearly distinguishes it from transcript tools like instagram_transcript and from platform-specific summarize siblings like tiktok_summarize or youtube_summarize.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly communicates when to use this tool: when a concise AI summary of an Instagram Reel is needed 'without watching the video.' It also gives cost-related context that helps an agent decide, though it does not explicitly name alternatives such as instagram_transcript for verbatim text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_tagged_postsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Instagram profile URL, @handle, or username, e.g. https://instagram.com/username/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 1 credit per call. | |
| cursor | No | Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations to lean on, the description fully carries the behavioral disclosure burden. It transparently covers the 1-credit cost, free handling of empty/failed results, fresh-by-default caching behavior, the free 24h cache hit path, and the staleFeed fallback when Instagram only exposes an archive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences front-load the core purpose, then add cost, failure, and cache semantics without filler. Every sentence adds a distinct piece of information an agent needs before invoking the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description covers the essential contextual ground: what the posts are, data-quality caveats, cost, cache behavior, and the fallback case. It does not enumerate exact output fields or pagination response shape, but the schema's cursor description and the strong behavioral notes make the tool sufficiently callable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents url, cache, limit, and cursor in detail. The description mostly repeats the cache behavior already present in the schema rather than adding new parameter-level meaning, so it stays at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource explicitly ('posts that tag an Instagram account') and adds useful distinctions such as author verified/avatar availability and the staleFeed archive fallback. This lets an agent distinguish it from sibling tools like instagram_channel_posts or instagram_hashtag_search, though it lacks an explicit operation verb like 'list' or 'retrieve.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is clear: call this when you need posts that tag an Instagram account, and the cache note gives concrete guidance on when to pass cache=true. It does not explicitly compare against sibling tools or state exclusion cases, but the context is specific enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_transcriptAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Instagram Reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| language | No | Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It adds meaningful operational context: the 2-credit cost, no charge for empty results or failures, and the cache=true free cache-hit behavior with a default fresh fetch. This gives an agent a realistic picture of cost and side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two compact sentences with no filler. The core purpose is front-loaded, followed by essential cost and cache policy. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema or annotations, so the description must explain both output and behavior. It covers the transcript output, timestamped segments, cost, failure billing, and cache semantics. Missing an explicit alternative-tool routing note, but the clear platform scope makes the definition sufficiently complete for a straightforward transcription tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents all three parameters, including the URL platform-match warning, cache behavior, and language ISO default. The description reinforces cache behavior but adds no significant new parameter-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Turn speech into text'), a specific resource ('Instagram Reel's speech'), and specifies the output ('full transcript plus timestamped segments'). This clearly distinguishes the tool from sibling transcript tools for YouTube, TikTok, LinkedIn, and other platforms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Instagram Reel scope makes the intended use case explicit and unambiguous. It does not explicitly name alternative transcript tools or state when not to use them, but the platform constraint is clear enough for an agent to select the correct tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_trending_reelsAInspect
Cache-first trending Reels. Wall miss is labelled stale 200, not 502. Max 50. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Successful calls bill even on cache hits.
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Default true (cache-first): serve the per-country response cache when present (TTL 4 hours). Every successful call costs 2 credits — including cache hits. Set false to force a live scrape (measured miss 45–75s, hard-capped at 110s). Raise client timeouts above 90s — n8n/Make defaults will fail a miss. The fresh result still refreshes the cache. | |
| limit | No | Max items to return (default 10, max 50). Flat 2 credits per call. | |
| country | No | Country for Reels localization — full name or ISO code (e.g. 'United States', 'US', 'Turkey', 'TR'). Default United States. Unsupported values return 400 with supportedCountries[]. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does an excellent job: it discloses cache-first behavior, stale 200 responses instead of 502, a 50-item cap, flat 2-credit billing, no charge for empty results or failures, and billing even on cache hits. This goes well beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is terse and front-loaded, but it contains redundancy: 'Flat 2 credits.' and 'Costs 2 credits.' say the same thing, while 'Max 50' duplicates the limit schema. The phrase 'Wall miss' also appears to be a typo, likely for 'cache miss'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with three optional parameters and no output schema, the description plus parameter schema covers the essentials: caching behavior, freshness, cost, failure handling, and country validation. The main gap is the lack of explicit return-format information, but that is minor given the clearly named resource.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents cache, limit, and country in detail. The tool description mainly restates 'Max 50' and 'Flat 2 credits', which are already present in the schema, so it adds little new parameter-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening 'Cache-first trending Reels' names a specific resource and caching mode, and the tool name supplies the platform. It does not use an explicit verb like 'fetch' or 'retrieve', and it does not differentiate itself from sibling tools such as instagram_reels_search or instagram_channel_reels.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides operational guidance around cache behavior and billing, but it never explains when to choose this tool over related Instagram Reels tools. Usage context is implied rather than explicit, with no mention of alternatives or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kick_clipAInspect
Get a Kick clip — source + stages/ms, 7d clip cache, Evomi→Webshare→Decodo→Apify. 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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Kick clip URL for one enriched clip (e.g. https://kick.com/{channel}/clips/clip_…), or channel input for recent clips[]: kick.com/{name}, kick.com/@{name}, @{name}, or {name}. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| limit | No | Channel mode only — max recent clips to return (default 30, max 100). Ignored when url is a clip. Flat 1 credit. No cursor — Kick returns a single page. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does substantial work: it discloses flat pricing, no charge for empty results/failures, a 24-hour cache option, a 7-day clip cache, and the proxy chain. It stops short of describing output structure, side effects, or rate limits, but the disclosed cost and caching behavior are genuinely valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose, but it contains direct redundancy: 'Flat 1 credit' and 'Costs 1 credit' say the same thing. The proxy chain and cache details earn their place, but the duplicate pricing sentence is clear waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter, no-output-schema tool with no annotations, the description covers the most decision-relevant context: cost, failure charging policy, caching semantics, and the execution pipeline. It does not explain return shape, but it does preview 'source + stages/ms' and the schema fully covers parameter inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the schema already documents all four parameters thoroughly. The description adds meaningful extra detail for cache=true ('free 24h cache hit') and the default freshness behavior, but it does not enrich url, limit, or cacheMaxAge beyond what the schema already says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource — 'Get a Kick clip' — and adds distinguishing detail: source plus stage timings, cache behavior, and proxy chain. It clearly identifies this as the Kick-specific clip tool, separating it from twitch_clip and other platform tools by name and content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied through the Kick-specific naming and description, but no explicit alternatives or exclusions are stated. The cache guidance ('Pass cache=true for a free 24h cache hit') gives operational direction, but the description does not say when to prefer this tool over twitch_clip or other platform-specific tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
komi_pageBInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Komi page URL or username, e.g. https://komi.io/kimkardashian or https://kimkardashian.komi.io/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It usefully discloses the flat credit cost, that empty results and failures are not charged, and the cache behavior. However, the pricing wording is redundant and slightly ambiguous: 'Flat 1 credit. Costs 1 credit.' followed by 'free 24h cache hit' leaves uncertainty about whether cache hits consume a credit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the tool's purpose. It loses points because 'Flat 1 credit. Costs 1 credit.' directly repeats the same fact, wasting one sentence. The rest is dense and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-URL fetch tool with fully documented parameters, the description covers the main outputs, cost, and caching. Still, without an output schema, a bit more specificity about the socials{} structure and row format would help, and the Komi-only URL constraint is left to the schema rather than the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all three parameters with 100% coverage, so the baseline is 3. The description adds only a hint about cache=true and default freshness, but does not explain url format or cacheMaxAge beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (Komi link-in-bio page) and what data it returns: identity, socials, and content LINK/PRODUCT rows with price/currency. This distinguishes it from similar link-in-bio siblings like linktree_page and linkme_profile. It lacks an explicit verb such as 'fetch' or 'extract', relying on the arrow notation, so it stops just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not say when to prefer this tool over the many sibling tools for other link-in-bio platforms, nor does it mention any exclusions or alternatives. The 'Komi' label implies the intended platform, but there is no explicit routing guidance for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kwai_postAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Kwai video URL, e.g. https://www.kwai.com/@topfilmeseseriesnatv/video/5240932700689736196. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It transparently states the credit cost, that empty results and failures are never charged, and how the cache parameter affects freshness and cost. This goes beyond basic operation descriptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the most important information: what the tool returns, the cost, the no-charge guarantee, and cache behavior. Every sentence adds value and none are redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-resource fetch tool, the description covers the essential return fields, cost implications, failure charging policy, and cache behavior. Even without an output schema, an agent has enough context to correctly invoke and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents both parameters with 100% coverage, including the URL format and cache behavior. The description repeats and clarifies the cache semantics but does not add meaningful new parameter-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states this tool returns a single Kwai video with specific fields (caption, hashtags, author, mp4), clearly distinguishing it from sibling tools like kwai_profile and kwai_user_posts. The resource and action are immediately identifiable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly conveys when to use this tool: for an individual Kwai video, with guidance on cache usage and cost behavior. It does not explicitly name alternative tools for other scenarios, but the intended use case is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kwai_profileAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Kwai profile URL or @handle, e.g. https://www.kwai.com/@topfilmeseseriesnatv. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the behavioral burden. It clearly discloses cost (1 credit), the no-charge policy for empty results and failures, and cache behavior (free 24h cache hit, default always fresh). This is strong behavioral context, though it stops short of richer execution details like rate limits or retry behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, each earning its place: what the tool returns, cost, failure charging policy, and cache usage. The core purpose is front-loaded and there is no filler or repetition beyond what is necessary for context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool with no output schema or annotations, the description conveys the essential information: input expected, output shape, pricing, failure charging behavior, and cache option. It does not detail what exactly the 'counts' mean and there is no output schema, but the definition is sufficiently complete for a capable agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers both parameters at 100% and describes URL format/platform matching and cache semantics in detail. The description adds little beyond the schema, restating the cache behavior in equivalent terms. Baseline 3 is appropriate because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description has a specific verb ('Fetch'), a specific resource ('Kwai profile'), and a concrete list of returned data (display name, bio, counts, verification as structured JSON). It clearly distinguishes from siblings like kwai_post and kwai_user_posts which are post-oriented endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies 'use this for Kwai profile metadata' and gives operational guidance around credits and caching, but it does not explicitly tell the agent when to choose this tool over related siblings such as kwai_user_posts or kwai_post. Selection guidance is inferred from the name and returned fields rather than stated directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kwai_user_postsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Kwai profile URL or @handle, e.g. https://www.kwai.com/@topfilmeseseriesnatv. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max posts to return (1–200). Default 20. ~1 credit per post returned (min 2). | |
| cursor | No | Opaque pagination cursor from the previous nextCursor. Pages within posts from one profile fetch. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses pricing (~1 credit/post, ~20 credits per result), the cache=true free 24h hit behavior, and that empty results/failures are never charged. It does not cover auth requirements or rate limits, but the material cost and caching behaviors are explicit and useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: purpose and output content come first, followed by cost, failure billing, and cache behavior. Every sentence adds value, though the phrase 'Costs ~20 credits (1/result)' is slightly ambiguous next to '~1 credit/post'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description covers the essential selection and invocation details: what posts are returned, approximate cost, cache behavior, and no-charge-on-failure policy. Pagination details come from the cursor schema, and sibling disambiguation is mostly left to the names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all four parameters at 100% coverage. The description adds operational meaning beyond the schema: cache=true gives a free 24-hour cache hit while the default is always fresh, and the credit-per-post note connects the limit parameter to cost. URL and cursor semantics are already handled by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as Kwai profile posts and enumerates the returned content (caption, engagement, MP4, transcript), so an agent can see what the tool produces. It lacks an explicit verb such as 'list' or 'fetch' and does not distinguish itself from siblings like kwai_post or other platform user_posts, but the platform and resource scope are clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Use is implied: this is the tool for posts from a Kwai profile, based on the name and first line. There is no explicit guidance about when to choose kwai_user_posts over kwai_post, kwai_profile, or other user_posts tools, so the agent must infer routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkbio_pageAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Linkbio (lnk.bio) page URL or username, e.g. https://lnk.bio/charlidamelio. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does a solid job: it discloses the flat credit cost, that empty/failed results are never charged, and that fresh fetches are the default with an optional free cache hit. This is meaningful behavioral context beyond the input schema, though it does not address error handling or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the output shape, but it wastes a sentence on redundancy: 'Flat 1 credit. Costs 1 credit.' say the same thing. The structure is otherwise compact and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description sketches the return structure (id, socials, titled links, website/email/whatsapp, other[]) and covers cost, failure charging, and caching. It is not fully complete because the cache=true 24h claim clashes with cacheMaxAge's longer TTLs, but for a simple three-parameter fetch tool it provides enough context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds a concrete 'free 24h cache hit' claim and 'default always fresh' behavior, but this slightly conflicts with the schema's cacheMaxAge options (1d-30d) and the default-TTL wording for cache=true. Thus the added value is marginal and somewhat ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (lnk.bio pages) and the output shape (id, socials, titled links, website/emailwhatsapp, other[]), making it clear this is a page parser/extractor. It does not use an explicit verb like 'fetch and parse', but the arrow notation conveys the transformation and distinguishes it from sibling tools like linktree_page and komi_page by platform name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives parameter-level usage guidance ('Pass cache=true for a free 24h cache hit') and cost behavior, but it never states when to choose this tool over siblings like linktree_page, komi_page, linkme_profile, or pillar_page. Usage context is implied by the lnk.bio platform name rather than explicitly articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_ad_library_ad_detailsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | LinkedIn Ad Library URL or ad ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the behavioral disclosure burden. It discloses that LinkedIn withholds certain fields, that missing keys are omitted rather than 404s, that the request costs 2 credits, that empty results and failures are not charged, and how caching affects cost and freshness. This is excellent behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the core purpose appears in the first sentence, followed by high-value caveats and usage tips. Every sentence earns its place; there is no filler or repetition of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description covers the essential call context: required identifier type, platform restrictions are already in the schema, cost, failure/empty behavior, and caching tradeoffs. An agent has enough information to decide whether and how to call this tool and to interpret missing fields in the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the url parameter is fully explained as a LinkedIn Ad Library URL or ad ID with platform-matching restrictions, and cache is explained as a 24h cache flag. The description adds behavioral and pricing context but no new parameter-level semantic detail beyond what the schema already provides, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence, 'One LinkedIn Ad Library ad by ID,' states a specific verb, resource, and selection method. It clearly distinguishes this tool from search-oriented siblings like linkedin_ad_library_search_ads and other platform-specific ad detail tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly communicates when to use this tool: when you have a specific LinkedIn ad ID or URL. It also provides practical usage context like cache=true for free hits and explains that missing fields are omitted rather than errors. It does not explicitly name an alternative to use when no ID is available, but the singular-by-ID framing makes the intended use unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_ad_library_search_adsBInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Advertiser / account owner name (min 2 when used). Provide q/company, keyword, or companyId. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call on the native path; the extended fallback bills ~3.5 credits per returned ad. Response `source` is native or extended so you can see which price applied. | |
| cursor | No | Pagination token from paginationToken / nextCursor. | |
| company | No | Alias of q — advertiser / account owner name. | |
| country | No | Single ISO country code. Default US. Ignored when countries is set. | |
| endDate | No | Custom range end YYYY-MM-DD (use with startDate). | |
| keyword | No | Optional keyword filter on ad creative copy. | |
| companyId | No | LinkedIn numeric company id for exact advertiser match. | |
| countries | No | Comma-separated ISO country codes (e.g. US,CA,MX). | |
| startDate | No | Custom range start YYYY-MM-DD (use with endDate). | |
| paginationToken | No | Alias of cursor. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden and does meaningful work: it reveals that run dates/impressions/targeting appear only on a subset of creatives, that results come from native or extended sources, that empties/failures aren't billed, and that cache=true gives a free 24h hit. The blanket 'Costs 2 credits' slightly oversimplifies the schema's extended-fallback ~3.5 credit billing, but overall it is transparent and useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four dense sentences with no filler, and it front-loads the most important caveat about data availability. The 'SERP card' phrasing is slightly jargon-heavy, but the text is compact and each clause adds operational value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter search tool with no output schema and no annotations, the description covers pricing, caching, and data limitations but never states what the response contains beyond 'SERP card'. It also omits any pointer to when this should be used instead of linkedin_ad_library_ad_details, so an agent is left without the full decision context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and every parameter already has a substantive description including defaults, aliases, and constraints. The tool description adds no new parameter meaning beyond repeating cache=true; therefore a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does not explicitly say 'searches LinkedIn Ad Library ads'; it opens with a data caveat and defines 'Search is the SERP card'. The tool name and schema make the intent clear, but the description itself is vague about the verb+resource and does not distinguish itself from linkedin_ad_library_ad_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides operational guidance (cache behavior, credit cost, no charge for failures) but no when-to-use or when-not-to-use guidance relative to sibling ad-library tools. There is no mention of alternatives such as linkedin_ad_library_ad_details or the conditions that would select this search tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_companyAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | LinkedIn company URL, e.g. https://www.linkedin.com/company/shopify. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It usefully discloses that the operation costs 2 credits, that empty results and failures are never charged, and that cache=true returns a free 24h cache hit. However, 'Native 1 / enrich 2' is an unexplained, internal-sounding behavior that could confuse an agent, and it does not mention authentication, rate limits, or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the core purpose and key data fields before moving to compact operational notes. It earns most of its place, but the cryptic 'Native 1 / enrich 2' fragment is unexplained and slightly undermines the structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool with no output schema, the description covers the main purpose, listed return fields, credit cost, failure billing, and cache behavior. The remaining gaps are the unexplained 'Native/enrich' distinction and the absence of explicit sibling routing, but an agent can likely invoke it correctly using the provided URL and cache parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the input schema already contains strong descriptions for both url and cache. The description adds operational details about credits and caching, but it mostly restates or supplements the schema without adding new parameter-level meaning. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource (LinkedIn company page) and enumerates the data fields it exposes: specialties, similarPages, employeeCount, founded, slogan, cover. It is clear enough to distinguish from sibling tools like linkedin_company_posts or linkedin_profile, though it lacks an explicit verb like 'fetches' or 'returns'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Company page for B2B intel' implies when the tool should be used. However, the description never names alternatives or explicitly says when not to use it, such as 'for company posts use linkedin_company_posts' or 'for individual profiles use linkedin_profile'. This is implied guidance rather than explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_company_postsBInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | LinkedIn company URL, e.g. https://linkedin.com/company/slug. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 100). Flat 1 credit per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 20). A null nextCursor means the end of the list (max 100 posts). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It covers billing, cache behavior, pagination limits, and the no-charge policy for empty or failed results, which is useful. However, 'native path' is left undefined, and the description does not clarify read-only status, auth requirements, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the main purpose, which is good. But 'Flat 1 credit on the native path. Costs 1 credit.' is redundant, and 'native path' is an unexplained term that could confuse an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no annotations and no output schema, the description supplies useful operational context: cost, caching, pagination, and failure billing. Still, it omits a clear statement of the return structure beyond 'posts with engagement' and leaves the 'native path' term ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline of 3 applies and the description is not required to re-document parameters. The description's references to cache and cursor align with the schema but do not add substantive meaning beyond what the input schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource — LinkedIn company posts — and the key output feature (engagement likes/comments) plus pagination up to 100. It lacks an explicit verb like 'Fetch' or 'List,' but the noun phrase and tool name make the purpose distinguishable from siblings like linkedin_company and linkedin_search_posts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as linkedin_post_details or linkedin_search_posts. There are no when-to-use or when-not-to-use conditions, nor any pointer to a sibling for different LinkedIn post use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_post_detailsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | LinkedIn post or activity URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden and does well: it discloses the 1-credit cost, that empty results and failures are not charged, and the 24-hour cache behavior. It does not mention rate limits or auth, but the disclosed billing and caching behaviors are meaningful beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight, front-loaded sentences: the first states what the tool returns, and the next two cover cost and caching. No wasted words or repetition of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool with no output schema, the description provides enough: what fields are returned, what it costs, when failures are free, and how caching works. There is no missing information that would prevent an agent from calling it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains both the url and cache parameters. The description reinforces the cache behavior but does not add new semantic meaning beyond what the parameter descriptions already provide, matching the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get'), a precise resource ('a LinkedIn post'), and the exact returned fields ('text, author, reactions, and comments count as structured JSON'). This clearly differentiates it from siblings like linkedin_post_transcript or linkedin_search_posts without needing to open their schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context by requiring a specific post URL and explaining when to use cache=true versus the default fresh fetch. It does not explicitly name alternatives or exclusion conditions, but the context is clear enough for an agent to know this is the single-post details endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_post_transcriptBInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | LinkedIn post or activity URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does a good job: it discloses cost, the fact that empty results and failures are never charged, cache behavior, and the paragraph-segment/timingSource-none output trait. It does not mention rate limits or response failure shapes, which prevents a higher score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, but 'Flat 1 credit. Costs 1 credit.' is a redundant pair that wastes a sentence. Overall it is efficient, but not every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with full schema coverage and no annotations, the description covers the essential operational context: output characteristics, cost, failure charging policy, and cache behavior. It lacks tool-selection context and a fuller return-shape explanation, but these are minor given the schema richness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both url and cache are already well documented in the schema. The description adds no new parameter-level meaning beyond restating the cache default, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (LinkedIn post text) and the output form (transcript with paragraph segments and no timing source), which distinguishes it from generic post-details endpoints. However, it lacks an explicit verb like 'fetches' or 'returns', and it does not explicitly name sibling alternatives, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this tool over alternatives such as linkedin_post_details, linkedin_search_posts, or platform-specific transcript endpoints. The only usage-related guidance is operational (pass cache=true for a free cache hit), not about tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_profileAInspect
LinkedIn person profile with experience[], education[], skills[], 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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | LinkedIn profile URL, e.g. https://www.linkedin.com/in/paul-martin-a5aa98. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the credit cost (2), that empty results and failures are not charged, the caching behavior (24h free hit with cache=true, default always fresh), and the behavior of masked guest text becoming restricted:true. It does not mention authentication, rate limits, or error details, but the key operational traits are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact set of sentences that front-loads the core content (profile fields), then adds cost and caching details. There is zero filler; every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a profile tool with no output schema, the description covers the returned fields, cost, caching, and a specific behavioral quirk. It lacks some edge-case details (e.g., invalid URL handling, rate limits) but is sufficiently complete for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for both parameters, but the description adds meaning beyond the schema: it explains the cache parameter's cost implications and default behavior. The url parameter is already well described in the schema, so the description adds incremental value without redundancy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a LinkedIn person profile and enumerates the returned fields (experience, education, skills, similarProfiles). This distinguishes it from sibling tools like linkedin_company and linkedin_post_details by naming the resource type (person vs company/post).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage guidance is only implied through the phrase 'LinkedIn person profile' — an agent can infer this is for individual profiles rather than companies or posts, but the description never explicitly states when to choose this tool over alternatives or when not to use it. No exclusions or direct comparisons are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_search_postsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query or keywords (min 2 characters). | |
| sort | No | relevance (default, search-engine rank — dates can span years) or date (recency). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 50). Billed per result. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 20). A null nextCursor means the end of the list (max 50 posts). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and delivers: credit cost (~16 credits, 0.8/result), no charge on empty results/failures, cache behavior with a 24h hit, default fresh fetching, offset cursor, and a ceiling of 50. This goes well beyond the schema and gives an agent a realistic model of cost and side-effect behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with high information density. The main purpose is front-loaded, followed by cost, failure handling, and cache guidance. No wasted words or redundant restatement of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with no output schema and no annotations, the description covers the key operational details: scope, cost, pagination mechanism, result ceiling, cache behavior, and failure-charge policy. An agent has enough information to select the tool, set parameters sensibly, and interpret likely outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful semantics beyond the schema: per-result billing for limit, the cache-default behavior, and the credit cost. It also reinforces cursor pagination. It does not add much about q or sort, but those are already well-described in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Keyword search of public LinkedIn posts'. This clearly distinguishes the tool from sibling tools like linkedin_company_posts (company feed retrieval) and linkedin_post_details (single post). The scope ('public', 'keyword search') tells an agent exactly what this tool does and roughly when it applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use this for keyword-based searching of public LinkedIn posts. It does not explicitly name alternatives or exclusion criteria, but the phrase 'keyword search of public LinkedIn posts' strongly implies when this tool is relevant relative to siblings that fetch company posts or post details. The lack of explicit 'when not to use' guidance prevents a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkme_profileAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Linkme profile URL or username, e.g. https://link.me/danucd or danucd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses meaningful traits: flat credit cost, no charge for empty results/failures, and cache behavior with a default fresh fetch. It does not mention rate limits or side effects, but for a read-only profile fetch the charging and caching policies are the key behavioral facts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is mostly tight and front-loaded with output fields and credit policy. However, 'Flat 1 credit. Costs 1 credit.' repeats the same fact in two consecutive sentences, which prevents a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-resource profile fetch with no output schema, the description adequately lists returned fields and covers cost/caching behavior. It omits detailed response structure or error shape, but the field enumeration plus fully documented input schema make the definition reasonably complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already fully documents url, cache, and cacheMaxAge. The description does not add parameter-level meaning beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the resource (Linkme profile) and enumerates the returned fields (bio, profileVisitCount, featured links, webLinks, email/infoLinks, stripeStatus), which helps distinguish it from sibling profile/page tools. It lacks an explicit action verb like 'fetch' or 'get', so it falls just short of a fully explicit purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides cost and caching guidance ('Flat 1 credit', 'Pass cache=true for a free 24h cache hit'), which is useful operational context. However, it never explicitly says when to prefer this tool over alternatives or states exclusions; usage context is only implied by the Linkme platform and the schema's cross-platform warning.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linktree_pageAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Linktree profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It clearly states the flat 1-credit cost, the no-charge policy for empty results and failures, and the cachebehavior (cache=true → free 24h hit, default always fresh). This goes well beyond the structured schema and gives an agent actionable operational expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose, then pricing, then cache behavior. There is minor redundancy ('Flat 1 credit. Costs 1 credit.') that adds no information, but overall each remaining clause earns its place and the structure is scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description does a reasonable job of summarizing what the result contains: typed links, socialAccounts that feed specific platforms, email, and verticals. It also covers cost and caching, which are important contextual facts. Missing is any guidance on distinguishing Linktree from other link-in-bio providers, but the schema covers input constaints and the description covers the output shape enough for a 3-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds real value by clarifying the cache parameter's semantics: cache=true gives a free 24-hour cache hit, and the default is always fresh. It also reinforces the cost model, which aids the agent in estimating usage. The description does not need to repeat the URL or cacheMaxAge schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Link-in-bio → creator graph' plus the enumerated content (typed links, socialAccounts, email, verticals) makes clear this tool extracts a creator profile from a Linktree page. It is distinguishable from platform-specific tools, though it does not explicitly differentiate itself from sibling link-in-bio tools like linkbio_page, komi_page, or pillar_page.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for Linktree link-in-bio pages and creator graph extraction, but it gives no explicit when-to-use guidance or exclusions. It fails to mention alternatives like linkbio_page or linkme_profile, which appear to cover the same general link-in-bio purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pillar_pageAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Pillar page URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden and does so well: it explains credit cost, that empty results and failures are never charged, and the cache behavior including a free 24-hour cached hit. It omits explicit statements about being read-only, but the return-shape makes that reasonably inferable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the return shape, which is good. However, 'Flat 1 credit' and 'Costs 1 credit' are redundant statements that waste space. The arrow-heavy style is efficient but slightly cryptic.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description provides a useful return-shape summary. It also covers pricing, failure billing, and caching behavior. It does not explain what 'Pillar' is as a platform, but the URL schema and platform-matching warning compensate for that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by specifying that cache=true gives a free 24-hour cache hit and that the default is always fresh, going beyond the schema's generic 'response cache' wording. It does not discuss cacheMaxAge in the tool description, but the schema already describes it fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource, Pillar link-in-bio pages, and enumerates the returned content: identity, socials, links with per-link clicks, and products. This clearly distinguishes it from sibling link-in-bio tools like linktree_page and linkbio_page by platform.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by naming the Pillar platform, and the schema explicitly warns against passing cross-platform URLs. However, it does not directly state when to choose this tool over sibling link-in-bio tools, nor does it mention alternative tools by name. Cache usage guidance is present, but the when-to-use guidance is mostly implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pinterest_boardAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Pinterest board URL (.../username/board-name/), not a /pin/ URL. Example: https://www.pinterest.com/potterybarn/rustic-lodge-lookbook/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 200). Billed per result. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window (pidgets ~100). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden and does so well: it discloses per-result credit cost, approximate total cost, that empty results and failures are not charged, and that cache=true provides a free 24-hour hit while the default is a fresh fetch. This goes beyond a simple read-only statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the resource and output fields. The only minor issue is redundancy around credit cost: '~0.5 credits/pin' and '~13 credits (0.5/result)' restate the same per-result pricing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the detailed input schema and no output schema, the description is mostly complete: it names the core returned fields, explains costs and cache behavior, and the schema handles pagination, limits, and URL constraints. A small gap is the lack of explicit sibling-tool routing, but an agent can still invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents url, cache, limit, and cursor in detail. The description reinforces the cache behavior and per-result billing, but it does not add significant parameter-level meaning beyond what the schema provides. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as pins on a Pinterest board and names the key returned fields (saves, imageOriginal, destinationUrl, top-level author). It lacks an explicit verb like 'list' or 'fetch' and does not distinguish itself from sibling tools such as pinterest_user_pins, but the intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for Pinterest board scraping through its name and content, and the URL parameter schema reinforces what kind of URL is valid. However, it never explicitly states when to choose this tool over alternatives like pinterest_pin_details, pinterest_search, or pinterest_user_boards.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pinterest_pin_detailsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Pinterest pin URL, e.g. https://pinterest.com/pin/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It usefully discloses the 1-credit cost, no charge for empty results or failures, cache=true yielding a free 24h hit, and default always-fresh fetching. It does not cover rate limits or error response shape, but for a simple read tool these disclosures are meaningful and sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three tight, front-loaded sentences: outcome first, then cost, failure charging, and cache guidance. Every sentence earns its place with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description covers the purpose, response fields, credit cost, failure charging, and cache mode. It does not describe exact error/empty response shapes, but alongside a complete schema this is sufficient for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully describes both parameters (url and cache) with detailed commentary, so the baseline is 3 per the high schema coverage. The description's cache=true mention adds little beyond the schema, mostly restating the 24h cache and default-fresh behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and clearly identifies the resource (a Pinterest pin) and the fields returned (title, description, link, board, origin creator, engagement), making the tool's scope unambiguous. It does not explicitly distinguish itself from sibling Pinterest tools like pinterest_user_pins or pinterest_board, but the single-pin focus is clearly implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is inferable: fetch details for one Pinterest pin. However, the description does not name alternative tools or state when not to use it, such as when needing a user's pins or a board's pins, leaving tool-selection guidance mostly implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pinterest_searchAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Keywords or search query (min 2 characters). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 200). Billed per result. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the SERP window (max 40). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden and does well: it states credit cost (~13 credits), per-result billing, no charge for empty/failed results, the SERP window cap of 40, and cache=true 24h free-cache behavior with fresh-by-default. This is rich behavioral context beyond what the schema provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences front-load the core purpose and then pack pricing, caching, pagination, and failure behavior with no filler. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, pagination, limits, pricing, and caching, so an agent can invoke the tool correctly. It does not describe return result fields, and there is no output schema, but for a search endpoint this is a minor gap rather than a blocking omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all four parameters (100% coverage), so the baseline is 3. The description adds the SERP window cap of 40, which qualifies how limit and cursor interact, and clarifies cursor/offset and per-result billing, adding meaningful value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Keyword pin search', naming the specific operation (search) and resource (pins). This clearly differentiates it from sibling tools like pinterest_user_pins, pinterest_board, and pinterest_pin_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly frames the tool as keyword-driven pin search, so an agent can infer it is for discovery by query rather than for fetching a user's pins or board details. It does not explicitly name sibling alternatives or state when not to use it, but the context is unambiguous enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pinterest_user_boardsBInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Pinterest profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 200). Billed per result. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window (max 200). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden and does it well: it discloses approximate credit cost, per-result billing, no charge for empty or failed results, and the always-fresh default with an optional free cache hit. The phrase 'when scoped' is ambiguous about when board followers are included, preventing a perfect score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the resource and data fields, then cost and cache behavior. Each sentence earns its place, though the ambiguous 'when scoped' fragment and the dense credit-cost formulation keep it from being perfectly clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain return values more fully; it lists key fields but leaves out the response envelope and when exactly board followers appear. Pagination, cursor, and limits are covered by the schema, but the missing clarification around 'scoped' leaves moderate gaps for an unfamiliar agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds some value by tying the limit to per-result billing and emphasizing the cache cost, but it mostly restates cache behavior already documented in the schema. It contributes little beyond what an agent already gets from the parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as 'Boards on a Pinterest profile' and enumerates returned fields, making it clear this is a profile-scoped listing tool rather than a single-board or pin-fetching tool. It is clear enough to be distinguished from siblings like pinterest_user_pins, though it does not explicitly name the alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance about when to use this tool versus siblings such as pinterest_board, pinterest_search, or pinterest_user_pins. The intended use is only implied by the phrase 'Boards on a Pinterest profile', leaving the routing decision entirely to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pinterest_user_pinsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Pinterest profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 200). Billed per result. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window (pidgets ~100). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does well: it discloses credit cost, per-result billing, no charge on empty/failure, 24h cache semantics, and default fresh fetch. It does not detail rate limits or failure responses, but the key operational behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the core purpose; every sentence adds distinct operational info. Minor jargon ('pidgets' window) and the approximate credit figure keep it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema fully documents all four parameters, and the description covers costs, caching, pagination cursor, and the ~100-result window. Since there is no output schema, a one-line statement of the returned pin fields would strengthen it, but it is complete enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by tying limit to cost (0.5/result) and by explaining the effective retrieval window (~100) and cache behavior, which clarifies how to set cache and limit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening phrase 'Pins from a Pinterest profile' identifies the resource and collection type, distinguishing it from sibling tools like pinterest_user_boards and pinterest_pin_details. It lacks an explicit verb, but the tool name and phrase together make the retrieval action unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context—this is for a user's pins, with pagination and cache options—but never says when to prefer it over siblings such as pinterest_user_boards or pinterest_search. It implies usage but provides no explicit when/when-not guidance or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_post_commentsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Reddit post URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full behavioral burden and does so thoroughly: it discloses flat vs. threaded structure, parent linkage via depth/parentId, pagination, inclusion of the parent post, credit cost, free empty/failed calls, and cache behavior. This exceeds typical tool descriptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, each earning its place: the first defines output shape, the second states cost/failure policy, and the third explains cache behavior. There is no filler or duplication of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only listing endpoint with a fully documented input schema, the description covers the important non-obvious aspects: cost, caching, flat shape, and pagination. It stops slightly short of describing the full response envelope beyond depth/parentId and the parent post, though the schema already hints at cursor mechanics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters: url, cache, limit, and cursor. The description reinforces cache and cursor behavior but does not add meaning substantially beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource — Reddit comment threads — and the key shape of what is returned: flat structure, depth/parentId, cursor pagination, and the parent post. It is unambiguous and easily distinguishable from siblings like reddit_post_details or reddit_post_transcript, though it uses a noun phrase rather than an explicit imperative verb like 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It is implied that this tool is for retrieving comments for a Reddit post, but the description never states when to prefer it over related tools or what the alternatives are. There are no explicit when-to-use, when-not-to-use, or alternative-tool conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_post_detailsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Reddit post URL, e.g. https://reddit.com/r/sub/comments/ID/... The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it discloses meaningful behavior: cost of 1 credit, no charge on empty results/failures, and the cache=true behavior with 24h hits and default fresh fetching. It does not mention rate limits or auth, but for a simple read tool the key behavioral traits are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: first identifies the tool and its output, second states cost and failure policy, third explains the cache control. It is front-loaded with the most important information and contains no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema, the description is nearly complete: it lists the essential return fields, cost, failure policy, and caching. Missing explicit sibling routing is minor because the field list already clarifies scope. No output schema exists, but the described return fields give enough context for correct selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds cache semantics ('Pass cache=true for a free 24h cache hit') but this largely restates the schema's cache field description. It adds no extra meaning for the required 'url' parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get'), a distinct resource ('a Reddit post'), and enumerates the exact fields returned (title, body, score, comments count, subreddit, author). This clearly separates it from siblings like reddit_post_comments and reddit_post_transcript.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it: whenever you need basic Reddit post metadata as JSON. But it never explicitly says 'use reddit_post_comments for the actual comments' or 'use reddit_post_transcript for a transcript', so guidance vs alternatives is only inferred from the sibling names and field list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_post_transcriptAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Reddit post URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 200). Flat 2 credits per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It goes beyond the schema by stating 'Flat 2 credits', 'Empty results and failures are never charged', and the cache behavior 'cache=true for a free 24h cache hit (default always fresh)'. It does not cover auth, rate limits, or error details, but the disclosed pricing and cache semantics are substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core content definition and is mostly compact. However, 'Flat 2 credits' and 'Costs 2 credits' are redundant, wasting a sentence on the same fact. Overall it is efficient but not perfectly polished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with no output schema and no annotations, the description covers the key operational facts: content returned, cost, failure no-charge, and cache usage. It is missing explicit routing guidance versus reddit_post_details/reddit_post_comments and some return-format details, but it is sufficient for basic correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds operational meaning for the cache parameter ('free 24h cache hit') and reinforces flat pricing, but it does not clarify parameter-specific behavior such as how limit interacts with top comments. The schema already documents url, cache, and limit adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns 'Written post text — title, body and top comments', which is a specific resource and content type. It also explicitly says 'Not a speech transcript', helping distinguish it from the many *_transcript sibling tools. However, it does not explicitly differentiate from reddit_post_details or reddit_post_comments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: use when you want a Reddit post's written text, not when you need a speech transcript. The phrase 'Not a speech transcript' provides an exclusion but no explicit alternative tool names or conditions such as 'use reddit_post_details for metadata' are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_searchAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Keyword or phrase to search Reddit posts site-wide (min 2 characters). | |
| sort | No | relevance (default) | new | top | hot | comments (alias: comment_count). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 200). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. | |
| timeframe | No | For sort=top or comments: hour | day | week | month | year | all (default all). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It provides valuable operational details: flat 2 credits, free cache hits, no charge on empty results or failures, and default always-fresh behavior. This goes beyond a basic read-only statement, though it does omit rate-limit or auth context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and mostly concise, but it wastes a sentence with a direct redundancy: 'Flat 2 credits. Costs 2 credits.' The dash-separated feature list is also telegraphic and could be clearer.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description covers a lot: scope, pricing, cache behavior, failure charging policy, and even mentions result fields like score/upvoteRatio and authorFullname. It stops short of fully describing the response shape, but it is sufficient for an agent to invocate and interpret results at a basic level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful semantics beyond the schema, especially for the cache parameter ('free 24h cache hit') and the overall pricing model tied to limit/call. It also highlights sort, timeframe, and cursor as key parameters, adding clarity on how they work together.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific action and resource: 'Reddit site-wide post search.' The term 'site-wide' differentiates it from subreddit-scoped siblings like reddit_subreddit_search. However, the cryptic list 'score/upvoteRatio, authorFullname' is ambiguous about whether those are output fields or capabilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly establishes 'site-wide' scope, which tells an agent this is for searching across Reddit rather than within a specific subreddit. It does not name explicit alternatives or exclusions, but the scope is clear enough to route correctly against sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_subreddit_detailsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Subreddit URL, r/name, or bare name (case-insensitive), e.g. r/technology or AskReddit. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and discloses meaningful behavior: flat 1-credit pricing, no charge for empty results or failures, and a cache=true option that produces free 24h-cache hits with an always-fresh default. This goes well beyond a typical one-liner by explaining the cost model and failure-charging policy. It omits auth and rate limits, but those are minor for a read-style card endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The payload list is front-loaded and each clause is short, but 'Flat 1 credit. Costs 1 credit.' is a redundant pair that wastes an entire sentence. Beyond that duplication, every other part earns its place and the structure is scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter tool with no output schema and no annotations, the description covers the returned fields, the pricing and no-charge-on-failure policy, and the caching escape hatch — leaving little an agent must guess. The schema fills in all parameter semantics, and missing items like auth or rate limits are secondary for a low-complexity read endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents accepted url formats and the cache boolean with solid examples. The description adds value beyond the schema by linking cache=true to a 0-credit outcome and stating the default always-fresh behavior, which directly affects how an agent should set the parameter. This complements rather than repeats the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (subreddit) and the exact payload (id t5_…, members, activeUsers, rules[], ISO createdAt, nsfw/type), framing the operation as a 'card' retrieval. This clearly differentiates it from siblings like reddit_subreddit_posts and reddit_subreddit_search, which fetch posts or search results rather than profile metadata. The lack of an explicit verb is mitigated by 'card' plus the concrete field list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The field list implies this tool is for subreddit metadata rather than posts or transcripts, but no sibling is named and no explicit when-to-use or when-not-to-use condition is stated. The schema's url parameter adds a cross-platform exclusion, yet the description itself offers no routing guidance among the several reddit_* siblings. Usage context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_subreddit_postsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Subreddit URL, r/name, or bare name, e.g. r/technology. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| sort | No | Feed sort: best, hot, new (default), top, or rising. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 200). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. | |
| timeframe | No | For sort=top: hour, day (default), week, month, year, or all. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden, and it does disclose meaningful traits: the 2-credit cost, the no-charge policy for empty results/failures, and the cache semantics. However, most of the cost and cache behavior is already present in the schema's parameter descriptions (limit says 'Flat 2 credits per call'; cache says '0 credits on hit'), so the only genuinely novel disclosure is 'Empty results and failures are never charged.' No rate-limit, auth, or data-freshness caveats are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: the core capability is front-loaded, followed by cost and cache policy. Every sentence earns its place; there is no filler, repetition of the tool name, or abstract marketing language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter tool with 100% schema coverage and no output schema, the combination of description and schema is fairly complete: the description covers cost, failure-charge policy, cache behavior, and a sample of the return fields, while the schema covers all parameter semantics and the cross-platform URL constraint. Gaps are minor — no rate-limit or auth disclosure and no explicit differentiation from reddit_search — but nothing essential for correctly invoking the tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 — every parameter (url, sort, cache, limit, cursor, timeframe) already has a rich schema description including defaults and constraints. The description only echoes 'sort, timeframe, and cursor pagination' and hints at return fields, adding minimal parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb+resource ('List posts from a subreddit') and adds specific scope details: sort, timeframe, cursor pagination, and the returned fields (title, score, upvote ratio, flair). It is readily distinguishable from siblings like reddit_subreddit_details or reddit_post_comments, though it does not explicitly name any sibling to disambiguate against (e.g., reddit_search), so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the purpose statement — if you want a subreddit's post feed with sorting/pagination, this is the tool — but there is no explicit when-to-use guidance or naming of alternatives such as reddit_search (for finding posts by query) or reddit_post_details (for a single post). The operational notes (credits, cache) are useful, but they don't route the agent among the many reddit siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_subreddit_searchAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Keywords or search query (min 2 characters). | |
| url | Yes | Subreddit URL, r/name, or bare name, e.g. r/technology. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| sort | No | relevance (default) | new | top | hot | comments (alias: comment_count). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 200). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. | |
| timeframe | No | For sort=top or comments: hour | day | week | month | year | all (default all). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does disclose meaningful behavior: flat 2 credits, failures/empty results never charged, and the cache=true free 24h hit versus default fresh fetch. It does not cover rate limits or auth, but for a read-oriented search tool the billing and caching traits are the most decision-relevant behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core scope and mostly compact, but 'Flat 2 credits. Costs 2 credits.' is a redundant duplicate that wastes a sentence. The cache and charging details are valuable, but the repetition keeps this from being tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with no output schema or annotations, the description covers the key operational context: scope, cost, failure charging, and cache behavior. Pagination is handled by the cursor parameter schema mentioning nextCursor, and the sibling boundary is addressed. A returned-response shape would be nice, but the definition is sufficiently complete for invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all seven parameters. The description adds little beyond what the schema provides, except a cross-reference that sort/timeframe behavior matches site-wide Search. That is useful but minor, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific verb and resource: 'Search posts inside one subreddit.' It immediately distinguishes itself from subreddit discovery, which differentiates it from siblings like reddit_search and reddit_subreddit_details. The scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly frames this tool as subreddit-scoped search, not discovery, and notes it shares sort/timeframe behavior with site-wide Search. It does not explicitly name sibling alternatives like reddit_subreddit_posts or reddit_search, but the boundary is clear enough for an agent to choose correctly in most cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rumble_channel_videosAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Rumble channel URL, e.g. https://rumble.com/c/name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Billed per result. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden and meets it thoroughly: it reveals cost (~12 credits, 0.6/result), that empty results and failures are never charged, and the caching behavior (free 24h hit, default always fresh). This is precisely the behavioral context beyond the schema that an agent needs for billing-aware invocation and retry decisions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: purpose plus alternative routing, cost model, and cache/failure policy. The 'lean streams[{url,type}]' shorthand is efficient but mildly cryptic for an agent, which keeps this from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with no output schema and no annotations, the description compensates strongly by stating the return shape (url, type), cost, failure billing policy, and cache behavior — everything needed to call it correctly. Minor unspecified details such as pagination, sort order, and the explicit response array wrapper prevent a higher score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, and the description adds value on top: it ties the limit parameter to per-result billing (0.6/result) and the cache parameter to a free hit, which directly informs how an agent selects values. It correctly leaves URL-format and default semantics to the schema rather than repeating them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource ('Rumble channel uploads') and the lean output shape ('streams[{url,type}]'), which conveys that this tool lists a channel's uploads in minimal form. It distinguishes itself from the sibling rumble_video_details by explicitly directing rendition-metadata needs elsewhere. It stops short of a 5 because the verb is only implicit and the 'lean streams[{url,type}]' notation is terse.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly names the alternative ('call video-details') and the condition for choosing it ('for rendition meta'), establishing a clear lean-vs-detailed split. It doesn't state comprehensive when-to-use/when-not-to-use criteria, but the context and cost contrast give an agent enough to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rumble_commentsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 2 credits per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does disclose important behavioral details: 2-credit cost, no charge on empty results/failures, 24h cache semantics, and the ISO-8601 publishedAt source. It does not cover rate limits or auth, but those are minor for this read-only comments fetch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is two sentences with no filler. Core scope is front-loaded, followed by compact billing and caching guidance — every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter read tool with no output schema and no annotations, it covers platform, comment scope, pricing, failure policy, and cache behavior. Response shape and pagination are not described, but the expected output is reasonably inferable from 'comments'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% parameter descriptions, including cache expiration, default freshness, and flat credit cost. The description repeats this information without adding new parameter-level meaning, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('Rumble top-level comments') and distinguishes itself from reply/transcript/details tools through the 'top-level' qualifier. It lacks an explicit verb like 'retrieves' but the intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The platform and comment scope are clear, and cache/credit usage is explained. However, it does not explicitly say when to choose this over related Rumble tools such as rumble_video_details or rumble_video_transcript, and no alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rumble_searchAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Keywords or search query (min 2 characters). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Billed per result. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and does so well: it discloses cost (~12 credits, 0.6/result), billing behavior (empty results/failures never charged), cache semantics (free 24h hit with cache=true, default fresh), and output field shape (type, durationSeconds/durationText, UTC publishedAt).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, all information-dense and non-redundant. The most important facts — what the tool does and what the output looks like — are front-loaded, followed by cost and cache behavior. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and no annotations, the description covers the essential decision factors: purpose, return shape, cost, cache behavior, and failure billing. The parameter semantics are already fully documented in the schema, so nothing critical is missing for an agent to invoke this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds meaningful nuance beyond the schema by linking limit to per-result billing, clarifying that cache=true produces a free hit on a 24h cache, and noting that empty/failed results are not charged — all directly relevant to how q and limit behave.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'Rumble keyword search' for video results. It distinguishes itself by noting the output shape is 'same video card shape as channel-videos', which orients the agent toward a list-style search result rather than a single-video detail endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through 'keyword search' and gives useful cache guidance, but it never explicitly says when to choose this over siblings like rumble_channel_videos or rumble_video_details. No when-not-to-use or alternative routing is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rumble_video_detailsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure and does so well: it states the 1-credit cost, that empty results and failures are not charged, and that cache=true provides a free 24h hit while default is always fresh. This goes beyond the schema and gives the agent actionable operational knowledge, though it does not cover rate limits or error formats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three tight sentences with no filler. Each sentence contributes distinct value: output shape, pricing/charge policy, and cache behavior. The core purpose is front-loaded, and all content is relevant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (2 params, no output schema, no annotations), the description covers the essentials: what it returns, cost, failure behavior, and cache semantics. It could be more complete by explicitly pointing to rumble_video_transcript as the alternative for transcript text, but it is sufficient for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value by clarifying the cache parameter's behavior — free 24h hit and default freshness — which augments the schema's more generic boolean description. The URL parameter is already thoroughly documented in the schema, including platform-matching constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as 'Rumble video metadata' and specifies the key output components (streams[], captions[], audioStreams), making the tool's function unmistakable. It also distinguishes itself from sibling tools like rumble_video_transcript and rumble_search by focusing on metadata rather than transcripts or search results.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when metadata is needed rather than transcripts or search, and it gives explicit usage guidance for the cache parameter ('Pass cache=true for a free 24h cache hit'). However, it never names alternative tools or states when not to use this tool, leaving the decision to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rumble_video_transcriptAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| language | No | Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosure. It meaningfully reveals credit costs, that empty results and failures are not charged, and the cache behavior — none of which appears in structured metadata. It does not describe auth prerequisites or rate limits, but the cost and cache details are valuable behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: it states the core function first, then cost, failure charging, and cache behavior. Every sentence contributes useful information and there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no annotations and no output schema, the description provides the essential usage constraints: source of captions, non-speech-to-text nature, credit cost, failure/empty handling, and cache semantics. It could include a bit more about the returned data shape, but 'timed segments' and the schema's URL guidance make the tool callable without major gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes all three parameters with 100% coverage, so the baseline is 3. The description adds value by clarifying the cache parameter's credit implications and default freshness, but does not add much beyond the schema's own description of language or URL behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it parses Rumble published captions as timed segments from the .vtt file in video-details. It also distinguishes itself from speech-to-text approaches, making the tool's scope clear among many transcript-related siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context that this tool handles Rumble's published caption files, not speech-to-text, which tells an agent when it is appropriate. It does not name a sibling alternative explicitly, but the platform-specific and source-specific context is strong enough to select it correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
snapchat_user_profileAInspect
Snapchat profile — stable identity card, millisecond timestamps, mediaType image/video (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Snapchat username or profile URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the burden, and it delivers meaningful details: cost of 1 credit, no charges on empty results/failures, and cache behavior. It discloses failure cost, freshness behavior, and output nature, though it does not address auth or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with output characteristics, then cost, then caching. The only minor issue is slight redundancy: '(1 credit)' and 'Costs 1 credit' state the same information twice.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given only two parameters, one required, and no output schema, the description covers the essential invocation context: what kind of data is returned, cost implications, and cache behavior. It is sufficiently complete for an agent to select and call the tool correctly, though a bit more detail on the response shape would help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add material semantics beyond the schema: cache=true and default fresh behavior are already documented in the schema, and the URL parameter is fully explained there. It does not clarify parameter semantics further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as a Snapchat profile and specifies what it returns: a stable identity card, millisecond timestamps, and media type image/video. While it lacks an explicit verb like 'fetch' or 'get', the meaning is unambiguous and the platform distinction separates it from sibling profile tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for Snapchat profiles through the tool name and first phrase, but it does not explicitly state when to use this tool versus alternatives or mention exclusions. It offers practical advice about cache=true and cost, but no direct comparison to other profile tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
soundcloud_artistBInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | SoundCloud artist profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It clearly states the 1-credit cost, that empty results and failures are never charged, and the cache behavior. This is useful non-obvious information, though it omits any mention of rate limits or response pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the resource and returned fields. However, it is redundant: '(1 credit)' appears twice, once parenthetically and again in 'Costs 1 credit', and 'SoundCloud artist' repeats the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity read tool with no output schema, the description covers the returned fields, credit cost, failure-charging behavior, and cache option. It does not specify the exact response envelope, but the field list plus the thorough input schema give an agent enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for all three parameters, so the schema already documents url, cache, and cacheMaxAge. The description adds a small semantic hint with 'free 24h cache hit', but it does not meaningfully enrich the parameters beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as 'SoundCloud artist' and enumerates the returned fields ('handle + name, subscriptionTier, externalLinks, verified'), making the tool's purpose inferable. It does not use an explicit verb like 'get' or 'fetch', and the opening phrase overlaps with the tool name, so it is not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose soundcloud_artist versus the closely related siblings soundcloud_artist_tracks or soundcloud_track. The only conditional advice is about cache=true yielding a free 24h cache hit, which is operational guidance rather than tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
soundcloud_artist_tracksAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | SoundCloud artist profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 100). Flat 2 credits per call. | |
| cursor | No | Opaque pagination cursor from the previous nextCursor. Leave empty for the first page. Do not edit or invent values. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden, and it does disclose useful behavior: the 2-credit cost, free on empty results/failures, cache behavior with cache=true, and the opaque-cursor/native-window pagination note. It does not cover output shape or error details, but for a read/list tool this is a solid level of disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, but it is somewhat cryptic and redundant. Phrases like 'native-window when the api-v2 page ends' are unexplained jargon, and 'Costs 2 credits' repeats the earlier credit information without adding much value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with well-documented parameters and no output schema, the description covers the essential operational concerns: cost, caching, pagination, and failure charging. It lacks a plain statement of what fields the returned tracks will contain, but the tool name and 'track list' phrase make the primary purpose unambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters (url, cache, limit, cursor). The description adds a bit of context around caching and cursor opacity, but it largely repeats or restates what the parameter descriptions already provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource ('artist track list') and the action (retrieve/list), and the name 'soundcloud_artist_tracks' reinforces this. It does not explicitly differentiate from siblings like soundcloud_artist or soundcloud_track, but the phrase makes the tool's scope reasonably clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied rather than explicit: the name and 'Artist track list' suggest this is for getting a SoundCloud artist's tracks, as opposed to artist profile details or a single track. There is no explicit when-to-use guidance or mention of alternatives such as soundcloud_artist or soundcloud_track.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
soundcloud_trackAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | SoundCloud track URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it delivers: it discloses the 1-credit cost, that empty results and failures are never charged, and the cache semantics (default fresh, cache=true gives a free 24h hit). The conditional 'streamUrl when streamable' also tells the agent the output is shape-dependent. It stops short of covering rate limits or auth, but billing and caching are the most decision-relevant traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences that front-load the data fields, then cover billing and caching. The payload shorthand (plays/likes/license, tags[], nested artist{}) is efficient. Minor redundancy: '(1 credit)' is immediately restated as 'Costs 1 credit'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-resource fetch tool with three fully documented parameters and no output schema, the description covers the essentials: what data comes back, cost, failure charging, and cache control. It is complete enough for an agent to call it correctly. The absence of error-format or rate-limit detail is a minor gap given the billing and cache coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The schema already thoroughly documents url (including the cross-platform prohibition), cache, and cacheMaxAge TTL values. The description adds only the 24h specificity for cache=true and the fact that the hit is free, which is marginal value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource (SoundCloud track) and enumerates the returned payload: plays/likes/license, tags[], nested artist{}, and conditional streamUrl. This makes the tool's scope clear and distinguishes it from siblings like soundcloud_artist and soundcloud_artist_tracks, though it never explicitly names those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to choose this tool over alternatives. It does not say 'use this for track-level data, use soundcloud_artist for artist profiles' or contrast with spotify_track. The cache and billing notes describe how to invoke, but the description provides no tool-selection context in a large sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spotify_albumAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| raw | No | Include the upstream GraphQL payload as data.raw. Default false — omit unless you need fields not in the normalized shape. | |
| url | Yes | Spotify URL, URI, or ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Because no annotations are provided, the description carries the burden of behavioral disclosure. It reveals the 1-credit cost, the fact that empty results and failures are never charged, and the default fresh fetch versus free cache-hit behavior — all beyond the schema. It does not mention auth, rate limits, or detailed error semantics, but the most operationally relevant behavior is covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, starting with the resource and return fields, then cost and cache policy in a compact second sentence. The parenthetical "(1 credit)" right before "Costs 1 credit." is slightly redundant or ambiguous, so it is not perfectly clean, but there is almost no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description provides essential calling context: the main return fields, the credit cost, and the free-cache and no-charge-on-failure behaviors. It could add a sibling comparison or a fuller return-shape description, but for a straightforward fetch tool with a complete input schema, the core context is covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters — url, raw, and cache — are already described in the schema, which has 100% coverage. The description mostly restates the well-documented cache behavior and adds no new meaning for url or raw. The schema does the heavy lifting, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a Spotify album lookup and lists the normalized fields it returns, including tracks[], playCount, joinable artists[], releaseDate, and explicit. It distinguishes itself from sibling Spotify tools by naming the album resource, though it lacks an explicit verb such as "fetch" or "get" and does not name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational guidance for caching — pass cache=true for a free 24h hit — but no guidance on when to use this tool versus spotify_track, spotify_artist, or spotify_search. An agent must infer usage from the tool name alone; there are no exclusions, alternatives, or conditions for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spotify_artistAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| raw | No | 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). | |
| url | Yes | Spotify URL, URI, or ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does real work: it discloses the 1-credit cost, guarantees that empty results and failures are never charged, and explains the cache-strue free 24h hit with a default of always fresh. These are exactly the operational behaviors an agent needs to decide whether to call the tool, though it does not cover error-shape or upstream-unavailable behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the field list and stays compact at roughly 60 words, with the cache guidance earning its place. The main flaw is redundancy: the 1-credit cost is stated twice, once parenthetically '(1 credit)' and once as its own sentence 'Costs 1 credit.'
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although no output schema exists, the description enumerates the expected return fields, giving the agent a concrete picture of the result shape. Given the low complexity (3 params, 1 required) and complete 100% schema coverage plus the disclosed cost/cache/failure policies, little is missing — only field types and error-response structure go unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema itself is detailed: raw explains its purpose and when to omit it, url explains accepted formats plus the cross-platform warning, and cache covers defaults and costing. The description only restates the cache behavior ('free 24h cache hit'), adding no new parameter meaning, so the baseline 3 for full-coverage schemas applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact resource ('Spotify artist') and enumerates the concrete fields returned: followers, monthlyListeners, worldRank, topCities, topTracks with playCount, concerts, and related artists. This differentiates it from the Spotify siblings (spotify_track, spotify_album, spotify_podcast) at a glance, but the verb is implicit — it never states 'get' or 'fetch' — so it stops just short of a fully explicit purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the resource type and field list: an agent needing monthlyListeners or worldRank for a Spotify artist would naturally route here. However, no explicit 'use when' condition, exclusion, or alternative is named, so the agent gets no help deciding between this and spotify_track, spotify_album, or the platform-mislatched URL cases beyond what the schema's url parameter warns about.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spotify_podcastAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Spotify show/podcast URL, URI, or ID (e.g. https://open.spotify.com/show/…). Not an artist URL. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does meaningful work: it discloses the 1-credit cost, states that empty results and failures are never charged, and explains the cache=true behavior (free 24h hit) versus the default always-fresh fetch. This is genuinely useful operational context beyond what the schema states. It does not mention rate limits or failure conditions, but for a simple read-only fetch tool the disclosed cost/caching behavior is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three compact sentences with zero waste: purpose, cost/charging policy, and cache behavior. The core purpose is front-loaded in the first sentence, and each subsequent sentence carries distinct operational information. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter tool with no output schema, the description compensates well by enumerating the returned fields, substituting for the missing output schema, and by covering cost and caching semantics. The main gap is the absence of any differentiation from the sibling spotify_podcast_episodes tool, which an agent could easily confuse with this one.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both `url` (with format, example, and a negative constraint) and `cache` (with credit semantics and default). The description's cache=true note largely restates what the schema already says, adding marginal value. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (Spotify podcast show) and enumerates the specific output fields (publisher, rating, topics, explicit flag, totalEpisodes) delivered as clean JSON, which makes the tool's function unambiguous. It lacks an explicit verb like 'get' or 'fetch', though 'as clean JSON' strongly implies retrieval. Differentiation from siblings is implicit via the show-level field list rather than explicit naming.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The field list implies the tool is for retrieving podcast show metadata, but the description gives no explicit when-to-use guidance or exclusions relative to closely related siblings like spotify_podcast_episodes or spotify_search. The 'Not an artist URL' constraint exists in the schema but not in the description, so the usage context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spotify_podcast_episodesAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| raw | No | Include slimmed per-episode upstream payload as episodes[].raw. Default false. visualIdentity / playedState / podcastV2 are never included. | |
| url | Yes | Spotify show/podcast URL, URI, or ID (e.g. https://open.spotify.com/show/…). Not an artist URL. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 50). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states the flat 2-credit cost, that empty results and failures are never charged, that cache=true gives a free 24h cache hit while the default is always fresh, and that cursor pagination is used. These are non-obvious, decision-relevant behaviors an agent would not otherwise know.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the purpose and key fields, followed by cost, caching, and failure behavior. There is minor redundancy in saying 'flat 2 credits' and then 'Costs 2 credits' within consecutive clauses, but overall every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description usefully names the returned episode fields and indicates cursor pagination, while the schema covers URL formats and parameter defaults. It could have described response envelopedetails or episode ordering, but an agent has enough to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already well documented. The description reinforces cursor pagination, flat pricing, and cache behavior, but it does not add substantial meaning beyond what the schema already provides for each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a podcast episode archive and lists key returned fields (previewUrl, releaseDate, explicit), which makes its purpose clear and distinguishes it from sibling tools like spotify_podcast. It lacks an explicit imperative verb like 'fetch' or 'list,' but the resource and field list leave little ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides useful operational context such as cost, caching, and pagination, but it never explicitly states when to use this tool versus alternatives like spotify_podcast, spotify_album, or spotify_search. Usage is implied by the name and 'episode archive' phrasing rather than prescribed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spotify_searchBInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search term (min 2 chars). | |
| raw | No | Include per-result upstream payload as results[].raw. Default false. Pathfinder GraphQL vs Apify scraper shapes differ — see FAQ. | |
| type | No | Result kind: tracks (default), albums, artists, podcasts, or episodes. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 50). Flat 2 credits per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does disclose meaningful behavior: flat 2-credit cost, no charge for empty results or failures, and 24h cache semantics for cache=true. This goes well beyond the schema, though it leaves out any rate-limit/error details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose, but it repeats the cost information ('flat 2 credits' and 'Costs 2 credits') and includes the ambiguous 'explicit' fragment, so not every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
In the absence of an output schema, the description names some return traits (canonical URIs, explicit, fetchedAt) and the unusual credit/cache rules, but it does not fully describe the result structure or failure/error behavior. Adequate for a simple search tool, with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds only cache behavior beyond the schema (cache=true = free 24h cache hit) and does not otherwise enrich the parameter definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a clear verb and resource ('Search Spotify') and adds the output traits: canonical spotify: URIs, explicit, fetchedAt. It is distinguishable from the spotify_track/spotify_artist siblings by the search verb, though it does not explicitly contrast itself with those detail-by-ID tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given for when to choose this search tool over the sibling Spotify tools, nor any exclusions. The only usage advice is cache=true for a cached hit, which addresses a parameter rather than tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spotify_trackAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| raw | No | Include the upstream GraphQL payload as data.raw. Default false — getTrack embeds bulky artist discography. | |
| url | Yes | Spotify URL, URI, or ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure and does meaningfully disclose the 1-credit cost, the no-charge policy for empty results and failures, and the cache behavior with default always-fresh versus a free 24h cache hit. It does not cover auth, rate limits, or error response shapes, but for a simple single-resource fetch this is solid context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the primary output fields and cost. It loses a point for redundancy: the credit cost is stated twice ('(1 credit)' and 'Costs 1 credit'), and the cache behavior repeats the schema description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only three params, a fully self-documenting schema, and no output schema, the description covers the key return fields, credit cost, failure billing, and cache semantics. A fuller statement of the return shape would improve completeness, but the existing text plus schema is adequate for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter already has a clear explanation. The main description adds some cost and caching context, but largely restates what the schema already documents for cache and url, so it does not materially extend parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (Spotify track) and the key fields returned (playCount, joinable artists, album, explicit, releaseDate), which distinguishes it from sibling tools like spotify_album, spotify_artist, and spotify_search. However, it is a noun phrase rather than an explicit verb+resource statement like 'Retrieve...' and relies partly on the tool name for the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use spotify_track versus alternatives such as spotify_album, spotify_artist, or spotify_search. The only nearby usage constraint is the schema-level warning about not passing cross-platform URLs, which is a validity check rather than tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
threads_post_detailsBInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Threads post URL, e.g. https://threads.net/@user/post/CODE. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does well by disclosing cost behavior (flat 1 credit, failures/empty results not charged), caching semantics (cache=true for free 24h hit, default fresh), and a nuance about engagement ('views when exposed'). It does not mention rate limits or auth, but for a read-only post details tool these are less critical.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the most important payload information. However, 'Flat 1 credit. Costs 1 credit.' is redundant—both clauses convey the same pricing fact—so not every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter, no-output-schema endpoint, the description covers the key return fields, pricing, caching, and failure-cost policy. The main gap is that 'views when exposed' is slightly ambiguous and the field list is not exhaustive, but the agent has enough to call the tool and interpret typical results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'url' and 'cache' already documented. The description mostly restates the cache behavior already in the schema, adding no new parameter-level meaning, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as a Threads post and lists the exact data returned (engagement, comments[], relatedPosts[], threadId/isReply), making it clear this is the post-details endpoint. It lacks an explicit action verb like 'retrieve' or 'get', and does not explicitly contrast with sibling tools like threads_user_posts or threads_search, but the payload list is specific enough to distinguish it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as threads_user_posts or threads_profile, nor any exclusions. It only explains caching and pricing behavior, which is operational guidance, not tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
threads_profileAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Threads profile URL or @handle, e.g. https://threads.net/@username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the behavioral disclosure burden, and it does so well. It discloses the cost of 1 credit, that empty results and failures are never charged, and that cache=true provides a free 24-hour hit while the default is always fresh. This gives the agent a clear picture of side effects and resource usage beyond the schema. It does not mention rate limits or authentication, but the most relevant behavioral traits are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the tool's purpose and key returned fields. It packs cost, failure policy, and cache behavior into a short text. Minor redundancy exists between "HD avatars (1 credit)" and "Costs 1 credit," but overall every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description compensates by listing the main response fields, which helps the agent know what to expect. It also covers cost, cache, and failure handling. It does not fully describe response shape or error cases, but for a simple profile-lookup tool with only two well-documented parameters, the description is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 because the schema already documents both parameters thoroughly. The description does not add semantic value for the url parameter beyond what the schema says, and the cache explanation in the description largely duplicates the schema's cache description. No credit is lost, but no additional parameter insight is provided either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a Threads profile fetch and enumerates the specific fields returned (displayName, privacy, bioLinks, avatars). It does not use an explicit verb like "fetch" or "get," but the resource and output are unmistakable. It differentiates from sibling tools like threads_user_posts or threads_search because it targets a single profile rather than posts or search results.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides practical usage details such as credit cost, no charge on empty/failed results, and cache behavior. It also implicitly tells users when to use this tool: when they need a single Threads profile's metadata. However, it does not explicitly contrast it with alternatives like threads_search_users or threads_user_posts, nor does it state exclusions or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
threads_searchAInspect
Threads keyword search — posts with engagement + media. orderBy relevant | post_dated | engagement. 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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Keyword or phrase to search public Threads posts (min 2 characters). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 200). Flat 2 credits per call. | |
| orderBy | No | Sort the fetched page: relevant (default, Meta Top / similar to query), post_dated (newest publishedAt first), or engagement (likes+replies+reposts+quotes+views). Unknown values are 400. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses cost behavior ('Flat 2 credits', 'Empty results and failures are never charged'), caching behavior (free 24h cache hit, default fresh), and error handling for unknown orderBy values (400). These details go beyond the schema and provide useful behavioral context, though it omits rate limits and authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (2-3 sentences) and front-loads the core purpose. It packs cost, caching, and ordering information without unnecessary verbosity. Every sentence contributes value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description should clarify response structure, but it only says 'posts with engagement + media' without detailing fields or pagination. It covers cost and caching well but leaves the return format ambiguous, which is a notable gap for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description repeats some parameter details (orderBy values, cache semantics) but does not add new per-parameter meaning. It introduces overall cost and failure charging, but that is tool-level, not parameter-specific. Thus it meets but does not exceed the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Threads keyword search' with 'posts with engagement + media.' It clearly distinguishes from sibling tools like threads_search_users by focusing on post search. The purpose is unambiguous and action-oriented.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for keyword searching Threads posts but does not explicitly mention alternatives or when not to use it. It lacks exclusions like 'use threads_search_users for user search,' so an agent must infer the appropriate context from the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
threads_search_usersAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Keyword to find Threads users / creators (min 2 characters). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 100). Flat 1 credit per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does a solid job: it discloses the flat credit cost, that empty results and failures are never charged, and the cache=true behavior with a 24h window and default fresh fetch. This goes beyond simple operation descriptions and gives the agent useful cost/retry expectations, though it does not cover rate limits or error formats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose before behavior details. However, 'Flat 1 credit. Costs 1 credit.' is redundant, which prevents a perfect score for zero-waste structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple three-parameter tool with no output schema, the description gives enough context: purpose, output fields, pricing, failure charging, and cache semantics. It does not explain the limit parameter's default/max, but the schema covers that, so the omission is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does not add meaning beyond what the schema already documents for q, cache, or limit; it references cache behavior but repeats the schema's own description. No additional parameter guidance is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb and resource: 'Threads user discovery from keyword search'. It also enumerates the returned fields (id, handle, avatar, verified), which makes the tool's purpose unmistakable and distinguishes it from sibling tools like threads_search or threads_profile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly frames the tool as the one for discovering Threads users via keyword search, giving an agent clear context for when to pick it. It does not explicitly name alternatives or exclusions, but the purpose phrasing alone is enough to route correctly among many search siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
threads_user_postsAInspect
Recent Threads posts — engagement{views,likes,replies,reposts,quotes}, threadId/isReply. Flat 2 credits. source + stages/ms. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Threads profile URL or @handle. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 100). Threads exposes only a short window of recent public posts on this surface. limit caps what you receive; it cannot increase what Threads returns. Flat 2 credits on every successful path (native and extended). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well by disclosing the credit cost, the free cache-hit path, the no-charge behavior for empty results and failures, and the always-fresh default. It also reveals result contents and the platform-matching constraint. It does not explicitly state that the operation is read-only or discuss rate limits, but the nature of the tool and the disclosed cost/cache behavior provide substantial transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the core resource and fields, but it contains redundancy: 'Flat 2 credits' appears twice, and 'Costs 2 credits' repeats the same information. The fragment 'source + stages/ms' is cryptic and could be clearer. Worthy information is present, but the duplicate pricing statement is unnecessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must communicate enough about the return value, and it does by listing engagement fields and thread metadata. It also covers pricing, cache behavior, failure charging, and platform restrictions. The main gap is that 'source + stages/ms' is undefined, and there is no mention of pagination beyond the limit parameter, but overall the description is adequate for invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% parameter coverage, so the baseline is 3. The description adds no significant parameter meaning beyond the schema: the cache behavior and limit caveat are already fully documented in the schema property descriptions. The description's credit and result-field notes are valuable but not parameter-specific.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as 'Recent Threads posts' and lists the key returned fields (engagement metrics, threadId/isReply), which makes the tool's purpose clear. It lacks an explicit verb like 'list' or 'fetch' and does not directly say 'for a profile,' though the required url parameter clarifies that the target is a Threads profile or @handle. It is sufficiently distinct from siblings like threads_post_details, which targets a single post.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful operational guidance, such as passing cache=true for a free cache hit, the flat credit cost, and the fact that limit cannot increase what Threads returns. However, it does not explicitly state when to choose this tool over alternatives like threads_post_details, threads_profile, or threads_search. Usage context is implied rather than stated with clear when-to-use or when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_ad_library_ad_detailsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok Ad Library URL or ad ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| country | No | Two-letter ISO country code. Default GB. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral disclosure responsibility. It clearly states credit costs, free empty/failure results, and cache behavior, giving the agent accurate expectations about side effects and resource usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with purpose, but it redundantly states the 2-credit cost twice ('always 2 credits' and 'Costs 2 credits'). The extra sentence could be merged without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-record fetch with three well-documented parameters, the description plus schema provides enough context to call the tool correctly. The main gap is the lack of detail about what fields the returned ad details contain, but the tool name and 'details' framing partially cover this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all three parameters with 100% coverage, including URL platform constraints, cache behavior, and country default. The description adds little beyond what the schema already states, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a single TikTok Commercial Content Library ad by ID, which is a specific verb-plus-resource statement. It distinguishes itself from tiktok_ad_library_search and top_ads by emphasizing 'One ... ad by ID'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when the user has a specific ad ID or URL, but it does not explicitly direct the agent to use search tools to find IDs first, nor does it name alternatives. The cross-platform URL warning is a constraint, not a routing guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_ad_library_searchAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Keyword or advertiser to search TikTok Commercial Content Library (min 2 characters). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. | |
| match | No | Keyword token mode: "any" (default, OR whole-word) or "all" (AND). hair ≠ wheelchair. Empty results are free. | |
| country | No | Two-letter ISO country code (e.g. GB, DE, FR). Default GB (EU DSA library; US often empty). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It honestly states the credit cost, the free 24h-cache path, the default always-fresh behavior, and the policy that empty results and failures are not charged. It omits auth or rate-limit context but is still substantively transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no filler. It front-loads the resource, then packs in the cost, cache option, and free-failure/empty behavior in a compact, readable way.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter search tool with 100% schema coverage and no output schema, the description adequately covers cost, caching, result-filtering behavior, and default freshness. It doesn't spell out the response payload structure beyond 'uniform null schema,' but that is a minor omission for this kind of search endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers 100% of parameters with descriptive detail, so the baseline is 3. The description adds the idea of 'relevance-filtered,' which gives extra meaning to q, but otherwise the schema does most of the parameter-documentation work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as 'Search TikTok Commercial Content Library,' with a specific verb and resource, and adds that results are relevance-filtered with a uniform schema. It does not explicitly differentiate from sibling tools such as tiktok_ad_library_ad_details or tiktok_library_top_ads, but the verb+resource makes the search role apparent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides operational guidance (2-costs, cache=true, empty/failures never charged) but gives no explicit statement about when to use this tool versus siblings like tiktok_ad_library_top_ads or tiktok_ad_library_ad_details. There is no when/not-when or alternative routing, leaving the choice to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_ad_library_top_adsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Optional keyword that filters the one ~20-row leaderboard page — not a library search. Case-insensitive whole-word match on title/brandName/industry/objective (hair ≠ wheelchair). There is no tags field. advertiser.name is often null in the default US market. Envelope candidatesScanned is the pre-filter pool size. For a known advertiser, use /tiktok/ad-details by ad id. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 20). One Creative Center leaderboard page is ~20 rows; limit only trims that pool — it cannot scan more candidates. Flat 2 credits on Decodo-native; Apify ~1 credit per returned ad (min 2). | |
| match | No | Keyword token mode: "any" (default, OR) or "all" (AND). Zero whole-word hits still return TikTok's keyword-ranked page as matchBasis=ranked (literalMatches=0). | |
| period | No | Lookback window in days: 7, 30, or 180. Default 30. | |
| country | No | Two-letter ISO country code. Default US. | |
| orderBy | No | Sort: for_you, likes, ctr, impressions, or cost. Default for_you. | |
| adFormat | No | Optional format filter: spark or non_spark. | |
| industry | No | Optional industry key or label from Creative Center. | |
| objective | No | Optional campaign objective (e.g. Traffic, Conversion, Reach). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden and exceeds it: flat pricing (2 credits / ~1 Apify per ad), 'Empty results and failures are never charged', 24h cache semantics with free hits, the fact that limit only trims a fixed ~20-row pool and cannot scan more, and edge cases (zero whole-word hits still return ranked results; advertiser.name often null). This is unusually rich behavioral disclosure for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main description is four sentences, each earning its place: identity + scope, flat cost, billing-on-failure safety, and cache behavior. It is front-loaded with the core resource identity before the cost detail. Schema descriptions are similarly tight despite covering ten parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter tool with no annotations and no output schema, the definition covers a great deal: pricing, failure billing, cache behavior, edge-case ranked results, null advertiser.name, and even envelope fields (candidatesScanned, matchBasis, literalMatches). The only real gap is that the row-level structure of the returned leaderboard is never systematically described — an agent infers fields (title, brandName, industry, objective) only from the q filter docs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all 10 parameters richly documented (q's match semantics, cache behavior, limit's payout model, match's ranked fallback). The top-level description adds cost/cache framing but that overlaps with the schema's own param descriptions, so per the baseline rule for high coverage, a 3 is correct — the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('TikTok Creative Center Top Ads — one ~20-row leaderboard page') and explicitly distinguishes it from a library search ('not a library search'). An agent can immediately tell this apart from siblings like tiktok_ad_library_search and tiktok_ad_library_ad_details without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-not guidance ('not a library search') and the q parameter routes to an explicit alternative ('For a known advertiser, use /tiktok/ad-details by ad id'). The positive when-to-use is implied by the leaderboard framing rather than stated outright, and the cost distinction (flat 2 vs ~1 Apify) helps but doesn't fully articulate when to prefer this over the library search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_audience_demographicsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| videos | No | How many recent videos to sample comments from: 12 (default, 3 credits), 30 (5 credits), or 60 (8 credits). | |
| countriesLimit | No | Max countries in audienceLocations; remainder folds into other{count,percentage}. Omit for the full list (other is omitted when unused). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses that results are engagement-based and not a follower census, normally cost 3 credits, are not charged on empty results/failures, and support a free 24-hour cache hit via cache=true while defaulting to fresh data. The 'Costs 3 credits' phrasing is slightly oversimplified since videos=30/60 cost more, but the schema clarifies this and the overall disclosure is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler: the first states core purpose and methodology, the second covers pricing and failure billing, and the third explains cache behavior. Information is front-loaded and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, sampling methodology, cost, failure billing, and caching, which are the key elements for selecting and invoking the tool correctly. A brief mention of the output structure would have been helpful given there is no output schema, but the first sentence and the countriesLimit schema description referencing audienceLocations provide enough high-level context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters and the baseline is 3. The description adds little beyond what the schema already states about cache and cost; it actually provides less precise cost information than the videos parameter's description. No additional meaning is provided for url, videos, or countriesLimit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the data domain: audience country and language mix for a TikTok creator, with an important scoping detail ('engagement sample, not a follower census'). It does not use an explicit verb like 'retrieves' and does not name sibling tools to differentiate from alternatives such as tiktok_profile_region or tiktok_channel_details, but the resource and resource type are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (when you need a TikTok creator's audience country/language mix) and gives practical guidance on cost, non-charging of empty results/failures, and the cache=true free hit. However, it does not explicitly compare to alternative TikTok endpoints or state when not to use this tool, leaving selection vs. siblings to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_channel_detailsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| raw | No | Set true to include TikTok's upstream user/statsV2 blob under raw, plus createTimeUnix (unix twin of createTime). Default false — curated fields only. | |
| url | Yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does so well by stating the credit cost, the no-charge policy for empty results/failures, the free cache-hit behavior, and the default fresh-fetch behavior. It does not cover rate limits or error response details, but the key operational behaviors are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with no filler. The purpose is front-loaded, and the credit/cache caveats are packed into the second sentence without redundancy. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is reasonably complete for a metadata-resolution tool: it names the output fields, input formats, platform-matching constraint, cost model, and caching behavior. There is no output schema, so listing return fields is valuable. It could mention error cases or rate limits, but for this tool's complexity the description covers the essential context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 and the description need not re-explain parameters. It does add marginal value by clarifying that cache=true yields a free 24h hit and by stating the credit implication, which goes slightly beyond the schema's 'default TTL' wording. That is useful but not a substantial parameter-semantic contribution.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Resolve') and a precise resource ('a TikTok @handle to id + secUid'), then lists the returned fields. This clearly distinguishes the tool from siblings like tiktok_channel_posts or tiktok_search_users by framing it as an ID/metadata resolver rather than a content or search tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when the tool is appropriate: resolving TikTok handles to IDs and account metadata. It also provides explicit exclusions ('Not a YouTube channel URL', 'Do not pass cross-platform URLs'), which help an agent avoid misuse. It does not name sibling alternatives explicitly, so it misses the top bar for this dimension.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_channel_postsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | How many of the creator's latest videos to return on this page (default 20, max 200). Newest first. Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (TikTok's max_cursor timestamp, e.g. 1783614676000). A null nextCursor means the end of the list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure and does it well. It reveals the possibility of a 6h-stale degraded snapshot, specifies the degraded and staleAgeMs signals, clarifies zero-credit failures and empty results, states the 2-credit cost, and explains the cache behavior. This is rich, practical context that an agent needs to interpret results correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the main purpose, and quickly covers the critical operational facts. There is slight redundancy between 'Failures are 0 credits' and 'Empty results and failures are never charged,' but the overall text remains compact and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the most important contextual aspects: what the tool returns, stale-data behavior, pricing, and caching. Since there is no output schema, the description could have explained the response shape a bit more, but the schema already documents pagination via cursor and limit, and the core return value is clear from the name and first sentence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameters are already thoroughly documented in the input schema. The description adds no new semantics for url, limit, or cursor beyond what the schema provides, and its cache explanation largely restates the schema's cache parameter description. Baseline 3 is appropriate because the schema handles parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning the latest videos from a TikTok profile, which is specific and unambiguous. It does not explicitly distinguish itself from related siblings like tiktok_channel_details or tiktok_video_details, but the purpose is clear enough for an agent to understand the core function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful guidance on when to use cache=true for a free hit and warns about stale snapshot behavior, but it does not state when to prefer this tool over alternatives such as tiktok_channel_details or tiktok_video_details. The use case is implied by 'Latest videos from a TikTok profile' rather than explicitly contrasted with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_comment_repliesAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value from the previous response. | |
| commentId | Yes | ID of the parent (top-level) comment to fetch replies for — from the comments endpoint. Legacy alias: comment_id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does it well: it discloses the 2-credit cost, that empty/failed calls are not charged, and the cache=true free-hit behavior with fresh-by-default semantics. It also previews the reply field shape, which is material behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact, front-loaded sentences communicate purpose, shape, billing, and cache behavior without filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with no output schema and no annotations, the description is quite complete: it covers return shape, cost, failure charging, and cache behavior. It could be slightly more explicit about the full response envelope/pagination metadata, but the schema already documents limit and cursor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema fully documents all five parameters. The description only restates the cache behavior in pricing terms and does not add meaning beyond the schema, matching the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('Replies under a TikTok comment') and a clear retrieval action, distinguishing itself from sibling comment endpoints like tiktok_comments and youtube_comment_replies. It also ties the reply shape to the comments endpoint, removing ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage context is clear: this tool is for fetching replies on a TikTok comment, and the 'same shape as comments' phrasing points to the related comments endpoint. It lacks an explicit when-not-to-use statement or named alternative, but the intent is not ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_commentsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (a numeric offset, e.g. 50). A null nextCursor means the end of the comments. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does substantial work: it discloses the 2-credit cost, the 404-at-0-credits edge case for unresolvable videos, no-charge on empty/failed results, and the free 24h cache hit with default-fresh behavior. It stops short of covering auth needs or rate limits, but the pricing, failure, and caching semantics are unusually explicit for a description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences front-load the core purpose and pack in output-shape, pricing, failure, and caching semantics without filler. There is minor pricing redundancy ('Costs 2 credits', 'never charged', 'free 24h cache hit'), but each mention adds a distinct nuance, so every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no annotations and no output schema, the description covers pricing, failure modes, caching behavior, and key response fields, while leaving pagination mechanics to the well-documented schema. It is missing only minor context such as rate limits and authentication expectations, which are likely shared across the account-level sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the schema already documents url (with cross-platform warnings), cache, limit, and cursor/nextCursor pagination. The description adds only marginal value by tying cache=true to the free 24h cache hit, which mostly restates what the schema's cache parameter already explains.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource ('TikTok comments') and hints at the output shape (authorName, stable authorId/authorSecUid, commentLanguage), making the tool's function unambiguous. It lacks an explicit verb like 'fetch' or 'list' and never names sibling tools such as tiktok_comment_replies, so sibling differentiation relies on inference from the platform and field details rather than explicit statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for listening loops' implies a use case (tracking commenters over time via stable author IDs), and the cache/cost notes signal when the cheap path applies. However, there is no explicit when-to-use guidance, no exclusions, and no mention of alternatives like tiktok_comment_replies or youtube_comments, so an agent must infer when this tool is preferred over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_liveAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, and it delivers substantive context: the 1-credit cost, the guarantee that empty results and failures are never charged, and the 24h cache semantics with default-fresh behavior. These are genuine operational traits beyond what the schema expresses. It stops short of describing edge-case response behavior, but the core cost and failure profile is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with zero filler. The core question and response fields lead, followed by cost, failure-charging policy, and caching details. Every clause earns its place, and dense information like pricing and cache behavior is packed efficiently without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema and no annotations, the description covers the key ground: response field names and formats, credit cost, empty/failure charging, and cache behavior. The main gap is the missing differentiation from tiktok_live_info, which prevents the agent from fully understanding when this endpoint is the right one.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already documents both parameters thoroughly, including URL format constraints and the cache default false behavior. The description's mention of cache=true adds only marginal meaning beyond the schema's boolean documentation, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific purpose — checking whether a TikTok creator is live — and enumerates the exact response fields (isLive/status, creator.id/secUid, room, streamQualities with flv/hls/cmaf/dash). This is specific enough to separate it from most of the sibling list, but it does not explicitly differentiate itself from the closely named sibling tiktok_live_info, leaving that distinction to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to choose this tool over alternatives, and the sibling list includes tiktok_live_info, which plausibly overlaps. The only usage-adjacent information is the cache=true strategy, which concerns parameter selection rather than tool selection. An agent comparing live-status tools gets no decision rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_live_infoAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does useful work: it discloses a 7-credit cost, that empty results and failures are never charged, the 24h cache hit behavior, and the default always-fresh behavior. It also reveals key response fields. It does not mention rate limits or authentication, but for a read-style info endpoint this is substantial transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short, information-dense sentences: output shape, cost/billing policy, and cache behavior. Every sentence earns its place and there is no filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given only two simple parameters, no output schema, and no annotations, the description covers the essential operational context: response fields, credit cost, failure billing, and caching. Its main gap is that it leans on the sibling tiktok_live for full output semantics and never explains why both tools exist, but the cross-reference is a reasonable shorthand in a tool suite.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description restates the cache parameter's behavior and default, which the schema already documents, and adds no new meaning for the url parameter beyond what the schema's format and examples provide. No parameter semantics gap needs compensating.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as TikTok live information and lists concrete output fields (isLive, creator.id/secUid, streamQualities hls/cmaf), making the tool's purpose reasonably clear. It does not use a direct verb like 'get' or 'fetch', and it characterizes itself as 'identical to TikTok Live' rather than distinguishing itself from that sibling, which slightly weakens clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. The description references tiktok_live as identical but does not explain when an agent should choose tiktok_live_info over tiktok_live or other TikTok tools. The cache parameter advice is operational rather than tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_music_postsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok music/sound URL, e.g. https://tiktok.com/music/name-ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. hasMore is true only when nextCursor is present. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses credit cost (2 credits), free cache hits on cache=true, default-fresh behavior, and that empty results and failures are never charged. This goes beyond the schema and provides meaningful operational context, though it omits rate limits and authentication details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loads the core operation and output contents, and then packs cost, cache, and failure-policy details without redundancy. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter tool with no output schema and no annotations, the description covers purpose, returned categories, pagination, cost, cache behavior, and no-charge-on-failure. It lacks an explicit return-shape explanation or ordering note, but the schema already documents pagination mechanics and URL constraints, so the remaining gaps are minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds little to parameter meaning beyond what the schema already provides, such as the URL format, platform-match warning, cache behavior, limit defaults, and cursor usage. It doesn't deepen the understanding of the parameters themselves.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'List TikTok videos that use a specific sound.' It also enumerates the returned data categories (caption, author, exact engagement, canonical hashtags, mentions), which clearly distinguishes it from broader siblings like tiktok_trending_feed or tiktok_song_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The opening clause states the exact condition for use: when a TikTok sound/music URL is available and the agent needs videos using that sound. It doesn't explicitly name alternatives or exclusions, but the context is clear enough for an agent to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_popular_creatorsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Creative Center page (default 1). | |
| sort | No | follower, engagement, or popularity. Default follower. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| limit | No | Max items to return (default 20, max 100). Flat 2 credits per call. | |
| country | No | Two-letter ISO country code. Default US. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. | |
| follower_count | No | Optional range on FYP/Apify fallthrough: 10k-100k, 100k-1m, 1m-10m, >10m. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does real work: it discloses the flat 2-credit cost, guarantees empty results and failures are never charged, and specifies the default always-fresh behavior plus the free 24h cache=true path. It omits rate limits and auth, but for a non-destructive read tool the cost/caching/failure policy is the core disclosure an agent needs. Nothing in the description contradicts the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, each carrying a distinct fact: purpose, cost, charge-on-failure policy, and caching default. The purpose is front-loaded and there is no filler, but the telegraphic style ('Creative Center creators + ... hydrate') reads as jargon and slightly obscures the primary action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema present, the description should hint at the return contract; it lists only three hydration fields and never describes the response shape, creator fields, or pagination behavior. The operational essentials (cost, caching, failure policy) and all parameters are covered, so the definition is adequate but leaves the result format to the agent's imagination.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; all seven parameters are already documented, including the cache/cacheMaxAge relationship and the follower_count FYP/Apify fallthrough. The description adds only marginal parameter nuance — that cache=true is free and yields a 24h hit — without adding meaning to the other six parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource (Creative Center creators), the enriched fields (createTime, bioLinkRisk, ttSeller), and a concrete use case (partnership vetting), which helps distinguish it from siblings like tiktok_search_users and tiktok_trending_feed. However, it never states an explicit verb such as 'list' or 'fetch,' and 'hydrate' is unexplained jargon, so the primary action is only implied by the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'for partnership vetting' clause provides use-case context that implies when the tool should be used, and the cache=true advice is practical call-time guidance. But there is no explicit routing against sibling tools, no when-not-to-use condition, and no mention of how this relates to alternatives like tiktok_search_users or tiktok_channel_details.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_popular_hashtagsAInspect
Related TikTok hashtags — Creative Center chart when it answers, otherwise a disclosed niche fallback. 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).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Creative Center page (default 1). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 100). Flat 2 credits per call. | |
| query | No | Optional niche seed for co-occurrence + challenge/detail enrich. Omit, or pass trending, to try the Creative Center chart (25s); a miss falls through to related tags for fyp (source=niche_fallback) and opens a service-wide chart circuit. Later default calls skip the chart (chartStatus=skipped_circuit_open) until the cooldown expires. Any other value skips the chart. | |
| period | No | Lookback days: 7, 30, or 120 (180→120). Default 7. | |
| sortBy | No | Chart sort: popular (default). | |
| country | No | Two-letter ISO country for the Creative Center chart. Default US. | |
| industryId | No | Optional Creative Center industry_id. | |
| newOnBoard | No | Only hashtags newly on the Top 100. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and discloses meaningful behavior: flat 2 credits, never charging for empty results or failures, and the free 24-hour cache hit. It also references a disclosed niche fallback and chart circuit, which adds useful execution context beyond the bare operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the tool's purpose, which is good. However, 'Flat 2 credits. Costs 2 credits.' is redundant, and the second sentence does not earn its place; 'disclosed niche fallback' is also phrased vaguely.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters, no annotations, and no output schema, the description plus schema covers cost, cache, and query routing well, but it does not describe the return value shape at all. The 'niche fallback' and chart circuit behavior are mentioned but not fully explained in the main description, so an agent has enough to call it but not complete expectations of what comes back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 9 parameters are already described in the input schema, so schema coverage is 100%; the description adds little parameter meaning beyond restating cache behavior and credit cost. The main description's mention of 'cache=true' simply duplicates the schema's cache description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource ('Related TikTok hashtags') and the main data source ('Creative Center chart') with a fallback, which makes the tool's purpose recognizable. It is clear but does not use an explicit verb like 'Returns' or 'Finds', and it does not explicitly differentiate this tool from siblings such as tiktok_search_by_hashtag or tiktop_popular_creators.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives practical usage hints for cache=true and for how omitting vs. providing query changes behavior, but these are parameter-level, not tool-level guidance. It never states when to prefer this tool over alternatives or when not to use it, so usage context is more implied than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_popular_songsAInspect
Creative Center popular/surging sounds — honoured{} names applied filters. Chart miss is 503 at 0 credits, not a For You sample. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Creative Center page (1–20). Echoed on a native chart 200 with hasMore. Omitted on the extended path — that list is one page. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 20). Flat 2 credits per call. | |
| period | No | 7, 30, or 120 days (180→120). Default 7. | |
| country | No | Two-letter ISO country. Default US. | |
| rankType | No | popular | surging. Default popular. | |
| newOnBoard | No | Only sounds newly on the Top 100. | |
| commercialMusic | No | Only Commercial Music Library–cleared sounds. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses cost (2 credits), free cache behavior (cache=true), absence of charges on empty results/failures, and a specific failure mode (503 at 0 credits on chart miss). This is materially useful. However, it does not describe the success response shape or pagination beyond what the schema mentions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and includes several useful caveats, but contains a broken template artifact ('honoured{} names applied filters') that obscures meaning. Some phrasing is telegraphic and could confuse an agent, so it is concise but not well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers cost, failure, caching, and the fundamental domain (Creative Center popular/surging sounds). It does not describe the output structure, and there is no output schema to compensate. For a tool with 8 parameters and no specified return format, this is adequate but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already documented. The description adds meaningful cost/cache context tied to the cache parameter but does not add per-parameter meaning beyond the schema. This matches the baseline of 3 for fully covered schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource as 'Creative Center popular/surging sounds' and the tool name confirms a listing operation. It differentiates from the 'For You sample' and sibling tools like tiktok_popular_creators and tiktok_popular_hashtags by specifying sounds. However, it lacks an explicit verb like 'get' or 'list', so it is clear but not maximally precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is the tool for popular/surging sounds and explicitly disclaims that it is 'not a For You sample', offering a weak exclusion. It does not name alternatives such as tiktok_trending_feed or tiktok_music_posts, so an agent must infer when to choose this tool over those siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_profile_regionAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| raw | No | Set true to include TikTok's upstream user/statsV2 blob under raw. Default false — curated fields only. | |
| url | Yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 7d response cache (0 credits on hit). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It discloses meaningful behavior: 2-credit cost, no charge for empty results or failures, cache=true gives a free cached hit, and the default is always fresh. It does not mention rate limits or auth, but for a read-only lookup these disclosures are strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: three sentences cover purpose, pricing, failure charging, and cache behavior. Every sentence earns its place, though the cache sentence is inaccurate relative to the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, main output categories, cost, and cache behavior, which is adequate for basic selection and invocation. However, there is no output schema and no description of result shape or rate limits, and the cache TTL inconsistency leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters are already documented in the schema, so the baseline is 3. The description adds no useful meaning for raw or cacheMaxAge, and it introduces a conflicting cache claim: it says cache=true gives a 24h cache hit, while the schema says the 7d response cache with 0 credits on hit. This ambiguity hurts parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Find out where a TikTok creator is likely based and what language they use' and lists concrete outputs: country, language, stable ids, and core profile stats. This clearly distinguishes it from generic TikTok profile or channel tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is implied from the stated purpose, but the description never names sibling tools or says when not to use it, such as when full channel details or audience demographics are needed. The cost and cache advice is operational rather than selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_search_by_hashtagAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Single hashtag token for the /tag/{name} challenge feed, with or without # (min 2). Spaces are 400 — use /v1/tiktok/search/top for a keyword query. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 100). Billed per result. | |
| cursor | No | Pagination offset. Leave at 0 (or omit) for the first page; then pass the nextCursor value returned in the previous response. A null nextCursor means the end of the results. | |
| region | No | Two-letter ISO 3166-1 country our request is sent from. Default US. Does not filter results by country. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses pagination behavior ('Cursor + hasMore'), pricing semantics (~14 credits, 0.7/result), no-charge cases for empty results/failures, and cache behavior with default freshness. This goes well beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences with zero fluff. The core purpose and key exclusions are front-loaded, followed by pagination, pricing, and cache behavior. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description covers the essential operational details: pagination, cost, failure charging, cache behavior, and scope. For a search tool with fully documented parameters, an agent has enough to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful semantics not in the schema, such as what cache=true actually guarantees (free 24h cache hit) and the cursor/hasMore pagination model, which helps an agent use the parameters correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact resource ('Videos from TikTok's /tag/{name} challenge feed') with a specific verb and immediately distinguishes it from keyword and username search. This clearly separates it from the many TikTok search siblings in the tool list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what this tool is not ('not keyword or username search') and the schema adds 'use /v1/tiktok/search/top for a keyword query.' It gives clear context and an explicit exclusion, though it does not name the analogous sibling tools directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_search_suggestionsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Seed keyword to expand into autocomplete suggestions, e.g. skincare. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 100). Flat 2 credits per call. | |
| country | No | Two-letter ISO country code that localizes the suggestions to a market, e.g. US, GB, DE. Default US. | |
| language | No | Interface language for the suggestions, e.g. en-US or de-DE. Default en-US. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does a good job: it discloses a 2-credit cost, no charge for empty/failed results, and the 24h cache option with default always-fresh behavior. It does not mention potential rate limits or auth requirements, but the operational behavior most relevant to invoking correctly is covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with what the tool does, and every sentence earns its place: value proposition, cost, no-charge guarantee, and cache behavior. No redundant fluff or repetition of raw schema attributes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with no output schema and no annotations, the description covers the essential context: what is returned, why it is useful, cost behavior, failure charging, and cache semantics. The remaining parameters are fully documented in the schema, so nothing an agent needs to select and invoke this tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all five parameters (100% coverage), and the description adds meaningful semantics beyond the schema: 'q' is a seed keyword, cache=true yields a free 24h cache hit, and calls carry a flat 2-credit cost. Country and language are left to the schema, but the description raises the overall value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get the autocomplete terms TikTok suggests in its search bar for a keyword') and clearly identifies the resource and output. It distinguishes this tool from search-focused siblings by emphasizing autocomplete/ranked phrases for canonical and long-tail keyword discovery, not user/hashtag/top-search lists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states the intended use case: finding trending queries and long-tail keyword ideas. It does not explicitly compare against alternatives or state when not to use it, but the context is clear enough that an agent can infer when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_search_usersAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query matched against usernames, display names and bios (min 2 characters). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 100). Flat 1 credit per call. | |
| cursor | No | Pagination cursor. Omit (or pass 0) for the first page; then pass the nextCursor value from the previous response verbatim — it carries the search session, not just an offset. A null nextCursor means the end of the results. | |
| fallback | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does so impressively: it discloses the 1-credit cost, no charge for empty results or failures, 24h cache semantics, and the fallback scraper behavior with timeout degradation. It also reveals deduplication behavior ('distinct creators') and the presence of isApproximate flags, neither of which is visible in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences front-load the core purpose before cost, cache, and fallback details, with no filler. Each clause carries operational value, though the telegraphic middle section is compact at the expense of slight readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers returned identifiers (id, secUid), isApproximate flags, cursor pagination, costs, failure behavior, and fallback — enough for an agent to invoke the tool correctly even without an output schema. The exact response envelope and the precise meaning of 'per-counter' are left implicit, which is a minor gap in an otherwise complete definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already thoroughly documents q, cache, limit, cursor, and fallback including defaults and costs, so the description adds limited new parameter-level meaning. It does reinforce global cost and failure semantics and output characteristics, but those are more behavioral than parameter-specific. Baseline 3 is appropriate here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource — 'Search TikTok users' — and immediately narrows scope with 'distinct creators only, id + secUid', distinguishing it from sibling tools that return posts, channel details, or suggestions. Pagination and output focus make the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes clear context: use this when you need to find TikTok creator accounts by query, and it explains caching, costs, and fallback behavior that affect invocation choices. It does not explicitly name sibling alternatives or state when not to use this tool, so it falls short of fully explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_shop_product_detailsAInspect
PDP — price (sku_min when guest min is *), sold vs stock, seller id/url, images[]. Unresolved URL is 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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok Shop product URL, e.g. https://shop.tiktok.com/view/product/1731410956394792439?region=BR or https://www.tiktok.com/shop/pdp/1731098552908944370. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| region | No | Two-letter market region (default US). A region= or oec_region= query on the product URL wins over this default so a BR share URL is not fetched as US. Echoed as data.region. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: discloses cost (2 credits), free failures, 404 behavior on unresolved URLs, and caching behavior. It also notes that empty results are never charged. Missing details like authentication or rate limits, but the core behavioral traits are clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, dense sentence that front-loads the core purpose (PDP and fields) then packs cost, failure, and caching behaviors. Every phrase earns its place; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple product-details fetch with no output schema, the description conveys return fields and key behavioral context (cost, caching, region handling). It doesn't mention pagination or error codes, but the tool's scope is narrow and the essentials are covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds marginal value: reiterates cache=true as free hit and notes region is echoed as data.region, but these are also present in the schema. No additional parameter semantics beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (fetch product details) and resource (PDP for TikTok Shop), and enumerates the exact fields returned (price, sold vs stock, seller id/url, images[]). It clearly distinguishes from siblings like tiktok_shop_product_reviews and tiktok_shop_search by naming the PDP scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance relative to sibling tools. It mentions cost-saving via cache=true but does not direct the agent to alternatives like tiktok_shop_product_reviews for reviews or tiktok_shop_search for discovery. The usage context is only implied by the resource type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_shop_product_reviewsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok Shop product URL, e.g. https://www.tiktok.com/shop/pdp/1731962298839634826. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Billed per result. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden, and it does well by disclosing credit costs (~45 credits, 2.25/result), the no-charge policy for empty results/failures, and the cache=true behavior with free 24h hits. It omits details like pagination, rate limits, or output structure, but the most operationally important behavior is covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three tight sentences with no filler: the first defines the output, the second covers pricing, and the third explains the caching option. Every sentence adds distinct value and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, the description usefully enumerates the review fields returned and explains cost/cache behavior, which helps an agent understand what it will get. It does not describe the exact output structure or edge-case error behavior, but the combination of schema plus description is reasonably complete for a straightforward fetch-reviews tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with descriptions for url, cache, and limit, including an example URL and constraints. The description adds meaningful operational semantics beyond the schema by explaining per-result billing and the free-cache-hit behavior, which clarifies the practical effect of the limit and cache parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as TikTok Shop product reviews and lists the specific data points returned (star rating, text, SKU variant, verified purchase, country, review photos). The name plus field list distinguish it from product_details and product search siblings, though it does not explicitly call out that distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description and schema make it clear that a TikTok Shop product URL is required and gives a concrete example plus a warning about cross-platform URLs. However, it does not explain when to choose this tool over related siblings like tiktok_shop_product_details or tiktok_shop_products, leaving that differentiation to be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_shop_productsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok Shop store URL, e.g. https://www.tiktok.com/shop/store/goli-nutrition/7495794203056835079. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. | |
| region | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations absent, the description carries the behavioral disclosure burden and does it well: it discloses the 2-credit cost, that empty results and failures are never charged, and the cache semantics (default fresh, cache=true for a free 24h hit). This goes beyond the schema by explaining billing and failure behavior. It does not mention rate limits or pagination, but the covered behaviors are material to an agent's decision.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler. The first sentence states the core value, the second conveys billing/failure behavior, and the third covers caching. Every sentence earns its place, and the most decision-relevant facts (cost, no charge on empty/failure, cache option) are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Strong coverage of cost, caching, failure, and region semantics. The lack of an output schema is partly compensated by the brief output summary in sentence one. The main gap is no mention of pagination beyond the limit parameter, and no explicit exclusion of per-product detail/reviews routes to siblings, but the description is otherwise sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the structured definitions already document all four parameters. The description still adds value by explaining the region failure nuance (non-US empty results are often a platform limit, not a bug), which is not present in the schema and prevents an agent from misdiagnosing API issues. It doesn't add syntax details for url or limit, but they are already fully described.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool fetches a store catalog with shopInfo and product pricing/discount data, which is clear about what it does. However, it doesn't distinguish itself from the closely related tiktok_shop_product_details, tiktok_shop_product_reviews, tiktok_shop_search, or tiktok_shop_user_showcase siblings, so an agent must rely on the name 'products' to infer scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the credit cost and the cache=true behavior, which guides when to use it (when a 24h-old cached result is acceptable). It also documents the cost implications of fresh calls. However, it does not explicitly say when to prefer a sibling like tiktok_shop_product_details for per-product detail or tiktok_shop_search for discovery, so routing among siblings is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_shop_searchAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Product search query (min 2 characters), e.g. phone case. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 10, max 10). Flat 2 credits per call. | |
| region | No | Two-letter market region for the search (default US). Echoed on the response as data.region — not a creator home country. Native search is a SERP window (not TikTok's full catalog); compare requested to serpHits / windowMax. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden, and it does meaningful work: it discloses the 2-credit cost, states that empty results and failures are never charged, and explains the cache behavior with a default of fresh results. This is strong behavioral coverage for a paid search tool, though it omits any note on rate limits or auth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly written sentences deliver purpose, result contents, pricing, failure policy, and cache guidance with zero filler. The most important identification information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no annotations and no output schema, the description covers the essential selection and invocation facts: what the tool returns, its cost, its failure-charge policy, and a cost-saving cache option. It does not fully describe the response structure, but it names the key output fields, which is sufficient given the schema handles parameter details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all four parameters with 100% description coverage, so the baseline is 3. The tool description reinforces the cache behavior but does not add meaning beyond what the schema provides for q, limit, or region.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'TikTok Shop keyword search' and names the concrete result fields (priced products, sold, rating/reviews, typed discount, seller id), so the operation and output domain are clear. It does not explicitly name sibling tools it should be distinguished from, but the keyword-search framing already separates it from detail/review/showcase tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The keyword-search intent plus the cache guidance ('Pass cache=true for a free 24h cache hit') provides useful invocation context and implies when to use it. However, it never explains when to choose this tool over siblings like tiktok_shop_products or tiktok_shop_product_details, so the when/where-not guidance remains implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_shop_user_showcaseAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Billed per result. | |
| username | Yes | TikTok username, @handle, or profile URL, e.g. jeffreestar or https://www.tiktok.com/@jeffreestar. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description takes on behavioral disclosure: it specifies credit cost, per-result billing, free empty/failure results, and cache semantics. This is substantial and useful. It does not mention auth, rate limits, or output format, but for a read-style fetch these are minor gaps given the disclosure already provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: product scope, cost/billing, and cache behavior. No filler, every sentence adds value, and the primary purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with no output schema and no annotations, the description covers purpose, return fields, cost, cache, and failure billing. It lacks explicit return-shape and pagination detail, but the schema provides limit and the description's field list is enough for an agent to understand what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters, so baseline is 3. The description reiterates the cache behavior and implies limit affects billing, but does not add new meaning beyond the schema for username or limit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as a Creator Shop showcase and enumerates what it returns: per-product sold, rating, typed discount, and seller name/url. This distinguishes it from more generic TikTok shop tools, though it lacks an explicit retrieval verb and direct comparison to sibling shop tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case — fetching a TikTok user's Creator Shop affiliate showcase — but gives no explicit when-to-use vs alternatives guidance. Among many tiktok_shop_* siblings, it does not name tiktok_shop_products or tiktok_shop_search as alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_song_detailsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok music/sound URL, e.g. https://tiktok.com/music/name-ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description takes on the full burden and discloses meaningful behavioral traits: the 1-credit cost, the free-cache condition, and the never-charge-on-empty/failure policy. It stops short of covering rate limits or response envelope details, but covers the most decision-relevant traits for an agent comparing costs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Only two sentences, with the core purpose and returned fields front-loaded. The second sentence packs cost, failure behavior, and cache control without redundancy. Every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only 2 params and no output schema, the description covers the main returned fields, cost, cache behavior, and failure-charge policy. It might have mentioned the response error shape, but an agent has enough information to invoke and interpret the tool correctly for a simple metadata lookup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — both url and cache are already fully described, including the cross-platform URL restriction and cache cost semantics. The description only restates the cache behavior in shorthand and adds the word 'native' to the credit cost, so it adds minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'TikTok sound metadata' and enumerates the concrete fields returned (usageCount, artists, audio bpm/loudness/beats, commerce rights), making the resource and scope clear. It does not explicitly differentiate itself from siblings like tiktok_music_posts or tiktok_popular_songs, though the listed fields make the distinction inferable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description carries operational guidance: cache=true for free 24h cache hit, default fresh, and no charge on empty results/failures. However, it never states when to choose this tool over sibling alternatives, so usage timing is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_summarizeCInspect
Summarizer Costs 4 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| language | No | ISO code, e.g. "tr": pins the speech language and sets the summary output language. Defaults to auto-detect + English summary. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does add valuable behavioral context: the 4-credit cost, the no-charge guarantee for empty/failed results, and the cache=true 24-hour cache hit behavior with fresh-by-default semantics. These are concrete operational traits beyond the name and schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler, and the most operationally important detail (cost) is front-loaded. It loses a point for starting with a standalone fragment rather than a clear functional sentence, but overall it is tightly written.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description must explain what the tool returns and when it should be used. It covers billing and caching but omits the actual purpose, output format, and relationship to sibling tools, leaving an agent without enough context to confidently invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds the billing angle for cache=true but largely restates what the schema already says about cache behavior and defaults; it does not meaningfully enrich parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Summarizer', which restates the tool name rather than stating a clear verb and resource. It never explicitly says the tool generates a summary of a TikTok video, and it does not differentiate itself from siblings like tiktok_transcript or video_summarize.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to choose this tool over alternatives. The description only discusses credit costs and caching, with no mention of when a summary is preferable to a transcript or video details.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_top_searchAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query or keywords (min 2 characters). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave 0 for the first page; then pass nextCursor from the previous response. TikTok may return duplicates across pages. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses important behavioral details: the 2-credit cost, that empty results and failures are not charged, and the free 24h cache behavior. It also mentions result types when TikTok includes them. This goes well beyond the schema, though it does not fully describe all response or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, followed by cost and cache details. Every sentence contributes useful information, and there is no redundant repetition of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description does enough by stating that responses include videos and photo carousels with contentType and images[]. Combined with schema descriptions for cursor and limit, an agent has most needed invocation context. It stops short of full completeness because it does not mention pagination behavior or nextCursor in the description, though the schema covers it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers all four parameters with descriptions, so the baseline is 3. The description adds context about cache behavior and credits but does not add new meaning to q, limit, or cursor beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'TikTok Top/General search' for videos and photo carousels. It explains the intended scope and mentions output elements like contentType and images[]. It does not explicitly distinguish itself from sibling search tools such as tiktok_search_by_hashtag or tiktok_search_users, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains mechanics such as credit cost, cache behavior, and empty-result charging, but gives no guidance on when to use this tool versus the many TikTok sibling tools. There is no mention of alternatives or exclusions, leaving the agent to infer the appropriate use case from the name 'Top/General search' alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_transcriptCInspect
Transcript Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Serve from the 24h shared cache when available (0 credits on hit). Default true — set false to always fetch fresh. | |
| language | No | Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It does disclose meaningful traits: the 2-credit cost, that empty/failed results are not charged, and the 24h cache behavior. However, it also states 'default always fresh', which conflicts with the schema's cache default of true, muddying the behavioral picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, but brevity isn't conciseness when the core action is omitted. It leads with billing ('Costs 2 credits') instead of stating the tool's function, and the two sentences don't form a clear, front-loaded definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description must at minimum state what it returns and when to use it. It provides cost and cache behavior but never explicitly says it retrieves a TikTok transcript, and it leaves the cache default ambiguous, so the definition is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so a baseline of 3 applies, and the description adds little beyond the schema's already-detailed cache and language parameters. Worse, the description's 'default always fresh' contradicts the schema's 'Default true' for cache, actively reducing semantic clarity rather than adding value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the noun 'Transcript' and never states the action (e.g., 'Fetches the transcript of a TikTok video'). The name and URL parameter hint at the purpose, but the description itself is vague about what the tool does, only providing cost and cache details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool or how it differs from the many transcript sibling tools (youtube_transcript, instagram_transcript, etc.). The only platform constraint appears in the schema's URL parameter description, not in the tool description, so the description itself offers no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_trending_feedAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Creative Center page (default 1). page>1 triggers chart mode. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. | |
| period | No | 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. | |
| country | No | Two-letter ISO country (default US). For You: region-availability hint. Creative Center mode: chart market. | |
| orderBy | No | 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. | |
| countryCode | No | Alias of country. Wins when both are set. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description carries the burden. It discloses flat pricing, free cache hits, and that empty results/failures are never charged. Adds operational behavior beyond the schema, though it doesn't cover response shape or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Mostly tight and front-loaded, but 'Flat 2 credits. Costs 2 credits.' is a verbatim redundancy that wastes sentence space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers mode selection, pricing, and caching, but with no output schema it only hints at return data via 'with totalCount' and doesn't describe the For You response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters, so baseline is 3. The description reinforces that orderBy/period/page trigger chart mode and mentions totalCount, but mostly repeats parameter-level guidance already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Describes a feed with two modes: For You by default and Creative Center popular-videos chart when orderBy/period/page are passed. The verb and resource are clear ('return trending TikTok videos'), but it doesn't name sibling tools to explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States explicit conditions for chart mode ('pass orderBy/period/page') and cache behavior. Doesn't discuss when to choose this over sibling tools like tiktok_popular_creators or tiktok_video_details, so not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_user_followersAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 1 credit per call. | |
| cursor | No | Pagination cursor (TikTok minCursor). Leave empty for the first page; then pass nextCursor from the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It discloses credit cost, cache behavior, no-charge on empty/failed results, freshness policy, and pagination traits. This is strong for a list endpoint, though it doesn't mention authentication, rate limits, or handling of private accounts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core action and returned fields. The phrase 'Flat 1 credit. Costs 1 credit.' is redundant, but the rest is economical and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given four parameters, full schema coverage, and no output schema, the description covers the essential outcomes: returned fields, pagination, cost, failure behavior, and cache. It is slightly shy of a 5 because it doesn't mention edge cases like private accounts or rate limits, but nothing critical is missing for invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents url, cache, limit, and cursor semantics. The description adds some context (e.g., cursor pagination, cache free hit) but mostly reinforces rather than extends the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb and resource: 'List a TikTok user's followers', distinguishing it from the sibling tool tiktok_user_followings. It also names the key returned fields, making the tool's purpose immediately clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear operational context: pagination via cursor, use of cache for free 24h hits, and that empty/failed results are not charged. It doesn't explicitly say 'use this instead of tiktok_user_followings', but the name and field list make the primary use case obvious. The schema reinforces platform-matching restrictions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_user_followingsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 1 credit per call. | |
| cursor | No | Pagination cursor (TikTok minCursor). Leave empty for the first page; then pass nextCursor from the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It discloses the cost model (flat 1 credit), free charges on empty results/failures, cache behavior (free 24h cache hit with cache=true, default fresh), and the returned fields with pagination. It does not mention potential rate limits or auth requirements, but it is substantially transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise and front-loaded with the core purpose, but it contains redundancy: 'Flat 1 credit' and 'Costs 1 credit' state the same fact twice. The rest of the sentences earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description usefully enumerates the return fields and notes cursor pagination. Combined with the schema, the agent has enough to call the tool correctly. It does not explicitly distinguish from tiktok_user_followers, but the core facts are covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter already has a detailed description. The tool description adds little beyond what the schema provides—'cursor pagination' and 'Pass cache=true' are already covered in parameter descriptions. The baseline of 3 applies because the description adds no significant new semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'List' and clearly identifies the resource: 'who a TikTok user follows'. This inherently distinguishes it from the sibling tool tiktok_user_followers. It also lists the return fields, making the deliverable explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. It never mentions tiktok_user_followers or any other sibling. The only usage guidance in the schema warns against cross-platform URLs, which is input validation, not tool selection. Cache usage is explained, but not when to choose this tool over another.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_video_detailsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses the 1-credit cost, that empty results and failures are never charged, and the 24-hour cache behavior with a default of always-fresh requests. These are actionable behavioral details beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler; the core purpose is front-loaded and the cost/cache details are packed efficiently. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, read-only details tool, the description is nearly complete: it enumerates output fields, cost, failure charging, and cache options. It does not explicitly describe the return structure or error body, but no output schema exists and the field list largely compensates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both url and cache. The description adds no new parameter semantics beyond restating the cache behavior, matching the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb and resource: 'Get everything about one TikTok video from its URL,' then enumerates concrete returned data (caption, view/like/comment/share/save counts, creator, sound, hashtags, thumbnail). This is enough to tell it apart from sibling TikTok tools like tiktok_channel_details or tiktok_trending_feed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear contextual guidance: pass a TikTok video URL, and optionally set cache=true for a 24-hour cache hit at zero cost while defaulting to a fresh fetch. It does not explicitly name alternatives or define when not to use the tool, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
truth_social_postBInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Truth Social post URL or post ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it discloses meaningful operational behavior: flat credit cost, free cache hits, empty results and failures never charged, and default-fresh fetching. This goes beyond the schema and gives an agent a clear sense of side effects and failure economics, though it omits potential rate limits or auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and mostly front-loaded, but it is telegraphic and contains redundancy: 'Flat 1 credit. Costs 1 credit.' says the same thing twice. The opening 'One Truth' is unclear and wastes a bit of the agent's attention before the meaningful content begins.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description's list of response fields is helpful and partially compensates. However, it does not describe the overall response envelope, error conditions, or how a post ID/URL is handled, and it fails to differentiate this single-post tool from the related Truth Social list/profile tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, and the description mostly repeats what the schema already says about cache behavior and default freshness. It adds a little context around credit costs, but does not meaningfully explain the url parameter beyond the schema's own description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (a single Truth Social post) by listing its data fields — text, links[], card, reblog/quote chain, media.meta, externalVideoId — but never states a verb like 'fetch' or 'retrieve'. The name and sibling tools make the purpose inferable, but the description itself is vague and cryptic ('One Truth').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to choose this tool over siblings such as truth_social_profile or truth_social_user_posts. It focuses on cost and caching rather than use cases, alternatives, or prerequisites. The schema's URL platform warning is useful but not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
truth_social_profileAInspect
Prominent public Truth Social profiles — isPrivate/bot/group, CP-F counts, 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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Truth Social profile URL or @username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states the flat credit cost, that empty results and failures are never charged, and the cache behavior (free 24h hit, default fresh). This is valuable and goes beyond typical descriptions, though it does not mention rate limits or error handling specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the core purpose, then states pricing, failure policy, and cache behavior. Every clause carries information with no fluff, making it highly efficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema, the description covers the essential usage aspects: what data is returned, pricing, cache, and URL constraints. It does not detail the response structure or potential errors, but these are less critical for a simple fetch operation. The description is adequate for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers both parameters (100% coverage), but the description adds crucial semantics: the url parameter accepts a URL or @username and explicitly warns against cross-platform URLs with examples. The cache parameter is clarified as serving from a 24h cache at 0 credits. This adds significant value beyond the schema's own descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves 'Prominent public Truth Social profiles' with specific fields (isPrivate/bot/group, CP-F counts, avatar/banner). The verb is implied but the resource and scope are explicit, and it distinguishes from sibling tools like truth_social_post and truth_social_user_posts by targeting profile-level data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool over alternatives or when not to use it. It implies usage by naming the platform and resource, but lacks explicit routing such as 'use this for profile details, not posts'. The cache hint is about usage but not about alternative selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
truth_social_user_postsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Truth Social profile URL or @username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max posts to return (default 20, max 80). Truth Social's statuses page is ~20 items — a full page returns nextCursor. On the extended path hasMore can be true with nextCursor null (truncatedReason=single_page_only). Flat 2 credits. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, and the description supplies meaningful behavioral details: the 2-credit cost, no charge for empty results or failures, and cache=true providing a free 24-hour cache hit while defaulting to fresh fetches. It does not cover authentication or rate limits, but the cost, caching, and failure semantics go well beyond minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose, and most sentences carry useful information. The cost statement is repeated ('2 credits. Costs 2 credits.'), which is a minor redundancy that prevents a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
It covers cost, caching, empty-result policy, and references the /post mapper, but with no output schema it does not describe the response shape beyond that reference. It also omits explicit sibling routing, so an agent is left to infer some contextual details from tool names and the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents url, cache, limit, and cursor. The description adds no new parameter-level semantics beyond restating the cache cost behavior, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as a user's 'Recent Truths' and points to the same post mapper as /post, so an agent can infer it returns posts from a Truth Social user's feed. It does not explicitly contrast with truth_social_profile or truth_social_post, and it relies partly on the tool name for the verb, so it is clear but not fully self-contained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied by 'Recent Truths' and the profile URL parameter, but the description does not explicitly say when to choose this over truth_social_post or truth_social_profile. It gives useful cache instructions but no stated exclusions or alternative conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitch_clipBInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Twitch clip URL (clips.twitch.tv/<slug> or twitch.tv/<channel>/clip/<slug>). The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It explicitly states the 1-credit cost, that empty results and failures are never charged, and the exact cache behavior for cache=true. That is meaningful transparency beyond typical definitions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, but it repeats the credit cost twice ('(1 credit)' and 'Costs 1 credit'), and the opening colon-separated list is cramped. It could be tightened without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with full schema coverage but no output schema or annotations, the description covers cost, billing on failure, and caching, but leaves the return shape vague beyond a few field names and does not clarify what 'curator vs channel' means. It is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents url, cache, and cacheMaxAge. The description only repeats the cache=true tip already covered by the schema and adds no new parameter-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as a Twitch clip and lists expected return items (curator vs channel, signedVideoUrl, unwrapped token, relatedClips), so an agent can infer this fetches clip details. However, it lacks an explicit verb such as 'get' or 'fetch', and the phrase 'curator vs channel' is telegraphic and ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to choose twitch_clip over sibling tools like twitch_profile, twitch_user_videos, or kick_clip. The cost and cache notes are operational details, not usage selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitch_profileAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and provides useful disclosure: the call costs 1 credit, empty results and failures are never charged, stream data is only present when the channel is live, and cache=true gives a free 24h cache hit while the default is always fresh. It does not cover auth or rate limits, but the key operational quirks are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the resource and return fields. There is minor redundancy between '(1 credit)' and 'Costs 1 credit,' but otherwise each clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with no output schema and no annotations, the description provides enough context to call it correctly: return fields, cost, caching behavior, failure billing, and the live-only stream field. It could explain the exact format of fields or error behavior, but nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value by specifying that cache=true is free and provides a 24h cache hit, and it reinforces the always-fresh default. It does not discuss cacheMaxAge, but the schema already fully documents that parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as a Twitch channel and enumerates the specific returned data: handle, displayName, socials[], topClips, schedule preview, and stream. This helps distinguish it from sibling tools like twitch_clip or twitch_user_videos, though it lacks an explicit verb such as 'fetch' or 'get'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage context is implied: this is the tool to call for a Twitch channel profile rather than clips, schedule, or videos. However, it never names alternatives or states when not to use this tool, and 'stream only when live' reads as a data availability condition rather than a routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitch_user_scheduleBInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max schedule segments to return (default 50, max 100). Flat 1 credit per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It usefully discloses credit costs, the free cache-hit behavior, and that empty results/failures are never charged. However, it does not mention auth requirements, rate limits, or explicitly state that the operation is read-only, which are relevant gaps for a tool with no annotation safety signals.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the core purpose before moving to cost and caching details. The only structural weakness is minor ambiguity: 'isRecurring (0 credits when empty)' reads as if isRecurring itself relates to the zero-credit behavior rather than the overall empty-result billing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description names the returned fields and explains the important operational behaviors (cost, caching, failure billing). The parameter schema covers URL, cache, and limit semantics. The main missing piece is guidance on when to select this tool over related Twitch tools, but for a simple 3-parameter call the description is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage for all three parameters, so the description does not need to explain them in depth. It adds some value around cache semantics ('free 24h cache hit') and cost behavior, but these largely repeat or complement rather than extend the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as a Twitch channel schedule and enumerates its key fields (startAt/endAt, title, game, isRecurring), which distinguishes it from sibling tools like twitch_clip, twitch_profile, and twitch_user_videos. However, it lacks an explicit verb like 'get' or 'fetch', so the purpose is clear but not stated as directly as it could be.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives practical context about credits and caching, including when to pass cache=true. It does not provide guidance on when to use this tool versus alternatives, nor does it mention exclusions or sibling tools, so an agent must infer selection purely from the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitch_user_videosAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 100). Flat 2 credits per call. Hard ceiling: first 100 matching videos only — deeper history is not available (windowMax=100). | |
| cursor | No | Pagination cursor = last video id from the previous nextCursor. Leave empty for the first page. Pages the first 100 matching videos only (not a raw offset). | |
| sortBy | No | TIME (default, newest first) or VIEWS. | |
| filterBy | No | ARCHIVE | HIGHLIGHT | UPLOAD. Omit for all types — there is no default filter (unset filterBy is omitted, not null). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses credit costs, free cache hits, no charge for empty/failed results, default fresh behavior, pagination style, and row shape. It also signals that this is a read-style listing operation without destructive side effects. This is substantial behavioral context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and information-dense, with the most important facts front-loaded. Every clause provides useful operational information, and there is no filler or redundant restating of the tool name. The two-sentence structure is easy for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich input schema and lack of an output schema, the description covers the main operational concerns: scope, pagination, filtering, sorting, cost, caching, and failure behavior. It does not detail response fields beyond 'lean rows' and the broadcaster object shape, but this is sufficient for an agent to select and invoke the tool. A little more explicit output-structure guidance would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and each parameter already has detailed descriptions, so the baseline is 3. The description adds some related context ('video-id cursor, filter/sort, top-level broadcaster{}') but mostly restates or hints at what the schema already documents. It does not meaningfully compensate for any missing parameter-level semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as 'Twitch channel VODs' and conveys that this endpoint returns video rows with filtering and sorting. It does not use an explicit verb like 'list' or 'fetch', but the 'lean rows, video-id cursor, filter/sort' phrasing makes the operation unambiguous. The name plus 'Twitch channel VODs' differentiates it from sibling tools like twitch_clip and twitch_user_schedule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The resource statement 'Twitch channel VODs' implies when to use this tool, and the schema warns against cross-platform URLs. However, the description does not explicitly state when to use this tool instead of related Twitch siblings or other channel-video tools. The guidance is mostly inferred from the resource name rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter_communityAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | X community URL (x.com/i/communities/ID) or community ID — not a tweet/status URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It discloses meaningful operational behavior: 'Costs 1 credit', 'Empty results and failures are never charged', and the cache freshness policy with default always-fresh. This goes beyond the basic read-only nature implied by 'metadata' and helps the agent anticipate costs and side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: resource, returned fields, cost, failure policy, and cache option. Each sentence carries distinct information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter metadata endpoint with no output schema, the description covers the return shape via field enumeration and clarifies cost, failure, and cache behavior. It does not describe error responses or rate limits, but for this simple read endpoint the essential calling context is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description restates cache behavior ('Pass cache=true for a free 24h cache hit') but the schema already documents '0 credits on hit' and the default false; no new parameter meaning is added. The url parameter is already richly described in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with 'X Community metadata' and enumerates the returned fields (ISO createdAt, flat creator handle, isNsfw + bannerImage, rules[]), making the resource and scope clear. It lacks an explicit verb like 'fetch' and doesn't name a sibling, but the metadata focus distinguishes it from twitter_community_tweets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description and schema give clear input constraints: only community URLs/IDs, not tweet/status URLs, and the platform must match. It also provides cache guidance ('Pass cache=true for a free 24h cache hit'). However, it does not contrast this tool with siblings such as twitter_community_tweets or twitter_profile, leaving when-to-use vs alternatives implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter_community_tweetsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | X community URL (x.com/i/communities/ID) or community ID — not a tweet/status URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 200). Flat 2 credits per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does disclose meaningful traits: flat 2 credits, empty results/failures not charged, and cache=true producing a free 24-hour hit with always-fresh default. It also references the 6-metric tweet return shape. It does not cover pagination, rate limits, or authentication, but enough operational behavior is surfaced for a read-only fetch tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the purpose, but the cost statement is duplicated ('Flat 2 credits. Costs 2 credits.'), adding unnecessary words. Overall it is compact and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, so the return-value description must carry more weight; 'same 6-metric tweet shape as search' is ambiguous because no equivalent 'search' tool exists among the siblings. Costs, caching, and parameters are well-covered, but the missing explicit output contract leaves a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema already describes all 3 parameters at 100% coverage, including URL platform restrictions, cache semantics, and limit range. The prose description mostly repeats these details (e.g., 'free 24h cache hit') rather than adding new parameter-level meaning, so it meets the baseline but adds little extra.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Posts in an X Community', clearly identifying the resource (community posts) and implying a retrieval action. It distinguishes from sibling tools like twitter_community and twitter_user_tweets through the 'community' scope, though it never names an alternative, so it stops short of explicit differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use statement, nor any named alternative tool. The intended context is implied by 'Posts in an X Community' and the cache/cost notes, but an agent is not told to prefer this over twitter_community or twitter_user_tweets for specific needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter_profileBInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Twitter/X profile URL or @handle, e.g. https://x.com/username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to use the 1-hour profile cache (0 credits on hit). Default false — always fetch fresh. Prefer cacheMaxAge for 1d–30d. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does disclose cost, the no-charge policy for empty results/failures, and cache freshness behavior. However, it says 'free 24h cache hit' while the input schema says '1-hour profile cache,' so the behavioral guidance is partially unreliable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the core return fields before moving to cost and caching details. The 'tipjar→contact{}' notation is cryptic, and the cache TTL error weakens the second sentence, but there is little wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple profile endpoint with no output schema, it lists enough return fields plus pricing and failure behavior to be usable. It lacks sibling routing guidance and contains an inaccurate cache duration, which are notable gaps given the large sibling tool set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already fully documented and the baseline is 3. The description adds only a redundant cache=true note that conflicts with the schema's stated TTL, so it does not meaningfully improve parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the resource clearly as X profile and enumerates specific return fields: verified status, displayName, avatar/banner, tipjar, and expanded website. It is easily distinguished from tweet, community, and transcript siblings, though it lacks an explicit action verb like 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for X profile data rather than tweets or communities, but it never states when to prefer this tool over its siblings or when not to use it. It does give caching usage guidance, but that is parameter behavior rather than route selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter_transcriptAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public tweet URL, e.g. https://x.com/user/status/ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and discloses important behavior: flat 1 credit cost, no charge on empty results or failures, and cache semantics. It does not mention auth, rate limits, or response shape, but the billing and cache transparency is valuable beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the core purpose, and each sentence adds distinct information except for a minor redundancy: 'Flat 1 credit. Costs 1 credit.' The 'timingSource none' phrase is terse but not overly padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should clarify what the transcript response looks like; 'Tweet text as a transcript' gives only a basic idea. Cost, caching, and failure behavior are covered well, but return structure and potential error conditions are not fully addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description reinforces the cache parameter with 'Pass cache=true' and 'default always fresh', but these largely duplicate the schema's existing parameter descriptions. It adds no significant new meaning for the url parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (tweet) and the output form (transcript), distinguishing it from video/audio transcript tools for other platforms. It lacks an explicit verb, and 'timingSource none (not Whisper)' is somewhat jargon-heavy, but the core purpose is understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for tweet URLs and gives practical cache/cost guidance, but it does not explicitly name alternatives like twitter_tweet_details or video_transcript, nor does it state when not to use this tool. The 'not Whisper' note hints at a distinction but is not a clear exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter_tweet_detailsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public tweet URL, e.g. https://x.com/user/status/ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the behavioral burden and does so admirably. It discloses the 1-credit cost, that empty results and failures are never charged, and the exact cache semantics (cache=true gives a free 24h hit, default is always fresh). This is rich, non-obvious operational detail well beyond a simple read action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is remarkably efficient: two sentences, front-loaded with the core deliverable, then vital cost and caching rules with zero filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read-only tool with no output schema, the description supplies the essential return fields and clarifies pricing and caching edge cases. The URL parameters are already fully documented in the schema, so the description is complete for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already fully describes both url and cache, including the 0-credit cache-hit behavior. The description restates cache behavior and adds a global credit cost, but it does not truly enhance understanding of the parameters beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns one tweet as JSON and enumerates the included fields (text, author, likes/replies/retweets/quotes, media, ISO publishedAt), which distinguishes it from sibling tools like twitter_profile or twitter_user_tweets. However, it lacks an explicit verb like 'get' or 'fetch', so it stops just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use this for a single tweet's details, not for profiles, user posts, or transcripts. It also provides practical guidance on when to pass cache=true. It does not explicitly name alternatives or exclusion conditions, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter_user_tweetsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Twitter/X profile URL or @handle. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max tweets to return (default 20, max 200). Twitter's public surface usually caps around ~100 most popular posts — not chronological latest. Flat 2 credits per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does well, disclosing the tweet cap, non-chronological behavior, flat credit cost, no charge on empty/failed results, and cache semantics. It stops short of covering potential auth requirements or rate limits, which keeps it from a top score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and the overall length is reasonable, but the description wastes a sentence by saying 'Flat 2 credits. Costs 2 credits.' — an exact duplicate. This prevents every sentence from earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although there is no output schema, the description lists the returned fields and covers the important operational details: cap, non-chronological ordering, limit behavior, pricing, empty/failure charging, and caching. It does not specify return structure or sort order beyond 'most popular,' but it is sufficient for correct use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the input schema already documents url, cache, and limit thoroughly. The description reinforces the cache and cap behavior but adds no new parameter-specific meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states precisely that the tool returns the most popular public tweets from a Twitter/X profile, with a ~100 cap and explicitly 'not chronological.' It also lists the content dimensions returned (text, author, engagement, hashtags, media), which makes its purpose and scope unambiguous relative to sibling tools like twitter_profile or twitter_tweet_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it: when you want popular public tweets rather than a chronological timeline. However, it names no alternative tools and gives no explicit when-not-to-use guidance, so an agent is left to infer which sibling to select for chronological or single-tweet needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_summarizeBInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | Video or audio file (multipart form field — use -F file=@path, not a query string). Max 200MB / 60 minutes. | |
| language | No | ISO-639-1 Whisper language hint, e.g. "en" or "tr". Omit to auto-detect. | |
| translate | No | When true, translate speech to English before summarizing. Default false. | |
| timestampGranularity | No | segment (default) or word. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description does meaningful work by disclosing cost ('1 credit/min + 1'), the no-charge guarantee on empty/failed results, and cache behavior. However, it instructs callers to 'Pass cache=true', but cache is not a property in the input schema, making part of the guidance unreliable. It does not disclose additional limitations beyond the ones already in schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with purpose, but it contains redundancy: '1 credit/min + 1' is immediately repeated as 'Costs 1 credit/min +1.' The cache guidance also adds operational value but would be cleaner if the parameter actually existed in the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a minimum-viable description for a 4-parameter, no-output-schema tool. It covers cost, failure handling, and the result surface (transcript + AI summary), but it does not describe the expected response structure, compare itself to related summarizer/transcript tools, or explain conditions under which empty/failed results occur.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage for the four real parameters is 100%, so the schema already provides parameter meaning. The description adds no value for existing parameters like language, translate, or timestampGranularity, and introduces an undefined cache=true parameter that is absent from the schema and likely to mislead an agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action and resource: 'Whisper + AI summary of an uploaded file — transcript included'. This makes the tool distinct from platform-specific siblings such as youtube_summarize, tiktok_summarize, and video_transcript by signaling it works on user-uploaded media and includes both a transcript and an AI summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit statement of when to use this tool versus alternatives like youtube_summarize, tiktok_summarize, or video_transcript. The phrase 'uploaded file' implies usage for local/media uploads rather than platform URLs, and the cache guidance gives an operational tip, but no clear when-to/not-to-use or alternative tool comparison is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_transcriptAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | Video or audio file (multipart form field — use -F file=@path, not a query string). Max 200MB / 60 minutes. | |
| language | No | ISO-639-1 Whisper language hint, e.g. "en" or "tr". Omit to auto-detect. | |
| translate | No | When true, translate speech to English (Whisper translations API). Default false. | |
| timestampGranularity | No | segment (default) or word — word-level timings when Whisper exposes them. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With zero annotations provided, the description fully carries the burden and excels: it discloses cost (1 credit/min), no-speech behavior (noSpeech=true, 0 credits), failure semantics (never charged), and a 24h cache option. This is exemplary behavioral disclosure that goes well beyond typical tool descriptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences covering cost, edge cases, and caching — every clause earns its place and it's well front-loaded with the core purpose. Deduction for the verbatim repetition of '1 credit/min' appearing twice.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description adequately covers pricing, no-speech behavior, failure charging, and caching for a 4-parameter tool. The underspecified 'cache=true' reference is the main gap, but overall complete enough for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline of 3 applies. The description adds no parameter-level detail beyond what the schema provides, and the mention of 'cache=true' could actually confuse agents since no 'cache' parameter exists in the schema — an inconsistency.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb+resource: 'Whisper transcription of an uploaded file' — the pronoun 'uploaded file' cleanly differentiates this from the many platform-specific transcript siblings (youtube_transcript, twitter_transcript, etc.). Minor deduction: no explicit naming of an alternative, though the distinction is strongly implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied through 'uploaded file' — signaling this is for local file uploads rather than fetching from a platform URL. The cache tip ('Pass cache=true') is actionable but there is no explicit when-to-use vs siblings, nor any mention of alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_audio_transcriptAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| language | No | Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. | |
| maxCredits | No | Refuse before STT when estimatedCredits would exceed this (400 cost_exceeds_max, 0 credits). The estimate is on every success and, when the extract miss is retryable, as estimatedCreditsIfRetried. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It covers pricing ('2 credits/min of audio'), failure handling ('Empty results and failures are never charged'), and cache behavior ('cache=true for a free 24h cache hit, default always fresh'). It does not describe the output format, but the operational cost and failure semantics are well disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that front-load the core purpose, then pack pricing, failure policy, and cache behavior into efficient clauses. Every sentence earns its place; no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, the description does well by covering cost, failure charging, cache behavior, and when to use the tool. It leaves the exact return format unstated, but the name and 'transcript' purpose make the output reasonably predictable. The rich input schema compensates for the remaining gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds valuable pricing context ('2 credits/min') that directly informs the maxCredits parameter, and clarifies the cache parameter's practical benefit. While cache details already exist in the schema, the credit-cost framing goes beyond the schema's own text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Speech-to-text for YouTube audio', a specific verb plus resource, and clearly differentiates itself from caption-based tools by noting it captures what was actually spoken rather than YouTube's published captions. This makes it distinguishable from sibling tools like youtube_transcript and video_transcript without needing to inspect their schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance: '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.' It clearly implies an alternative caption-based path, but it does not name the specific sibling tool, so the exclusion is slightly less direct than ideal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_channel_detailsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It does well by disclosing pricing ('Flat 1 credit'), the no-charge policy for empty results and failures, and cache behavior with a 24h free hit and default fresh fetch. It does not cover rate limits or error response details, but it provides substantial operational transparency for a read-only stats tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the key result fields, but it contains redundancy: 'Flat 1 credit' and 'Costs 1 credit' say the same thing, and the cache sentence largely repeats the schema description. Every sentence should earn its place, and two do not add unique value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description partially fills the gap by listing several return fields and billing/cache behavior. However, it does not indicate whether common channel stats such as subscriber count, total views, or channel title are included, nor does it describe error conditions beyond the no-charge note. An agent could still invoke it correctly, but the return shape is not fully specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage for both parameters: url documents accepted formats and cross-platform restrictions, and cache documents the 24h cache and 0-credit behavior. The description mostly repeats or condenses this schema information rather than adding new parameter-level meaning, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (YouTube channel) and the operation (returning stats/details), and enumerates the specific data fields returned: ISO country, createdAt, banner, SEO tags, and links. This distinguishes it from sibling tools like youtube_channel_videos or youtube_channel_playlists, which target different content types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the name and 'YouTube channel stats': an agent can infer this is for channel metadata rather than videos, playlists, shorts, or streams. However, the description does not explicitly state when to use this tool instead of those siblings, nor does it mention exclusions or preferred alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_channel_playlistsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does well: it discloses cursor pagination, per-page flat pricing, free cache-hit behavior, and that empty results/failures are not charged. It stops short of mentioning rate limits or the precise response structure, but it adds substantial operational context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key facts are front-loaded and the description is compact. The only waste is the near-redundant pair of pricing statements ('Flat 2 credits/page. Costs 2 credits.'), which slightly lowers the score from 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description names the response fields and explains cursor pagination and cache usage, so an agent can call and interpret the first page correctly. It would be more complete with an explicit mention of the nextCursor field in the response and the default/max limit, though those are covered by the input schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the description's cursor and cache hints reinforce the schema but add little new semantic meaning. The flat-credit note is operationally useful but not parameter-binding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as a channel's playlists and enumerates the returned fields (id, title, totalVideos, thumbnailUrl), which distinguishes it from generic youtube_playlist or youtube_channel_videos siblings. It lacks an explicit verb like 'get' or 'list', but the intent is unambiguous from name and text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The context is clear for retrieving playlists of a YouTube channel, and the URL parameter guidance in the schema hints at the input format. However, the description never states when to choose this tool over siblings such as youtube_playlist, youtube_playlist_videos, or youtube_channel_videos, and it gives no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_channel_shortsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it discloses cursor pagination, output row shape equivalence, exact publishedAt behavior, the 2-credit cost, that empty results and failures are never charged, and cache semantics. This goes well beyond minimal disclosure, though it stops short of mentioning rate limits or auth requirements, which would be expected for full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler: the first states the core function and row-shape guarantee, the second covers cost and failure policy, the third explains cache behavior. All information is relevant and front-loaded, with the most distinguishing detail (channel-videos row shape) placed early.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers pagination, cost, cache, failure policy, and output shape via a pointer to channel-videos. Since there is no output schema, the row-shape reference is helpful but assumes knowledge of the sibling tool's return fields. For a small-parameter list tool, this is nearly complete, though a couple of example output fields would fully close the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds context about cursor pagination and cost, but those are also reflected in the schema's parameter descriptions (cache, cursor). It does not add new parameter-level semantics beyond what the schema already provides, so the baseline holds.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource ('Channel Shorts') and key capability (cursor pagination), and references 'same row shape as channel-videos' to hint at sibling differentiation. However, it lacks an explicit verb like 'List' or 'Fetch,' relying on the tool name and noun phrase to convey action. It is clear enough to distinguish from channel-videos, streams, and playlists, but not as explicit as it could be.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The mention of 'same row shape as channel-videos' implies a relationship to that sibling tool, and 'Channel Shorts' signals when to use it, but the description never explicitly states 'use this for shorts, channel-videos for regular videos' or names exclusions. Usage context around pagination, credits, and caching is provided, so the agent gets some guidance but must infer the selection rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_channel_streamsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits when hasLiveTab is true; 0 credits when hasLiveTab is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It provides useful transparency about credit costs, zero-credit behavior when hasLiveTab is false, empty/failure charging, and cache semantics. Some cost and cache details repeat what is already in the schema, but the added 'empty results and failures are never charged' policy and the Live-tab-only scope are genuinely valuable beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three tight sentences that front-load scope first ('Channel Live tab only') and then efficiently cover cost, failure charging, and cache behavior. There is no filler, and every clause contributes decision-relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relatively simple 3-parameter tool with no output schema, the description plus the schema cover the essential selection and invocation context: which channel tab is read, accepted URL formats, limit behavior, cache behavior, and charge implications. The main gap is that the return shape is only hinted at via 'liveStatus per row', but this is minor given the otherwise rich parameter documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description mostly restates cache and credit behavior already present in the cache and limit parameter descriptions, and it adds no new meaning for the url parameter. The schema itself already documents URL formats, platform-matching constraints, default/max limit values, and credit conditions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name youtube_channel_streams combined with 'Channel Live tab only — liveStatus per row' tells an agent that the tool targets a YouTube channel's Live tab and returns per-row live status. It lacks an explicit verb like 'retrieve' or 'list', but it is specific enough to distinguish the tool from sibling endpoints such as youtube_channel_videos, youtube_channel_shorts, and youtube_channel_playlists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context through 'Channel Live tab only' and the cache/cost behavior, but it never explicitly says 'use this when you need live streams' or names alternatives. An agent has to infer when to pick this over related sibling tools like youtube_channel_videos or youtube_channel_playlists, so usage guidance is only partially explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_channel_videosAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| fast | No | Set true to use YouTube RSS for faster results with less detailed metadata. Leave false when viewCount/duration quality matters. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and discloses several meaningful traits: cursor pagination, exact publishedAt sourcing, a 2-credit cost, no charge for empty results/failures, and cache semantics. It does not describe response structure or error behavior, but the disclosed operational details go well beyond the name and schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: purpose and pagination come first, followed by cost, failure/charging policy, and caching. Every sentence carries distinct useful information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers operational essentials like cost, caching, and pagination, but with no output schema and no annotations it leaves out response shape, sort order, and explicit sibling differentiation. For a 5-parameter tool, this is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents url, fast, cache, limit, and cursor. The description adds a little extra meaning by explaining the cache=true benefit and the flat credit cost, but it does not materially deepen understanding of individual parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (YouTube channel uploads) and the pagination mechanism, and the phrase 'same as channel-shorts' hints at consistency with a sibling tool. However, it lacks an explicit verb like 'list/retrieve' and does not directly contrast with youtube_channel_streams or youtube_channel_playlists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to choose this tool over siblings such as youtube_channel_shorts, youtube_channel_streams, or youtube_channel_playlists. The description only gives operational guidance about caching and credits, not tool-selection context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_comment_repliesAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. | |
| commentId | Yes | ID of the parent (top-level) comment to fetch replies for — from the comments endpoint. Legacy alias: comment_id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full behavioral disclosure. It reveals the 2-credit cost, the no-charge guarantee for empty/failed calls, the cache behavior with cache=true, the pagination cursor pattern, and the 404 failure mode for nested IDs. This is unusually transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and efficient, with every sentence carrying distinct value: scope, failure behavior, cost, cache, and freshness. The most decision-relevant information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers cost, caching, pagination, and failure behavior, which is strong for an endpoint with no output schema or annotations. A minor gap is that the response payload beyond parentReplyCount and cursor is not described, but the tool name and schema largely compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces cursor and cache semantics and mentions parentReplyCount, but it does not add meaningful parameter meaning beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a precise resource ('Replies under a top-level comment') and a specific verb ('fetch'), making the tool's job unmistakable. It also differentiates from siblings by platform and by comment level, and the 'Nested reply ids return 404' line clarifies exactly which comments are acceptable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states the intended input is a top-level comment and warns against nested reply IDs. It does not explicitly name the sibling alternatives like youtube_comments or youtube_shorts_comments, but the scope is clear enough for an agent to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_commentsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden and does a good job: it discloses cursor pagination behavior, flat credit cost, no charge for empty/failed results, and cache semantics. The 'truncated publishedTimeApprox from the relative label' phrasing is slightly unclear, but overall behavior is well disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, then covers pagination, pricing, and cache. The redundant statements 'Flat 2 credits per call' and 'Costs 2 credits' waste a little space, but overall it is well structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description lists enough returned fields and pagination signals for an agent to understand the response shape. It also covers cost, failure behavior, and cache usage. The ambiguous 'from the relative label' phrase is a minor gap, but the tool remains usable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces cursor and cache usage but mostly restates what the schema already explains; it adds little new parameter-level meaning beyond the pricing context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves comments from a YouTube video and lists the returned fields (text, author, likes, publishedTimeApprox) plus pagination. It does not explicitly differentiate itself from close siblings like youtube_comment_replies or youtube_shorts_comments, but the resource scope is otherwise clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool ('Get comments on any YouTube video') and the URL schema reinforces platform matching, but it does not explicitly name alternatives or state when not to use it. Sibling differentiation is left mostly to the tool name and schema rather than the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_community_post_detailsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube community post URL (/post/Ugkx… or /community?lb=). Trailing whitespace is stripped. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It usefully discloses the 1-credit cost, that empty results and failures are not charged, and that cache=true provides a free 24-hour cache hit while the default is a fresh fetch. This goes well beyond basic operation, though it does not cover authentication, rate limits, or response error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely compact and front-loads the core purpose in the first clause. Every sentence adds distinct information: scope, output fields, cost, billing behavior, and cache behavior. There is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool, the description covers the main calling concerns: what is returned, cost, failure charging, and caching. However, there is no output schema, and the phrase 'list schema + commentCount trio + isEdited' is cryptic and does not clearly describe the response structure, leaving an agent uncertain about the exact return shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both url and cache parameters thoroughly. The description mostly restates the cache behavior already present in the schema ('free 24h cache hit' vs. '0 credits on hit'), adding little new semantic value for parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'One community post', which clearly identifies the tool as retrieving details for a single YouTube post rather than a list, and it names specific output fields (list schema, commentCount trio, isEdited). It distinguishes itself from the plural sibling youtube_community_posts, though it lacks an explicit verb like 'fetch' or 'retrieve' and uses some jargon such as 'commentCount trio'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The singular framing 'One community post' implies this tool is for individual post details, which contrasts with the sibling youtube_community_posts. However, it never explicitly states when to choose this tool over alternatives or when not to use it, and it does not reference any sibling by name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_community_postsCInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 1 credit per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden and does add useful context: 1-credit cost, no charge for empty results or failures, 24h cache behavior, and default fresh fetching. However, the listed response fields are unexplained and pagination semantics are only hinted at through 'cursor', leaving the behavioral picture incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but structurally muddled: the opening is a fragment with unexplained field names, and 'cursor (1 credit)' appears redundant with the following 'Costs 1 credit.' It is not cleanly front-loaded and some tokens are ambiguous, so the brevity does not translate into clear conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should clarify what the response contains, but the bare field names (channel{}, publishedTimeApprox, likeCountIsApproximate, linkedVideos[]) are left unexplained. Pagination is only hinted at via 'cursor', and there is no explicit statement of return shape, ordering, or how this endpoint relates to sibling community-post tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents url, cache, limit, and cursor in detail. The description only repeats cache and cursor concepts without adding new parameter meaning, formats, defaults, or constraints, so it earns the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool name and opening phrase make it clear this relates to YouTube community posts, and the schema's url parameter confirms a channel-level resource. However, the description contains no verb and is written as a fragment listing fields (channel{}, publishedTimeApprox, likeCountIsApproximate, linkedVideos[], cursor), so it does not explicitly say 'list community posts for a channel' or distinguish itself from youtube_community_post_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus youtube_community_post_details or youtube_channel_videos. The only usage hint is 'Pass cache=true for a free 24h cache hit', which is a parameter-level optimization rather than a selection criterion or alternative-routing instruction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_hashtag_searchAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Hashtag with or without the # (min 2 characters). One token — spaces are 400 HASHTAG_HAS_SPACES. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Returns a single window; use limit to size it. No cursor. Billed per result. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden. It reveals meaningful behaviors beyond the schema: output includes nested channel{}, viewCount may be approximate, cost is ~20 credits per result with no charge for empty results or failures, and default freshness versus cache behavior. This is strong context for a tool with zero annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, structured with clear clauses, and every phrase earns its place. It front-loads the core resource and differentiator, then packs cost, cache, and error semantics into a short paragraph with zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description provides valuable return-shape hints (nested channel{}, viewCountIsApproximate) along with cost, cache, and failure behavior. It does not enumerate every video field or sort order, but it gives enough operational detail for an agent to invoke the tool and interpret results correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces cache behavior and cost-per-result, which connects to the limit parameter, but it does not add new meaning beyond what the schema already documents for q, cache, and limit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description precisely identifies the resource: videos from youtube.com/hashtag/{name}. The explicit 'Not keyword search' sentence distinguishes this tool from youtube_search and other search siblings, so an agent can tell them apart immediately. Though no verb like 'fetch' appears, 'Videos from...' unambiguously conveys the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The definition clearly states what this tool is not ('Not keyword search'), giving an explicit exclusion that routes agents away from keyword-style queries. It also gives practical guidance on when to pass cache=true. However, it does not explicitly name the alternative tool (e.g., youtube_search) for keyword use, so the guidance is clear but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_playlistAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube playlist URL, e.g. https://youtube.com/playlist?list=ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the load. It discloses pricing ('Flat 1 credit'), billing safety ('Empty results and failures are never charged'), and cache behavior ('free 24h cache hit'). It could add error/auth details, but the key run-cost and failure-cost behaviors are well covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core scope is front-loaded and every clause earns its place, but 'Flat 1 credit. Costs 1 credit.' is a redundant repetition that could be collapsed into one phrase.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given only two simple parameters, a fully-covered schema, and no output schema, the description supplies what is missing: return fields, the crucial exclusion of videos, cost, failure-charge policy, and cache behavior. An agent has enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already defines url and cache. The description's cache sentence adds practical context but mostly restates what the cache parameter description says ('24h response cache (0 credits on hit)', 'Default false'). No meaningful new parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with a precise scope: 'Playlist metadata only' and enumerates exact fields (title, channel{}, totalVideos, thumbnailUrl). The explicit 'No videos[]' draws a clear line against the sibling youtube_playlist_videos, so an agent can select it without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly communicates when to use this tool: when only playlist metadata is needed, and 'No videos[]' rules out use when videos are required. It also gives a direct cache usage instruction. However, it never names the alternative youtube_playlist_videos explicitly, so the exclusion is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_playlist_videosAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube playlist URL, e.g. https://youtube.com/playlist?list=ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| fast | No | Set true to use YouTube RSS for faster results with less detailed metadata. Leave false when viewCount/duration quality matters. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so exceptionally well. It discloses pagination mechanics (cursor/nextCursor/hasMore), flat per-page credit cost, free 24-hour cache behavior, and that empty results and failures are never charged. This gives the agent a strong, accurate behavioral model before invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four compact sentences with no fluff. It front-loads the core purpose, then packs cost, pagination, failure billing, and caching into dense but scannable clauses. Every sentence adds behavioral or usage-relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description reasonably explains the return envelope via cursor/nextCursor/hasMore and refers to a known row shape from channel-videos. It also covers cost, cache, and failure behavior. It is slightly dependent on the agent knowing what channel-videos returns, which prevents a perfect score, but it is otherwise complete for a paginated-list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds further meaning by clarifying pagination contract (returned nextCursor value), the distinction between cache and fresh fetches, and the per-page cost tied to limit usage. These details go beyond the schema properties and help the agent reason about trade-offs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving paginated playlist contents, which aligns with the name youtube_playlist_videos. It references a specific row shape shared with channel-videos, which gives some orientation, but it does not explicitly differentiate this tool from siblings like youtube_playlist or youtube_channel_playlists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys clear usage context: paginated listing, cursor-based pagination, caching options, and costs. However, it never explicitly states when to choose this tool over alternatives such as youtube_playlist or youtube_channel_videos, nor does it provide exclusions or comparison conditions. The 'same row shape as channel-videos' hint is indirect rather than actionable routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_searchAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query or keywords (min 2 characters). | |
| type | No | all | videos | shorts | channels | playlists. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. | |
| region | No | ISO country code for localized results (default US). | |
| sortBy | No | relevance | date | views | rating (alias: popular→views). | |
| duration | No | any | under_4 | 4_20 | over_20. Applies to long-form videos (not Shorts). | |
| uploadDate | No | any | today | this_week | this_month | this_year. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It does well by explaining credit cost, that empty results and failures are never charged, cache behavior, and that the default is always fresh. This adds meaningful behavior information beyond the schema, though it slightly repeats the credit cost and does not address potential rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and mostly front-loaded, with key capabilities and credit pricing near the start. The only flaw is minor redundancy: '2 credits/page' and 'Costs 2 credits' convey the same fact twice. Otherwise, every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters, no output schema, and no annotations, the description covers the essential context: result contents, pagination, filters, cost, cache, and failure charging. It does not describe result count behavior beyond the limit parameter or elaborate on error responses, but the schema plus description are sufficient for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes all 9 parameters with 100% coverage, so the baseline is 3. The description adds context around pagination (nextCursor flow), cost per page, and cache=true semantics, but does not clarify region, sortBy, duration, or uploadDate beyond the schema. This is adequate but not exceptional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('YouTube search'), the resource, and distinctive features like cursor pagination, typed hits, ids, canonical URLs, and filters. It differentiates from many sibling tools by describing a general search that covers multiple result types, but it does not explicitly name an alternative such as youtube_hashtag_search, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the name and description: use this tool to search YouTube across videos, shorts, channels, and playlists. However, there is no explicit 'when to use vs. alternatives' guidance, and no exclusions like 'for hashtag-specific search, use youtube_hashtag_search.' This makes it adequate but not strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_shorts_commentsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden, and it does well: it discloses the 2-credit cost, no charge on empty results or failures, the 24h cache behavior, and the long-form rejection. It doesn't cover rate limits or auth, but the key operational edge cases for a read-only comments fetch are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the core scope constraint comes first, followed by cost and caching behavior. There is minor redundancy with the cache parameter's schema description, but the overall size is well controlled and no fluff is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has four parameters and no annotations or output schema, but the schema descriptions are rich and the top description adds cost, error behavior, and cache semantics. The only notable gap is the absence of any detail about the response shape beyond the cursor hint, which is not critical for selecting or invoking this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already documents defaults, max limit, pagination cursor behavior, URI format, and platform matching. The top description adds mostly cost and cache policy, which is useful but not parameter-specific. Since the schema handles parameter semantics fully, a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: getting comments on a YouTube Short, with an explicit ≤3-minute constraint. It clearly distinguishes itself from generic YouTube comment tools by rejecting long-form videos, which is relevant given siblings like youtube_comments and youtube_comment_replies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description and url parameter give clear guidance: use for Shorts only, long-form returns HTTP 422 and should go to a /v1/youtube/… endpoint instead. The cache=true hint also tells agents when to use the cheaper path. It doesn't explicitly name the exact alternative endpoint, but the routing guidance is strong enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_shorts_detailsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It transparently covers cost per request, that empty results and failures are not charged, the 422 error behavior for long-form videos, and the cache semantics. This gives an agent a strong, accurate picture of what happens when invoking the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the core purpose, and every sentence adds value: scope, schema similarity, error behavior, pricing, refund policy, and cache option. There is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only two parameters, full schema coverage, and no output schema, the description is complete enough. It addresses what the tool returns conceptually, error conditions, cost, cache behavior, and the alternative endpoint for long-form videos, covering everything an agent needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters fully. The description adds tone and cost context around cache, but it largely mirrors the schema's meaning rather than introducing new parameter semantics. The baseline of 3 is appropriate here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns YouTube Short metadata, explicitly scoped to Shorts with isShort:true, and differentiates it from the long-form video endpoint by noting HTTP 422 for non-Shorts. This makes the tool's purpose distinct and immediately understandable among many sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says long-form videos return HTTP 422 and to use the matching /v1/youtube/… endpoint instead, giving a clear when-not-to-use condition. It also provides guidance on the cache parameter, telling users when to pass cache=true for a free 24h cache hit versus the default fresh fetch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_shorts_summarizeAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| language | No | Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden and delivers: pricing ('Costs 3 credits'), failure-charge policy ('Empty results and failures are never charged'), and caching semantics ('cache=true for a free 24h cache hit (default always fresh)'). These are exactly the non-obvious behavioral traits an agent needs to predict the cost and side effects of an invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with zero filler: purpose is front-loaded, constraints and cost follow immediately, then cache guidance. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-param tool with no annotations and no output schema, the description covers purpose, input constraints, cost, failure policy, and cache behavior — all needed for correct invocation. The only gap is that the returned summary's format or verbosity is never described, which is notable given there is no output schema to fill that in.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 and the schema already fully documents url, cache, and language. The description's mention of cache=true and the credit cost is largely redundant with the schema's own '0 credits on hit' note, adding marginal but non-essential value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('AI summary of a YouTube Short') and immediately adds the defining scope constraint ('rejects long-form videos ≤3 min only'). This clearly separates it from youtube_summarize/video_summarize and other platform summarize siblings even before the schema's 422 note is read.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool (Shorts only, ≤3 min) and the schema explicitly warns 'Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead' and cautions against cross-platform URLs. However, the alternative endpoint is referenced generically rather than naming the sibling tool (youtube_summarize), so an agent must infer which sibling that is.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_shorts_transcriptAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| language | No | Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and handles it well. It discloses cost ('Costs 1 credit'), failure policy ('Empty results and failures are never charged'), caching behavior ('free 24h cache hit' vs 'default always fresh'), and the long-form rejection behavior. These are meaningful operational traits beyond what the schema reveals.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place: purpose, duration constraint, cost, failure policy, cache behavior, and default. It is front-loaded with the core action and differentiator, and contains no filler or repetition of schema fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description covers the key decision factors: what the tool does, when it fails, what it costs, how caching works, and where to route long-form videos. Combined with 100% parameter coverage, nothing essential is missing for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds extra value by explaining credit cost, cache semantics, and that cache=true yields a free hit while default is always fresh. It also reinforces the URL platform-matching constraint found in the schema, though it doesn't add new meaning for the language parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the exact purpose — 'Transcript for a YouTube Short' — and immediately adds a distinguishing constraint: 'rejects long-form videos (≤3 min only)'. This clearly separates it from general youtube_transcript and other video transcript tools without requiring schema inspection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage guidance is explicit: it tells the agent this tool only accepts Shorts under 3 minutes, and the URL parameter description directs long-form videos to 'the matching /v1/youtube/… endpoint instead'. It also warns against cross-platform URLs, leaving no ambiguity about when this tool should or shouldn't be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_summarizeAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| language | No | Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral disclosure. It transparently covers credit costs (flat 3, free on cache hit, free on failures/empty results), caption source (published captions), and cache semantics. This exceeds what a typical summary tool description provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, but contains redundancy: 'Flat 3 credits' and 'Costs 3 credits' say the same thing, and the cache sentence mostly repeats the schema's cache parameter description. Some tightening would make it more efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers source, cost, cache, and failure behavior, which is strong for a simple three-parameter tool. It lacks an explicit statement of return format, but 'GPT summary' sufficiently implies the output. No output schema exists, so a touch more return detail could make it fully complete, but nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already fully documented in the schema. The description adds tool-level pricing and cache behavior, but those largely duplicate the cache parameter's schema description rather than adding new parameter-specific meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('GPT summary from YouTube's published captions') and resource (YouTube video). It is distinct from transcript tools by saying 'summary' and 'same source as /transcript', though it does not explicitly differentiate from youtube_shorts_summarize or video_summarize.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for YouTube caption summaries and hints at the transcript alternative via 'same source as /transcript'. It gives concrete cache usage guidance, but does not explicitly state when to choose this over youtube_transcript, youtube_shorts_summarize, or video_summarize.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_transcriptAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| language | No | Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No hay anotaciones, por lo que la descripción asume toda la responsabilidad de transparencia. Aporta información útil sobre costos ('Flat 1 credit; 404 is free'), ausencia de cargos por fallos/resultados vacíos, y comportamiento de caché ('Pass cache=true for a free 24h cache hit'). Falta mencionar detalles como el formato exacto de retorno o posibles límites, pero cubre bien los aspectos clave de comportamiento.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
La descripción es breve (tres frases) y va al grano: primero define qué es, luego el costo y finalmente el comportamiento de caché. No hay relleno y cada oración contribuye a la comprensión del funcionamiento de la herramienta.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
La herramienta tiene 3 parámetros, no tiene output schema ni anotaciones. La descripción cubre el tipo de datos, el costo, el manejo de errores y el caché. Sería más completa con una nota sobre el formato de respuesta o una referencia a alternativas para otras plataformas (p.ej., video_transcript), pero en general es suficiente para un uso correcto.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
La cobertura del esquema es del 100%, por lo que el baseline es 3. La descripción no añade significado adicional a los parámetros: el parámetro 'cache' ya se explica en el schema ('0 credits on hit') y la descripción solo repite esa información. No aporta contexto nuevo sobre 'url' o 'language'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Descripción comienza con 'YouTube's published captions with timestamps — not speech-to-text', identificando claramente el recurso (subtítulos publicados de YouTube) y el formato (con marcas de tiempo). Diferencia de speech-to-text, aunque no distingue explícitamente de hermanos como youtube_shorts_transcript o video_transcript.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
La frase 'not speech-to-text' proporciona una indicación de cuándo no usar esta herramienta, sugiriendo que otras herramientas (como youtube_audio_transcript) son para audios transcritos. Sin embargo, no se nombran alternativas explícitas ni se dan reglas claras de selección entre los múltiples transcriptores de la lista de herramientas hermanas.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_trending_shortsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Optional topic seed for the Shorts recommendation sequence. Omit (or pass trending/shorts) for the default reel feed — not a keyword search. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 100). Returns a single window; use limit to size it. No cursor. Flat 2 credits per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it discloses the 2-credit cost, free 24h caching behavior, default fresh fetch, no-cursor fixed-window design, and that empty results/failures are not charged. It doesn't describe rate limits or the exact failure mode, but the most material behaviors are transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the core purpose, and every sentence adds distinct value: scope, pagination model, pricing, failure billing, and caching. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Operational context is strong—pricing, cache, failures, and pagination are covered—but with no output schema, the description does not explain what the returned recommendation items look like (e.g., video IDs, titles, URLs). That is a meaningful gap for an agent deciding whether the result satisfies a request.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description mostly restates information already in the schema (cache behavior, no cursor, cost). It adds a little color around 'topic seed' but does not materially improve on the schema's own parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as "YouTube Shorts recommendation sequence" and clarifies a key distinction: it is not a global chart and not a keyword search. This is specific enough to separate it from siblings like youtube_channel_shorts or youtube_search, though it lacks an explicit verb like 'returns' or 'fetches'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful context for when to use the tool: it serves a fixed recommendation window, not a global chart, and the q parameter is a topic seed, not a keyword search. It doesn't name alternative sibling tools explicitly, but the exclusions are clear enough to guide an agent toward appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_video_detailsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it does an excellent job: it discloses degraded-response behavior with retry guidance, credit costs, no-charge policy for empty/failed results, and cache semantics. This goes well beyond a basic one-line tool description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place: purpose, degraded behavior, credit cost, no-charge policy, and cache usage. It is tight, front-loaded, and avoids boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema, the description covers the key operational contexts: when to retry, cost implications, and caching trade-offs. It does not enumerate returned metadata/stats fields beyond degraded/degradedReason, but the high-level 'metadata + stats' plus the explicit operational details are sufficient for the low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The in-schema url and cache descriptions are extensive and self-sufficient; the tool description mostly restates cache behavior without adding materially new parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Describes the tool clearly as 'YouTube video metadata + stats,' which distinguishes it from YouTube sibling tools focused on transcripts, summaries, or audio. The impied verb is 'fetch details,' so the purpose is understandable, but it does not explicitly name the siblings it is not or define an exclusion boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: if an agent needs YouTube video metadata and stats, this is the tool. It also gives operational guidance such as retrying when degraded is true and using cache=true for free cached results. However, it does not explicitly state when to choose this over sibling tools like youtube_video_transcript or youtube_video_summarize.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_video_sponsorsBInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| minVotes | No | Minimum SponsorBlock votes to keep a segment. Default 0 (drops community-rejected votes < 0). | |
| categories | No | Comma-separated categories. Default sponsor,selfpromo,interaction. Also intro,outro,preview,music_offtopic,poi_highlight,filler. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose meaningful behavior: it is free, empty/failed calls are not charged, and cache=true gives a 24-hour hit while the default is always-fresh. It does not cover response format, pagination, or any output semantics, but the cost and freshness model is a genuine beyond-schema contribution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the core resource before behavioral details. Some redundancy exists ('free...', 'Costs 0 credits', 'free 24h cache hit') and the first fragment is not a complete sentence, but it remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no annotations and no output schema, the description gives enough to invoke it but not enough to deeply interpret results. It omits what a SponsorBlock segment looks like and any guidance on limitations or licensing implications. The cost/cache focus is useful, but overall context is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the description mostly repeats cache and credit behavior already present in the schema. It adds no new meaning for url, minVotes, or categories. This is acceptable but not value-adding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (SponsorBlock community segments for a YouTube video) and the unique domain, making the purpose fairly clear from name plus content. However, it lacks a concrete verb such as 'retrieve' or 'list' and does nothing to distinguish itself from the many youtube_* siblings. The url parameter and category names help, but the purpose is implied rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to prefer this tool over alternatives such as youtube_video_details, video_summarize, or youtube_transcript; it only discusses pricing and caching. The schema's URL warning is a constraint, not a selection guideline. An agent is left to infer when SponsorBlock segments are needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
12 tool updates
- Changed
facebook_marketplace_search4 fields changed- changed
Input schema / properties / daysSinceListed / descriptionPrevious value: -"1 (24h), 7, or 30."New value: +"Facebook calendar-day recency: 1 = since the start of yesterday (not a rolling 24 hours), 7, or 30." - changed
Input schema / properties / location / descriptionPrevious value: -"Search-origin city or place name, e.g. 'Austin, TX' (query echo — not each listing's city)."New value: +"Alias of searchLocation. Prefer searchLocation. Either one is required." - added
Input schema / properties / searchLocationAdded value: +{ + "description": "Search-origin city or place name, e.g. 'Austin, TX'. Required — there is no default city. Echoed on the envelope and inside filters. Not listings[].location.", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "q", - "location" -]New value: +[ + "q", + "searchLocation" +]
- Changed
instagram_comments1 field changed- changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor from the previous nextCursor ({mediaPk}:{minId}). Omit on the first page. hasMore is true only when nextCursor is present."New value: +"Pagination cursor from the previous nextCursor ({mediaPk}:{minId}). Omit on the first page. hasMore is true when nextCursor is set, or when more exist and cannot be paged (nextCursor null + truncatedReason)."
- Changed
instagram_hashtag_search1 field changed- changed
Input schema / properties / q / descriptionPrevious value: -"Hashtag without the # (min 2 characters)."New value: +"Hashtag without the # (min 2 characters). One token — spaces are 400 HASHTAG_HAS_SPACES."
- Changed
instagram_profile_search1 field changed- changed
Input schema / properties / q / descriptionPrevious value: -"Account name, @handle, or profile URL to resolve (min 2 characters). Not a niche keyword search."New value: +"Account name, @handle, or profile URL to resolve (min 2 characters). A leading _ is stripped. Not a niche keyword search."
- Changed
instagram_reels_search1 field changed- changed
Input schema / properties / q / descriptionPrevious value: -"Hashtag (without #) or keyword (min 2 characters)."New value: +"Hashtag without the # (min 2 characters). One token — spaces are 400 HASHTAG_HAS_SPACES."
- Changed
threads_search1 field changed- added
Input schema / properties / orderByAdded value: +{ + "description": "Sort the fetched page: relevant (default, Meta Top / similar to query), post_dated (newest publishedAt first), or engagement (likes+replies+reposts+quotes+views). Unknown values are 400.", + "type": "string" +}
- Changed
tiktok_ad_library_top_ads1 field changed- changed
Input schema / properties / match / descriptionPrevious value: -"Keyword token mode: \"any\" (default, OR) or \"all\" (AND). Zero literal hits → empty ads[] (never an unfiltered soft list)."New value: +"Keyword token mode: \"any\" (default, OR) or \"all\" (AND). Zero whole-word hits still return TikTok's keyword-ranked page as matchBasis=ranked (literalMatches=0)."
- Changed
tiktok_popular_songs1 field changed- changed
Input schema / properties / page / descriptionPrevious value: -"Page number (default 1)."New value: +"Creative Center page (1–20). Echoed on a native chart 200 with hasMore. Omitted on the extended path — that list is one page."
- Changed
tiktok_search_by_hashtag1 field changed- changed
Input schema / properties / q / descriptionPrevious value: -"Hashtag for the /tag/{name} challenge feed, with or without # (min 2). Not a keyword query."New value: +"Single hashtag token for the /tag/{name} challenge feed, with or without # (min 2). Spaces are 400 — use /v1/tiktok/search/top for a keyword query."
- Changed
tiktok_shop_product_details2 fields changed- changed
Input schema / properties / region / descriptionPrevious value: -"Two-letter market region for the secondary fetch path (default US). Primary SSR uses the product URL's market; empty/partial non-US results are often a TikTok exposure limit."New value: +"Two-letter market region (default US). A region= or oec_region= query on the product URL wins over this default so a BR share URL is not fetched as US. Echoed as data.region." - changed
Input schema / properties / url / descriptionPrevious value: -"TikTok Shop product URL, e.g. https://www.tiktok.com/shop/pdp/1731098552908944370. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"TikTok Shop product URL, e.g. https://shop.tiktok.com/view/product/1731410956394792439?region=BR or https://www.tiktok.com/shop/pdp/1731098552908944370. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
truth_social_user_posts1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max posts to return (default 20, max 80). Capped at 80 because Truth Social's statuses page is ~40 items — use nextCursor for more pages. Flat 2 credits per call. Response `source` is native or extended."New value: +"Max posts to return (default 20, max 80). Truth Social's statuses page is ~20 items — a full page returns nextCursor. On the extended path hasMore can be true with nextCursor null (truncatedReason=single_page_only). Flat 2 credits."
- Changed
youtube_hashtag_search1 field changed- changed
Input schema / properties / q / descriptionPrevious value: -"Hashtag with or without the # (min 2 characters)."New value: +"Hashtag with or without the # (min 2 characters). One token — spaces are 400 HASHTAG_HAS_SPACES."
169 tool updates
- Changed
amazon_shop_page1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
analytics_compare1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
analytics_post1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
bluesky_post_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
bluesky_profile2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control." - changed
Input schema / properties / cacheMaxAge / descriptionPrevious value: -"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."New value: +"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL."
- Changed
bluesky_user_posts1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
facebook_ad_library_ad_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
facebook_ad_library_ad_transcript1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
facebook_ad_library_company_ads1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
facebook_ad_library_search1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
facebook_ad_library_search_companies1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
facebook_comment_replies1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
facebook_comments1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
facebook_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
facebook_event_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
facebook_event_search1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
facebook_group_posts1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
facebook_marketplace_item1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
facebook_marketplace_location_search1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
facebook_marketplace_search1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
facebook_page_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
facebook_profile_events1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
facebook_profile_photos1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
facebook_profile_posts1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
facebook_profile_reels1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
facebook_summarize1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
github_activity1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
github_contributions1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
github_followers1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
github_following1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
github_pull_requests1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
github_repositories1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
github_repository1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
github_trending_developers1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
github_trending_repositories1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
github_user1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
google_ad_library_ad_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
google_ad_library_advertiser_search1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
google_ad_library_company_ads1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
instagram_basic_profile2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control." - changed
Input schema / properties / cacheMaxAge / descriptionPrevious value: -"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."New value: +"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL."
- Changed
instagram_channel_details2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control." - changed
Input schema / properties / cacheMaxAge / descriptionPrevious value: -"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."New value: +"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL."
- Changed
instagram_channel_posts1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
instagram_channel_reels1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
instagram_comments1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
instagram_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
instagram_embed1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
instagram_hashtag_search1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
instagram_highlights1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
instagram_highlights_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
instagram_reels_by_audio_id1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
instagram_reels_search1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
instagram_summarize1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
instagram_tagged_posts1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
instagram_transcript1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
kick_clip2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control." - changed
Input schema / properties / cacheMaxAge / descriptionPrevious value: -"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."New value: +"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL."
- Changed
komi_page2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control." - changed
Input schema / properties / cacheMaxAge / descriptionPrevious value: -"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."New value: +"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL."
- Changed
kwai_post1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
kwai_profile1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
kwai_user_posts1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
linkbio_page2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control." - changed
Input schema / properties / cacheMaxAge / descriptionPrevious value: -"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."New value: +"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL."
- Changed
linkedin_ad_library_ad_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
linkedin_ad_library_search_ads1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
linkedin_company1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
linkedin_company_posts1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
linkedin_post_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
linkedin_post_transcript1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
linkedin_profile1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
linkedin_search_posts2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh." - changed
Input schema / properties / sort / descriptionPrevious value: -"relevance or date. Default relevance."New value: +"relevance (default, search-engine rank — dates can span years) or date (recency)."
- Changed
linkme_profile2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control." - changed
Input schema / properties / cacheMaxAge / descriptionPrevious value: -"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."New value: +"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL."
- Changed
linktree_page2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control." - changed
Input schema / properties / cacheMaxAge / descriptionPrevious value: -"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."New value: +"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL."
- Changed
pillar_page2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control." - changed
Input schema / properties / cacheMaxAge / descriptionPrevious value: -"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."New value: +"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL."
- Changed
pinterest_board1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
pinterest_pin_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
pinterest_search1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
pinterest_user_boards1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
pinterest_user_pins1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
reddit_post_comments1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
reddit_post_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
reddit_post_transcript1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
reddit_search1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
reddit_subreddit_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
reddit_subreddit_posts1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
reddit_subreddit_search1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
rumble_channel_videos1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
rumble_comments1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
rumble_search1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
rumble_video_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
rumble_video_transcript1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
snapchat_user_profile1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
soundcloud_artist2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control." - changed
Input schema / properties / cacheMaxAge / descriptionPrevious value: -"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."New value: +"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL."
- Changed
soundcloud_artist_tracks1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
soundcloud_track2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control." - changed
Input schema / properties / cacheMaxAge / descriptionPrevious value: -"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."New value: +"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL."
- Changed
spotify_album1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
spotify_artist1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
spotify_podcast1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
spotify_podcast_episodes1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
spotify_search1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
spotify_track1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
threads_post_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
threads_profile1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
threads_search1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
threads_search_users1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
threads_user_posts1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_ad_library_ad_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_ad_library_search1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_ad_library_top_ads1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_audience_demographics1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_channel_details2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control." - changed
Input schema / properties / cacheMaxAge / descriptionPrevious value: -"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."New value: +"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL."
- Changed
tiktok_channel_posts1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_comment_replies1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_comments1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_live1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_live_info1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_music_posts1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_popular_creators2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control." - changed
Input schema / properties / cacheMaxAge / descriptionPrevious value: -"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."New value: +"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL."
- Changed
tiktok_popular_hashtags1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_popular_songs1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_profile_region2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 7d response cache (0 credits on hit). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control." - added
Input schema / properties / cacheMaxAgeAdded value: +{ + "description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.", + "type": "string" +}
- Changed
tiktok_search_by_hashtag1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_search_suggestions1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_search_users1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_shop_product_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_shop_product_reviews1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_shop_products1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_shop_search1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_shop_user_showcase1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_song_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_summarize1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_top_search1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_trending_feed1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_user_followers1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_user_followings1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
tiktok_video_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
truth_social_post1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
truth_social_profile1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
truth_social_user_posts1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
twitch_clip2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control." - changed
Input schema / properties / cacheMaxAge / descriptionPrevious value: -"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."New value: +"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL."
- Changed
twitch_profile2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control." - changed
Input schema / properties / cacheMaxAge / descriptionPrevious value: -"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."New value: +"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL."
- Changed
twitch_user_schedule1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
twitch_user_videos1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
twitter_community1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
twitter_community_tweets1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
twitter_profile2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to use the 1-hour profile cache (0 credits on hit). Default false — always fetch fresh. Prefer cacheMaxAge for 1d–30d. Envelope includes cached + cachedAt on hits."New value: +"Set true to use the 1-hour profile cache (0 credits on hit). Default false — always fetch fresh. Prefer cacheMaxAge for 1d–30d." - changed
Input schema / properties / cacheMaxAge / descriptionPrevious value: -"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt."New value: +"Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL."
- Changed
twitter_transcript1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
twitter_tweet_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
twitter_user_tweets1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
youtube_audio_transcript1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
youtube_channel_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
youtube_channel_playlists1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
youtube_channel_shorts1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
youtube_channel_streams1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
youtube_channel_videos1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
youtube_comment_replies1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
youtube_comments1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
youtube_community_post_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
youtube_community_posts1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
youtube_hashtag_search1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
youtube_playlist1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
youtube_playlist_videos1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
youtube_search1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
youtube_shorts_comments1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
youtube_shorts_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
youtube_shorts_summarize1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
youtube_shorts_transcript1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
youtube_summarize1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
youtube_transcript1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
youtube_trending_shorts1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
youtube_video_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
- Changed
youtube_video_sponsors1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh."
1 tool update
- Changed
tiktok_music_posts1 field changed- changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response."New value: +"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. hasMore is true only when nextCursor is present."
1 tool update
- Changed
instagram_comments1 field changed- added
Input schema / properties / cursorAdded value: +{ + "description": "Pagination cursor from the previous nextCursor ({mediaPk}:{minId}). Omit on the first page. hasMore is true only when nextCursor is present.", + "type": "string" +}
12 tool updates
- Changed
instagram_hashtag_search1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return (default 20, max 200). Flat 2 credits per call."New value: +"Max items to return (default 20, max 50). Flat 2 credits per call."
- Changed
instagram_reels_search1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return (default 20, max 200). Flat 2 credits per call."New value: +"Max items to return (default 20, max 50). Flat 2 credits per call."
- Changed
instagram_trending_reels2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Default true (cache-first): serve the per-country response cache when present (TTL 4 hours). Every successful call costs 2 credits — including cache hits. Set false to force a live scrape (typically under 20s, hard-capped at 110s); the fresh result still refreshes the cache."New value: +"Default true (cache-first): serve the per-country response cache when present (TTL 4 hours). Every successful call costs 2 credits — including cache hits. Set false to force a live scrape (measured miss 45–75s, hard-capped at 110s). Raise client timeouts above 90s — n8n/Make defaults will fail a miss. The fresh result still refreshes the cache." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return (default 10, max 200). Flat 2 credits per call."New value: +"Max items to return (default 10, max 50). Flat 2 credits per call."
- Changed
kick_clip1 field changed- changed
Input schema / properties / url / descriptionPrevious value: -"Kick clip URL for one enriched clip (e.g. https://kick.com/{channel}/clips/clip_…), or channel URL/@username for recent clips[]. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Kick clip URL for one enriched clip (e.g. https://kick.com/{channel}/clips/clip_…), or channel input for recent clips[]: kick.com/{name}, kick.com/@{name}, @{name}, or {name}. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
tiktok_channel_details1 field changed- changed
Input schema / properties / raw / descriptionPrevious value: -"Set true to include TikTok's upstream user/statsV2 blob under raw (privacy ints, profileTab, …). Default false — curated fields only."New value: +"Set true to include TikTok's upstream user/statsV2 blob under raw, plus createTimeUnix (unix twin of createTime). Default false — curated fields only."
- Changed
tiktok_comment_replies1 field changed- changed
Input schema / properties / url / descriptionPrevious value: -"Public TikTok video URL, e.g. https://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
tiktok_comments1 field changed- changed
Input schema / properties / url / descriptionPrevious value: -"Public TikTok video URL, e.g. https://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
tiktok_popular_hashtags1 field changed- changed
Input schema / properties / query / descriptionPrevious value: -"Optional niche seed for legacy co-occurrence + challenge/detail enrich. Omit, or pass trending, to use the Creative Center chart. A chart miss is 502 — trending is not treated as a niche seed."New value: +"Optional niche seed for co-occurrence + challenge/detail enrich. Omit, or pass trending, to try the Creative Center chart (25s); a miss falls through to related tags for fyp (source=niche_fallback) and opens a service-wide chart circuit. Later default calls skip the chart (chartStatus=skipped_circuit_open) until the cooldown expires. Any other value skips the chart."
- Changed
tiktok_summarize1 field changed- changed
Input schema / properties / url / descriptionPrevious value: -"Public TikTok video URL, e.g. https://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
tiktok_transcript1 field changed- changed
Input schema / properties / url / descriptionPrevious value: -"Public TikTok video URL, e.g. https://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
tiktok_video_details1 field changed- changed
Input schema / properties / url / descriptionPrevious value: -"Public TikTok video URL, e.g. https://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
youtube_audio_transcript1 field changed- changed
Input schema / properties / maxCredits / descriptionPrevious value: -"Refuse before STT when estimatedCredits would exceed this (400 cost_exceeds_max, 0 credits)."New value: +"Refuse before STT when estimatedCredits would exceed this (400 cost_exceeds_max, 0 credits). The estimate is on every success and, when the extract miss is retryable, as estimatedCreditsIfRetried."
1 tool update
- Changed
threads_user_posts1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return (default 20, max 100). Threads only exposes the last ~20–30 public posts on this surface — asking for 100 will not return 100. Flat 2 credits on the native path; Apify fallback ~0.7/post (min 2)."New value: +"Max items to return (default 20, max 100). Threads exposes only a short window of recent public posts on this surface. limit caps what you receive; it cannot increase what Threads returns. Flat 2 credits on every successful path (native and extended)."
177 tool updates
- Changed
account_daily_usage1 field changed- changed
Input schema / properties / days / descriptionPrevious value: -"Number of days to include. Default 30, max 365."New value: +"Number of days to include (default 30, max 365)."
- Changed
account_most_used_routes2 fields changed- changed
Input schema / properties / days / descriptionPrevious value: -"Number of days to include. Default 30, max 365."New value: +"Number of days to include (default 30, max 365)." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max rows to return. Default 20, max 100. Free — does not consume credits."New value: +"Max rows to return (default 20, max 100). Free — does not consume credits."
- Changed
account_request_history6 fields changed- added
Input schema / properties / cursorAdded value: +{ + "description": "Pagination cursor from nextCursor (createdAt of the last row). Leave empty for the first page.", + "type": "string" +} - changed
Input schema / properties / endpoint / descriptionPrevious value: -"Exact Captapi path, e.g. /v1/instagram/basic-profile."New value: +"Exact Captapi path filter, e.g. /v1/instagram/basic-profile." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max rows to return. Default 50, max 500. Free — does not consume credits."New value: +"Max rows to return (default 50, max 500). Free — does not consume credits." - changed
Input schema / properties / since / descriptionPrevious value: -"Inclusive createdAt lower bound (ISO date or datetime)."New value: +"Inclusive lower bound on createdAt (ISO date or datetime)." - changed
Input schema / properties / statusCode / descriptionPrevious value: -"HTTP status filter, e.g. 500."New value: +"Filter by HTTP status code (e.g. 500)." - changed
Input schema / properties / until / descriptionPrevious value: -"Exclusive createdAt upper bound (ISO date or datetime)."New value: +"Exclusive upper bound on createdAt (ISO date or datetime)."
- Changed
amazon_shop_page3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max products to include (default 20, max 200; 0 = seller metadata only). Billed per storefront page — 1 credit per ~16 products." - changed
Input schema / properties / url / descriptionPrevious value: -"Amazon seller storefront URL (/sp?seller=… or /s?me=…) or raw seller ID. Not influencer /shop/<handle> pages. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Amazon seller storefront URL (/sp?seller=… or /s?me=…) or raw seller ID. Not influencer /shop/<handle> pages. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
analytics_compare2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / urls / descriptionPrevious value: -"Comma-separated URLs (up to 10), any mix of the 11 Post Analytics platforms."New value: +"Comma-separated post/video/reel URLs (up to 10), any mix of the same 11 platforms as Post Analytics. Example: a TikTok URL and a YouTube URL in one call."
- Changed
analytics_post2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Post/video/reel URL from YouTube, TikTok, Instagram, Facebook, X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, or Rumble. Platform auto-detected — cross-platform URLs are expected. Not Kwai/Twitch/Spotify/Snapchat."New value: +"Public post/video/reel URL from one of 11 platforms: YouTube, TikTok, Instagram, Facebook, X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, or Rumble. Platform is auto-detected — cross-platform URLs are expected here (unlike single-platform endpoints). Not in scope: Kwai, Twitch, Spotify, Snapchat, and other Captapi platforms."
- Changed
bluesky_post_details3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / depthAdded value: +{ + "description": "Reply nesting levels under the post (0 = post only with no replies[], default 1, max 6). Maps to Bluesky getPostThread depth.", + "minimum": 1, + "type": "integer" +} - changed
Input schema / properties / url / descriptionPrevious value: -"Bluesky post URL, e.g. https://bsky.app/profile/handle/post/RKEY. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Bluesky post URL, e.g. https://bsky.app/profile/handle/post/RKEY. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
bluesky_profile3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / cacheMaxAgeAdded value: +{ + "description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt.", + "type": "string" +} - changed
Input schema / properties / url / descriptionPrevious value: -"Bluesky profile URL, @handle, or handle, e.g. bsky.app/profile/handle. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Bluesky profile URL, @handle, or handle, e.g. bsky.app/profile/handle. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
bluesky_user_posts6 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response."New value: +"Opaque pagination cursor from the previous nextCursor. Leave empty for the first page. Do not invent a cursor from publishedAt — the feed is ordered by feed time (reposts sort by repost time)." - added
Input schema / properties / filterAdded value: +{ + "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.", + "type": "string" +} - added
Input schema / properties / includeRepostsAdded value: +{ + "description": "When false, omit repost rows (reasonRepost). Default true — reposts are included and marked with isRepost / repostedBy / repostedAt.", + "type": "boolean" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 25, max 100. Billed per result."New value: +"Max items to return (default 25, max 100). Billed per result." - changed
Input schema / properties / url / descriptionPrevious value: -"Bluesky profile URL, @handle, or handle, e.g. bsky.app/profile/handle. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Bluesky profile URL, @handle, or handle, e.g. https://bsky.app/profile/handle.bsky.social. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
facebook_ad_library_ad_details2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Meta Ad Library ad URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Meta Ad Library ad URL or ad ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
facebook_ad_library_ad_transcript2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Meta Ad Library ad URL or ad ID. Returns written copy, not a speech transcript. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Meta Ad Library ad URL or ad ID. Returns the ad's written copy — headline, body text, CTA and landing URL. Meta does not expose ad audio, so this is not a speech transcript. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
facebook_ad_library_company_ads4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / country / descriptionPrevious value: -"ISO country code. Default US."New value: +"Two-letter ISO country code. Default US." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 20, max 200). Flat 2 credits per call on the native path; the extended fallback bills per returned ad." - changed
Input schema / properties / url / descriptionPrevious value: -"Facebook page URL or Meta Ad Library URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"pageId from /search-companies (preferred), libraryUrl, vanity page URL (facebook.com/nike/), or Ad Library URL with view_all_page_id. Do not pass profileId from facebook.com/{digits}/ when it differs from pageId. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
facebook_ad_library_search13 fields changed- changed
Input schema / properties / ad_type / descriptionPrevious value: -"all (default) or political_and_issue_ads."New value: +"all (default) or political_and_issue_ads. Spend/impressions are typically only filled for political/issue ads." - changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / country / descriptionPrevious value: -"ISO country code. Default US."New value: +"Two-letter ISO country code (e.g. US, GB, DE). Default US." - added
Input schema / properties / cursorAdded value: +{ + "description": "Pagination cursor from a previous nextCursor. Pages through the current Meta HTML result batch.", + "type": "string" +} - changed
Input schema / properties / end_date / descriptionPrevious value: -"Delivery start on/before YYYY-MM-DD."New value: +"Only ads with delivery start on/before this date (YYYY-MM-DD)." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 20, max 200). Flat 2 credits per call." - changed
Input schema / properties / media_type / descriptionPrevious value: -"ALL (default), IMAGE, VIDEO, MEME, IMAGE_AND_MEME, or NONE."New value: +"Creative filter: ALL (default), IMAGE, VIDEO, MEME, IMAGE_AND_MEME, or NONE." - added
Input schema / properties / platformsAdded value: +{ + "description": "Comma-separated publisher platforms to keep: FACEBOOK, INSTAGRAM, MESSENGER, AUDIENCE_NETWORK, THREADS.", + "type": "string" +} - changed
Input schema / properties / q / descriptionPrevious value: -"Search query or keywords (min 2 chars)."New value: +"Keyword, brand, or advertiser to search Meta Ad Library (min 2 characters)." - changed
Input schema / properties / sort_by / descriptionPrevious value: -"total_impressions or relevancy_monthly_grouped."New value: +"Meta sort mode: total_impressions or relevancy_monthly_grouped." - changed
Input schema / properties / start_date / descriptionPrevious value: -"Delivery start on/after YYYY-MM-DD."New value: +"Only ads with delivery start on/after this date (YYYY-MM-DD)." - changed
Input schema / properties / status / descriptionPrevious value: -"ACTIVE (default), INACTIVE, or ALL."New value: +"Ad delivery status: ACTIVE (default), INACTIVE, or ALL. Use ACTIVE for \"what are they running now?\"." - added
Input schema / properties / trimAdded value: +{ + "description": "When true, omit cards/images/videos typed arrays (media[] stays). Captapi payloads are already lean vs Meta nested snapshots.", + "type": "boolean" +}
- Changed
facebook_ad_library_search_companies4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / country / descriptionPrevious value: -"ISO country code. Default US."New value: +"Two-letter ISO country code. Default US." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 20, max 200). Flat 2 credits per call." - changed
Input schema / properties / q / descriptionPrevious value: -"Search query or keywords (min 2 chars)."New value: +"Company or brand name to search for (min 2 characters). Name-matched — off-brand pages are dropped."
- Changed
facebook_comment_replies4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / commentId / descriptionPrevious value: -"ID of the parent (top-level) comment to fetch replies for (from the comments endpoint). Legacy alias: comment_id."New value: +"ID of the parent (top-level) comment to fetch replies for — from the comments endpoint. Legacy alias: comment_id." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 50, max 500. Flat 2 credits per call."New value: +"Max items to return (default 50, max 500). Flat 2 credits per call." - changed
Input schema / properties / url / descriptionPrevious value: -"Facebook post URL the comment belongs to. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Facebook post URL the comment belongs to. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
facebook_comments4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / feedbackId / descriptionPrevious value: -"Post feedback id from /v1/facebook/details. Prefer when you already have it."New value: +"Post feedback id from /v1/facebook/details (base64 feedback:POSTID). Prefer when you already have it — also accepts feedback_id." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 50, max 500. Flat 2 credits per call."New value: +"Max items to return (default 50, max 500). Flat 2 credits per call." - changed
Input schema / properties / url / descriptionPrevious value: -"Facebook post or Reel URL. Omit when feedbackId is set."New value: +"Facebook post or Reel URL. Omit when feedbackId is set. The URL platform must match this endpoint's platform."
- Changed
facebook_details2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Public Facebook video or post URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public Facebook video or post URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
facebook_event_details2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Facebook event URL, e.g. https://facebook.com/events/ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Facebook event URL, e.g. https://facebook.com/events/ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
facebook_event_search4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / from / descriptionPrevious value: -"Inclusive local start date filter YYYY-MM-DD."New value: +"Inclusive local start date filter YYYY-MM-DD. Use for upcoming-only windows — Facebook/SERP may return past events." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return (default 20, max 200). Billed 2 credits flat on the native path; ~2 credits per returned event on the Apify fallback — check `source` in the response."New value: +"Max items to return (default 20, max 200). Flat 2 credits per call. Response `source` is native or extended (fetch path — not a price change)." - changed
Input schema / properties / upcoming / descriptionPrevious value: -"When true and from is omitted, sets from to today's UTC date."New value: +"When true and from is omitted, sets from to today's UTC date so past events are dropped."
- Changed
facebook_group_posts4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Flat 2 credits per call."New value: +"Max items to return (default 20, max 200). Flat 2 credits per call." - changed
Input schema / properties / sortBy / descriptionPrevious value: -"TOP_POSTS | RECENT_ACTIVITY | CHRONOLOGICAL (default) | CHRONOLOGICAL_LISTINGS."New value: +"TOP_POSTS | RECENT_ACTIVITY | CHRONOLOGICAL (default) | CHRONOLOGICAL_LISTINGS. Maps to Facebook sorting_setting." - changed
Input schema / properties / url / descriptionPrevious value: -"Public Facebook group URL, e.g. https://facebook.com/groups/ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public Facebook group URL, e.g. https://facebook.com/groups/ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
facebook_marketplace_item2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Facebook Marketplace item URL, e.g. https://www.facebook.com/marketplace/item/2467979733629080/ The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Facebook Marketplace item URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
facebook_marketplace_location_search3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 10, max 50. Flat 2 credits per call."New value: +"Max items to return (default 10, max 50). Flat 2 credits per call." - changed
Input schema / properties / q / descriptionPrevious value: -"City/place query. Bare 'Austin' may return TX/MN/IN; include a state for a single hit."New value: +"City/place query. Bare names like 'Austin' may return multiple candidates (TX/MN/IN); include a state for a single hit (e.g. 'Austin, TX')."
- Changed
facebook_marketplace_search10 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / condition / descriptionPrevious value: -"new, like_new, good, fair."New value: +"new, like_new, good, fair (comma-separated ok)." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor from a previous nextCursor."New value: +"Opaque pagination cursor from a previous nextCursor." - changed
Input schema / properties / deliveryMethod / descriptionPrevious value: -"local_pickup | shipping | all."New value: +"local_pickup | shipping | all. Shipped listings can appear nationwide outside radiusMiles — use local_pickup for nearby-only; rows expose isLocal / shipsOutsideRadius." - changed
Input schema / properties / details / descriptionPrevious value: -"Set true for description/condition/coordinates/full gallery (2 + 2 credits per listing). Cover photo is included even when false."New value: +"When true, adds description/condition/coordinates/full photo gallery/seller/distanceMiles — billed as 2 + 2 credits per listing. Default false → flat 2 credits; cover photo is still in image." - changed
Input schema / properties / details / typePrevious value: -"string"New value: +"boolean" - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Flat 2 credits per call."New value: +"How many listings to return (1–200). Flat 2 credits when details=false; details=true billed as 2 + 2 per listing." - changed
Input schema / properties / location / descriptionPrevious value: -"City or place name, e.g. 'Austin, TX'."New value: +"Search-origin city or place name, e.g. 'Austin, TX' (query echo — not each listing's city)." - changed
Input schema / properties / q / descriptionPrevious value: -"Product or keyword to search for (min 2 chars)."New value: +"Product or keyword to search Facebook Marketplace for." - changed
Input schema / properties / radiusMiles / descriptionPrevious value: -"Radius in miles (1–500 discrete values)."New value: +"Radius in miles: 1,2,5,10,20,40,60,80,100,250,500. Does not exclude nationwide shipped inventory."
- Changed
facebook_page_details2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Facebook page URL, e.g. https://facebook.com/PageName. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Facebook page URL, @handle, or page name, e.g. https://facebook.com/PageName. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
facebook_profile_events3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return (default 20, max 200). Billed 2 credits flat on the native path; ~2 credits per returned event on the Apify fallback — check `source` in the response."New value: +"Max items to return (default 20, max 200). Flat 2 credits per call. Response `source` is native or extended (fetch path — not a price change)." - changed
Input schema / properties / url / descriptionPrevious value: -"Facebook profile or page URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Facebook profile/page URL, @handle, or page name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
facebook_profile_photos3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 20, max 200). The public /photos grid is a single SSR batch (often ~8) — retrievableCount is that batch, not a promise Facebook will fill limit. Flat 2 credits per call." - changed
Input schema / properties / url / descriptionPrevious value: -"Facebook profile or page URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Facebook profile/page URL, @handle, or page name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
facebook_profile_posts3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 4, max 4). The logged-out listing hop is ~23–29s typical, hard-capped at 40s. Each hydrate is typically 6–10s (can be ~100ms when listing already carried the post) and is capped at 12s. The next-item fit check uses that 12s cap, not the typical 6–10s, so a call cannot exceed 60s. The loop stops when the next item would miss the 60s deadline and returns what it has (truncatedReason=hydrate-budget | deadline). Asking for 20 cannot return 20 inside that ceiling. Flat 2 credits per call." - changed
Input schema / properties / url / descriptionPrevious value: -"Facebook profile or page URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Facebook profile/page URL, @handle, or page name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
facebook_profile_reels3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 20, max 200). Flat 2 credits per call." - changed
Input schema / properties / url / descriptionPrevious value: -"Facebook profile or page URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Facebook profile/page URL, @handle, or page name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
facebook_summarize2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Public Facebook video or post URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public Facebook video or post URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
github_activity3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Opaque cursor from previous nextCursor. Stops at 90-event ceiling."New value: +"Opaque cursor from a previous nextCursor. Pagination stops after GitHub's 90-event public activity ceiling." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 30, max 90. Billed per result."New value: +"Max items to return (default 30, max 90). Billed per result."
- Changed
github_contributions2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / username / descriptionPrevious value: -"GitHub username or profile URL, e.g. getify."New value: +"GitHub username or profile URL, e.g. getify or https://github.com/getify."
- Changed
github_followers3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Opaque cursor from previous nextCursor (GitHub Link page=)."New value: +"Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 30, max 100. Billed per result."New value: +"Max items to return (default 30, max 100). Billed per result."
- Changed
github_following3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Opaque cursor from previous nextCursor (GitHub Link page=)."New value: +"Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 30, max 100. Billed per result."New value: +"Max items to return (default 30, max 100). Billed per result."
- Changed
github_pull_requests5 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Opaque cursor from previous nextCursor (GitHub Link page=)."New value: +"Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 30, max 100. Billed per result."New value: +"Max items to return (default 30, max 100). Billed per result." - changed
Input schema / properties / repo / descriptionPrevious value: -"Repository URL or owner/name."New value: +"Repository URL or owner/name, e.g. vercel/next.js." - changed
Input schema / properties / state / descriptionPrevious value: -"open (default), closed, or all — echoed as data.state."New value: +"open (API default), closed, or all. Echoed as data.state. Docs example uses closed so mergedAt is visible."
- Changed
github_repositories7 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Opaque cursor from previous nextCursor (GitHub Link page=)."New value: +"Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number." - changed
Input schema / properties / direction / descriptionPrevious value: -"asc or desc (default desc)."New value: +"asc or desc (default desc). Echoed as data.direction." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 30, max 100. Billed per result."New value: +"Max items to return (default 30, max 100). Billed per result." - changed
Input schema / properties / sort / descriptionPrevious value: -"created|updated|pushed|full_name (default updated)."New value: +"created | updated | pushed | full_name (default updated). Not stars — GitHub's user-repos API has no stars sort. Echoed as data.sort." - changed
Input schema / properties / type / descriptionPrevious value: -"owner|member|all (default owner)."New value: +"owner (default) | member | all — affiliation filter. Echoed as data.type." - changed
Input schema / properties / username / descriptionPrevious value: -"GitHub username or profile URL."New value: +"GitHub username or profile URL, e.g. torvalds."
- Changed
github_repository2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / repo / descriptionPrevious value: -"Repository URL or owner/name, e.g. torvalds/linux."New value: +"Repository URL or owner/name, e.g. torvalds/linux or https://github.com/torvalds/linux."
- Changed
github_trending_developers4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / language / descriptionPrevious value: -"Optional programming-language slug, e.g. python."New value: +"Optional programming-language slug → /trending/developers/{language}." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 25, max 100. Flat 2 credits per call."New value: +"Max items to return (default 25, max 100). Flat 2 credits per call." - changed
Input schema / properties / since / descriptionPrevious value: -"daily (default), weekly, or monthly."New value: +"Trending window: daily (default), weekly, or monthly — matches github.com/trending/developers?since=."
- Changed
github_trending_repositories4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / language / descriptionPrevious value: -"Optional programming-language slug, e.g. python."New value: +"Optional programming-language slug (e.g. python, typescript) → /trending/{language}." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 25, max 100. Flat 2 credits per call."New value: +"Max items to return (default 25, max 100). Flat 2 credits per call." - changed
Input schema / properties / since / descriptionPrevious value: -"daily (default), weekly, or monthly."New value: +"Trending window: daily (default), weekly, or monthly — matches github.com/trending?since=."
- Changed
github_user2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / username / descriptionPrevious value: -"GitHub username or profile URL, e.g. getify."New value: +"GitHub username or profile URL, e.g. getify or https://github.com/getify."
- Changed
google_ad_library_ad_details3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / country / descriptionPrevious value: -"ISO country code. Default US."New value: +"Two-letter ISO country code. Default US." - changed
Input schema / properties / creative_id / descriptionPrevious value: -"Google Ads Transparency Center URL containing AR advertiser ID and CR creative ID."New value: +"Google Ads Transparency URL containing AR... advertiser and CR... creative IDs."
- Changed
google_ad_library_advertiser_search4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / country / descriptionPrevious value: -"ISO country code. Default US."New value: +"Two-letter ISO country code used for ranking (e.g. US). Default US." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 10, max 50. Billed per result."New value: +"Max items to return (default 10, max 50). Flat 1 credit when results are returned; 0 credits when totalReturned is 0." - changed
Input schema / properties / q / descriptionPrevious value: -"Search query or keywords (min 2 chars)."New value: +"Brand, domain, or advertiser name (min 2 characters). Expanded + ranked so US prefers Inc. over SRL."
- Changed
google_ad_library_company_ads8 fields changed- changed
Input schema / properties / advertiser / descriptionPrevious value: -"Advertiser name, domain (e.g. nike.com), or AR id."New value: +"Advertiser name, domain (e.g. nike.com), or Google advertiser ID (AR…). Prefer AR… from advertiser-search." - changed
Input schema / properties / cache / descriptionPrevious value: -"Serve from 24h cache when available."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / country / descriptionPrevious value: -"ISO country / region code. Default US."New value: +"Two-letter ISO country / region code (soft filter). Default US. Alias: region." - changed
Input schema / properties / end_date / descriptionPrevious value: -"YYYY-MM-DD overlap filter end."New value: +"YYYY-MM-DD — keep creatives whose shown window overlaps this end." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max results per page (default 20, max 200)."New value: +"Max items to return (default 20, max 200). Flat 2 credits when results are returned; 0 credits when totalReturned is 0." - added
Input schema / properties / sortAdded value: +{ + "description": "Client-side sort: last_shown (recent activity first) or first_shown. Default is ATC order.", + "type": "string" +} - changed
Input schema / properties / start_date / descriptionPrevious value: -"YYYY-MM-DD overlap filter start."New value: +"YYYY-MM-DD — keep creatives whose shown window overlaps this start." - added
Input schema / properties / topicAdded value: +{ + "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.", + "type": "string" +}
- Changed
instagram_basic_profile2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / cacheMaxAgeAdded value: +{ + "description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt.", + "type": "string" +}
- Changed
instagram_channel_details3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / cacheMaxAgeAdded value: +{ + "description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt.", + "type": "string" +} - changed
Input schema / properties / url / descriptionPrevious value: -"Instagram profile URL, e.g. https://instagram.com/username/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Instagram profile URL, @handle, or username, e.g. https://instagram.com/username/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
instagram_channel_posts4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response."New value: +"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (e.g. 3937014945555313553_1697296). A null nextCursor means the end of the list." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 20, max 200). Billed per result." - changed
Input schema / properties / url / descriptionPrevious value: -"Instagram profile URL, e.g. https://instagram.com/username/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Instagram profile URL, @handle, or username, e.g. https://instagram.com/username/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
instagram_channel_reels5 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor. Leave empty for the first page; then pass nextCursor. Stop when hasMore is false."New value: +"Pagination cursor. Leave empty for the first page; then pass nextCursor from the previous response (clips:{userId}:{opaque} on the native Reels path, or legacy {mediaId}_{userId}). Stop when hasMore is false." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 20, max 200). Billed per result." - changed
Input schema / properties / url / descriptionPrevious value: -"Instagram profile URL, @handle, or username. Omit when userId is set. The URL platform must match this tool's platform."New value: +"Instagram profile URL, @handle, or username. Omit when userId is set. The URL platform must match this endpoint's platform." - changed
Input schema / properties / userId / descriptionPrevious value: -"Instagram numeric user ID (e.g. 173560420). Faster than url — skips handle→ID resolve."New value: +"Instagram numeric user ID (e.g. 173560420). Skips handle→ID resolve (legacy sequential WPI alone could cost ~80s). Prefer when you already have the ID from basic-profile or profile-search."
- Changed
instagram_comments3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 50, max 500. Billed per result."New value: +"Max items to return (default 50, max 500). Billed per result." - changed
Input schema / properties / url / descriptionPrevious value: -"Instagram post or reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Instagram post or reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
instagram_details2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Instagram post or reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Instagram post or reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
instagram_embed2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Instagram post, reel, or profile URL (or @handle), e.g. https://instagram.com/reel/ID/ or https://instagram.com/username/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Instagram post, reel, or profile URL (or @handle), e.g. https://instagram.com/reel/ID/ or https://instagram.com/username/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
instagram_hashtag_search3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 20, max 200). Flat 2 credits per call." - changed
Input schema / properties / q / descriptionPrevious value: -"Hashtag without the # (min 2 chars)."New value: +"Hashtag without the # (min 2 characters)."
- Changed
instagram_highlights2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / userId / descriptionPrevious value: -"Numeric Instagram user ID. Prefer when known — skips handle→ID resolve."New value: +"Numeric Instagram user ID. Prefer when known — skips handle→ID resolve. When only userId is set we reverse-resolve the username so the WPI / profile-HTML shelf can still run."
- Changed
instagram_highlights_details1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits."
- Changed
instagram_profile_search2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Serve from the 24h shared cache when available (0 credits on hit). Default true — set false to always fetch fresh." - changed
Input schema / properties / q / descriptionPrevious value: -"Search query or keywords (min 2 chars)."New value: +"Account name, @handle, or profile URL to resolve (min 2 characters). Not a niche keyword search."
- Changed
instagram_reels_by_audio_id5 fields changed- added
Input schema / properties / audioIdAdded value: +{ + "description": "Instagram audio/music ID or full audio URL, e.g. 27919946310946207.", + "type": "string" +} - removed
Input schema / properties / audio_idRemoved value: -{ - "description": "Instagram audio/music ID or full audio URL.", - "type": "string" -} - changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 20, max 200). Billed per result." - changed
Input schema / requiredPrevious value: -[ - "audio_id" -]New value: +[ + "audioId" +]
- Changed
instagram_reels_search4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / datePosted / descriptionPrevious value: -"last_24_hours | last_week | last_month | last_year."New value: +"last_24_hours | last_week | last_month | last_year (aliases: today, this_week, this_month, this_year)." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Flat 2 credits per call."New value: +"Max items to return (default 20, max 200). Flat 2 credits per call." - changed
Input schema / properties / q / descriptionPrevious value: -"Hashtag (without #) or keyword (min 2 chars)."New value: +"Hashtag (without #) or keyword (min 2 characters)."
- Changed
instagram_summarize3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / language / descriptionPrevious value: -"Preferred caption language as an ISO code, e.g. \"en\". Defaults to auto-detect."New value: +"ISO code, e.g. \"tr\": pins the speech language and sets the summary output language. Defaults to auto-detect + English summary." - changed
Input schema / properties / url / descriptionPrevious value: -"Instagram Reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Instagram Reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
instagram_tagged_posts4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Leave empty for the first page; then pass the nextCursor value from the previous response."New value: +"Leave empty for the first page; then pass the nextCursor value returned in the previous response." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Flat 1 credit per call."New value: +"Max items to return (default 20, max 200). Flat 1 credit per call." - changed
Input schema / properties / url / descriptionPrevious value: -"Instagram profile URL, e.g. https://instagram.com/username/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Instagram profile URL, @handle, or username, e.g. https://instagram.com/username/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
instagram_transcript2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Instagram Reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Instagram Reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
instagram_trending_reels3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Default true — serve 4h response cache. Flat 2 credits either way; false forces live scrape."New value: +"Default true (cache-first): serve the per-country response cache when present (TTL 4 hours). Every successful call costs 2 credits — including cache hits. Set false to force a live scrape (typically under 20s, hard-capped at 110s); the fresh result still refreshes the cache." - changed
Input schema / properties / country / descriptionPrevious value: -"Country name or ISO code. Unsupported → 400 with supportedCountries."New value: +"Country for Reels localization — full name or ISO code (e.g. 'United States', 'US', 'Turkey', 'TR'). Default United States. Unsupported values return 400 with supportedCountries[]." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 10, max 200). Flat 2 credits per call."
- Changed
kick_clip4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / cacheMaxAgeAdded value: +{ + "description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt.", + "type": "string" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 30, max 100. Flat 1 credit per call."New value: +"Channel mode only — max recent clips to return (default 30, max 100). Ignored when url is a clip. Flat 1 credit. No cursor — Kick returns a single page." - changed
Input schema / properties / url / descriptionPrevious value: -"Kick clip URL, channel URL, or channel username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Kick clip URL for one enriched clip (e.g. https://kick.com/{channel}/clips/clip_…), or channel URL/@username for recent clips[]. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
komi_page3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / cacheMaxAgeAdded value: +{ + "description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt.", + "type": "string" +} - changed
Input schema / properties / url / descriptionPrevious value: -"Komi page URL or username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Komi page URL or username, e.g. https://komi.io/kimkardashian or https://kimkardashian.komi.io/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
kwai_post2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Kwai video URL, e.g. https://www.kwai.com/@handle/video/5238962376325675745. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Kwai video URL, e.g. https://www.kwai.com/@topfilmeseseriesnatv/video/5240932700689736196. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
kwai_profile2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Kwai profile URL or @handle, e.g. https://www.kwai.com/@easycashindonesia. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Kwai profile URL or @handle, e.g. https://www.kwai.com/@topfilmeseseriesnatv. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
kwai_user_posts4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / cursorAdded value: +{ + "description": "Opaque pagination cursor from the previous nextCursor. Pages within posts from one profile fetch.", + "type": "string" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max posts to return (1–200). Default 20. ~1 credit per post returned (min 2)." - changed
Input schema / properties / url / descriptionPrevious value: -"Kwai profile URL or @handle, e.g. https://www.kwai.com/@easycashindonesia. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Kwai profile URL or @handle, e.g. https://www.kwai.com/@topfilmeseseriesnatv. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
linkbio_page3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / cacheMaxAgeAdded value: +{ + "description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt.", + "type": "string" +} - changed
Input schema / properties / url / descriptionPrevious value: -"Linkbio page URL or username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Linkbio (lnk.bio) page URL or username, e.g. https://lnk.bio/charlidamelio. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
linkedin_ad_library_ad_details2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"LinkedIn Ad Library URL or ad ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"LinkedIn Ad Library URL or ad ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
linkedin_ad_library_search_ads12 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / companyAdded value: +{ + "description": "Alias of q — advertiser / account owner name.", + "type": "string" +} - changed
Input schema / properties / companyId / descriptionPrevious value: -"LinkedIn numeric company id."New value: +"LinkedIn numeric company id for exact advertiser match." - changed
Input schema / properties / countries / descriptionPrevious value: -"Comma-separated ISO codes (e.g. US,CA,MX)."New value: +"Comma-separated ISO country codes (e.g. US,CA,MX)." - changed
Input schema / properties / country / descriptionPrevious value: -"ISO country code. Default US."New value: +"Single ISO country code. Default US. Ignored when countries is set." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination token from nextCursor/paginationToken."New value: +"Pagination token from paginationToken / nextCursor." - changed
Input schema / properties / endDate / descriptionPrevious value: -"YYYY-MM-DD custom range end (with startDate)."New value: +"Custom range end YYYY-MM-DD (use with startDate)." - changed
Input schema / properties / keyword / descriptionPrevious value: -"Optional keyword filter on ad copy."New value: +"Optional keyword filter on ad creative copy." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return (default 20, max 200). Flat 2 credits on the native path; the extended fallback bills ~3.5 credits per returned ad. Response `source` is native or extended."New value: +"Max items to return (default 20, max 200). Flat 2 credits per call on the native path; the extended fallback bills ~3.5 credits per returned ad. Response `source` is native or extended so you can see which price applied." - added
Input schema / properties / paginationTokenAdded value: +{ + "description": "Alias of cursor.", + "type": "string" +} - changed
Input schema / properties / q / descriptionPrevious value: -"Advertiser / account owner (min 2 when used). Or use keyword/companyId."New value: +"Advertiser / account owner name (min 2 when used). Provide q/company, keyword, or companyId." - changed
Input schema / properties / startDate / descriptionPrevious value: -"YYYY-MM-DD custom range start (with endDate)."New value: +"Custom range start YYYY-MM-DD (use with endDate)."
- Changed
linkedin_company2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"LinkedIn company URL, e.g. https://linkedin.com/company/slug. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"LinkedIn company URL, e.g. https://www.linkedin.com/company/shopify. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
linkedin_company_posts4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 20)."New value: +"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 20). A null nextCursor means the end of the list (max 100 posts)." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 100. Billed per result."New value: +"Max items to return (default 20, max 100). Flat 1 credit per call." - changed
Input schema / properties / url / descriptionPrevious value: -"LinkedIn company URL, e.g. https://linkedin.com/company/slug. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"LinkedIn company URL, e.g. https://linkedin.com/company/slug. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
linkedin_post_details2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"LinkedIn post or activity URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"LinkedIn post or activity URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
linkedin_post_transcript2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"LinkedIn post or activity URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"LinkedIn post or activity URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
linkedin_profile2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"LinkedIn profile URL, e.g. https://linkedin.com/in/slug. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"LinkedIn profile URL, e.g. https://www.linkedin.com/in/paul-martin-a5aa98. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
linkedin_search_posts3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 50. Billed per result."New value: +"Max items to return (default 20, max 50). Billed per result." - changed
Input schema / properties / q / descriptionPrevious value: -"Search query or keywords (min 2 chars)."New value: +"Search query or keywords (min 2 characters)."
- Changed
linkme_profile3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / cacheMaxAgeAdded value: +{ + "description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt.", + "type": "string" +} - changed
Input schema / properties / url / descriptionPrevious value: -"Linkme profile URL or username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Linkme profile URL or username, e.g. https://link.me/danucd or danucd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
linktree_page3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / cacheMaxAgeAdded value: +{ + "description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt.", + "type": "string" +} - changed
Input schema / properties / url / descriptionPrevious value: -"Linktree profile URL or username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Linktree profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
pillar_page3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / cacheMaxAgeAdded value: +{ + "description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt.", + "type": "string" +} - changed
Input schema / properties / url / descriptionPrevious value: -"Pillar page URL or username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Pillar page URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
pinterest_board4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window."New value: +"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window (pidgets ~100)." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 25, max 200. Billed per result."New value: +"Max items to return (default 25, max 200). Billed per result." - changed
Input schema / properties / url / descriptionPrevious value: -"Pinterest board URL, e.g. https://pinterest.com/username/board-name/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Pinterest board URL (.../username/board-name/), not a /pin/ URL. Example: https://www.pinterest.com/potterybarn/rustic-lodge-lookbook/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
pinterest_pin_details2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Pinterest pin URL, e.g. https://pinterest.com/pin/ID/. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Pinterest pin URL, e.g. https://pinterest.com/pin/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
pinterest_search4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window."New value: +"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the SERP window (max 40)." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 25, max 200. Billed per result."New value: +"Max items to return (default 25, max 200). Billed per result." - changed
Input schema / properties / q / descriptionPrevious value: -"Search query or keywords (min 2 chars)."New value: +"Keywords or search query (min 2 characters)."
- Changed
pinterest_user_boards4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window."New value: +"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window (max 200)." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 25, max 200. Billed per result."New value: +"Max items to return (default 25, max 200). Billed per result." - changed
Input schema / properties / url / descriptionPrevious value: -"Pinterest profile URL or username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Pinterest profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
pinterest_user_pins4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window."New value: +"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window (pidgets ~100)." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 25, max 200. Billed per result."New value: +"Max items to return (default 25, max 200). Billed per result." - changed
Input schema / properties / url / descriptionPrevious value: -"Pinterest profile URL or username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Pinterest profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
reddit_post_comments3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 50, max 500. Billed per result."New value: +"Max items to return (default 50, max 500). Flat 2 credits per call." - changed
Input schema / properties / url / descriptionPrevious value: -"Reddit post URL, e.g. https://reddit.com/r/sub/comments/ID/... The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Reddit post URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
reddit_post_details2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Reddit post URL, e.g. https://reddit.com/r/sub/comments/ID/... The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Reddit post URL, e.g. https://reddit.com/r/sub/comments/ID/... The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
reddit_post_transcript3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 50, max 200. Billed per result."New value: +"Max items to return (default 50, max 200). Flat 2 credits per call." - changed
Input schema / properties / url / descriptionPrevious value: -"Reddit post URL, e.g. https://reddit.com/r/sub/comments/ID/... The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Reddit post URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
reddit_search3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 25, max 200. Billed per result."New value: +"Max items to return (default 25, max 200). Flat 2 credits per call." - changed
Input schema / properties / q / descriptionPrevious value: -"Search query or keywords (min 2 chars)."New value: +"Keyword or phrase to search Reddit posts site-wide (min 2 characters)."
- Changed
reddit_subreddit_details2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Subreddit URL, r/name, or bare name, e.g. r/technology. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Subreddit URL, r/name, or bare name (case-insensitive), e.g. r/technology or AskReddit. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
reddit_subreddit_posts3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 25, max 200. Flat 2 credits per call."New value: +"Max items to return (default 25, max 200). Flat 2 credits per call." - changed
Input schema / properties / url / descriptionPrevious value: -"Subreddit URL, r/name, or bare name, e.g. r/technology. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Subreddit URL, r/name, or bare name, e.g. r/technology. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
reddit_subreddit_search4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 25, max 200. Billed per result."New value: +"Max items to return (default 25, max 200). Flat 2 credits per call." - changed
Input schema / properties / q / descriptionPrevious value: -"Search query or keywords (min 2 chars)."New value: +"Keywords or search query (min 2 characters)." - changed
Input schema / properties / url / descriptionPrevious value: -"Subreddit URL, r/name, or bare name, e.g. r/technology. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Subreddit URL, r/name, or bare name, e.g. r/technology. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
rumble_channel_videos3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 20, max 200). Billed per result." - changed
Input schema / properties / url / descriptionPrevious value: -"Rumble channel URL, e.g. https://rumble.com/c/name. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Rumble channel URL, e.g. https://rumble.com/c/name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
rumble_comments3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 50, max 500. Billed per result."New value: +"Max items to return (default 50, max 500). Flat 2 credits per call." - changed
Input schema / properties / url / descriptionPrevious value: -"Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
rumble_search3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 20, max 200). Billed per result." - changed
Input schema / properties / q / descriptionPrevious value: -"Search query or keywords (min 2 chars)."New value: +"Keywords or search query (min 2 characters)."
- Changed
rumble_video_details2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
rumble_video_transcript2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
snapchat_user_profile2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Snapchat username or profile URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Snapchat username or profile URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
soundcloud_artist3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / cacheMaxAgeAdded value: +{ + "description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt.", + "type": "string" +} - changed
Input schema / properties / url / descriptionPrevious value: -"SoundCloud artist profile URL or username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"SoundCloud artist profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
soundcloud_artist_tracks4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response."New value: +"Opaque pagination cursor from the previous nextCursor. Leave empty for the first page. Do not edit or invent values." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 100. Billed per result."New value: +"Max items to return (default 20, max 100). Flat 2 credits per call." - changed
Input schema / properties / url / descriptionPrevious value: -"SoundCloud artist profile URL or username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"SoundCloud artist profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
soundcloud_track3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / cacheMaxAgeAdded value: +{ + "description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt.", + "type": "string" +} - changed
Input schema / properties / url / descriptionPrevious value: -"SoundCloud track URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"SoundCloud track URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
spotify_album3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / rawAdded value: +{ + "description": "Include the upstream GraphQL payload as data.raw. Default false — omit unless you need fields not in the normalized shape.", + "type": "boolean" +} - changed
Input schema / properties / url / descriptionPrevious value: -"Spotify URL, URI, or ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Spotify URL, URI, or ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
spotify_artist3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / rawAdded value: +{ + "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).", + "type": "boolean" +} - changed
Input schema / properties / url / descriptionPrevious value: -"Spotify URL, URI, or ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Spotify URL, URI, or ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
spotify_podcast3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - removed
Input schema / properties / limitRemoved value: -{ - "description": "Max items to return. Default 20, max 50. Flat 1 credit per call.", - "minimum": 1, - "type": "integer" -} - changed
Input schema / properties / url / descriptionPrevious value: -"Spotify URL, URI, or ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Spotify show/podcast URL, URI, or ID (e.g. https://open.spotify.com/show/…). Not an artist URL."
- Changed
spotify_podcast_episodes5 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / cursorAdded value: +{ + "description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.", + "type": "string" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 50. Billed per result."New value: +"Max items to return (default 20, max 50). Flat 2 credits per call." - added
Input schema / properties / rawAdded value: +{ + "description": "Include slimmed per-episode upstream payload as episodes[].raw. Default false. visualIdentity / playedState / podcastV2 are never included.", + "type": "boolean" +} - changed
Input schema / properties / url / descriptionPrevious value: -"Spotify URL, URI, or ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Spotify show/podcast URL, URI, or ID (e.g. https://open.spotify.com/show/…). Not an artist URL."
- Changed
spotify_search4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 50. Billed per result."New value: +"Max items to return (default 20, max 50). Flat 2 credits per call." - changed
Input schema / properties / q / descriptionPrevious value: -"Search query or keywords (min 2 chars)."New value: +"Search term (min 2 chars)." - added
Input schema / properties / rawAdded value: +{ + "description": "Include per-result upstream payload as results[].raw. Default false. Pathfinder GraphQL vs Apify scraper shapes differ — see FAQ.", + "type": "boolean" +}
- Changed
spotify_track3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / rawAdded value: +{ + "description": "Include the upstream GraphQL payload as data.raw. Default false — getTrack embeds bulky artist discography.", + "type": "boolean" +} - changed
Input schema / properties / url / descriptionPrevious value: -"Spotify URL, URI, or ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Spotify URL, URI, or ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
threads_post_details2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Threads post URL, e.g. https://threads.net/@user/post/CODE. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Threads post URL, e.g. https://threads.net/@user/post/CODE. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
threads_profile2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Threads profile URL or @handle, e.g. https://threads.net/@username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Threads profile URL or @handle, e.g. https://threads.net/@username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
threads_search3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 25, max 200. Billed per result."New value: +"Max items to return (default 25, max 200). Flat 2 credits per call." - changed
Input schema / properties / q / descriptionPrevious value: -"Search query or keywords (min 2 chars)."New value: +"Keyword or phrase to search public Threads posts (min 2 characters)."
- Changed
threads_search_users3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 100. Billed per result."New value: +"Max items to return (default 20, max 100). Flat 1 credit per call." - changed
Input schema / properties / q / descriptionPrevious value: -"Search query or keywords (min 2 chars)."New value: +"Keyword to find Threads users / creators (min 2 characters)."
- Changed
threads_user_posts3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 100. Billed per result."New value: +"Max items to return (default 20, max 100). Threads only exposes the last ~20–30 public posts on this surface — asking for 100 will not return 100. Flat 2 credits on the native path; Apify fallback ~0.7/post (min 2)." - changed
Input schema / properties / url / descriptionPrevious value: -"Threads profile URL or @handle, e.g. https://threads.net/@username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Threads profile URL or @handle. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
tiktok_ad_library_ad_details3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / country / descriptionPrevious value: -"ISO country code. Default GB."New value: +"Two-letter ISO country code. Default GB." - changed
Input schema / properties / url / descriptionPrevious value: -"TikTok Ad Library URL or ad ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"TikTok Ad Library URL or ad ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
tiktok_ad_library_search5 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / country / descriptionPrevious value: -"ISO country code. Default GB (US often empty)."New value: +"Two-letter ISO country code (e.g. GB, DE, FR). Default GB (EU DSA library; US often empty)." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 20, max 200). Flat 2 credits per call." - changed
Input schema / properties / match / descriptionPrevious value: -"Keyword mode: \"any\" (default) or \"all\"."New value: +"Keyword token mode: \"any\" (default, OR whole-word) or \"all\" (AND). hair ≠ wheelchair. Empty results are free." - changed
Input schema / properties / q / descriptionPrevious value: -"Search query or keywords (min 2 chars)."New value: +"Keyword or advertiser to search TikTok Commercial Content Library (min 2 characters)."
- Changed
tiktok_ad_library_top_ads10 fields changed- changed
Input schema / properties / adFormat / descriptionPrevious value: -"spark | non_spark."New value: +"Optional format filter: spark or non_spark." - changed
Input schema / properties / cache / descriptionPrevious value: -"Serve from 24h cache when available (0 credits on hit)."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / country / descriptionPrevious value: -"ISO country code. Default US."New value: +"Two-letter ISO country code. Default US." - changed
Input schema / properties / industry / descriptionPrevious value: -"Optional industry key or label."New value: +"Optional industry key or label from Creative Center." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items (default 20, max 100). Flat 2 native; Apify ~1/ad (min 2)."New value: +"Max items to return (default 20, max 20). One Creative Center leaderboard page is ~20 rows; limit only trims that pool — it cannot scan more candidates. Flat 2 credits on Decodo-native; Apify ~1 credit per returned ad (min 2)." - changed
Input schema / properties / match / descriptionPrevious value: -"Keyword mode: \"any\" (default) or \"all\"."New value: +"Keyword token mode: \"any\" (default, OR) or \"all\" (AND). Zero literal hits → empty ads[] (never an unfiltered soft list)." - changed
Input schema / properties / objective / descriptionPrevious value: -"Optional campaign objective."New value: +"Optional campaign objective (e.g. Traffic, Conversion, Reach)." - changed
Input schema / properties / orderBy / descriptionPrevious value: -"for_you | likes | ctr | impressions | cost."New value: +"Sort: for_you, likes, ctr, impressions, or cost. Default for_you." - changed
Input schema / properties / period / descriptionPrevious value: -"Lookback days: 7, 30, or 180. Default 30."New value: +"Lookback window in days: 7, 30, or 180. Default 30." - changed
Input schema / properties / q / descriptionPrevious value: -"Optional keyword (substring). See match + matchedFrom."New value: +"Optional keyword that filters the one ~20-row leaderboard page — not a library search. Case-insensitive whole-word match on title/brandName/industry/objective (hair ≠ wheelchair). There is no tags field. advertiser.name is often null in the default US market. Envelope candidatesScanned is the pre-filter pool size. For a known advertiser, use /tiktok/ad-details by ad id."
- Changed
tiktok_audience_demographics4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / countriesLimitAdded value: +{ + "description": "Max countries in audienceLocations; remainder folds into other{count,percentage}. Omit for the full list (other is omitted when unused).", + "minimum": 1, + "type": "integer" +} - changed
Input schema / properties / url / descriptionPrevious value: -"TikTok profile URL, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble." - added
Input schema / properties / videosAdded value: +{ + "description": "How many recent videos to sample comments from: 12 (default, 3 credits), 30 (5 credits), or 60 (8 credits).", + "minimum": 1, + "type": "integer" +}
- Changed
tiktok_channel_details4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / cacheMaxAgeAdded value: +{ + "description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt.", + "type": "string" +} - added
Input schema / properties / rawAdded value: +{ + "description": "Set true to include TikTok's upstream user/statsV2 blob under raw (privacy ints, profileTab, …). Default false — curated fields only.", + "type": "boolean" +} - changed
Input schema / properties / url / descriptionPrevious value: -"TikTok profile URL, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
tiktok_channel_posts4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response."New value: +"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (TikTok's max_cursor timestamp, e.g. 1783614676000). A null nextCursor means the end of the list." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Flat 2 credits per call."New value: +"How many of the creator's latest videos to return on this page (default 20, max 200). Newest first. Flat 2 credits per call." - changed
Input schema / properties / url / descriptionPrevious value: -"TikTok profile URL, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
tiktok_comment_replies5 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / commentId / descriptionPrevious value: -"ID of the parent (top-level) comment to fetch replies for (from the comments endpoint). Legacy alias: comment_id."New value: +"ID of the parent (top-level) comment to fetch replies for — from the comments endpoint. Legacy alias: comment_id." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response."New value: +"Pagination cursor. Leave empty for the first page; then pass the nextCursor value from the previous response." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 50, max 500. Flat 2 credits per call."New value: +"Max items to return (default 50, max 500). Flat 2 credits per call." - changed
Input schema / properties / url / descriptionPrevious value: -"Public TikTok video URL, e.g. https://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public TikTok video URL, e.g. https://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
tiktok_comments4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (a numeric offset)."New value: +"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (a numeric offset, e.g. 50). A null nextCursor means the end of the comments." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 50, max 500. Flat 2 credits per call."New value: +"Max items to return (default 50, max 500). Flat 2 credits per call." - changed
Input schema / properties / url / descriptionPrevious value: -"Public TikTok video URL, e.g. https://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public TikTok video URL, e.g. https://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
tiktok_live2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"TikTok profile URL, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
tiktok_live_info2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"TikTok profile URL, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
tiktok_music_posts4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / cursorAdded value: +{ + "description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.", + "type": "string" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 20, max 200). Flat 2 credits per call." - changed
Input schema / properties / url / descriptionPrevious value: -"TikTok music/sound URL, e.g. https://tiktok.com/music/name-ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"TikTok music/sound URL, e.g. https://tiktok.com/music/name-ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
tiktok_popular_creators5 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / cacheMaxAgeAdded value: +{ + "description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt.", + "type": "string" +} - changed
Input schema / properties / follower_count / descriptionPrevious value: -"Optional range: 10k-100k, 100k-1m, 1m-10m, >10m."New value: +"Optional range on FYP/Apify fallthrough: 10k-100k, 100k-1m, 1m-10m, >10m." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 100. Billed per result."New value: +"Max items to return (default 20, max 100). Flat 2 credits per call." - added
Input schema / properties / pageAdded value: +{ + "description": "Creative Center page (default 1).", + "minimum": 1, + "type": "integer" +}
- Changed
tiktok_popular_hashtags9 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / countryAdded value: +{ + "description": "Two-letter ISO country for the Creative Center chart. Default US.", + "type": "string" +} - added
Input schema / properties / industryIdAdded value: +{ + "description": "Optional Creative Center industry_id.", + "type": "string" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 100. Billed per result."New value: +"Max items to return (default 20, max 100). Flat 2 credits per call." - added
Input schema / properties / newOnBoardAdded value: +{ + "description": "Only hashtags newly on the Top 100.", + "type": "boolean" +} - added
Input schema / properties / pageAdded value: +{ + "description": "Creative Center page (default 1).", + "minimum": 1, + "type": "integer" +} - added
Input schema / properties / periodAdded value: +{ + "description": "Lookback days: 7, 30, or 120 (180→120). Default 7.", + "minimum": 1, + "type": "integer" +} - changed
Input schema / properties / query / descriptionPrevious value: -"Optional niche seed for related-tag co-occurrence. Omit/trending for Creative Center chart."New value: +"Optional niche seed for legacy co-occurrence + challenge/detail enrich. Omit, or pass trending, to use the Creative Center chart. A chart miss is 502 — trending is not treated as a niche seed." - added
Input schema / properties / sortByAdded value: +{ + "description": "Chart sort: popular (default).", + "type": "string" +}
- Changed
tiktok_popular_songs6 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / commercialMusic / descriptionPrevious value: -"Only Commercial Music Library-cleared sounds."New value: +"Only Commercial Music Library–cleared sounds." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 20. Flat 2 credits per call."New value: +"Max items to return (default 20, max 20). Flat 2 credits per call." - changed
Input schema / properties / period / descriptionPrevious value: -"7, 30, or 120 days. Default 7."New value: +"7, 30, or 120 days (180→120). Default 7." - added
Input schema / properties / period / minimumAdded value: +1 - changed
Input schema / properties / period / typePrevious value: -"string"New value: +"integer"
- Changed
tiktok_profile_region3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / rawAdded value: +{ + "description": "Set true to include TikTok's upstream user/statsV2 blob under raw. Default false — curated fields only.", + "type": "boolean" +} - changed
Input schema / properties / url / descriptionPrevious value: -"TikTok profile URL, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
tiktok_search_by_hashtag5 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination offset. Leave at 0 for the first page; then pass the nextCursor value from the previous response. A null nextCursor means the end."New value: +"Pagination offset. Leave at 0 (or omit) for the first page; then pass the nextCursor value returned in the previous response. A null nextCursor means the end of the results." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 100. Billed per result."New value: +"Max items to return (default 20, max 100). Billed per result." - changed
Input schema / properties / q / descriptionPrevious value: -"Hashtag with or without the # (min 2 chars)."New value: +"Hashtag for the /tag/{name} challenge feed, with or without # (min 2). Not a keyword query." - changed
Input schema / properties / region / descriptionPrevious value: -"Two-letter ISO country our request is sent from. Default US. Does not filter results by country."New value: +"Two-letter ISO 3166-1 country our request is sent from. Default US. Does not filter results by country."
- Changed
tiktok_search_suggestions4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / country / descriptionPrevious value: -"Two-letter ISO country code that localizes suggestions to a market, e.g. US, GB, DE. Default US."New value: +"Two-letter ISO country code that localizes the suggestions to a market, e.g. US, GB, DE. Default US." - changed
Input schema / properties / language / descriptionPrevious value: -"Interface language for localized results, e.g. en-US or de-DE. Default en-US."New value: +"Interface language for the suggestions, e.g. en-US or de-DE. Default en-US." - changed
Input schema / properties / limit / descriptionPrevious value: -"Upper bound on suggestions to return (1-100, default 20). TikTok surfaces only a limited number of real autocomplete suggestions per keyword, so you'll often get fewer. Billed per result."New value: +"Max items to return (default 20, max 100). Flat 2 credits per call."
- Changed
tiktok_search_users7 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination offset. Leave at 0 for the first page; then pass the nextCursor value from the previous response. A null nextCursor means the end."New value: +"Pagination cursor. Omit (or pass 0) for the first page; then pass the nextCursor value from the previous response verbatim — it carries the search session, not just an offset. A null nextCursor means the end of the results." - removed
Input schema / properties / cursor / minimumRemoved value: -1 - changed
Input schema / properties / cursor / typePrevious value: -"integer"New value: +"string" - added
Input schema / properties / fallbackAdded value: +{ + "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.", + "type": "boolean" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 100. Billed per result."New value: +"Max items to return (default 20, max 100). Flat 1 credit per call." - changed
Input schema / properties / q / descriptionPrevious value: -"Search query matched against usernames, display names and bios."New value: +"Search query matched against usernames, display names and bios (min 2 characters)."
- Changed
tiktok_shop_product_details3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / region / descriptionPrevious value: -"Market region ISO code for Apify fallback (default US)."New value: +"Two-letter market region for the secondary fetch path (default US). Primary SSR uses the product URL's market; empty/partial non-US results are often a TikTok exposure limit." - changed
Input schema / properties / url / descriptionPrevious value: -"TikTok Shop product URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"TikTok Shop product URL, e.g. https://www.tiktok.com/shop/pdp/1731098552908944370. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
tiktok_shop_product_reviews3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 20, max 200). Billed per result." - changed
Input schema / properties / url / descriptionPrevious value: -"TikTok Shop product URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"TikTok Shop product URL, e.g. https://www.tiktok.com/shop/pdp/1731962298839634826. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
tiktok_shop_products4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Flat 2 credits per call."New value: +"Max items to return (default 20, max 200). Flat 2 credits per call." - added
Input schema / properties / regionAdded value: +{ + "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.", + "type": "string" +} - changed
Input schema / properties / url / descriptionPrevious value: -"TikTok Shop store URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"TikTok Shop store URL, e.g. https://www.tiktok.com/shop/store/goli-nutrition/7495794203056835079. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
tiktok_shop_search3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / q / descriptionPrevious value: -"Product search query."New value: +"Product search query (min 2 characters), e.g. phone case." - changed
Input schema / properties / region / descriptionPrevious value: -"Two-letter TikTok Shop region. Default US."New value: +"Two-letter market region for the search (default US). Echoed on the response as data.region — not a creator home country. Native search is a SERP window (not TikTok's full catalog); compare requested to serpHits / windowMax."
- Changed
tiktok_shop_user_showcase2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 20, max 200). Billed per result."
- Changed
tiktok_song_details2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"TikTok music/sound URL, e.g. https://tiktok.com/music/name-ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"TikTok music/sound URL, e.g. https://tiktok.com/music/name-ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
tiktok_summarize3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / language / descriptionPrevious value: -"Preferred caption language as an ISO code, e.g. \"en\". Defaults to auto-detect."New value: +"ISO code, e.g. \"tr\": pins the speech language and sets the summary output language. Defaults to auto-detect + English summary." - changed
Input schema / properties / url / descriptionPrevious value: -"Public TikTok video URL, e.g. https://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public TikTok video URL, e.g. https://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
tiktok_top_search4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / cursorAdded value: +{ + "description": "Pagination cursor. Leave 0 for the first page; then pass nextCursor from the previous response. TikTok may return duplicates across pages.", + "minimum": 1, + "type": "integer" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 20, max 200). Flat 2 credits per call." - changed
Input schema / properties / q / descriptionPrevious value: -"Search query or keywords (min 2 chars)."New value: +"Search query or keywords (min 2 characters)."
- Changed
tiktok_transcript1 field changed- changed
Input schema / properties / url / descriptionPrevious value: -"Public TikTok video URL, e.g. https://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public TikTok video URL, e.g. https://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
tiktok_trending_feed7 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / country / descriptionPrevious value: -"Two-letter ISO country code, e.g. US, GB, TR. Default US."New value: +"Two-letter ISO country (default US). For You: region-availability hint. Creative Center mode: chart market." - added
Input schema / properties / countryCodeAdded value: +{ + "description": "Alias of country. Wins when both are set.", + "type": "string" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 20, max 200). Flat 2 credits per call." - added
Input schema / properties / orderByAdded value: +{ + "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.", + "type": "string" +} - added
Input schema / properties / pageAdded value: +{ + "description": "Creative Center page (default 1). page>1 triggers chart mode.", + "minimum": 1, + "type": "integer" +} - added
Input schema / properties / periodAdded value: +{ + "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.", + "minimum": 1, + "type": "integer" +}
- Changed
tiktok_user_followers3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 50, max 500. Flat 1 credit per call."New value: +"Max items to return (default 50, max 500). Flat 1 credit per call." - changed
Input schema / properties / url / descriptionPrevious value: -"TikTok profile URL, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
tiktok_user_followings3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 50, max 500. Flat 1 credit per call."New value: +"Max items to return (default 50, max 500). Flat 1 credit per call." - changed
Input schema / properties / url / descriptionPrevious value: -"TikTok profile URL, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
tiktok_video_details2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Public TikTok video URL, e.g. https://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public TikTok video URL, e.g. https://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
truth_social_post2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Truth Social post URL or post ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Truth Social post URL or post ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
truth_social_profile2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Truth Social profile URL or @username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Truth Social profile URL or @username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
truth_social_user_posts3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 80. Billed per result."New value: +"Max posts to return (default 20, max 80). Capped at 80 because Truth Social's statuses page is ~40 items — use nextCursor for more pages. Flat 2 credits per call. Response `source` is native or extended." - changed
Input schema / properties / url / descriptionPrevious value: -"Truth Social profile URL or @username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Truth Social profile URL or @username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
twitch_clip3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / cacheMaxAgeAdded value: +{ + "description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt.", + "type": "string" +} - changed
Input schema / properties / url / descriptionPrevious value: -"Twitch clip URL, channel URL, or username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Twitch clip URL (clips.twitch.tv/<slug> or twitch.tv/<channel>/clip/<slug>). The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
twitch_profile3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / cacheMaxAgeAdded value: +{ + "description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt.", + "type": "string" +} - changed
Input schema / properties / url / descriptionPrevious value: -"Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
twitch_user_schedule3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / limitAdded value: +{ + "description": "Max schedule segments to return (default 50, max 100). Flat 1 credit per call.", + "minimum": 1, + "type": "integer" +} - changed
Input schema / properties / url / descriptionPrevious value: -"Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
twitch_user_videos6 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor. Leave empty for the first page; then pass nextCursor from the previous response."New value: +"Pagination cursor = last video id from the previous nextCursor. Leave empty for the first page. Pages the first 100 matching videos only (not a raw offset)." - changed
Input schema / properties / filterBy / descriptionPrevious value: -"ARCHIVE | HIGHLIGHT | UPLOAD. Omit for all types."New value: +"ARCHIVE | HIGHLIGHT | UPLOAD. Omit for all types — there is no default filter (unset filterBy is omitted, not null)." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 100. Flat 2 credits per call."New value: +"Max items to return (default 20, max 100). Flat 2 credits per call. Hard ceiling: first 100 matching videos only — deeper history is not available (windowMax=100)." - changed
Input schema / properties / sortBy / descriptionPrevious value: -"TIME (default) or VIEWS."New value: +"TIME (default, newest first) or VIEWS." - changed
Input schema / properties / url / descriptionPrevious value: -"Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
twitter_community2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"X community URL (x.com/i/communities/ID) or community ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"X community URL (x.com/i/communities/ID) or community ID — not a tweet/status URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
twitter_community_tweets3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 25, max 200. Billed per result."New value: +"Max items to return (default 25, max 200). Flat 2 credits per call." - changed
Input schema / properties / url / descriptionPrevious value: -"X community URL (x.com/i/communities/ID) or community ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"X community URL (x.com/i/communities/ID) or community ID — not a tweet/status URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
twitter_profile3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to use the 1-hour profile cache (0 credits on hit). Default false — always fetch fresh. Prefer cacheMaxAge for 1d–30d. Envelope includes cached + cachedAt on hits." - added
Input schema / properties / cacheMaxAgeAdded value: +{ + "description": "Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt.", + "type": "string" +} - changed
Input schema / properties / url / descriptionPrevious value: -"Twitter/X profile URL or @handle, e.g. https://x.com/username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Twitter/X profile URL or @handle, e.g. https://x.com/username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
twitter_transcript2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Public tweet URL, e.g. https://x.com/user/status/ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public tweet URL, e.g. https://x.com/user/status/ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
twitter_tweet_details2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Public tweet URL, e.g. https://x.com/user/status/ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public tweet URL, e.g. https://x.com/user/status/ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
twitter_user_tweets3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max tweets to return (default 20, max 200). Twitter's public surface usually caps around ~100 most popular posts — not chronological latest. Flat 2 credits per call." - changed
Input schema / properties / url / descriptionPrevious value: -"Twitter/X profile URL or @handle, e.g. https://x.com/username. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Twitter/X profile URL or @handle. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
video_summarize3 fields changed- changed
Input schema / properties / file / descriptionPrevious value: -"Local path to video/audio — multipart form field file (POST), not a query string."New value: +"Video or audio file (multipart form field — use -F file=@path, not a query string). Max 200MB / 60 minutes." - changed
Input schema / properties / language / descriptionPrevious value: -"ISO-639-1 Whisper language hint."New value: +"ISO-639-1 Whisper language hint, e.g. \"en\" or \"tr\". Omit to auto-detect." - changed
Input schema / properties / translate / descriptionPrevious value: -"Translate speech to English when true."New value: +"When true, translate speech to English before summarizing. Default false."
- Changed
video_transcript4 fields changed- changed
Input schema / properties / file / descriptionPrevious value: -"Local path to video/audio — sent as multipart form field file (POST), not a query string."New value: +"Video or audio file (multipart form field — use -F file=@path, not a query string). Max 200MB / 60 minutes." - changed
Input schema / properties / language / descriptionPrevious value: -"ISO-639-1 Whisper language hint, e.g. en or tr."New value: +"ISO-639-1 Whisper language hint, e.g. \"en\" or \"tr\". Omit to auto-detect." - changed
Input schema / properties / timestampGranularity / descriptionPrevious value: -"segment (default) or word."New value: +"segment (default) or word — word-level timings when Whisper exposes them." - changed
Input schema / properties / translate / descriptionPrevious value: -"Translate speech to English when true."New value: +"When true, translate speech to English (Whisper translations API). Default false."
- Changed
youtube_audio_transcript3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / maxCredits / descriptionPrevious value: -"Refuse before STT when estimated credits would exceed this."New value: +"Refuse before STT when estimatedCredits would exceed this (400 cost_exceeds_max, 0 credits)." - changed
Input schema / properties / url / descriptionPrevious value: -"Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
youtube_channel_details2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"YouTube channel URL, e.g. https://youtube.com/@handle or /channel/UC... The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
youtube_channel_playlists3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Flat 2 credits per call."New value: +"Max items to return (default 20, max 200). Flat 2 credits per call." - changed
Input schema / properties / url / descriptionPrevious value: -"YouTube channel URL, e.g. https://youtube.com/@handle or /channel/UC... The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
youtube_channel_shorts3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Flat 2 credits per call."New value: +"Max items to return (default 20, max 200). Flat 2 credits per call." - changed
Input schema / properties / url / descriptionPrevious value: -"YouTube channel URL, e.g. https://youtube.com/@handle or /channel/UC... The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
youtube_channel_streams3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Flat 2 credits when hasLiveTab is true; 0 credits when hasLiveTab is false."New value: +"Max items to return (default 20, max 200). Flat 2 credits when hasLiveTab is true; 0 credits when hasLiveTab is false." - changed
Input schema / properties / url / descriptionPrevious value: -"YouTube channel URL, e.g. https://youtube.com/@handle or /channel/UC... The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
youtube_channel_videos3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Flat 2 credits per call."New value: +"Max items to return (default 20, max 200). Flat 2 credits per call." - changed
Input schema / properties / url / descriptionPrevious value: -"YouTube channel URL, e.g. https://youtube.com/@handle or /channel/UC... The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
youtube_comment_replies4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / commentId / descriptionPrevious value: -"ID of the parent (top-level) comment to fetch replies for (from the comments endpoint). Legacy alias: comment_id."New value: +"ID of the parent (top-level) comment to fetch replies for — from the comments endpoint. Legacy alias: comment_id." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 50, max 500. Flat 2 credits per call."New value: +"Max items to return (default 50, max 500). Flat 2 credits per call." - changed
Input schema / properties / url / descriptionPrevious value: -"Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
youtube_comments3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 50, max 500. Billed per result."New value: +"Max items to return (default 50, max 500). Flat 2 credits per call." - changed
Input schema / properties / url / descriptionPrevious value: -"Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
youtube_community_post_details2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"YouTube community post URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"YouTube community post URL (/post/Ugkx… or /community?lb=). Trailing whitespace is stripped. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
youtube_community_posts4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Leave empty for the first page; then pass the nextCursor value from the previous response."New value: +"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Flat 1 credit per call."New value: +"Max items to return (default 20, max 200). Flat 1 credit per call." - changed
Input schema / properties / url / descriptionPrevious value: -"YouTube channel URL, e.g. https://youtube.com/@handle or /channel/UC... The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
youtube_hashtag_search3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Returns a single window; use limit to size it. No cursor. Billed per result."New value: +"Max items to return (default 20, max 200). Returns a single window; use limit to size it. No cursor. Billed per result." - changed
Input schema / properties / q / descriptionPrevious value: -"Hashtag with or without the # (min 2 chars)."New value: +"Hashtag with or without the # (min 2 characters)."
- Changed
youtube_playlist2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"YouTube playlist URL, e.g. https://youtube.com/playlist?list=ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"YouTube playlist URL, e.g. https://youtube.com/playlist?list=ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
youtube_playlist_videos3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 50, max 500. Flat 2 credits per call."New value: +"Max items to return (default 50, max 500). Flat 2 credits per call." - changed
Input schema / properties / url / descriptionPrevious value: -"YouTube playlist URL, e.g. https://youtube.com/playlist?list=ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"YouTube playlist URL, e.g. https://youtube.com/playlist?list=ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
youtube_search7 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor from nextCursor."New value: +"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response." - changed
Input schema / properties / duration / descriptionPrevious value: -"any | under_4 | 4_20 | over_20."New value: +"any | under_4 | 4_20 | over_20. Applies to long-form videos (not Shorts)." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 20, max 200). Flat 2 credits per call." - changed
Input schema / properties / q / descriptionPrevious value: -"Search query or keywords (min 2 chars)."New value: +"Search query or keywords (min 2 characters)." - changed
Input schema / properties / region / descriptionPrevious value: -"ISO country code (default US)."New value: +"ISO country code for localized results (default US)." - changed
Input schema / properties / sortBy / descriptionPrevious value: -"relevance | date | views | rating."New value: +"relevance | date | views | rating (alias: popular→views)."
- Changed
youtube_shorts_comments3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 50, max 500. Billed per result."New value: +"Max items to return (default 50, max 500). Flat 2 credits per call." - changed
Input schema / properties / url / descriptionPrevious value: -"Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (<=3 min). Long-form videos return HTTP 422. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
youtube_shorts_details2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (<=3 min). Long-form videos return HTTP 422. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
youtube_shorts_summarize2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (<=3 min). Long-form videos return HTTP 422. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
youtube_shorts_transcript2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (<=3 min). Long-form videos return HTTP 422. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
youtube_summarize2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
youtube_transcript2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
youtube_trending_shorts3 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 100. Returns a single window; use limit to size it. No cursor. Flat 2 credits per call."New value: +"Max items to return (default 20, max 100). Returns a single window; use limit to size it. No cursor. Flat 2 credits per call." - changed
Input schema / properties / q / descriptionPrevious value: -"Optional topic seed for the reel sequence. Omit for default trending feed."New value: +"Optional topic seed for the Shorts recommendation sequence. Omit (or pass trending/shorts) for the default reel feed — not a keyword search."
- Changed
youtube_video_details2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / url / descriptionPrevious value: -"Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
youtube_video_sponsors4 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits." - changed
Input schema / properties / categories / descriptionPrevious value: -"Comma-separated categories (default sponsor,selfpromo,interaction)."New value: +"Comma-separated categories. Default sponsor,selfpromo,interaction. Also intro,outro,preview,music_offtopic,poi_highlight,filler." - changed
Input schema / properties / minVotes / descriptionPrevious value: -"Minimum votes (default 0; drops votes < 0)."New value: +"Minimum SponsorBlock votes to keep a segment. Default 0 (drops community-rejected votes < 0)." - changed
Input schema / properties / url / descriptionPrevious value: -"Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
7 tool updates
- Changed
linkedin_search_posts1 field changed- added
Input schema / properties / cursorAdded value: +{ + "description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 20). A null nextCursor means the end of the list (max 50 posts).", + "type": "string" +}
- Changed
pinterest_board1 field changed- added
Input schema / properties / cursorAdded value: +{ + "description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window.", + "type": "string" +}
- Changed
pinterest_search1 field changed- added
Input schema / properties / cursorAdded value: +{ + "description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window.", + "type": "string" +}
- Changed
pinterest_user_boards1 field changed- added
Input schema / properties / cursorAdded value: +{ + "description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window.", + "type": "string" +}
- Changed
pinterest_user_pins1 field changed- added
Input schema / properties / cursorAdded value: +{ + "description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window.", + "type": "string" +}
- Changed
reddit_post_comments1 field changed- added
Input schema / properties / cursorAdded value: +{ + "description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.", + "type": "string" +}
- Changed
tiktok_shop_search1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 10, max 10). Flat 2 credits per call."
1 tool update
- Changed
linkedin_ad_library_search_ads1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 20, max 200). Flat 2 credits on the native path; the extended fallback bills ~3.5 credits per returned ad. Response `source` is native or extended."
1 tool update
- Changed
facebook_ad_library_ad_transcript1 field changed- changed
Input schema / properties / url / descriptionPrevious value: -"Meta Ad Library ad URL or ad ID. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Meta Ad Library ad URL or ad ID. Returns written copy, not a speech transcript. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
16 tool updates
- Changed
facebook_comment_replies3 fields changed- added
Input schema / properties / commentIdAdded value: +{ + "description": "ID of the parent (top-level) comment to fetch replies for (from the comments endpoint). Legacy alias: comment_id.", + "type": "string" +} - removed
Input schema / properties / comment_idRemoved value: -{ - "description": "ID of the parent comment to fetch replies for (from the comments endpoint).", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "url", - "comment_id" -]New value: +[ + "url", + "commentId" +]
- Changed
facebook_event_search6 fields changed- added
Input schema / properties / fromAdded value: +{ + "description": "Inclusive local start date filter YYYY-MM-DD.", + "type": "string" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 20, max 200). Billed 2 credits flat on the native path; ~2 credits per returned event on the Apify fallback — check `source` in the response." - added
Input schema / properties / locationAdded value: +{ + "description": "City/place geo filter (e.g. London). Matches timezone, location.city, or coords near the city — not a title substring.", + "type": "string" +} - changed
Input schema / properties / q / descriptionPrevious value: -"Topic and/or place, e.g. 'comedy Chicago' (min 2 chars)."New value: +"Topic keyword, e.g. 'comedy'. Pair with location for city-scoped results." - added
Input schema / properties / toAdded value: +{ + "description": "Inclusive local start date filter YYYY-MM-DD.", + "type": "string" +} - added
Input schema / properties / upcomingAdded value: +{ + "description": "When true and from is omitted, sets from to today's UTC date.", + "type": "boolean" +}
- Changed
facebook_marketplace_item1 field changed- changed
Input schema / properties / url / descriptionPrevious value: -"Facebook Marketplace item URL. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Facebook Marketplace item URL, e.g. https://www.facebook.com/marketplace/item/2467979733629080/ The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
- Changed
facebook_profile_events1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return (default 20, max 200). Billed 2 credits flat on the native path; ~2 credits per returned event on the Apify fallback — check `source` in the response."
- Changed
instagram_trending_reels1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200."New value: +"Max items to return. Default 20, max 200. Billed per result."
- Added
rumble_video_transcript - Changed
tiktok_ad_library_top_ads2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Serve from 24h cache when available (0 credits on hit)." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 100. Billed per result."New value: +"Max items (default 20, max 100). Flat 2 native; Apify ~1/ad (min 2)."
- Changed
tiktok_comment_replies3 fields changed- added
Input schema / properties / commentIdAdded value: +{ + "description": "ID of the parent (top-level) comment to fetch replies for (from the comments endpoint). Legacy alias: comment_id.", + "type": "string" +} - removed
Input schema / properties / comment_idRemoved value: -{ - "description": "ID of the parent comment to fetch replies for (from the comments endpoint).", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "url", - "comment_id" -]New value: +[ + "url", + "commentId" +]
- Removed
twitter_search - Added
youtube_audio_transcript - Changed
youtube_channel_playlists2 fields changed- added
Input schema / properties / cursorAdded value: +{ + "description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.", + "type": "string" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return. Default 20, max 200. Flat 2 credits per call."
- Changed
youtube_channel_shorts2 fields changed- added
Input schema / properties / cursorAdded value: +{ + "description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.", + "type": "string" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return. Default 20, max 200. Flat 2 credits per call."
- Changed
youtube_channel_videos2 fields changed- added
Input schema / properties / cursorAdded value: +{ + "description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.", + "type": "string" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return. Default 20, max 200. Flat 2 credits per call."
- Changed
youtube_comment_replies5 fields changed- added
Input schema / properties / commentIdAdded value: +{ + "description": "ID of the parent (top-level) comment to fetch replies for (from the comments endpoint). Legacy alias: comment_id.", + "type": "string" +} - removed
Input schema / properties / comment_idRemoved value: -{ - "description": "ID of the parent comment to fetch replies for (from the comments endpoint).", - "type": "string" -} - added
Input schema / properties / cursorAdded value: +{ + "description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.", + "type": "string" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 50, max 500. Billed per result."New value: +"Max items to return. Default 50, max 500. Flat 2 credits per call." - changed
Input schema / requiredPrevious value: -[ - "url", - "comment_id" -]New value: +[ + "url", + "commentId" +]
- Changed
youtube_playlist2 fields changed- removed
Input schema / properties / fastRemoved value: -{ - "description": "Set true to use YouTube RSS for faster results with less detailed metadata. Leave false when viewCount/duration quality matters.", - "type": "boolean" -} - removed
Input schema / properties / limitRemoved value: -{ - "description": "Max items to return. Default 50, max 500. Billed per result.", - "minimum": 1, - "type": "integer" -}
- Changed
youtube_playlist_videos2 fields changed- added
Input schema / properties / cursorAdded value: +{ + "description": "Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response.", + "type": "string" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 50, max 500. Billed per result."New value: +"Max items to return. Default 50, max 500. Flat 2 credits per call."
3 tool updates
- Changed
youtube_channel_streams1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Flat 2 credits per call."New value: +"Max items to return. Default 20, max 200. Flat 2 credits when hasLiveTab is true; 0 credits when hasLiveTab is false."
- Changed
youtube_hashtag_search1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return. Default 20, max 200. Returns a single window; use limit to size it. No cursor. Billed per result."
- Changed
youtube_trending_shorts1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 100. Billed per result."New value: +"Max items to return. Default 20, max 100. Returns a single window; use limit to size it. No cursor. Flat 2 credits per call."
1 tool update
- Changed
instagram_trending_reels1 field changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Default true — serve 4h response cache (0 credits). false forces live scrape (1 credit)."New value: +"Default true — serve 4h response cache. Flat 2 credits either way; false forces live scrape."
1 tool update
- Changed
instagram_trending_reels2 fields changed- changed
Input schema / properties / cache / descriptionPrevious value: -"Set true to serve from the 24h response cache. Default false — always fetch fresh data."New value: +"Default true — serve 4h response cache (0 credits). false forces live scrape (1 credit)." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 200. Billed per result."New value: +"Max items to return. Default 20, max 200."
19 tool updates
- Changed
account_most_used_routes1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 100. Billed per result."New value: +"Max rows to return. Default 20, max 100. Free — does not consume credits."
- Changed
account_request_history5 fields changed- added
Input schema / properties / endpointAdded value: +{ + "description": "Exact Captapi path, e.g. /v1/instagram/basic-profile.", + "type": "string" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 50, max 500. Billed per result."New value: +"Max rows to return. Default 50, max 500. Free — does not consume credits." - added
Input schema / properties / sinceAdded value: +{ + "description": "Inclusive createdAt lower bound (ISO date or datetime).", + "type": "string" +} - added
Input schema / properties / statusCodeAdded value: +{ + "description": "HTTP status filter, e.g. 500.", + "minimum": 1, + "type": "integer" +} - added
Input schema / properties / untilAdded value: +{ + "description": "Exclusive createdAt upper bound (ISO date or datetime).", + "type": "string" +}
- Changed
analytics_compare1 field changed- changed
Input schema / properties / urls / descriptionPrevious value: -"Comma-separated post/video/reel URLs (up to 10), any mix of supported platforms."New value: +"Comma-separated URLs (up to 10), any mix of the 11 Post Analytics platforms."
- Changed
analytics_post1 field changed- changed
Input schema / properties / url / descriptionPrevious value: -"A public post, video, or reel URL from a supported platform. The URL platform must match this tool's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Post/video/reel URL from YouTube, TikTok, Instagram, Facebook, X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, or Rumble. Platform auto-detected — cross-platform URLs are expected. Not Kwai/Twitch/Spotify/Snapchat."
- Changed
facebook_marketplace_location_search3 fields changed- removed
Input schema / properties / detailsRemoved value: -{ - "description": "Set true to include latitude/longitude per location (slower; doubles cost to 34 credits).", - "type": "string" -} - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 10, max 50. Flat 17 credits per call."New value: +"Max items to return. Default 10, max 50. Flat 2 credits per call." - changed
Input schema / properties / q / descriptionPrevious value: -"City/place search query, e.g. Austin."New value: +"City/place query. Bare 'Austin' may return TX/MN/IN; include a state for a single hit."
- Changed
github_activity3 fields changed- changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor (page number as string). Leave empty for the first page; then pass the nextCursor value returned in the previous response."New value: +"Opaque cursor from previous nextCursor. Stops at 90-event ceiling." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 30, max 100. Billed per result."New value: +"Max items to return. Default 30, max 90. Billed per result." - changed
Input schema / properties / username / descriptionPrevious value: -"GitHub username or profile URL."New value: +"GitHub username or profile URL, e.g. getify."
- Changed
github_contributions1 field changed- changed
Input schema / properties / username / descriptionPrevious value: -"GitHub username or profile URL."New value: +"GitHub username or profile URL, e.g. getify."
- Changed
github_followers2 fields changed- changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor (page number as string). Leave empty for the first page; then pass the nextCursor value returned in the previous response."New value: +"Opaque cursor from previous nextCursor (GitHub Link page=)." - changed
Input schema / properties / username / descriptionPrevious value: -"GitHub username or profile URL."New value: +"GitHub username or profile URL, e.g. getify."
- Changed
github_following2 fields changed- changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor (page number as string). Leave empty for the first page; then pass the nextCursor value returned in the previous response."New value: +"Opaque cursor from previous nextCursor (GitHub Link page=)." - changed
Input schema / properties / username / descriptionPrevious value: -"GitHub username or profile URL."New value: +"GitHub username or profile URL, e.g. getify."
- Changed
github_pull_requests2 fields changed- changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor (page number as string). Leave empty for the first page; then pass the nextCursor value returned in the previous response."New value: +"Opaque cursor from previous nextCursor (GitHub Link page=)." - changed
Input schema / properties / state / descriptionPrevious value: -"open, closed, or all. Default open."New value: +"open (default), closed, or all — echoed as data.state."
- Changed
github_repositories4 fields changed- changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor (page number as string). Leave empty for the first page; then pass the nextCursor value returned in the previous response."New value: +"Opaque cursor from previous nextCursor (GitHub Link page=)." - added
Input schema / properties / directionAdded value: +{ + "description": "asc or desc (default desc).", + "type": "string" +} - added
Input schema / properties / sortAdded value: +{ + "description": "created|updated|pushed|full_name (default updated).", + "type": "string" +} - added
Input schema / properties / typeAdded value: +{ + "description": "owner|member|all (default owner).", + "type": "string" +}
- Changed
github_repository1 field changed- changed
Input schema / properties / repo / descriptionPrevious value: -"Repository URL or owner/name."New value: +"Repository URL or owner/name, e.g. torvalds/linux."
- Changed
github_trending_developers5 fields changed- added
Input schema / properties / languageAdded value: +{ + "description": "Optional programming-language slug, e.g. python.", + "type": "string" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 100. Billed per result."New value: +"Max items to return. Default 25, max 100. Flat 2 credits per call." - removed
Input schema / properties / qRemoved value: -{ - "description": "GitHub user search query. Default followers:>1000.", - "type": "string" -} - added
Input schema / properties / sinceAdded value: +{ + "description": "daily (default), weekly, or monthly.", + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "q" -]
- Changed
github_trending_repositories5 fields changed- added
Input schema / properties / languageAdded value: +{ + "description": "Optional programming-language slug, e.g. python.", + "type": "string" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return. Default 20, max 100. Billed per result."New value: +"Max items to return. Default 25, max 100. Flat 2 credits per call." - removed
Input schema / properties / qRemoved value: -{ - "description": "GitHub repository search query. Default stars:>1000.", - "type": "string" -} - added
Input schema / properties / sinceAdded value: +{ + "description": "daily (default), weekly, or monthly.", + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "q" -]
- Changed
github_user1 field changed- changed
Input schema / properties / username / descriptionPrevious value: -"GitHub username or profile URL."New value: +"GitHub username or profile URL, e.g. getify."
- Changed
tiktok_ad_library_search1 field changed- added
Input schema / properties / matchAdded value: +{ + "description": "Keyword mode: \"any\" (default) or \"all\".", + "type": "string" +}
- Changed
tiktok_ad_library_top_ads2 fields changed- added
Input schema / properties / matchAdded value: +{ + "description": "Keyword mode: \"any\" (default) or \"all\".", + "type": "string" +} - changed
Input schema / properties / q / descriptionPrevious value: -"Optional keyword filter."New value: +"Optional keyword (substring). See match + matchedFrom."
- Changed
video_summarize4 fields changed- changed
Input schema / properties / file / descriptionPrevious value: -"Local path or multipart file upload of the video/audio to transcribe and summarize."New value: +"Local path to video/audio — multipart form field file (POST), not a query string." - added
Input schema / properties / languageAdded value: +{ + "description": "ISO-639-1 Whisper language hint.", + "type": "string" +} - added
Input schema / properties / timestampGranularityAdded value: +{ + "description": "segment (default) or word.", + "type": "string" +} - added
Input schema / properties / translateAdded value: +{ + "description": "Translate speech to English when true.", + "type": "boolean" +}
- Changed
video_transcript4 fields changed- changed
Input schema / properties / file / descriptionPrevious value: -"Local path or multipart file upload of the video/audio to transcribe."New value: +"Local path to video/audio — sent as multipart form field file (POST), not a query string." - added
Input schema / properties / languageAdded value: +{ + "description": "ISO-639-1 Whisper language hint, e.g. en or tr.", + "type": "string" +} - added
Input schema / properties / timestampGranularityAdded value: +{ + "description": "segment (default) or word.", + "type": "string" +} - added
Input schema / properties / translateAdded value: +{ + "description": "Translate speech to English when true.", + "type": "boolean" +}
Related MCP Connectors
YouTube, TikTok, Instagram, X, Reddit, LinkedIn and Threads: public data in one schema.
95 live social-data tools for Instagram, TikTok, Facebook, LinkedIn, YouTube, X and more.
Live social media data for AI agents: X, LinkedIn, Instagram, TikTok, YouTube, Reddit, Facebook.
Get social media data from Instagram and TikTok: profiles, posts, videos, comments, and more.
Related MCP Servers
AlicenseAqualityDmaintenanceSocialCrawl provides the "best" quality public web data on the internet. Access 65+ real-time social media, e-commerce and public web data from a single API with a single schema.5318 npm23MIT- AlicenseAqualityDmaintenanceProvides AI agents with unified access to 21 social media platforms and 105 endpoints for retrieving profiles, posts, comments, search results, trending content, and analytics without per-platform authentication.4318 npmMIT
- FlicenseNot gradedqualityCmaintenanceProvides unified access to social media data across nine networks (Instagram, TikTok, YouTube, etc.) through a set of MCP tools for profiles, posts, search, and comments, backed by the SocialBridge API.-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to retrieve X/Twitter profiles and tweets, YouTube video and channel data, and TikTok profile and video stats on a pay-per-result basis without requiring login or platform API keys.34 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.