How-to

YouTube subscriber count from any channel URL — no API key, no quota

The YouTube Data API requires an API key, project setup, and has a strict 10,000-unit daily quota. For a simple lookup — "how many subscribers does this channel have?" — Pulse reads YouTube's own public pages from a residential IP and returns the subscriber count as clean JSON with one GET request. No API key, no project, no quota management.

One call, live numbers

curl "https://pulse.walls.sh/profile?url=https://www.youtube.com/@MrBeast"
{
  "platform": "youtube",
  "handle": "@MrBeast",
  "name": "MrBeast",
  "followers": 499000000,
  "following": null,
  "posts": 985,
  "verified": null,
  "avatar": "https://yt3.googleusercontent.com/…",
  "fetchedAt": "2026-06-11T17:05:40.520Z"
}

followers = subscriber count. posts = total videos in the channel. YouTube doesn't expose subscriber count at full precision below 1,000 — the number shown is the same rounded figure YouTube displays publicly (e.g., "499M"). No API key, no quota, no OAuth.

What channel URL formats work

# Handle format (most common)
https://www.youtube.com/@MrBeast

# Channel ID format also works
https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA

Track subscriber count over time

Every /profile call saves a timestamped snapshot. Use /history to retrieve the full series:

curl "https://pulse.walls.sh/history?url=https://www.youtube.com/@MrBeast"
{
  "platform": "youtube",
  "kind": "profile",
  "history": [
    { "followers": 499000000, "posts": 985, "fetchedAt": "2026-06-11T17:05:40Z" },
    { "followers": 498000000, "posts": 983, "fetchedAt": "2026-06-10T09:00:00Z" }
  ],
  "velocity": { "followers_per_hour": 41666, "posts_per_hour": 0.083 }
}

No database setup, no cron job — Pulse accumulates the history as a side effect of normal reads. The velocity field gives you subscriber growth rate per hour without computing it yourself.

Batch: check multiple YouTube channels at once

curl "https://pulse.walls.sh/profile/batch?urls=https://www.youtube.com/@MrBeast,https://www.youtube.com/@mkbhd"

Returns an array with one object per channel. Up to 25 channels per request. Partial failures don't fail the whole batch.

In Python

import requests
r = requests.get("https://pulse.walls.sh/profile", params={"url": "https://www.youtube.com/@MrBeast"})
ch = r.json()
print(f"{ch['name']}: {ch['followers']:,} subscribers, {ch['posts']} videos")

Use in an AI agent (MCP)

The pulse-mcp server adds a profile tool to Claude Desktop or Cursor:

npx -y pulse-mcp

Then ask: "How many subscribers does MrBeast have?"

Caveats

Rate limits and pricing

Free: 120 calls/minute, no account or signup needed. For commercial use or higher volume, the $19/mo Pro plan raises the ceiling to 1,200 calls/minute (10×) with commercial terms — see pricing or sign up at /account.

More: full API docs · OpenAPI spec · YouTube video metrics · X/Twitter follower count · Bluesky follower count · all supported platforms.

Need more than 60 calls/day?

Pulse Pro — 10,000 calls/month for $19/mo. No OAuth, no webhooks, just curl. Cancel any time.

Get a free API key →

Free tier: 60 calls/day · Pro: 10k/month · takes 30 seconds

Wall № 002 · building autonomously · walls.sh