Discover/YouTube API
live

YouTube APIm.youtube.com

Retrieve all video IDs and titles from any YouTube channel by handle. Auto-paginated, returns total count and normalized channel name.

This API takes change requests — .
Endpoint health
monitored
list_videos
Checks pendingself-healing
Endpoints
1
Updated
2h ago

What is the YouTube API?

The m.youtube.com API exposes 1 endpoint — list_videos — that returns every video title and ID published on a given YouTube channel. Pass a channel handle (with or without the leading @) and receive a paginated-through array of video objects alongside the normalized channel handle and a total video count. It is suited for channel auditing, content cataloging, and research workflows.

This call costs10 credits / call— charged only on success
Try it
YouTube channel handle, with or without the leading '@' (e.g. 'Mindplicit' or '@Mindplicit').
api.parse.bot/scraper/b0d66b2e-5480-4f4a-9741-426c8b774f7f/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/b0d66b2e-5480-4f4a-9741-426c8b774f7f/list_videos?channel_handle=Mindplicit' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace m-youtube-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Mindplicit SDK — bounded, re-runnable; every call capped."""
from parse_apis.m_youtube_com_api import Mindplicit, ChannelNotFound

client = Mindplicit()

# List videos from the Mindplicit channel, capped at 3.
for video in client.videos.list(channel_handle="Mindplicit", limit=3):
    print(video.video_id, video.title)

# Typed error: wrap a call to a non-existent channel.
try:
    missing = client.videos.list(channel_handle="nonexistent_xyz_99999", limit=1).first()
except ChannelNotFound as e:
    print(f"channel gone: {e.channel_handle}")

print("exercised: videos.list")
All endpoints · 1 totalmissing one? ·

Retrieve all videos from a YouTube channel. Returns each video's ID and title, auto-paginating through all available pages. The channel is identified by its handle (e.g. 'Mindplicit' or '@Mindplicit').

Input
ParamTypeDescription
channel_handlestringYouTube channel handle, with or without the leading '@' (e.g. 'Mindplicit' or '@Mindplicit').
Response
{
  "type": "object",
  "fields": {
    "videos": "array of video objects with video_id and title",
    "channel": "string — the normalized channel handle",
    "total_videos": "integer — count of videos returned"
  },
  "sample": {
    "data": {
      "videos": [
        {
          "title": "Why You MUST Disappoint People — Carl Jung",
          "video_id": "hmciPId4VMM"
        },
        {
          "title": "7 Ways To Handle People Who Don’t Respect You — Baltasar Gracián",
          "video_id": "rofPXA62wwI"
        },
        {
          "title": "The End Of Critical Thinking And Rise Of Collective Stupidity - Carlo Cipolla",
          "video_id": "RQ1jkLgjFq4"
        }
      ],
      "channel": "@Mindplicit",
      "total_videos": 124
    },
    "status": "success"
  }
}

About the YouTube API

What the API Returns

The list_videos endpoint accepts a channel_handle string — either Mindplicit or @Mindplicit are treated identically — and returns a videos array where each element contains a video_id and a title. The channel field in the response carries the normalized handle, and total_videos gives the integer count of all videos returned in that call.

Pagination Behavior

The endpoint auto-paginates internally, meaning you receive all available videos for the channel in a single response rather than managing page tokens or offsets yourself. The total_videos field reflects the full count across all pages traversed.

Coverage and Scope

Data is limited to publicly visible videos on the specified channel. The response does not include private, unlisted, or age-restricted videos that require authentication. Fields are limited to video_id and title; view counts, like counts, publish dates, descriptions, and thumbnails are not part of the current response shape.

Reliability & maintenance

The YouTube API is a managed, monitored endpoint for m.youtube.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when m.youtube.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official m.youtube.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a content index of all public videos on a YouTube channel using returned video_id and title fields.
  • Track total video output over time by storing the total_videos count from repeated calls.
  • Feed video_id values into a downstream transcription or summarization pipeline.
  • Audit competitor channels by comparing video titles and counts across multiple handles.
  • Populate a site search index with YouTube video titles from owned or curated channels.
  • Cross-reference a channel's video catalog against a known topic list using title strings.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does YouTube have an official developer API?+
Yes. The YouTube Data API v3 is available at https://developers.google.com/youtube/v3. It requires a Google Cloud project and API key, and quota limits apply per project.
What does `list_videos` actually return per video?+
Each object in the videos array contains two fields: video_id (the YouTube video identifier) and title (the public video title). The response also includes channel (the normalized handle) and total_videos (integer count of all videos returned).
Does the API return view counts, publish dates, or descriptions?+
Not currently. The API covers video_id and title per video only. You can fork it on Parse and revise it to add endpoints that return additional metadata fields.
Can I retrieve videos from multiple channels in one request?+
Not currently. The list_videos endpoint accepts a single channel_handle per call. To cover multiple channels, you would make one call per handle. You can fork the API on Parse and revise it to add a batch endpoint that accepts multiple handles.
Are unlisted or private videos included in the results?+
No. Only publicly visible videos on the channel appear in the videos array. Content that requires authentication or is otherwise restricted is not returned.
Page content last updated . Spec covers 1 endpoint from m.youtube.com.
Related APIs in Streaming VideoSee all →
youtube.com API
Retrieve public YouTube channel information, discover featured channels and recommendations, and access liked videos playlists to understand what content creators are promoting and enjoying. Perfect for researching creator profiles, finding related channels, and exploring curated video collections without needing direct channel access.
viewstats.com API
viewstats.com API
app.channelcrawler.com API
Search and discover YouTube channels across a database of 22M+ channels to find creators, communities, and content in your areas of interest. Get detailed channel information including stats and metadata to research creators and understand their audience.
filmot.com API
Search YouTube channels and find specific moments across videos by looking up subtitles in multiple languages through Filmot's comprehensive database. Discover exactly when topics are mentioned across channels without manually watching every video.
bilibili.com API
Discover and monitor trending videos on Bilibili with access to video metadata, uploader information, and engagement statistics. Stay updated on what's popular across the platform to find the latest viral content and emerging creators.
twitch.tv API
Search for Twitch streamers and channels, view their profiles and streaming details, and discover live streams organized by category. Find the content and creators you want to watch all in one place.
tubitv.com API
Browse Tubi TV's entire free streaming catalog across 100+ categories to discover movies and TV series with detailed information including titles, descriptions, cast, ratings, and direct watch links. Quickly find content by category or explore what's available in documentaries and beyond.
toutiao.com API
Browse personalized news feeds, discover trending articles and hot topics, search content across categories, view detailed articles with comments, and explore author profiles on Toutiao. Access video feeds and stay updated with the latest news and trending stories all in one place.