# HireScrape YouTube Scraper

> HireScrape YouTube Scraper is a paid API for AI agents from hirescrape.com, paid per call via x402, $0.00225/call, status unknown (last checked 2026-09-14).

Scrapes YouTube videos, channels, and comments across 10 configurable modes via a single POST endpoint.

## Facts

- Endpoint: POST https://hirescrape.com/api/tools/youtube
- Price: $0.00225/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/hirescrape-com-9d3e5f38
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_UNemSZGJ79RBKNrt6LAGl

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 hirescrape-com-9d3e5f38 -d '<json body>'
```

Example prompt: Pull all the comments and metadata from this YouTube video — https://www.youtube.com/watch?v=dQw4w9WgXcQ — using the comments mode, and give me the top 50 results.

## When to prefer this

Choose this endpoint when you need structured YouTube data — video metadata, channel stats, or comment threads — without managing YouTube API quotas or authentication. Ideal for bulk data collection, content analysis pipelines, or when YouTube Data API v3 limits are a constraint. Supports 10 scrape modes giving broad flexibility across YouTube entity types.

## Known failure modes

- Invalid or private YouTube URL returns an error or empty result
- Unsupported mode parameter returns a validation error
- Rate limiting from YouTube may cause partial or failed scrapes
- Age-restricted or region-blocked content may not be accessible
- Deleted or unavailable videos return no data

## How this service works

YouTube videos, channels, and comments — 10 modes.

## Output

Returns structured data including video metadata (title, description, view count, like count, upload date), channel information (name, subscriber count, video count), and/or comment threads (text, author, timestamp, likes) depending on the selected scrape mode.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "Full URL of the target object."
  },
  "mode": {
   "enum": [
    "video",
    "videos_by_explore",
    "videos_by_hashtag",
    "videos_by_keyword",
    "videos_by_podcast_url",
    "videos_by_search_filters",
    "videos_by_url",
    "channel",
    "channels_by_keyword",
    "comments"
   ],
   "type": "string",
   "default": "video",
   "description": "Which endpoint to call. Options: video, videos_by_explore, videos_by_hashtag, videos_by_keyword, videos_by_podcast_url, videos_by_search_filters, videos_by_url, channel, channels_by_keyword, comments."
  },
  "type": {
   "type": "string",
   "description": "Content type (all or shorts)."
  },
  "limit": {
   "type": "integer",
   "default": 20,
   "maximum": 500,
   "minimum": 1,
   "description": "Max items to collect (applies to paginated modes)."
  },
  "country": {
   "type": "string",
   "description": "Country code (e.g. US, GB)."
  },
  "hashtag": {
   "type": "string",
   "description": "Hashtag (without #)."
  },
  "keyword": {
   "type": "string",
   "description": "Search keyword."
  },
  "sort_by": {
   "type": "string",
   "description": "Sort key (depends on endpoint)."
  },
  "all_tabs": {
   "type": "boolean",
   "description": "Scrape all tabs on the destination page."
  },
  "duration": {
   "type": "string",
   "description": "Duration filter (Under 4 minutes / 4-20 minutes / Over 20 minutes)."
  },
  "end_date": {
   "type": "string",
   "description": "End date (YYYY-MM-DD)."
  },
  "features": {
   "type": "string",
   "description": "Feature filter (4K / HD / Creative Commons / Subtitles)."
  },
  "order_by": {
   "type": "string",
   "description": "Sort order for discovered videos (Latest / Oldest / Popular)."
  },
  "start_date": {
   "type": "string",
   "description": "Start date (YYYY-MM-DD)."
  },
  "time_period": {
   "type": "string",
   "description": "Lookback window (e.g. '1 day ago', '1 month ago', '1 year ago')."
  },
  "upload_date": {
   "type": "string",
   "description": "Upload recency filter (Today / Week / Month / Year)."
  },
  "num_of_posts": {
   "type": "integer",
   "description": "Max records to collect (0 = provider default)."
  },
  "keyword_search": {
   "type": "string",
   "description": "Keyword for filtered video search."
  },
  "transcription_language": {
   "type": "string",
   "description": "BCP-47 language code for transcript (e.g. en, es). Empty = auto."

… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "items": [
   {
    "likes": 18000000,
    "title": "Rick Astley - Never Gonna Give You Up (Official Music Video)",
    "views": 1600000000,
    "channel": "Rick Astley",
    "video_id": "dQw4w9WgXcQ",
    "published": "2009-10-25",
    "video_url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
   }
  ],
  "runId": "bd_example",
  "payment": {
   "amount": "0.002250",
   "currency": "USD",
   "protocol": "x402"
  },
  "duration": 14
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/hirescrape-com-9d3e5f38/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from hirescrape.com](https://www.zero.xyz/host/hirescrape.com/llms.txt)
