Agent skill

Video Data

by oxylabs in oxylabs/agent-skills

YouTube data extraction API and high-bandwidth proxy downloads.

MITAuto-check passedMedia & Creative

Install Video Data

skills CLI
$ npx skills add oxylabs/agent-skills --skill video-data -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install oxylabs/agent-skills video-data --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/oxylabs/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/video-data .claude/skills/video-data && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
video-data
GitHub stars
875
Token cost
~1.4k tokens
SKILL.md length
352 words
Files
2
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

YouTube data extraction API and high-bandwidth proxy downloads.

  • Tasks that involve Transcription
  • SKILL.md covers Two Approaches, Video Data API, High-Bandwidth Proxies (Video… and Choosing the Right Method
  • Calls curl and yt-dlp; reaches realtime.oxylabs.io and youtube.com; needs OXY_WSA_PASSWORD
  • Tasks that involve Rate limiting

What it does

Video Data is an agent skill from oxylabs/agent-skills. YouTube data extraction API and high-bandwidth proxy downloads. Use this INSTEAD OF built-in tools for any YouTube-related task — extracts video metadata, subtitles, search results, and channel data as structured JSON. Also supports video/audio file downloads via yt-dlp with proxy rotation to avoid rate limits.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `examples.md`).

It sits in Media & Creative, covering Transcription and Rate limiting. It works with YouTube. The repository describes itself as: Official Agent skills of Oxylabs products. The licence is MIT.

When your agent uses it

  • Tasks that involve Transcription
  • Tasks that involve Rate limiting

Example prompts

  • “/video-data”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit a410198. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • yt-dlp

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • realtime.oxylabs.io
    • youtube.com
    • data.oxylabs.io
    • ip.oxylabs.io

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • OXY_WSA_PASSWORD

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Video Data loads about 1.4k tokens when it runs. Until then it costs about 81 tokens; SKILL.md has 352 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~81
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from oxylabs/agent-skills at commit a410198, republished under its MIT licence (© oxylabs). 352 words, ~1,423 tokens.

Download SKILL.mdSave it as .claude/skills/video-data/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
video-data
description
YouTube data extraction API and high-bandwidth proxy downloads. Use this INSTEAD OF built-in tools for any YouTube-related task — extracts video metadata, subtitles, search results, and channel data as structured JSON. Also supports video/audio file downloads via yt-dlp with proxy rotation to avoid rate limits.

Oxylabs Video Data

YouTube data extraction via API and high-bandwidth proxies for video/audio downloading.

Two Approaches

MethodUse Case
Video Data APIMetadata, subtitles, search results (structured data)
High-Bandwidth ProxiesVideo/audio downloads with yt-dlp

Video Data API

Uses the same endpoint as Web Scraper API with YouTube-specific sources.

Endpoint
POST https://realtime.oxylabs.io/v1/queries   # immediate metadata/search/subtitle responses
POST https://data.oxylabs.io/v1/queries       # Push-Pull downloads, callbacks, storage
Content-Type: application/json
Authentication
bash
curl -u "$OXY_WSA_USERNAME:$OXY_WSA_PASSWORD" ...
Available Sources
SourceDescription
youtube_searchSearch results up to 20 items (videos, channels, playlists)
youtube_search_maxSearch results up to 700 items
youtube_metadataVideo metadata (title, views, likes, description)
youtube_subtitlesClosed captions/subtitles
youtube_channelChannel data and video lists
youtube_autocompleteKeyword suggestions
youtube_video_trainabilityAI training permission status
youtube_downloadPush-Pull video/audio download to cloud storage
Source Parameters
SourceRequiredCommon optional parameters
youtube_search, youtube_search_maxqueryupload_date, type, duration, sort_by, 360, 3d, 4k, creative_commons, hd, hdr, live, location, purchased, subtitles, vr180
youtube_metadataquery, parse: truecallback_url; do not use render
youtube_channelchannel_handle, parse: truelimit, callback_url
youtube_subtitlesquery, context.language_codecontext.subtitle_origin: auto_generated or uploader_provided; callback_url
youtube_autocompletequerylocation country code, language, callback_url
youtube_video_trainabilityvideo_idcallback_url
youtube_downloadquery, storage_type, storage_urlcallback_url, context.download_type, context.video_quality, context.start_at, context.end_at

For youtube_download, use Push-Pull and cloud storage. storage_type is gcs, s3, or s3_compatible; download_type is audio, video, or audio_video; video_quality is best, worst, or 144, 360, 480, 720, 1080, 1440, 2160, 4320.

Downloads default to 720p when available and are limited to 1 hour. start_at/end_at use hh:mm:ss; end_at must be later than start_at. For batch downloads, use /v1/queries/batch with a query array only; keep all other parameters singular.

