Skip to main content
Glama

search_videos

Idempotent

Search for short-form videos by keyword across TikTok or Instagram. Returns up to 20 videos ranked by engagement, with view counts, likes, shares, comments, hashtags, author info, and URLs. Use when the user asks to find videos about a topic or keyword. Supports optional filters for niche, minimum views, recency window, and region.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax videos to return after filtering. Default 12, max 20.
nicheNoOptional — only return videos whose description contains niche-related tokens. Loose niche strings work ("fitness", "Beauty & Skincare").
queryYesFree-text search term. Examples: "morning routine", "iphone case", "passive income".
regionNoISO country code (US, GB, BR, PH, JP, etc.). Note: corpus coverage varies by region — small regions may return zero results and a degraded quality flag.
windowNoRecency filter. Maps to the closest ScrapeCreators date bucket AND applies a client-side cutoff for defense-in-depth.
platformNoWhich platform to search. "tiktok" (default) hits ScrapeCreators TikTok keyword search. "instagram" (2026-07-06) hits Instagram Reels search — note IG upstream ignores region/date_posted params, so region enforcement is client-side only (region_verified_count in the response tells you how many results verifiably matched).
min_viewsNoOptional view-count floor. Default 0.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
videosNo
appliedNoEcho of the filters actually applied — useful for debugging when results look surprising
qualityNo
from_paygNo
filtered_countNoVideos returned after filtering + cap
upstream_countNoVideos returned by upstream before any filtering
credits_remainingNoCredits remaining after this call
from_subscriptionNo

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: it mentions the 'degraded quality flag' for small regions, the client-side cutoff for window, and the platform-specific note that Instagram ignores region/date_posted params. This goes beyond annotations and helps the agent understand edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with the core purpose front-loaded and filters summarized in one sentence. It's efficient and doesn't waste words. A slight deduction because it could be slightly more structured (e.g., bullet points for filters), but it's still well-organized and readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 params, 2 enums, platform-specific behavior), the description covers the key points: what it returns, when to use it, and the main edge cases (region coverage, platform differences). The output schema exists, so return values are covered. It doesn't mention pagination or rate limits, but those are minor for a search tool. A 4 is fair.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 parameters well. The description adds value by summarizing the optional filters (niche, minimum views, recency window, region) and by noting the 'degraded quality flag' for regions, which is not in the schema. It doesn't repeat schema details but adds a layer of context, so a 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Search'), a resource ('short-form videos'), and the platforms ('TikTok or Instagram'). It clearly distinguishes from siblings like 'find_viral_template' or 'trend_pulse' by focusing on keyword search for videos. The scope and output are explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use when the user asks to find videos about a topic or keyword,' which provides clear context. It doesn't explicitly name alternatives or when-not-to-use, but the sibling list and the specific phrasing make the usage context clear enough. A small deduction for not naming alternatives explicitly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation4/5

Each tool targets a distinct purpose: analysis, trend research, scoring, creation, and tracking. The lifecycle tools (analyze_account, watch_account, get_changes) are related but clearly delineated by baseline creation vs. comparison. score_hook and predict_virality could be mildly confused since both score content, though descriptions clarify hook-level vs. full-draft scope.

Naming Consistency4/5

Nine of twelve tools follow the verb_noun pattern (analyze_account, find_viral_template, get_changes, list_watches, match_voice, predict_virality, score_hook, search_videos, watch_account). Three deviate: brief_to_blueprint, trend_pulse, and viral_remix use prepositional or noun-based naming, creating minor inconsistency but not confusion.

Tool Count5/5

Twelve tools for a short-form content intelligence platform feels well-scoped. The surface covers research (4 tools), creation (3), validation (2), and tracking (3), with each tool earning its place. This sits comfortably within the ideal 3-15 range for a domain-specific server.

Completeness3/5

The research, creation, and validation workflows are well-covered, but the tracking lifecycle has a notable gap: watch_account and list_watches exist with no unwatch/remove_watch tool, and get_changes implies persistence without a way to manage it. Also missing is a single-video deep-dive tool (analyze_account only covers videos within full account analysis) and direct creator-to-creator comparison.