YouTube

YouTube Scraper API

Real-time YouTube data — video details, channel profiles, and search results. All data is scraped directly from YouTube and returned as structured JSON.

3 Endpoints REST API JSON 99.9% Uptime

Try it instantly

See real data shapes from every endpoint — no signup required.

Request
GET /youtube/video
video_id dQw4w9WgXcQ required
curl -G "https://api.pullapi.com/youtube/video" \
  -H "x-rapidapi-key: YOUR_API_KEY"
Response 200 OK
{
  "success": true,
  "data": {
    "video_id": "dQw4w9WgXcQ",
    "title": "Rick Astley - Never Gonna Give You Up (Official Music Video)",
    "description": "The official video for \"Never Gonna Give You Up\" by Rick Astley...",
    "channel_id": "UCuAXFkgsw1L7xaCfnd5JJOw",
    "channel_name": "Rick Astley",
    "duration_seconds": 213,
    "view_count": 1500000000,
    "like_count": 18000000,
    "comment_count": 2500000,
    "publish_date": "2009-10-25",
    "upload_date": "2009-10-25",
    "category": "Music",
    "tags": [ "rick astley", "never gonna give you up", "music video", "80s"
    ],
    "is_live": false,
    "is_family_safe": true,
    "thumbnail_url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg",
    "embed_url": "https://www.youtube.com/embed/dQw4w9WgXcQ",
    "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
  },
  "credits_used": 1,
  "cache_hit": false,
  "timestamp": "2026-03-15T12: 00: 00+00: 00"
}

API Endpoints

3 endpoints across 3 categories.

Video

GET /youtube/video

Get full metadata for a YouTube video including title, description, view count, like count, comment count, duration, publish date, category, tags, thumbnails, and embed URL. Accepts a YouTube video ID or full video URL.

Parameters

Name Type Required Description Example
video_id string Yes YouTube video ID or full URL. Examples: "dQw4w9WgXcQ", "https://www.youtube.com/watch?v=dQw4w9WgXcQ" dQw4w9WgXcQ

Example Response

{
  "success": true,
  "data": {
    "video_id": "dQw4w9WgXcQ",
    "title": "Rick Astley - Never Gonna Give You Up (Official Music Video)",
    "description": "The official video for \"Never Gonna Give You Up\" by Rick Astley...",
    "channel_id": "UCuAXFkgsw1L7xaCfnd5JJOw",
    "channel_name": "Rick Astley",
    "duration_seconds": 213,
    "view_count": 1500000000,
    "like_count": 18000000,
    "comment_count": 2500000,
    "publish_date": "2009-10-25",
    "upload_date": "2009-10-25",
    "category": "Music",
    "tags": [ "rick astley", "never gonna give you up", "music video", "80s"
    ],
    "is_live": false,
    "is_family_safe": true,
    "thumbnail_url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg",
    "embed_url": "https://www.youtube.com/embed/dQw4w9WgXcQ",
    "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
  },
  "credits_used": 1,
  "cache_hit": false,
  "timestamp": "2026-03-15T12: 00: 00+00: 00"
}

Channel

GET /youtube/channel

Get full profile for a YouTube channel including name, handle, description, subscriber count, video count, verification status, keywords, avatar, banner, and vanity URL. Accepts a channel ID, handle (@username), or legacy username.

Parameters

Name Type Required Description Example
channel_id string Yes YouTube channel ID, handle (@MrBeast), or username. Examples: "UC-lHJZR3Gqxm24_Vd_AJ5Yw",... @MrBeast

Example Response

{
  "success": true,
  "data": {
    "channel_id": "UCX6OQ3DkcsbYNE6H8uQQuVA",
    "title": "MrBeast",
    "handle": "@MrBeast",
    "description": "SUBSCRIBE FOR A COOKIE!",
    "subscriber_count": 350000000,
    "subscriber_count_text": "350M subscribers",
    "video_count": 850,
    "video_count_text": "850 videos",
    "is_verified": true,
    "is_family_safe": true,
    "keywords": [ "MrBeast", "challenge", "philanthropy"
    ],
    "avatar_url": "https://yt3.googleusercontent.com/example_avatar.jpg",
    "banner_url": "https://yt3.googleusercontent.com/example_banner.jpg",
    "vanity_url": "https://www.youtube.com/@MrBeast",
    "rss_url": "https://www.youtube.com/feeds/videos.xml?channel_id=UCX6OQ3DkcsbYNE6H8uQQuVA",
    "url": "https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA"
  },
  "credits_used": 1,
  "cache_hit": false,
  "timestamp": "2026-03-15T12: 00: 00+00: 00"
}

Search

GET /youtube/search

Search YouTube for videos matching a keyword query. Returns a list of video results with titles, channels, view counts, durations, publish dates, thumbnails, and description snippets.

Parameters

Name Type Required Description Example
query string Yes Search query string. Examples: "python tutorial", "best restaurants NYC", "machine learning 2026" python tutorial

Example Response

{
  "success": true,
  "data": {
    "query": "python tutorial",
    "results": [
      {
        "video_id": "rfscVS0vtbw",
        "title": "Learn Python - Full Course for Beginners",
        "channel_name": "freeCodeCamp.org",
        "channel_id": "UC8butISFwT-Wl7EV0hUK0BQ",
        "view_count": 45000000,
        "view_count_text": "45M views",
        "duration_text": "4: 26: 52",
        "published_text": "5 years ago",
        "description_snippet": "This course will give you a full introduction into all of the core concepts in python...",
        "thumbnail_url": "https://i.ytimg.com/vi/rfscVS0vtbw/hqdefault.jpg",
        "url": "https://www.youtube.com/watch?v=rfscVS0vtbw"
      },
      {
        "video_id": "_uQrJ0TkZlc",
        "title": "Python Tutorial - Python Full Course for Beginners",
        "channel_name": "Programming with Mosh",
        "channel_id": "UCWv7vMbMWH4-V0ZXdmDpPBA",
        "view_count": 32000000,
        "view_count_text": "32M views",
        "duration_text": "6: 14: 07",
        "published_text": "6 years ago",
        "description_snippet": "Python tutorial - Python full course for beginners...",
        "thumbnail_url": "https://i.ytimg.com/vi/_uQrJ0TkZlc/hqdefault.jpg",
        "url": "https://www.youtube.com/watch?v=_uQrJ0TkZlc"
      }
    ],
    "total_results": 2
  },
  "credits_used": 1,
  "cache_hit": false,
  "timestamp": "2026-03-15T12: 00: 00+00: 00"
}

Code Examples

Get started in seconds with your preferred language.

Terminal
curl -G "https://api.pullapi.com/youtube/video?video_id=dQw4w9WgXcQ" \
  -H "x-rapidapi-host: youtube-scraper-api.p.rapidapi.com" \
  -H "x-rapidapi-key: YOUR_API_KEY"

Why PullAPI

</>

No Browser Needed

HTTP-based API. No Selenium, no Puppeteer, no headless browsers to manage.

Built-in Proxy Rotation

Automatic residential proxy rotation handles anti-bot detection for you.

Cached Responses

Smart Redis caching means faster repeated queries and lower costs.

$

Pay Per Request

No monthly commitment. Free tier included. Pay only for what you use.

Use Cases

What developers build with the YouTube Scraper API.

1

Channel Analytics

2

Video Research

3

Content Strategy

4

Competitor Monitoring

Related Scrapers

More APIs in Social Media.

Ready to scrape YouTube data?

Start with the free tier. No credit card required.

Subscribe on RapidAPI →