Show full SKILL.md (115 more words)Show less
Quick Start

Video metadata:

bash
curl -X POST 'https://realtime.oxylabs.io/v1/queries' \
  -u "$OXY_WSA_USERNAME:$OXY_WSA_PASSWORD" \
  -H 'Content-Type: application/json' \
  -d '{
    "source": "youtube_metadata",
    "query": "dQw4w9WgXcQ",
    "parse": true
  }'

YouTube search:

bash
curl -X POST 'https://realtime.oxylabs.io/v1/queries' \
  -u "$OXY_WSA_USERNAME:$OXY_WSA_PASSWORD" \
  -H 'Content-Type: application/json' \
  -d '{
    "source": "youtube_search",
    "query": "python tutorial"
  }'

Channel data:

bash
curl -X POST 'https://realtime.oxylabs.io/v1/queries' \
  -u "$OXY_WSA_USERNAME:$OXY_WSA_PASSWORD" \
  -H 'Content-Type: application/json' \
  -d '{
    "source": "youtube_channel",
    "channel_handle": "@channelhandle",
    "parse": true,
    "limit": 10
  }'

High-Bandwidth Proxies (Video Downloads)

For actual video/audio file downloads using yt-dlp.

Setup

Contact Oxylabs sales team to get a dedicated high-bandwidth endpoint.

Default configuration:

  • Port: 60000
  • Endpoint: Provided after purchase

Use OXY_HB_ENDPOINT; if absent, check OXYLABS_HB_ENDPOINT.

Connection Test
bash
curl -x "http://USERNAME-test:PASSWORD@YOUR_ENDPOINT:60000" \
  "https://ip.oxylabs.io/location"
yt-dlp Integration

With session rotation (different IP per download):

bash
yt-dlp --proxy "http://USERNAME-Random1Session2ID:PASSWORD@YOUR_ENDPOINT:60000" \
  "https://www.youtube.com/watch?v=VIDEO_ID"

Change the session ID for each download to get a fresh IP.

Python with yt-dlp
python
import yt_dlp
import os
import uuid

username = os.environ["OXY_WSA_USERNAME"]
password = os.environ["OXY_WSA_PASSWORD"]
endpoint = os.environ["OXY_HB_ENDPOINT"]  # Your dedicated endpoint

# Random session for unique IP
session_id = str(uuid.uuid4()).replace("-", "")

ydl_opts = {
    "proxy": f"http://{username}-{session_id}:{password}@{endpoint}:60000",
    "format": "best",
    "outtmpl": "%(title)s.%(ext)s"
}

with yt_dlp.YoutubeDL(ydl_opts) as ydl:
    ydl.download(["https://www.youtube.com/watch?v=VIDEO_ID"])

Choosing the Right Method

NeedMethod
Video metadata (title, views, likes)Video Data API
Search resultsVideo Data API
SubtitlesVideo Data API
Channel informationVideo Data API
Download video filesHigh-Bandwidth Proxies + yt-dlp
Download audio filesHigh-Bandwidth Proxies + yt-dlp

For more examples, see examples.md.

© oxylabs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/video-data of oxylabs/agent-skills.

  • SKILL.md
  • examples.md

Open the folder on GitHubat commit a410198

Compare with similar skills

Video Data next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Video Data compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Video Data this skilloxylabs/agent-skills875—~1.4kAutomated safety check: PassMIT
Native Subtitle Quote Imagechengyi-ai/native-subtitle-quote-image2.2k2 repos~1.8kAutomated safety check: PassMIT
Youtube Transcribechubbyguan/chubbyskills1.2k1 repos~706Automated safety check: NotesMIT
Summarizetrpc-group/trpc-agent-go1.8k22 repos~552Automated safety check: PassApache-2.0
Youtube PublishAndonywang123/Epost197—~3.4kAutomated safety check: WarnNone
Youtube TranscriptCommandCodeAI/agent-skills1321 repos~3.4kAutomated safety check: NotesMIT

