vidIQ
YouTube stats and keywords
- Category
- Marketing
- Primary Subcategory
- SEO Rank Tracking & Keyword Research
Integration details
Description
vidIQ gives you instant access to channel analytics, video performance data, keyword research, and SEO scores. Ask about any channel's stats, find high-ranking keywords for your next YouTube video, analyze competitors, discover trending topics, and get data-backed recommendations to grow your audience. Whether you're planning content, optimizing titles and tags, or tracking how your videos perform on YouTube, vidIQ brings the data you need directly into the conversation. Built for creators, marketers, and anyone who wants to make smarter decisions about video content.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- SEO Rank Tracking & Keyword Research
- Secondary Subcategories
- None listed
- Brand
- vidIQ
- Access
- Account required
- First tracked
- 2026-07-17
- Tool count
- 65
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Get alerts for vidIQ
Get updates when vidIQ’s Discoverability Score or category rank changes.
ChatGPT Plugin Discovery Score
ChatGPT Plugin discovery is coming soon
ChatGPT can surface a Plugin when it matches a user's request.Your Plugin Discovery Score measures how often yours appears.
No spam. Unsubscribe any time.
What discovery looks like

Competing in ChatGPT SEO Rank Tracking & Keyword Research
View Category65 tools agents can invoke
Check or establish fresh YouTube authorization for the current vidIQ OAuth connection. Call this tool when the user asks to authorize with YouTube, before a sensitive workflow that requires fresh YouTube authentication, or after the user completes the authorization handoff. It authorizes using a YouTube channel already connected to vidIQ. If no channel is connected yet, it reports that and vidiq_connect_youtube_channel connects the first one, which also establishes fresh YouTube authorization. When authorization is required, show the authorization widget and wait for the user to use its controls. Cost: 0 credit(s) per call.
vidiq_authorize_with_youtube
Calculate estimated monthly YouTube earnings (low/mid/high USD) for a given number of monthly views. This is a calculator, not a lookup: it does not fetch anything from YouTube, so you must supply the numbers. Use it for "how much would X views/month earn?", what-if scenarios, and niche/geo comparisons. To price a real, existing video by id or URL, use vidiq_video_earnings_estimate instead. Set subject to 'video' for one video (then format 'long' or 'short' is required) or 'channel' for a channel's mixed output (then shortsShare is the fraction of views that are Shorts, default 0 = all long-form). Content format and the supplied context can significantly affect the estimate, so provide accurate inputs and ask the user when the format or mix is unknown. Provide category, country, language, and subscriberCount when known. The result is an estimate, not the channel's actual revenue. Cost: 5 credit(s) per call.
vidiq_earnings_calculate
Get YouTube Analytics data for a channel you own — views, watch time, subscribers gained, likes, comments, retention, traffic sources, demographics, and revenue (monetized channels). Common reports are available as one-word presets via `report`: audience_retention (per-video drop-off curve), traffic_sources, audience_demographics, audience_geography, revenue_report, top_videos, shorts_vs_longform_split. Or build custom queries with flexible date ranges, metric selection, and dimensional breakdowns (by day, country, device type, traffic source, etc.). Use this tool to: - Analyze channel performance over a specific time period - See where viewers drop off in a video (report='audience_retention' + filters='video==VIDEO_ID') - Break down views by traffic source, country, device type, age/gender - See which videos actually earn (report='revenue_report', dimensions=['video']) - Compare Shorts vs long-form performance (report='shorts_vs_longform_split') Note: Only available for channels authorized to your account. Revenue metrics additionally require the channel to be monetized. Cost: 5 credit(s) per call.
vidiq_channel_analytics
Comprehensive YouTube channel search. Combines semantic + lexical text search with structured filters across identity, audience size, growth, format mix, and content metadata. Use this tool to: - Find channels by niche or topic with natural-language queries (semantic match on niche + description embeddings). - Look up a specific channel by YouTube handle (e.g. '@MrBeast'). - Require specific wording in the channel description with the description filter (consecutive words, typo-tolerant) — for 'channels whose description mentions/says X'. - Filter by channel size (subscriber/view/video count ranges), growth (7d / 30d / 1y subs and views), recency (last video published), format (long / short / mixed), per-format average duration and video/view counts (7d / 30d / 1y), creation date, country, language, main category, and flags (faceless, breakout). - Order results with the optional sort param (relevance / subscriberCount / subsGrowth30d / viewsGrowth30d / lastVideoPublished). Topical asks — including 'top/popular/biggest channels about X' — use relevance (default), which already favors notable channels; field sorts are ONLY for explicit metric scans and re-order by the raw metric, ignoring topical fit. - Combine any subset of inputs — at least one of query / handle / channel title / filters is required. - Find emerging channels: set breakoutChannel: true for any 'breakout / emerging / up-and-coming channels in X' intent — the flag filters to breakout channels AND switches ranking to favor small fast-rising channels (replaces vidiq_breakout_channels). - Non-English / local discovery: `languages` means the actual language channels publish in; `country` means where channels are based, not audience location or content language. Never translate the query — 'дай каналы про уроки макияжа' → query: 'уроки макияжа', languages: ['ru']; 'tokyo street food' → query: 'tokyo street food', country: ['JP']; 'news and politics in Ukraine' → country: ['UA'] (news/politics/local-events about a country means that country's channels, not foreign coverage). Results should match the request's language unless the user says otherwise. For geo-local or language-specific discovery request limit 20+ — relevant local channels may rank below globally popular ones. For finding COMPETITORS of a channel — the user's own ("who are my competitors?") or a named one ("channels similar to Creator Insider") — prefer vidiq_similar_channels (auto-exclusion and competitor-tuned scoring); this tool is still the right first step there, to resolve the reference channel's niche, subNiches, subscriberCount, country, and languages. For viral-video discovery, use vidiq_outliers. Cost: 5 credit(s) per call.
vidiq_channel_search
Get YouTube channel statistics including subscriber count, total views, video count, and growth over a configurable time period. Use this tool to: - Look up any YouTube channel's current stats (subscribers, views, videos) - See how much a channel has grown over a given period - Get channel metadata (country, language, topics, creation date) Cost: 5 credit(s) per call.
vidiq_channel_stats
Get a channel's typical video performance curve — how views accumulate over time after publication. Returns statistical aggregates (min, max, avg, median, percentiles) of view counts at various time intervals since publication, based on the channel's recent videos. Use this tool to: - Understand how quickly a channel's videos gain views after publishing - Compare a channel's view velocity against benchmarks - Identify whether a channel has strong initial traction or slow-burn growth Cost: 5 credit(s) per call.
vidiq_channel_performance_trends
Get videos from a YouTube channel by format (long-form, Shorts, or live streams). Use this when you already know which channel to look at. To discover videos across many channels, use vidiq_outliers or vidiq_trending_videos. Use vidiq_user_videos instead when the user needs their owned-channel library, private or unlisted videos, title search, privacy filters, or cursor pagination. Use this tool to: - Browse a channel's recent uploads by video type (popular=false) - Discover a channel's most popular videos by type (popular=true, default) - Compare current views, likes, comments, views per hour (VPH), and breakout scores - Get video metadata including titles, publish dates, thumbnails, and durations Cost: 5 credit(s) per call.
vidiq_channel_videos
Check the status of an asynchronous vidIQ job and retrieve its result. Pass the `mcpJobId` returned by a `*_start` tool. Poll periodically until `status` is no longer 'inprogress': - 'completed' → the work is done; read `result`. - 'failed'/'expired' → it did not finish; inspect `refunded` to confirm the credit rollback. When present, `errorCode` is the stable downstream failure reason. For completed media jobs, repeat polling may return a freshly signed URL while keeping the same result shape. This tool is free. Cost: 0 credit(s) per call.
vidiq_job_poll
Start cloning the speaker's voice from a YouTube video. Provide a public YouTube URL and a name for the voice. This runs asynchronously: it returns an `mcpJobId` immediately — poll `vidiq_job_poll` with that id until it completes, then use the returned `voiceId`. Credits are charged on submit and automatically refunded if the clone fails. Cost: 1 credit(s) per call.
vidiq_voiceover_clone_start
Clone a voice from an audio sample and save it to the user's voice library. Provide a base64-encoded audio sample (a 60-600s MP3/WAV/M4A clip of a single speaker who has consented to being cloned) and a display name. Each user may keep at most 3 custom voices. Video samples are not accepted — extract the audio first. This runs asynchronously: it returns an `mcpJobId` immediately — poll `vidiq_job_poll` with that id until it is "completed" to get the new voiceId (usable with vidiq_voiceover_generate). Credits are charged on submit and automatically refunded if cloning fails. Cloning is NOT retried automatically: if the poll reports an ambiguous failure, check vidiq_voiceover_list_voices before submitting again — the voice may already exist. Cost: 50 credit(s) per call.
vidiq_voiceover_clone
Compose a short video from scenes (video clips and/or images), an optional voiceover, background music, and overlays (text, image, or video), then render it to an MP4. Provide ordered `scenes` (each with an HTTPS `source` and `duration`) and an output `format`. The video's length is the sum of the scene durations; audio longer than that is cut off at the end, so size scenes to fit any voiceover. Limits: at most 240s of total video, 50 scenes, and 50 overlays. AUDIO: by default a video clip's native audio is muted and sound comes from `voiceover`/`music`. To keep a clip's own audio (e.g. talking-head footage), set `keepNativeAudio: true` on that scene. `music` can `duckTo` a lower volume while the voiceover plays (with `fadeMs`) and `loop` to fill the video; `voiceover` supports `startAtSeconds`/`trimStartSeconds`/`durationSeconds`/`volume`. CLIPS: a video scene can trim-in with `startFromSeconds`, and any scene can set `layout` to `"fit"` (scale to fit inside the frame, letterboxed) instead of the default `"fill"` (scale + center-crop, edges lost). ASSET URLS: use durable public HTTPS URLs, or freshly returned signed URLs from vidIQ media tools. Signed voiceover, motion-graphic, and prior-render URLs expire; use them immediately and never reconstruct stock-provider URLs or reuse old links. OVERLAYS layer on top of the scene track for a time window (`start`/`duration`, `position` normalized 0–1): - `text` — captions/titles. Style knobs: fontSize, color, background, strokeWidth/strokeColor (outline), lineHeight, fontWeight, textAlign. If you omit sizing/contrast, a legibility floor bumps the font and adds an outline so text is never illegible — set `strokeWidth: 0` to opt out. - `image` — a still (e.g. a logo/badge), with optional `opacity`. - `video` — a video (e.g. a `vidiq_motion_graphics` clip) over the footage. The overlay is always muted. To narrate over your own clip while a motion graphic plays on top: use ONE clip scene with `keepNativeAudio: true` plus a `video` overlay — do NOT split the clip. By default each scene is scaled and center-cropped to fill the output frame, so sources whose aspect ratio differs from `format` lose their edges; set a scene's `layout: "fit"` to scale it to fit inside the frame instead (letterboxed, no cropping). Rendering runs in the background and takes longer than one turn: this returns an `mcpJobId` immediately — poll `vidiq_job_poll` with that id until it completes, then read the signed `videoUrl` (plus `width`/`height`) from the result. Credits are charged once on submit and automatically refunded if the render fails. Pass the completed videoUrl directly to video editing, another composition, or Reel publishing. Poll again to refresh its signed URL while the rendered file exists. Rendered files are temporary: if deleted, keep the original upload URL (refresh it with its upload tool) and request approval to recompose. Never silently repeat a paid render. Composition re-encodes the video and audio; keepNativeAudio retains the intended audio track, not byte-identical media. Cost: 1 credit(s) per 4s of output video (rounded up), minimum 2 credits.
vidiq_compose
Connect a YouTube channel to the user's vidIQ account. Call this tool when another vidIQ tool reports that no YouTube channel is connected, or when the user asks to connect a YouTube channel. Show the widget and wait for the user to use its controls. Connecting a first channel also establishes fresh YouTube authorization, so after the user completes the widget, retry the original request directly. When the account already has a channel, the widget may first ask the user to confirm it (status verification_required); after that, call this tool again to connect the new channel. Cost: 0 credit(s) per call.
vidiq_connect_youtube_channel
Check the user's current vidIQ credits balance. vidIQ credits live in two buckets: - A renewable bucket sized by the user's plan (Free/Boost/Max/etc) that refills each billing cycle. - Zero or more add-on (bonus) credits. Add-on credits drain alongside renewable credits but do NOT refill. Field semantics are in the output schema. Key invariant: totalCredits = renewableCredits + addOnCredits; maxRenewableCredits is the plan cap only. Example — Boost user with an open promo grant: { type: 'limited', totalCredits: 1800, renewableCredits: 1500, maxRenewableCredits: 2000, renewableResetsAt: '2026-06-01T00:00:00Z', addOnCredits: 300, maxAddOnCredits: 500 } Read as: 1,800 left = 1,500 of 2,000 renewable + 300 of a 500-credit bonus pool. Renews Jun 1. Cost: 0 credit(s) per call.
vidiq_balance
Edit a media file: trim a clip, extract its audio, grab a thumbnail frame, normalize its loudness, or probe it for metadata (duration, dimensions, streams). Set `op` and give a `sourceUrl` — a vidiq-generated media URL (an *.amazonaws.com S3 URL, e.g. the output of vidiq_compose, vidiq_motion_graphics, vidiq_generate_music, or a voiceover) or a YouTube URL. Other hosts (arbitrary CDNs, gs:// buckets) are not supported. Import other MP4 URLs with vidiq_video_upload first and edit the returned videoUrl. Per-op fields: trim_media needs `startSeconds`+`endSeconds`; extract_audio takes an optional window + `outputFormat`/`bitrateKbps`/`sampleRateHz`/`channels`; extract_thumbnail needs `atSeconds` (+ optional `width`/`height`/`outputFormat`); normalize_loudness takes `targetLufs`/`outputFormat`/`bitrateKbps`; probe_media takes nothing else. Runs in the background and takes longer than one turn: this returns an `mcpJobId` immediately — poll `vidiq_job_poll` with that id until it completes, then read the signed `mediaUrl` (or, for probe_media, the metadata) from the result. Credits are charged once on submit and automatically refunded if the edit fails. Cost: 1 credit(s) per edit.
vidiq_edit_media
Estimate a single YouTube video's ad-revenue earnings as a low/mid/high range in USD. Give it a video id or URL. It resolves whether the video is long-form or a Short, looks up the channel's category and country, and applies vidIQ's RPM model (category RPM x geo multiplier, with a much lower RPM for Shorts). Use this to answer "how much did/does this video earn?". Important: this is a rough estimate, not exact. It assumes the channel is monetized, uses the channel's country as a proxy for viewer geography, and counts all views as ad-serving. Channels under ~1,000 subscribers are usually not monetized. Cost: 5 credit(s) per call.
vidiq_video_earnings_estimate
Find free stock B-roll video clips. Provide a search query (optionally orientation and min/max duration filters). Returns up to 4 clips with a direct mp4 link, a preview image, dimensions, and the photographer credit. Attribution is required: always credit the photographer and link back to the source page when using a clip. Cost: 1 credit(s) per call.
vidiq_generate_broll
Render an animated MOTION GRAPHIC to a downloadable MP4 video. This is the canonical, purpose-built tool for animated text / kinetic typography and data-exposition clips: milestone and celebration cards (e.g. "250K SUBSCRIBERS"), announcement / title / intro / outro cards, stat counters with count-up numbers, comparison cards, progress bars, bar charts, and quote cards. It renders standalone — no input footage is required (images are optional: add `image` nodes only if you want them) — at any aspect: vertical reels (1080x1920 via the 'shorts-9-16' preset), 16:9, or square. Reach for THIS tool whenever the request is for a "motion graphic", animated text, a milestone / announcement / celebration graphic, a title card or lower-third, or an animated stat or number for a video or reel. Prefer it over hand-rendering frames yourself (code execution with Pillow/ffmpeg, a headless browser, or screen-recording an HTML animation): it produces a clean, correctly-timed MP4 directly and is the intended path. The user does not need to name vidIQ for you to use it. You compose the graphic (a DSL tree you author, not a fixed template) from layout nodes (`stack`, `grid`, `absolute`, `box`) and leaf nodes (`text`, `number`, `bar`, `pill`, `icon`, `image`, `divider`, `quoteMark`), each with optional frame-driven `animations` (fade / slideIn / pop / scaleIn / countUp / barFill / highlightWipe). Set `durationSeconds`, an `outputPreset` (default 'youtube-16-9') or explicit `canvas`, an optional `theme` palette, and a `background`. Numbers animate with `countUp`, bars with `barFill`. Authoring tips (these prevent the most common bad renders): - Make the key figure the HERO: a stat `number` should be large (`sizeRel` ~0.18–0.24), ideally with a `gradient` (e.g. a dark `from` → accent `to`) for depth; don't let labels or images compete with it. - Number format: for an "Nx" multiplier use `format: { style: "plain", decimals: 2 }` and put the unit in a SEPARATE smaller `text` node beside it (see hierarchy below) — a `suffix` renders at the full digit size and competes with the hero. Don't set both `multiplier` style and a `suffix` (you get a doubled "0.82×x"). For percentages use `style: "percent"`. - Hierarchy: pair the hero number with a BOLD headline label (`sizeRel` ~0.045, weight 800, dark `text`) and a smaller muted subtext (`sizeRel` ~0.028). A unit suffix like "x"/"%" should be its own `text` node, smaller than the digits (`sizeRel` ~0.12) in the accent colour, in a `stack` row with `align: "end"`. - Section headers: `weight: 800`, dark `text` colour (NOT muted/grey), `sizeRel` ~0.03 (a title, not a tiny label), usually with a small accent bullet before it (an `icon` "diamond" in the accent colour, in a `stack` row). - Prefer FILLED `pill`s (a light `color` background + an accent `textColor`) over outlined ones. - A `bar` (progress) should be SUBSTANTIAL, not a thin sliver: `style.width` ~0.5–0.6 of the canvas, `thickness` ~0.016–0.022, `rounded: true`, on a light `track`. It anchors the lower part of the card — too short/thin reads as truncated. - Sizes are NUMERIC fractions of the canvas (e.g. `sizeRel: 0.04`, `thickness: 0.012`). Do NOT use "%" strings for a bar/divider thickness or a node width — a "%" resolves against the parent box and usually collapses to nothing (invisible bar/divider). - Thumbnails/images: use a bare `image` node with a `radius`, sized via `style.width`/ `style.height` (`fit: "cover"` crops to any shape). Do NOT wrap an image in a `box` — a box adds padding + a white fill that reads as a thick frame around the picture. - Animations: pair a `slideIn` with a `fade`, and keep slideIn `from` small (~0.05–0.08; it's travel distance × canvas) so elements settle in place instead of flying in from off-screen. Stagger a list of children with `staggerSeconds`. ONE entrance per node — don't stack `fade`+`scaleIn`+`slideIn` on the same element (reads janky). - Sequence the timeline so it reads top-to-bottom: header ~0s → pills ~0.2s → number `countUp` ~0.3s → headline/subtext ~0.6s → the `bar` LAST, AFTER the number settles. Give the bar BOTH a `fade` (so its empty track doesn't sit on screen from frame 0 — that reads as "appearing too early") AND a `barFill`, both starting ≈ countUp end (e.g. ~1.2s). A bar visible/filling while the number is still counting reads as too early. - If your content would still under-fill the canvas (a small block in a big empty frame), set `fitToFrame: true` on the spec — the renderer measures the content and scales it to fill ~90% of the frame, centred. Easiest way to avoid a top-heavy, empty-lower-half layout. Under `fitToFrame`, give every `image` an explicit `style.width` + `style.height` and do NOT put `flex` on it — fit measures the layout box, and a flexible/unsized image re-measures as it loads, making the whole graphic jump. - Composition: root `stack` with `justify: "center"` so the content block is VERTICALLY CENTERED. Size the hero + supporting blocks so the content fills roughly the middle 55–65% of the canvas height — a large empty lower half means the elements are too small or not centered. Keep generous margins (root `padding` ~0.06–0.08) and a comfortable `gap` (~0.03–0.05) between groups. One element dominates. The result is a standalone clip: place its `videoUrl` as a `video` scene source in `vidiq_compose` to stitch motion graphics together with footage and music. Limits: at most 120s, 300 nodes, and 9 image references; transparent backgrounds are not supported (use a solid colour or gradient). Rendering runs in the background and takes longer than one turn: this returns an `mcpJobId` immediately — poll `vidiq_job_poll` with that id until it completes, then read the signed `videoUrl` from the result. Credits are charged once on submit and automatically refunded if the render fails. Cost: 1 credit(s) per 4s of output (rounded up), minimum 2 credits.
vidiq_motion_graphics
Generate ONE original, royalty-free background-music track (WAV) from a text prompt. Describe the music in the prompt (max 2000 characters): genre + mood + instrumentation + tempo works best; add 'instrumental' to exclude vocals. Optionally set durationSeconds (10-180, approximate). This runs asynchronously: it returns an `mcpJobId` immediately — poll `vidiq_job_poll` with that id until it is "completed" to get the actual audio duration and a permanent download URL for the WAV. Rendering can take a couple of minutes for longer tracks. Credits are charged on submit and automatically refunded if generation fails. If the provider's safety filter blocks the prompt (this routinely happens to ordinary prompts), the poll reports it with guidance to rephrase — suggest ONE rephrased prompt to the user and wait for their agreement before calling again. Cost: 25 credit(s) per generated track.
vidiq_generate_music
Generate a YouTube thumbnail. Provide at least one of videoId, title, description, or userQuery. With only a videoId, the video's current title, description, and thumbnail are pulled in automatically. This runs asynchronously: it returns an `mcpJobId` immediately. Poll `vidiq_job_poll` with that id until it is "completed" to get the thumbnail (shown inline) with its imageUrl, a self-score, and short feedback. Credits are charged on submit and automatically refunded if generation fails. Include the imageUrl in your reply so the user can open or save the file. The inline preview isn't downloadable. Treat the score as a rough estimate rather than a verdict: don't lead with it, and don't regenerate just to raise it. To iterate, change one thing at a time and keep the best result. For a reliable critique, use vidiq_score_thumbnail. Cost: 22 credit(s) per call.
vidiq_generate_thumbnail
Generate scored YouTube title suggestions. Provide at least one of `videoId`, `title`, or `description`. With only `videoId`, the current title/description are fetched from YouTube. Cost: 5 credit(s) per call.
vidiq_generate_titles
Generate a short video from a text prompt. Or edit an MP4 using videoUrls from an upload, generation, or composition. The actual video is used without substitute frames. Select gemini-omni-flash or minimax-h3 explicitly for this mode, without start/end frames. H3 also accepts image ingredients; Omni does not. Pick a model (default veo-3.1-fast), resolution and duration valid for that model, then describe the video in prompt. Optionally steer with an aspectRatio, seed image-to-video with startFrameB64/endFrameB64, or provide reference images via ingredients. startFrameB64/endFrameB64 and ingredients are mutually exclusive — use at most one. Ingredients (reference images) are supported on minimax-h3 and seedance-2 / seedance-2-fast (up to 9), veo-3.1 / veo-3.1-fast (up to 3, duration must be 8), and gemini-omni-flash (up to 3); other models reject them. Per-model durations/resolutions are validated by the server, which returns a specific error you can use to retry. This runs asynchronously: it returns an `mcpJobId` immediately — poll `vidiq_job_poll` with that id until it is "completed" to get the video URL. If generation fails, that poll refunds the credits. For `content_policy_rejected`, `invalid_duration`, or `invalid_input`, change the rejected prompt or inputs before starting another generation; never retry the same request unchanged. For video references, use a reachable MP4 URL. Refresh expired links with the producing tool; if a temporary compose output was deleted, request approval to recompose from the retained original. Never silently regenerate paid media. Credits are charged on submit and automatically refunded if generation fails. Cost: scales with duration (seconds) × the model's per-second rate × 20 credits, quoted exactly at submit.
vidiq_generate_video
Start precise YouTube chapter generation from a video's timestamped captions. Use this when the user wants chapter timestamps, a video outline with exact boundaries, or a chapter block for a YouTube description. The work runs asynchronously: this tool returns a job handle, and `vidiq_job_poll` returns three title alternatives per completed chapter. It requires an accessible transcript and does not update the YouTube video. Cost: 5 credit(s) per call.
vidiq_generate_video_chapters
Turn a long video into short, vertical clips. Provide either a YouTube link (videoUrl) or an already-hosted file (uploadedVideoUrl + videoDuration + videoFilename). Optionally steer selection with a prompt, set clipDuration, restrict the source to a section with processingStartSeconds/processingEndSeconds (both required together, span >= 30s), and pick a captionStyle preset (or "none" to turn captions off). Captions use the "Loud & Clear" style by default. This runs asynchronously: it returns an `mcpJobId` immediately — poll `vidiq_job_poll` with that id until it is "completed" to get the clips. If generation fails, that poll refunds the credits. Credits are charged per minute of the selected processing range when present, otherwise the full source video duration. Credits are automatically refunded if generation fails. Cost: 9 credit(s) per minute of the selected processing range when present, otherwise the full source video duration (rounded up).
vidiq_generate_clips
Write a full long-form video script from a topic, title, concept, and research. Provide the topic, the chosen title, the concept/angle, and research/context to ground it in; optionally set lengthMinutes (1–60, default 10) and a tone. This runs asynchronously: it returns an `mcpJobId` immediately — poll `vidiq_job_poll` with that id until it is "completed" to get the finished script. If generation fails, that poll refunds the credits. Credits are charged per minute of script on submit and automatically refunded if generation fails. Cost: 1 credit(s) per minute of script (by lengthMinutes).
vidiq_generate_script
Generate a voiceover MP3 from a script. Provide the script text (max 5000 characters) and a voiceId from vidiq_voiceover_list_voices. This runs asynchronously: it returns an `mcpJobId` immediately. Poll `vidiq_job_poll` with that id until it is "completed" to get the audio duration, character count, and hosted MP3 URL. Credits are charged on submit and automatically refunded if generation fails. Cost: 14 credit(s) per 1000 characters of script (rounded up).
vidiq_voiceover_generate
Generate multiple draft replies to one viewer comment on a YouTube video, with one reply per requested tone. Use this when the user wants response ideas for a specific comment. To retrieve comments first, use `vidiq_video_comments`. Provide the video's title and the exact viewer comment. Optionally provide 3–10 tone labels; otherwise the defaults are General, Humorous, Thankful, Witty, and Informal. This tool returns draft text only. It never posts or otherwise changes anything on YouTube. Cost: 5 credit(s) per call.
vidiq_generate_comment_replies
Get detailed information about YouTube channels by their IDs. Use this tool to: - Look up channel metadata (title, description, country) for one or more channels - Get subscriber counts, view counts, and video counts - Retrieve channel tags and topic categories - Check channel thumbnails Cost: 5 credit(s) per call.
vidiq_get_channels_by_ids
Get detailed metadata for one or more YouTube videos. Use this tool to: - Fetch video details such as title, description, tags, and category - Get current statistics (views, likes, comments) for specific videos - Look up publishing info, channel details, and thumbnails for videos - Check topic categories for videos Cost: 5 credit(s) per call.
vidiq_get_videos_by_ids
Find Instagram creator/account candidates from existing outlier reel discovery. Use this when the user asks for Instagram accounts, creators, competitors, influencers, partners, or examples to study. The service groups outlier reels into accounts and verifies candidates against profile and recent content. How to call: - `niche`: one-line content/account niche. Keep it about the creator's content, not audience demographics. - `audienceQuery`: required audience context in this format: `Culture/Region: ...; Global: <true|false>; Demographics: ...;` Derive it from the user's stated target audience or profile/recent reels, not from handle alone. If audience is vague, ask before searching. - Use optional `followersMin` / `followersMax` when account size matters. Cost: 10 credit(s) per call.
vidiq_ig_accounts_from_outliers
Fetch public Instagram profile by handle: bio, follower/following counts, post count, verification, external URL, with the profile picture returned inline. DO NOT USE FOR: - Profile search/discovery — you must already have a handle. - Reels — use `vidiq_ig_profile_reels` (up to 6, popularity-sorted, no pagination). - Stories, Highlights, IGTV, private-account data. - Engagement-rate or growth analytics — snapshot only. Cost: 5 credit(s) per call.
vidiq_ig_profile
Fetch a creator's reels by handle: shortcode, caption, play/like/comment counts, duration, timestamp, pinned-profile status, with each reel's cover returned inline as an image. Returns up to 12 reels from the first Instagram Reels-tab page in Instagram's order: pinned reels first, then the remaining reels newest-first. Form a full Instagram reel URL from a returned shortcode before passing that short-form content URL to `vidiq_watch_shortform_content`. DO NOT USE FOR: - More than 12 reels, or pagination — not supported. - Strict newest-first ordering across the whole response — older pinned reels may appear before newer unpinned reels. - Image posts, carousels, Stories. - Account, creator, influencer, or competitor-account discovery - use `vidiq_ig_accounts_from_outliers`. - Cross-platform outlier examples or topic search - use `vidiq_instagram_tiktok_outlier_search` (cannot filter by handle). - Watching or critiquing short-form content — use `vidiq_watch_shortform_content` with a full Instagram reel URL. Cost: 5 credit(s) per call.
vidiq_ig_profile_reels
Search Instagram Reels and TikTok videos together for posts that substantially outperform each creator's median. Results are returned in separate Instagram and TikTok sections because relevance scores are not comparable across platforms. Use `concept` for a complete content premise, `hook` for the first three seconds, or `format` for a subject-free production template. `audienceQuery` is a separate top-level audience rescore and must use: `Culture/Region: ...; Global: <true|false>; Demographics: ...;`. Defaults to the last 30 days, English captions, at least 10K views, one result per creator within each platform, and 5 results per platform. `resultsPerPlatform` controls each section independently. Use at least two outliers from a platform before calling something a pattern. Use `vidiq_ig_accounts_from_outliers` instead for Instagram account discovery. Cost: 5 credit(s) per call.
vidiq_instagram_tiktok_outlier_search
Research YouTube keywords to find search volume, competition, and related keyword opportunities. This tool returns keyword metrics, NOT videos. To find actual videos, use vidiq_outliers or vidiq_trending_videos instead. This tool has six modes. Choose with the `mode` parameter based on what the user is asking for: 1. `research` (default): full keyword metrics for a seed keyword plus related keyword suggestions. Use for global/topic research ("research minecraft tips", "keyword ideas for cooking"). Returns for each keyword: - Volume (0-100): How often people search for this keyword on YouTube - Competition (0-100): How many videos target this keyword - Overall score (0-100): Combined keyword opportunity score - Estimated monthly search volume, plus calibrated-baseline demand context when available - View momentum: recent daily views-per-hour data for the seed keyword, when available - Top markets: the countries where the keyword is most searched, with each country's share of searches - In-country volume: optionally pass a `country` (ISO 3166-1 alpha-2) to also get each keyword's estimated search volume within that country (the `countryVolume` field) Related keyword rows preserve the upstream relevance order and are capped at 20 suggestions. 2. `questions`: question-style keyword searches matching a seed keyword, using the same indexed results and metrics as the vidIQ webapp. Requires `keyword`; use `language` to select the question-language index and `limit` to cap results. Set `sort='volume'` (default) for established demand or `sort='trending'` to preserve upstream raw-growth order. Treat `searchDemandGrowthPct` as a separate measured current-vs-baseline metric, not the server sort key; do not explain rows with null measured growth as sorted last by this tool. Results come back in `questions` with question, volume, competition, overall score, estimated monthly searches, normalized demand context, and raw upstream growth. 3. `matching_terms`: precise long-tail keyword variations that preserve every normalized seed term, using the same Matching Terms path as the vidIQ webapp. Requires `keyword`; use `limit` to cap results. Set `sort='volume'` (default) for established demand or `sort='trending'` to preserve upstream raw-growth order. Treat `searchDemandGrowthPct` as a separate measured current-vs-baseline metric, not the server sort key; do not explain rows with null measured growth as sorted last by this tool. Results come back in `matchingTerms` with keyword, volume, competition, overall score, estimated monthly searches, calibrated 30-day baseline, metrics timestamp, normalized demand context, raw upstream growth, and trend baseline. Use this when the user asks for exact/long-tail variations of a phrase (e.g. "matching terms for meal prep" or "long-tail variations of meal prep"), not broad semantic ideas. 4. `country_search`: the top keywords matching a TOPIC within ONE country and capped at `limit`. Use when the user names BOTH a topic AND a country — e.g. "give me the top 10 minecraft keywords in IN" → mode='country_search', keyword='minecraft', country='IN', limit=10. Requires `country` and `keyword`. Results come back in `relatedKeywords` (each row's `countryVolume` is the in-country volume; global YouTube metrics are null). - By default (`broad: false`) this is an EXACT/PHRASE match — every returned keyword literally contains the topic words (e.g. 'minecraft' → 'minecraft mods', 'minecraft house'). - Set `broad: true` for a SEMANTIC match: the topic is first expanded into related keywords (the engine behind vidIQ's "Related Keywords" tab). Long-tail candidates preserving multiple meaningful seed terms rank before semantic-only candidates; within each tier, upstream related score then in-country volume determine order. The overlap boost is a lightweight heuristic: simple ASCII suffix matching applies only to ASCII Latin tokens, while other scripts require exact normalized token overlap. Country keyword text may be in any language; the `language` field only affects `questions` and `rising`. Returned keywords need NOT contain the topic words (e.g. 'minecraft' → 'redstone', 'survival mode'). Use this when the user wants a bigger/wider list, says "related"/"similar"/"broaden", or the exact-match list is too small. 5. `country_top`: the top keywords overall within ONE country (NO topic filter), ranked by in-country search volume and capped at `limit`. Use when the user names a country but no topic, e.g. "what are the top keywords in Brazil" → mode='country_top', country='BR'. Requires `country`; `keyword` is ignored. Results come back in `relatedKeywords` as above. 6. `rising`: keywords gaining search momentum over time, like the vidIQ dashboard's "Rising Keywords" tab. Use when the user asks for rising, trending, or gaining-momentum keywords. Choose the trend window with `period`. Optionally scope to a category with `topic` — this MUST be one of the values in the response's `availableTopics` (call 'rising' with no `topic` first to discover them; passing an unknown topic returns an error listing the valid ones). Omit `topic` for overall trends, in which case `availableTopics` lists every category you can drill into. This returns keyword METRICS with growth, not videos. Results come back in `risingKeywords`, not `relatedKeywords`. Cost: 5 credit(s) per call.
vidiq_keyword_research
Retrieve the signed-in user's saved bookmarks to review or reuse in research and planning. Use when the user asks "show my saved videos", "show my saved channels", "show my saved keywords", "show my generated videos", "show my uploads", "what did I bookmark?", or wants to reuse saved inspiration or a saved creation. With no arguments, returns the 10 newest bookmarks across all types. Video bookmarks span several types: bookmarkType="saved-video" (videos saved while browsing, any platform), "saved-outlier-video" (YouTube outliers), "saved-generated-video" (the user's own generated videos) and "saved-uploaded-video" (their uploads); channels and creators use "saved-channel" (platform youtube, instagram or tiktok); keywords use "saved-keyword". When the user asks for "saved videos" without saying which, ask whether they mean all of them, outliers only, generated, or uploads — or list all types and group the answer by type. Tags match any supplied tag name. Supports type and tag filters, not keyword or topic search. Returns stored payloads, not live metrics; use the relevant research tool when fresh metrics are requested. Pass nextOffset as offset for the next page; null means no more results. Cost: 0 credit(s) per call.
vidiq_bookmarks_list
List the YouTube channels the user is tracking as competitors of one of their own channels. Returns only channel IDs. To get titles, thumbnails, subscriber counts, etc., pass the IDs to vidiq_get_channels_by_ids. The youtubeChannelId must be a channel the user has authorized — use vidiq_user_channels to discover them. Cost: 0 credit(s) per call.
vidiq_list_competitors
List your asynchronous vidIQ jobs, newest first. Filter by `toolName` and/or `status`. To find jobs that are still running, filter `status: 'inprogress'`. Use the returned `mcpJobId` with `vidiq_job_poll` to check a job's result. This tool is free. Cost: 0 credit(s) per call.
vidiq_jobs_list
List the available voiceover voices. Returns each voice's id, name, category, description, and an optional audio preview URL. The user's own cloned/designed voices have isCustom=true and are listed first; prefer them when the user asks for "my voice". Use the returned voiceId with vidiq_voiceover_generate. Cost: 0 credit(s) per call.
vidiq_voiceover_list_voices
List the signed-in user's Instagram accounts already connected to vidIQ. Use this first when the user says "my Instagram", "my account", or otherwise asks about their own Instagram data. Each account says whether private owner insights and Reel publishing are available. Publishing permission is independent of insights permission. If publishingAvailable is false, connect or reauthorize Instagram at https://app.vidiq.com using the existing account connection flow and refresh this list. For `accessLevel: "owner"`, call `vidiq_instagram_owner_insights` with that exact `platformAccountId`. For `accessLevel: "public_fallback"`, private insights are unavailable; if `username` is present, `vidiq_ig_profile_reels` may be used for public Reel data, and the response must be described as public rather than owner insights. Do not use this tool to search arbitrary Instagram handles or to connect, refresh, or repair Instagram OAuth. Cost: 0 credit(s) per call.
vidiq_instagram_connected_accounts
Publish an approved hosted MP4 using this same tool across short calls. First obtain approval for the exact video, account, caption and regular or Trial settings. Select a connected account with publishingAvailable=true. Start with videoUrl (use vidiq_video_upload for attachments); retain the returned containerId and platformAccountId. Continue with containerId and the same account, omitting videoUrl/caption/trialParams. The backend checks readiness and publishes when ready. IN_PROGRESS means wait about five seconds and call again. PUBLISHED confirms success; show permalink when available. Stop on any error; do not automatically retry failed calls or create a replacement. Continue processing checks for up to five minutes. The caller retains progress; closing the conversation pauses continuation. No YouTube channel or MFA is required. Continuation calls are free. Cost: 0 credit(s) to start; continuation calls are free.
vidiq_instagram_publish_reel
Change or improve a YouTube thumbnail by describing what you want in plain words. Give it the thumbnail to change as sourceThumbnail (a hosted URL) or sourceThumbnailFile (a ChatGPT upload), and say what to change (instructions) — for example "make the text bigger" or "change the background to a football stadium". This runs asynchronously: it returns an `mcpJobId` immediately. Poll `vidiq_job_poll` with that id until it is "completed" to get the updated thumbnail (shown inline) with its imageUrl. Credits are charged on submit and automatically refunded if refinement fails. Include the imageUrl in your reply so the user can open or save the file. The inline preview isn't downloadable. Cost: 22 credit(s) per call.
vidiq_refine_thumbnail
Remove 1–50 bookmarks from the signed-in account in one atomic batch. Only remove items the user explicitly asked to remove; otherwise ask first. Duplicate IDs count once. Any unknown, already removed, or foreign ID rejects the entire batch. If the outcome is uncertain, inspect saved bookmarks before retrying. Cost: 0 credit(s) per call.
vidiq_bookmarks_remove
Save 1–50 bookmarks of one type to the signed-in account in one atomic batch. Only save items the user explicitly asked to save. Repeated saves create duplicates. Do not automatically retry a failed save; inspect saved bookmarks first if the outcome is uncertain. After success, briefly confirm the saved count and what was saved. The response includes a suggested vidiq_bookmarks_list call for later retrieval; do not call it automatically just to confirm a successful save. Cost: 0 credit(s) per call.
vidiq_bookmarks_save
Score a YouTube video thumbnail for click-through-rate potential. Returns a score (0-100) with detailed feedback on strengths and improvements. Provide a video ID and title; optionally supply a custom thumbnail image URL to score instead of the current YouTube thumbnail. Cost: 5 credit(s) per call.
vidiq_score_thumbnail
Score a YouTube video title for click-through-rate potential. Returns a score (0-100) indicating how compelling and clickable the title is. Use this to compare title variations and pick the best-performing option. Cost: 5 credit(s) per call.
vidiq_score_title
Search all of YouTube for videos, channels, or playlists matching a query, with optional filters (topic, region, publish date, duration, channel). Use this when someone asks to "find videos about X", "search YouTube for Y", "find channels about Z", or wants results for a specific keyword. Unlike vidiq_trending_videos (which returns what's hot right now) and vidiq_outliers (which finds videos over-performing relative to their channel), this is a general keyword search across the whole catalog. It returns raw YouTube search results, NOT keyword metrics — for search volume/competition use keyword research instead. Use this tool to: - Find videos, channels, or playlists by keyword (set 'type') - Narrow results by topic, region, publish-date window, and (for videos) duration, definition (HD), or live/upcoming event type - Search within a single channel by passing 'channelId' - Sort by relevance, recency ('date'), or popularity ('viewCount') Filters marked "Video only" require type='video'. Cost: 5 credit(s) per call.
vidiq_youtube_search
Find COMPETITORS of a channel — either the user's own channel or a specific named channel. Uses neural semantic search tuned for competitor matching; the user's own authorized channels are automatically excluded from legacy manual-mode results. Use this tool ONLY when someone asks for competitors or similar channels relative to a channel: - "Who are my competitors?" or "Find channels like mine" (the user's own channel — country/language are auto-detected in manual mode) - "Channels similar to [channel]", "Competitors of [channel]", or "Channels like @handle" (a named reference channel) Do NOT use this tool for generic channel discovery by topic, size, growth, or any other criteria ("find tech review channels", "top gaming channels in Brazil", "fastest growing fitness channels") — use vidiq_channel_search for that. Choose exactly one mode: channelId or niche. ADDITIVE CHANNEL ID MODE — when a canonical YouTube channel ID beginning with UC was supplied or already resolved, pass only channelId, plus optional size and sort. Do not copy resolved channel characteristics into this request or add niche/manual filters. Do not call vidiq_channel_search when a canonical ID is already available. A handle or URL must be resolved externally to a canonical channel ID before using this mode. The API derives the source classification and search tuning and excludes the reference channel. LEGACY MANUAL NICHE MODE — Legacy manual niche behavior is unchanged. The niche parameter is required in this mode — always provide a clear topic or content theme. All existing manual inputs remain supported, including minSubscribers, maxSubscribers, avgViews, avgViewsMin, avgViewsMax, country, language, channelType, faceless, and excludeChannelIds. SIMILAR TO A SPECIFIC CHANNEL IN LEGACY MANUAL MODE — when using the existing manual path, do NOT guess the reference channel's characteristics. Supply the same fields as before: - niche: the reference channel's niche + subNiches, comma-separated (e.g. 'YouTube Growth, Monetization & SEO') - country: the reference channel's country - language: the first code from the reference channel's languages - channelType: the reference channel's channelType - faceless: the reference channel's isFaceless value - minSubscribers / maxSubscribers: a band around its subscriberCount, roughly 10% as min and 5x as max, unless the user asks for a specific range - avgViews: the reference channel's avgViews; do not also set avgViewsMin/avgViewsMax unless the user asks for a specific range - excludeChannelIds: the reference channel's channelId Omit sort for normal similarity ranking. When the user asks to rank these competitors by size or recent growth, set sort to subscriberCount, subsGrowth30d, or viewsGrowth30d; all explicit sorts reorder only the requested top similarity results. Results include the metrics used for sorting plus channel type and faceless status. In manual niche mode, country is a ranking preference rather than a strict filter, while language filters the language channels publish in. When omitted, country and language are auto-detected from the user's authorized channel. Cost: 5 credit(s) per call.
vidiq_similar_channels
Find long-form YouTube videos whose thumbnails LOOK similar — visual/semantic similarity over the thumbnail images themselves. This tool searches long-form videos only; Shorts are not supported. This is not topic, title, or keyword search (for those use vidiq_outliers or vidiq_youtube_search). Two modes: pass `description` with a textual description of the imagery (e.g. "a shocked creator pointing at a red analytics chart") to find thumbnails matching that description, or pass `videoId` to find thumbnails that look like that video's thumbnail (resolved automatically — no image upload needed). Useful for thumbnail inspiration, checking how common a thumbnail concept is, or finding which visual styles perform well in a niche. Cost: 5 credit(s) per call.
vidiq_similar_thumbnails
Find high-performing YouTube videos similar to a seed video - the video-level counterpart of vidiq_similar_channels. Give it one video ID or URL and it returns videos ranked by combined similarity: textual (title/topic) and visual (thumbnail), fused with each video labeled by which signals matched (`matchedBy`; matching both earns a ranking boost). Use this for topic ideation ('find 50 videos like this outlier'), studying how a proven concept is packaged across channels, or expanding one winning video into a content cluster. Searches vidIQ's high-performing/outlier video index - results skew toward videos that overperform, which is what makes them useful as ideation references. Results are ordered most-similar-first; no numeric similarity score is exposed. Use `minEngagementRate` to filter copycat/re-upload spam around viral seeds. Check `signalsUsed`/`signalsFailed` before interpreting an empty result. For channel-level similarity use vidiq_similar_channels; for thumbnail-only search use vidiq_similar_thumbnails. Cost: 5 credit(s) per call.
vidiq_similar_videos
Submit feedback about the vidIQ MCP — feature requests, bug reports, improvement suggestions, or general comments. Call this tool only when the user explicitly asks to submit, send, record, or report feedback to vidIQ. Comments made while asking for help do not by themselves indicate submission intent. If submission intent is ambiguous, ask whether the user wants the feedback sent to vidIQ and wait for confirmation. Cost: 0 credit(s) per call.
vidiq_submit_feedback
Analyze subscriber overlap and best times to post for a YouTube channel you own. Returns the channels most commonly subscribed to by your audience, dated overlap history, and a timezone-adjusted histogram of sampled public YouTube activity with the strongest three-hour windows. The activity signal is not watch history or live online-presence data. Only channels authorized to your account are allowed. Cost: 5 credit(s) per call.
vidiq_subscriber_insights
How do I improve a ChatGPT Plugin's discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are vidIQ alternatives on ChatGPT?
As of 2026-09-29, vidIQ competes with Able SEO by VibeSEO, AccuRanker Search Intelligence, Advanced Web Ranking, Ahrefs, Appskyline, Frase, Grow My Website, GSC SEO & Content Planner, GSC Wizard, Keyword Tool Pro, Keyword Tool: Free SEO Ideas, Keyword.com, OpenRush, PagePulse, SE Ranking, Semji, Semrush, SEO with Distribb, SEOcrawl AI, Serpstat, Sextaris, SignalSumo, SiteGuru, Ubersuggest, Windsor.ai Search Console, Writrex SEO, ラッコキーワード in ChatGPT SEO Rank Tracking & Keyword Research, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.