video
Google Videos API
Google video_results across publishers with thumbnails, durations and sources. Item and key_moments links resolve Google redirects to publisher URLs when possible; google_link preserves each changed link's original redirect. Unresolved links stay unchanged. videos is a deprecated alias of video_results.
GET/api/public/v1/google-videos
- price
- $0.003
- atomic
- 3000
- free tier
- 3 calls / agent
- chain
- base mainnet
- asset
- USDC
- scheme
- exact
agent brief
Give a query, get video_results with item and key_moments publisher links when possible, originals in google_link when resolved; unresolved links stay unchanged. videos is a deprecated alias.
engine: google_videos · results key: video_results · settlement: USDC / base / exact
use this when you need to
- -Find video coverage of an event
- -Cross-platform media monitoring
query parameters
| name | type | required | description |
|---|---|---|---|
| network | base | base-sepolia | no · default "base" | Payment network. base-sepolia returns mock data for testing. |
| q | string | yes | Video search query |
| location | string | no | Localization, e.g. Austin,Texas,United States |
| gl | string | no · default "us" | Country code for results |
| hl | string | no · default "en" | UI/interface language code |
call it — curl
bash
# Free tier — first 3 calls per agent identity, no payment header
curl "https://marketplaceforaiagents.com/api/public/v1/google-videos?q=how+to+change+a+bike+tire"
# Sandbox — signed testnet USDC, mock response, no real spend
curl "https://marketplaceforaiagents.com/api/public/v1/google-videos?q=how+to+change+a+bike+tire&network=base-sepolia" \
-H "X-PAYMENT: <base64 signed base-sepolia USDC authorization>"
# Production — signed x402 payment header, real data
curl "https://marketplaceforaiagents.com/api/public/v1/google-videos?q=how+to+change+a+bike+tire" \
-H "X-PAYMENT: <base64 signed USDC authorization>"call it — typescript + x402-fetch
typescript
import { wrapFetchWithPayment } from "x402-fetch";
import { privateKeyToAccount } from "viem/accounts";
const account = privateKeyToAccount(process.env.AGENT_PRIVATE_KEY as `0x${string}`);
const fetchWithPayment = wrapFetchWithPayment(fetch, account);
const res = await fetchWithPayment(
"https://marketplaceforaiagents.com/api/public/v1/google-videos?q=how+to+change+a+bike+tire"
);
const data = await res.json();
console.log(data.video_results);response — 200 ok
application/json
{
"search_parameters": {
"engine": "google_videos",
"q": "how to change a bike tire"
},
"videos": [
{
"position": 1,
"title": "How to change a bike tire",
"link": "https://www.youtube.com/watch?v=eqR6nlZNeU8",
"thumbnail": "https://i.ytimg.com/vi/eqR6nlZNeU8/hqdefault.jpg",
"length": "5:12",
"source": "YouTube"
}
],
"video_results": [
{
"position": 1,
"title": "How to change a bike tire",
"link": "https://www.youtube.com/watch?v=eqR6nlZNeU8",
"thumbnail": "https://i.ytimg.com/vi/eqR6nlZNeU8/hqdefault.jpg",
"length": "5:12",
"source": "YouTube"
}
],
"results_key_source": "video_results"
}status codes
200data returned, response includes X-PAYMENT-RESPONSE receipt when paid
400missing or invalid required parameters
402free tier exhausted or invalid X-PAYMENT — body contains accepts[] payment requirements
404unknown endpoint slug
429upstream rate limit — retry with backoff
500upstream or settlement error