Pay-per-call data APIs for AI agents. YouTube transcripts and engagement data settled in USDC on Base via x402. Versioned JSON schemas, no signup, no keys. Coinbase CDP facilitator.
Pay from $0.02 to $0.03 per request in USDC on Base, settled onchain via the x402 protocol, no signup, no API key needed.
first settlement 2026-04-21 · $0.10 all-time · last settled 2026-04-21
ASSESSMENT
updated 1h agoEvidence-backed signals, not a single score. Click any chip for the proof. Measured values stay read-only; unknown is honest.
reliability 100%
- uptime 24h
- 100%
- uptime 7d
- 100%
- uptime 30d
- 100%
- uptime 90d
- 84.7%
- response p95
- 1515ms
- avg response
- 710ms
- total checks
- 2,739
compliance A (14/14)
14 of 14 x402 conformance checks pass. Full checklist below.
price $0.02 to $0.03 (p74 in Data)
- price (min)
- $0.02
- price (max)
- $0.03
- category percentile (min)
- p74 in Data
- category percentile (max)
- p58 in Data
- endpoints / prices
- 2 / 2
- model
- tiered
- stability
- 100%
risk clean
No deterministic risk flag. Risk fires only on an exact blocklist match, or a reserved-brand name with a mismatched verified payTo. Never from low uptime, a high price, or a model guess.
- domain age
- -
- registrar
- -
- hosting
- custom
- domain created
- ---
Identity facts, not a risk score.
traction $0 30d · 0 buyers
- volume 30d
- $0
- buyers 30d
- 0
- settlements 30d
- 0
- first settlement
- 2026-04-21
- last settlement
- 2026-04-21
- top buyer share
- -
- trend 7d vs 30d
- -
- networks
- eip155:8453
- volume all-time
- $0.10
- settlements all-time
- 4
- median settlement 30d
- $0
- max settlement 30d
- $0
- settled via
- -
Conservative undercount: only USDC settlements via facilitators we measure are counted. A measured floor, not an estimate.
Top buyer share is a concentration signal, not part of the ranking score.
WHAT IT DOES
ai-derivedProvides APIs for AI agents to access YouTube engagement data and transcripts
- category
- youtube-api
- in
- body
- auth
- none
AI-generated summary. The measured data is never altered by it.
ENDPOINTS
| METHOD | PATH | DESCRIPTION | PRICE | NETWORK | ASSET |
|---|---|---|---|---|---|
| POST | /api/agents/engagement | YouTube engagement data | $0.02 | Base | USDC |
| POST | /api/agents/transcribe | YouTube transcripts | $0.03 | Base | USDC |
REQUEST / RESPONSE EXAMPLE
An unpaid request to POST /api/agents/engagement returns HTTP 402 with the payment terms. Settle onchain via your facilitator, then retry with the X-Payment header.
curl -i -X POST 'https://flylabs.fun/api/agents/engagement'
// 402 response (captured by monitor) · 2 payloads · click to expand
[
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0xb92ad8e7B178821741BB410c0D8c575aeaa10f3b",
"amount": "20000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://flylabs.fun/api/agents/engagement",
"mimeType": "application/json",
"description": "YouTube engagement data for agents. POST { url } or { videoId } and get a stable JSON payload with view/like/comment counts, derived ratios (likeToView, commentToView) and a composite engagementScore, channel info (id, name, url, subscriberCount), and full video context (title, description, tags, categories, publishedAt, durationSec, availability, liveStatus, thumbnailUrl). Any public video. Cached for 6 hours so repeat lookups are instant; fresh numbers after the TTL. Schema versioned (v1.0) and stable."
},
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"url": "https://youtube.com/watch?v=dQw4w9WgXcQ"
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json",
"example": {
"stats": {
"likeCount": 18000000,
"viewCount": 1500000000,
"engagementScore": 1.5
},
"source": "ytdlp",
"videoId": "dQw4w9WgXcQ",
"schema_version": "1.0"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method",
"bodyType",
"body"
],
"properties": {
"body": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Full YouTube URL (watch, shorts, youtu.be, embed)."
},
"videoId": {
"type": "string",
"pattern": "^[a-zA-Z0-9_-]{11}$",
"description": "11-character YouTube video ID."
}
},
"description": "Provide either url or videoId (11-char YouTube video ID)."
},
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"required": [
"schema_version",
"videoId",
"source",
"stats"
],
"properties": {
"url": {
"type": "string"
},
"stats": {
"type": "object",
"properties": {
"likeCount": {
"type": "integer"
},
"viewCount": {
"type": "integer"
},
"commentCount": {
"type": "integer"
},
"engagementScore": {
"type": "number"
}
}
},
"video": {
"type": "object"
},
"source": {
"enum": [
"ytdlp",
"cache"
],
"type": "string"
},
"channel": {
"type": "object"
},
"videoId": {
"type": "string"
},
"schema_version": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0xb92ad8e7B178821741BB410c0D8c575aeaa10f3b",
"amount": "30000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://flylabs.fun/api/agents/transcribe",
"mimeType": "application/json",
"description": "YouTube transcripts for agents. POST { url } or { videoId } and get a stable JSON payload: full transcript text, language, duration, word count, time-indexed paragraphs (startSec/endSec), creator-defined chapters, and canonical metadata (title, channel, publishedAt ISO-8601, viewCount). Any public video, any language, any length. Verbatim captions when available, Whisper-transcribed audio otherwise. No hallucinations, no summaries, no LLM rewrites, just the source. Schema versioned (v1.0) and stable. Cached after first fetch so repeat lookups are instant."
},
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"url": "https://youtube.com/watch?v=dQw4w9WgXcQ"
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json",
"example": {
"source": "youtube_subs",
"videoId": "dQw4w9WgXcQ",
"transcript": {
"text": "...",
"language": "en",
"wordCount": 1234,
"durationSec": 212
},
"schema_version": "1.0"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method",
"bodyType",
"body"
],
"properties": {
"body": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Full YouTube URL (watch, shorts, youtu.be, embed)."
},
"videoId": {
"type": "string",
"pattern": "^[a-zA-Z0-9_-]{11}$",
"description": "11-character YouTube video ID."
}
},
"description": "Provide either url or videoId (11-char YouTube video ID)."
},
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"required": [
"schema_version",
"videoId",
"source",
"transcript"
],
"properties": {
"url": {
"type": "string"
},
"source": {
"enum": [
"youtube_subs",
"groq_whisper",
"cache"
],
"type": "string"
},
"videoId": {
"type": "string"
},
"chapters": {
"type": "array"
},
"metadata": {
"type": "object"
},
"paragraphs": {
"type": "array"
},
"transcript": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"language": {
"type": "string"
},
"wordCount": {
"type": "integer"
},
"durationSec": {
"type": "integer"
}
}
},
"schema_version": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
}
] OVER TIME
All charts share the 30d window selected here. Every series is also served as JSON at /api/v1/services/fly-labs-agentic-market/price, /scores, /volume and /buyers. On-chain volume and distinct buyers are measured over the service's settlement address and are a conservative undercount (only settlements that reach a measured facilitator are counted). The on-chain series roll up hourly, so the latest day can be up to about an hour behind; distinct buyers are counted per payout address, so a service that settles to more than one address is an upper bound.
Median across 2 endpoints. Use the selector to isolate one.
COMPLIANCE
14/14 checks pass · grade A- 402 payload captured
- accepts[] array present
- payTo address recoverable
- payTo at accepts[0].payTo (conformant shape)
- payTo is a valid on-chain address
- atomic price declared
- atomic price in a sane range
- asset (token) address declared
- network resolves to CAIP-2
- payment scheme declared
- served over HTTPS
- declares the current x402 version (2)
- EIP-712 domain parameters present on every EVM entry
- x402 v2 envelope delivered in the payment-required header
SITE PILLARS
- homepage reachable
- openapi doc
- pricing page
- llms.txt
- robots.txt
- terms page
recent checks (18) · click to expand
EMBED THIS BADGE
<a href="https://x402-list.com/services/fly-labs-agentic-market?utm_source=badge&utm_medium=referral&utm_campaign=embed"> <img src="https://x402-list.com/badge/fly-labs-agentic-market.svg" alt="Fly Labs Agentic Market listed on x402-list" height="28"> </a>
[](https://x402-list.com/services/fly-labs-agentic-market?utm_source=badge&utm_medium=referral&utm_campaign=embed)
<a href="https://x402-list.com/services/fly-labs-agentic-market?utm_source=badge&utm_medium=referral&utm_campaign=embed"> <img src="https://x402-list.com/badge/fly-labs-agentic-market.svg?data=uptime" alt="Fly Labs Agentic Market uptime on x402-list" height="28"> </a>