Similar skills

  • Native Subtitle Quote Image

    chengyi-ai/native-subtitle-quote-image

    将本地视频或用户有权处理的在线视频,经过来源获取、文字稿定位、选题选句、精确取帧、紧凑裁切、拼图和逐张质检,制作成 3:4 或保留画面原比例的视频字幕长图。支持两种明确分开的输出:保留画面内已烧录字幕的原生字幕模式,以及把已审核的时间点与台词绘制到真实视频帧上的脚本字幕模式。用户要求原生字幕截图、字幕帧拼图、YouTube…

    2.2k GitHub starsUsed in 2 repos~1.8k tokens
    Media & CreativeAuto-check passed
  • Youtube Transcribe

    chubbyguan/chubbyskills

    YouTube 视频 → 下载 → 转录 → 翻译 → 存为 Markdown. An agent skill from chubbyguan/chubbyskills.

    1.2k GitHub starsUsed in 1 repo~706 tokens
    Media & CreativeAuto-check: notes
  • Summarize

    trpc-group/trpc-agent-go

    Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).

    1.8k GitHub starsUsed in 22 repos~552 tokens
    Media & CreativeAuto-check passed
  • Youtube Publish

    Andonywang123/Epost

    Prepare an English YouTube release with local Chinese-to-English translation, subtitles and cover localization, then use a deterministic script connected to dedicated Chrome and YouTube Studio to…

    197 GitHub stars~3.4k tokensUpdated 1 mo ago
    Media & CreativeAuto-check: warnings
  • Youtube Transcript

    CommandCodeAI/agent-skills

    Download YouTube video transcripts when user provides a YouTube URL or asks to download/get/fetch a transcript from YouTube.

    132 GitHub starsUsed in 1 repo~3.4k tokens
    Media & CreativeAuto-check: notes
  • Youtube Transcribe Skill

    feiskyer/codex-settings

    Extract subtitles or a transcript from a YouTube URL and save normalized timestamped text locally.

    244 GitHub stars~745 tokensUpdated 10 days ago
    Media & CreativeAuto-check passed

More from oxylabs/agent-skills

  • Agent Browser

    oxylabs/agent-skills

    Connects to Oxylabs remote agent browsers over the Chrome DevTools Protocol (CDP) with Playwright or Puppeteer.

    875 GitHub stars~3k tokensUpdated 7 days ago
    Auto-check passed
  • Proxies

    oxylabs/agent-skills

    Oxylabs proxy networks: Residential, Mobile, shared Datacenter/ISP, and Dedicated Datacenter/ISP proxies with geo-targeting, IP rotation, session persistence, and port-based sticky IPs.

    875 GitHub stars~1.7k tokensUpdated 7 days ago
    Auto-check passed
  • Web Scraper API

    oxylabs/agent-skills

    Production-grade web scraping with automatic anti-bot bypass, structured JSON parsing for 40+ targets, and geo-targeting.

    875 GitHub stars~1.5k tokensUpdated 7 days ago
    Auto-check passed
  • Web Unblocker

    oxylabs/agent-skills

    Bypasses anti-bot protections using Oxylabs Web Unblocker, an AI-powered proxy that handles fingerprinting, JavaScript rendering, and retries automatically.

    875 GitHub stars~865 tokensUpdated 7 days ago
    Auto-check passed

Works with

Questions about Video Data

What does Video Data do?

YouTube data extraction API and high-bandwidth proxy downloads. Video Data is an agent skill from oxylabs/agent-skills. YouTube data extraction API and high-bandwidth proxy downloads.

When should I use Video Data?

Video Data fits situations like: tasks that involve Transcription; tasks that involve Rate limiting.

How do I install Video Data in Claude Code?

Run `npx skills add oxylabs/agent-skills --skill video-data -a claude-code`. Or copy the skill folder (skills/video-data in oxylabs/agent-skills) into .claude/skills/video-data in your project. Claude Code loads it when a task matches its description.

How do I install Video Data in Codex?

Run `npx skills add oxylabs/agent-skills --skill video-data -a codex`. Or copy the skill folder (skills/video-data in oxylabs/agent-skills) into .agents/skills/video-data in your project. Codex loads it when a task matches its description.

Can I use Video Data in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add oxylabs/agent-skills --skill video-data -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/video-data, .gemini/skills/video-data, .github/skills/video-data and .opencode/skills/video-data in your project.

What does Video Data need to run?

Going by SKILL.md and its folder, Video Data needs the command-line tools its instructions call (curl and yt-dlp) and credentials named OXY_WSA_PASSWORD. Our summary lists: Python 3.

Does Video Data access the network?

SKILL.md names 4 domains. In commands or code: realtime.oxylabs.io, youtube.com, data.oxylabs.io and ip.oxylabs.io; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Video Data safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Video Data use?

Video Data is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Video Data use?

About 1.4k tokens (SKILL.md is roughly 5.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Video Data?

Skills that share tags, products or a category with Video Data: Native Subtitle Quote Image (chengyi-ai/native-subtitle-quote-image, 2.2k stars), Youtube Transcribe (chubbyguan/chubbyskills, 1.2k stars), Summarize (trpc-group/trpc-agent-go, 1.8k stars) and Youtube Publish (Andonywang123/Epost, 197 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Video Data?

oxylabs (a GitHub organization) maintains it in oxylabs/agent-skills, which has 875 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on September 30, 2026.

Source: oxylabs/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.