Video SERP Monitoring: Track Your Video Presence Across Engines

By Serpent API Team · · 5 min read

Search for almost any topic and a slice of the results are videos — tutorials, reviews, explainers, news clips. For a brand that publishes video, or competes against channels that do, that slice is a measurable asset: which of your uploads surface for a query, which of your competitor’s uploads win the rows above you, and whether that picture is getting better or worse each week.

A video search API turns that into a monitoring feed. /api/videos returns each video result as structured JSON — title, URL, thumbnail, duration, source platform, and view counts where available — so you can snapshot the video SERP for any query on a schedule, store it, and diff it over time. This post covers what a video SERP contains, how to track video visibility, and the honest engine coverage you should expect.

TL;DR: /api/videos returns video results as JSON — title, url, thumbnailUrl, embedUrl, duration, source, and views. It supports engine=google, engine=ddg (default), engine=yahoo, engine=bing, and engine=brave, with freshness, duration, and resolution filters — enough to track your video presence over time.

What a video SERP contains

A video result is more than a link. Each entry in the videos array carries the metadata a viewer actually uses to decide whether to click:

FieldWhat it tells you
titleThe video title shown in results
urlThe video’s watch page
thumbnailUrlPreview image in the grid
embedUrlEmbed-ready URL, when available
durationRuntime, e.g. 12:34
sourcePlatform, e.g. YouTube
viewsView count, when available

DuckDuckGo also returns video resolution data, and results include upload dates where the engine exposes them. The videos themselves come from the platforms that appear in search indexes — YouTube, Vimeo, Dailymotion, TikTok, and others — so you are measuring real search visibility, not a curated catalog.

Monitoring brand and competitor video presence

Your own uploads

Run q=[brand name] across your target countries and check which of your videos appear, at what position, and with what thumbnail. A video that keeps dropping out of the top rows while a competitor’s stays pinned is a signal about title, publish cadence, or channel authority — and the API gives you the position history to prove it.

Competitor video SERPs

The same query, pointed at a competitor’s brand or product terms, shows their video footprint: how many of their uploads surface, which platforms they dominate on, and whether their presence is growing. Pair that with your own snapshot and you have a head-to-head video-visibility chart for any keyword set.

Category and news queries

Beyond brand terms, monitor the categories you want to win. A weekly snapshot of q=[category tutorial] tells you who is publishing video that ranks, and when a new entrant starts taking rows. The freshness filter (1d, 7d, 30d) isolates newly published video — how you catch a competitor’s launch the week it goes live.

Tracking video visibility over time

The monitoring pattern is the same one you would use for web rankings. For each (query, country, date), store the videos[] array. Then diff:

The duration filter (short, medium, long) and the resolution filter (high, standard) let you compare like with like, so the trend line is not polluted by shorts.

Engine coverage, honestly

Video search is not a single index. The endpoint supports five engines, and they genuinely differ in what they surface:

EngineNotes
googleGoogle video results, including YouTube and web videos, returned in results.videos
ddgDuckDuckGo video search — the default engine, with resolution data
yahooYahoo’s dedicated video search portal
bingBing video results
braveBrave video results

Each engine returns up to 60 results per request via the num parameter, and all five share the same price within each tier. Monitor more than one engine and you will frequently see different winners — a YouTube video that tops DuckDuckGo may rank lower on Yahoo. That divergence is exactly why cross-engine monitoring is the honest picture of your video presence.

The API call

Here is the monitoring call in Node.js:

const res = await fetch(
  'https://apiserpent.com/api/videos?q=electric+car+review&engine=google&country=us&num=20',
  { headers: { 'X-API-Key': 'YOUR_API_KEY' } }
);
const json = await res.json();
for (const v of json.videos) {
  console.log(v.title, v.duration, v.source, v.url);
}

The response, in abbreviated form:

{
  "searchParameters": {
    "q": "electric car review",
    "engine": "google",
    "type": "videos",
    "num": 20
  },
  "videos": [
    {
      "title": "2026 Electric Car Review",
      "url": "https://www.youtube.com/watch?v=example123",
      "thumbnailUrl": "https://i.ytimg.com/vi/example123/hqdefault.jpg",
      "embedUrl": "https://www.youtube.com/embed/example123",
      "duration": "12:34",
      "source": "YouTube",
      "views": "2.4M views"
    }
  ],
  "totalResults": 20,
  "credits": { "used": 1, "remaining": 99 }
}

Store the videos[] array keyed by (query, country, date) and you have everything needed to plot visibility trends, alert on new entrants, and report video presence to stakeholders — the same mechanics as any rank-tracking pipeline. You can also run a live query in the playground.

Honest limits

Video search requires paid credits from call 1 — it is not part of the 10 shared free calls new accounts receive on eligible endpoints. Pricing is flat and per-call: $0.30/1K on the Default tier, $0.03/1K on Growth (a $100+ single deposit unlocks 10× off), and $0.02/1K on Scale (a $500+ single deposit unlocks 20× off), with no subscription.

Also be realistic about what “views” means: it is returned when the engine exposes it, not for every result, and it is a snapshot at query time rather than a live counter. And results reflect each engine’s index on the day you query — which is fine for monitoring, as long as you keep the engine and country constant in your trend so you are diffing apples to apples.

Your video presence, as JSON.

Serpent returns parsed JSON for video results across Google, DuckDuckGo, Yahoo, Bing, and Brave through one endpoint. Flat per-call pricing, no subscription. Video search requires paid credits from call 1.

Get Your Free API Key

Explore: Video Search API · All SERP APIs · Pricing

FAQ

What video data does the API return?

Each video result returns the title, the video URL, a thumbnail URL, an embed URL when available, the duration, the source platform, and view counts when available. DuckDuckGo also returns video resolution data. Everything comes back as structured JSON.

Which engines support video search?

Video search supports engine=google, engine=ddg (the default), engine=yahoo, engine=bing, and engine=brave. All video engines share the same price within each tier.

How much does the video search API cost?

Video search costs $0.30 per 1,000 requests on the Default tier, $0.03 per 1,000 on Growth ($100+ single deposit), and $0.02 per 1,000 on Scale ($500+ single deposit). It requires paid credits from call 1 and has no subscription.

Can I track video visibility over time?

Yes. Store the results keyed by (query, country, date) and diff consecutive snapshots. Use the freshness filter (1d, 7d, 30d) to isolate newly published videos and the duration and resolution filters to narrow the comparison to comparable content.