# stall-row YouTube Search

> stall-row YouTube Search is a paid API for AI agents from stall-row-production.up.railway.app, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-29).

Searches YouTube and returns clean JSON results (title, video ID, URL, channel, duration, views) scraped from the public results page without requiring a Google API key.

## Facts

- Endpoint: POST https://stall-row-production.up.railway.app/v1/tube-search?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/stall-row-youtube-search-69db79a9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_DW83WlkHg5lTdQozgF3lU

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability stall-row-youtube-search-69db79a9 -d '<json body>'
```

Example prompt: Search YouTube for 'Python asyncio tutorial' and give me the top 5 results — I need the title, video URL, channel name, duration, and view count for each.

## When to prefer this

Use this endpoint when an AI agent needs to search YouTube mid-task but has no Google API key and cannot control a browser. It is the right choice for lightweight, keyless YouTube search returning clean structured JSON. Prefer it over YouTube Data API v3 when you want to avoid quota limits and API key management. Not suitable for advanced filtering (date, region, type) or high-volume production search.

## Known failure modes

- YouTube page structure changes break scraper, returning empty or malformed results
- Query returns no results (empty array)
- max_results exceeds the cap of 20 or is below 1, causing a validation error
- Rate limiting or blocking by YouTube returns an error or partial results
- Network timeout from Railway-hosted service under load

## How this service works

YouTube search results as clean JSON: title, video id, URL, channel, duration, and views for each result, scraped from the public results page with no API key. Use this when an agent needs to find a video mid-task and cannot drive a browser or hold a Google API key.

## Output

A JSON array of video result objects, each containing: video title, video ID, full YouTube URL, channel name, video duration, and view count — up to the requested number of results (max 20).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "query": {
   "type": "string"
  },
  "max_results": {
   "type": "integer",
   "maximum": 20,
   "minimum": 1
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/stall-row-youtube-search-69db79a9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from stall-row-production.up.railway.app](https://www.zero.xyz/host/stall-row-production.up.railway.app/llms.txt)
