# ScrapeMole YouTube Playlist API

> ScrapeMole YouTube Playlist API is a paid API for AI agents from scrapemole-api-mainnet.scrapemole.workers.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-17).

Retrieves all videos from a YouTube playlist by playlist ID or URL, returning titles, video IDs, positions, and channel names

## Facts

- Endpoint: GET https://scrapemole-api-mainnet.scrapemole.workers.dev/v1/youtube/playlist?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-17
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/scrapemole-youtube-playlist-api-47cf3fd2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_5wOqtzqH-LfmaFcU7eXwy

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 scrapemole-youtube-playlist-api-47cf3fd2
```

Example prompt: Can you get me all the videos from this YouTube playlist — https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi — up to 100 videos, in English?

## When to prefer this

Use this endpoint when you need to enumerate all videos in a known YouTube playlist without YouTube Data API credentials or quota. It is ideal for agents that need playlist contents on demand, pay only for successful scrapes, and require no account setup. Prefer this over YouTube's official API when avoiding API key management or quota limits matters, or when building lightweight pay-per-use agent pipelines.

## Known failure modes

- Invalid or private playlist ID returns an error (not charged)
- Playlist URL malformed or not parseable results in error
- Limit out of range (not 1-100) causes validation failure
- Network or YouTube scraping failure returns error (not charged)
- Deleted or unavailable playlist returns error response

## How this service works

Pay-per-call public web data for agents: Google Trends, YouTube transcripts, YouTube search, YouTube channel videos, YouTube video details, YouTube comments, YouTube playlists. Pay per successful call in USDC with x402; errors are never charged. No accounts, no API keys.

Payments: x402 v2, scheme "exact", USDC on Base (eip155:8453). The payment is verified before the scrape and settled only when the response is 200. Terms: https://scrapemole-api-mainnet.scrapemole.workers.dev/terms

## Output

Returns a JSON object with the playlist ID, playlist title, total video count, and an array of videos each containing their position, title, video ID, full YouTube URL, and channel name. Up to 100 videos per call.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "playlist"
     ],
     "properties": {
      "lang": {
       "type": "string",
       "examples": [
        "en"
       ],
       "description": "Interface language (hl), e.g. en, de."
      },
      "limit": {
       "type": "string",
       "default": "50",
       "description": "Max videos (1-100)."
      },
      "country": {
       "type": "string",
       "examples": [
        "US"
       ],
       "description": "Country (gl), e.g. US, GB."
      },
      "playlist": {
       "type": "string",
       "examples": [
        "PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi"
       ],
       "description": "Playlist URL (…?list=…) or playlist ID."
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "videos": [
   {
    "url": "https://www.youtube.com/watch?v=aircAruvnKk",
    "title": "But what is a neural network? | Deep learning chapter 1",
    "videoId": "aircAruvnKk",
    "position": 1,
    "channelName": "3Blue1Brown"
   }
  ],
  "playlistId": "PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi",
  "playlistTitle": "Neural networks",
  "playlistVideoCount": 8
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/scrapemole-youtube-playlist-api-47cf3fd2/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from scrapemole-api-mainnet.scrapemole.workers.dev](https://www.zero.xyz/host/scrapemole-api-mainnet.scrapemole.workers.dev/llms.txt)
