YouTube data your agent can actually trust.
Verbatim transcripts ($0.03) and engagement data ($0.02). Any public video. Any language. Versioned schemas with transparent cache metadata. Your agent pays in USDC on Base — no keys, no signup, no dashboard.
Verbatim, not summarized
No LLM rewrites. Captions extracted from YouTube when they exist, audio transcribed via Whisper otherwise. The transcript is what was actually said.
Built for machines
Versioned schema (v1.0). SI units (seconds, not hh:mm:ss strings). ISO-8601 dates. Separate blocks for transcript, paragraphs, chapters, metadata. Your parser never changes.
Micropayments, no accounts
x402 on Base. Your agent pays per call, nothing else. No monthly minimums, no rate limits tied to a human, no dashboard to babysit.
Transparent cache
Every response tells you cache.hit, cachedAt, and ageSec. Decide client-side whether to trust the cached copy or pay for a fresh fetch — no guessing.
OpenAPI 3.1 spec
Pull the spec at /api/agents/openapi.json and auto-generate a typed client in Python, TypeScript, Go, or anything else. Zero integration friction.
Honest failure modes
Typed error codes: invalid_input, video_unavailable, transcription_failed, worker_unavailable. Retry logic on your side stays simple.
Live endpoints
More are shipping. Each one follows the same pattern: POST, pay, parse.
POST /api/agents/transcribe Live$0.03 / callYouTube transcripts. Any public video, any language, any length. Verbatim captions when YouTube has them, Whisper-transcribed audio otherwise. Returns a stable JSON payload with time-indexed paragraphs, creator chapters, and canonical metadata. Cached forever — repeat lookups cost the same and return instantly.
curl -X POST https://flylabs.fun/api/agents/transcribe \
-H "Content-Type: application/json" \
-d '{ "url": "https://youtube.com/watch?v=dQw4w9WgXcQ" }'First call gets a 402 with payment instructions. An x402-aware agent SDK (like @x402/fetch or the official Coinbase agent SDK) handles the retry automatically.
{
"schema_version": "1.0",
"videoId": "dQw4w9WgXcQ",
"url": "https://youtube.com/watch?v=dQw4w9WgXcQ",
"source": "youtube_subs" | "groq_whisper" | "cache",
"servedAt": "2026-04-20T23:47:02.118Z",
"cache": {
"hit": true,
"cachedAt": "2026-04-12T09:14:22.880Z",
"ageSec": 743019
},
"transcript": {
"text": "...",
"language": "en",
"wordCount": 212,
"durationSec": 213
},
"paragraphs": [
{ "startSec": 0, "endSec": 72, "timestamp": "0:00", "text": "..." }
],
"paragraphCount": 4,
"chapters": [
{ "startSec": 0, "timestamp": "0:00", "title": "Intro" }
],
"chapterCount": 1,
"metadata": {
"title": "...",
"channel": "...",
"durationSec": 213,
"publishedAt": "2009-10-24T00:00:00.000Z",
"viewCount": 1700000000
}
}POST /api/agents/engagement Live$0.02 / callYouTube engagement data. Views, likes, comments, subscriber count, derived ratios, a composite engagement score, plus full channel and video context (tags, categories, description, thumbnail, availability, live status). Cached for 6 hours — repeat calls within the window are instant. Cheaper than transcribe because no audio processing is needed.
curl -X POST https://flylabs.fun/api/agents/engagement \
-H "Content-Type: application/json" \
-d '{ "url": "https://youtube.com/watch?v=dQw4w9WgXcQ" }'Same x402 flow as transcribe. Pay $0.02 per call, get a stable JSON payload back. Useful for trend scoring, influencer ranking, content-market fit.
{
"schema_version": "1.0",
"videoId": "dQw4w9WgXcQ",
"url": "https://youtube.com/watch?v=dQw4w9WgXcQ",
"source": "ytdlp" | "cache",
"servedAt": "2026-04-21T...",
"cache": { "hit": false, "cachedAt": "...", "ageSec": 0 },
"stats": {
"viewCount": 1764432594,
"likeCount": 18700000,
"commentCount": 2300000,
"likeToViewRatio": 0.0106,
"commentToViewRatio": 0.0013,
"engagementScore": 1.72
},
"channel": {
"id": "UCuAXFkgsw1L7xaCfnd5JJOw",
"name": "Rick Astley",
"url": "https://youtube.com/channel/UC...",
"subscriberCount": 4500000
},
"video": {
"title": "...",
"description": "...",
"durationSec": 213,
"publishedAt": "2009-10-24T00:00:00.000Z",
"tags": ["rick astley", "never gonna give you up"],
"categories": ["Music"],
"ageLimit": 0,
"availability": "public",
"liveStatus": "not_live",
"thumbnailUrl": "https://i.ytimg.com/..."
}
}More endpoints shipping: idea scoring, problem feeds, creator intel, knowledge graph queries. Building an agent that needs one of these? Tell us what you need.
Drop into your agent
Any x402-aware HTTP client handles the 402 → pay → retry flow for you. Pick your language. No SDK of ours to install — use whatever client you already trust.
# pip install x402-client httpx
from x402_client import X402Client
client = X402Client(wallet_private_key=os.environ["AGENT_WALLET_KEY"])
resp = client.post(
"https://flylabs.fun/api/agents/transcribe",
json={"url": "https://youtube.com/watch?v=dQw4w9WgXcQ"},
)
data = resp.json()
print(data["transcript"]["text"])
print(f"Served from cache: {data['cache']['hit']} (age: {data['cache']['ageSec']}s)")// npm i @x402/fetch viem
import { wrapFetchWithPayment } from '@x402/fetch'
import { privateKeyToAccount } from 'viem/accounts'
const account = privateKeyToAccount(process.env.AGENT_WALLET_KEY)
const fetchWithPayment = wrapFetchWithPayment(fetch, account)
const res = await fetchWithPayment('https://flylabs.fun/api/agents/transcribe', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ url: 'https://youtube.com/watch?v=dQw4w9WgXcQ' }),
})
const data = await res.json()
console.log(data.transcript.text)
console.log(`Cache hit: ${data.cache.hit} (age: ${data.cache.ageSec}s)`)How a call works
Your agent calls the endpoint
POST /api/agents/transcribe with { "url": "https://youtube.com/watch?v=..." }. No API key, no signup, no OAuth.
Server returns 402 with payment instructions
Standard x402 response. Price, network, receive address, and supported schemes. Every x402-aware agent SDK handles this automatically.
Agent pays in USDC, retries with proof
$0.03 in USDC on Base mainnet. Coinbase CDP facilitator verifies and settles. Finality in seconds.
Data returns
Stable v1.0 JSON: verbatim transcript, time-indexed paragraphs, chapters, metadata. Cached forever — repeat calls are instant.
Building something with agents?
The Agentic Market is just starting. If you're shipping an agent and need a specific data API, tell us — we'll probably build it.