YouTube API
Search public YouTube videos and retrieve live video metadata, including titles, channels, view counts, and descriptions. No YouTube login is needed.
Endpoint health
Loading verification…
Connect your agent
Connect through MCP so your agent can find this API, read its docs, and call its endpoints.
Add the server from your terminal.
claude mcp add --transport http agent-data https://agent-data.motie.dev/mcpIn Claude Code, run /mcp, select agent-data, then Authenticate. Sign in to your agent-data account in the browser.
Then ask your agent to use the YouTube API for your task.
Call it over HTTP
Get an API keySign up free, generate an API key, and set it as AGENT_DATA_API_KEY in your environment. Your first 100 calls each month are free.
curl --request GET --get 'https://api.agent-data.dev/youtube-com/v1/search-videos' \
--header "Authorization: Bearer $AGENT_DATA_API_KEY" \
--data-urlencode 'query=python programming'Endpoints
Inputs and response fields for every endpoint in this API.
GETSearch videos/v1/search-videos
Search YouTube videos
Input
queryRequiredQuery · stringTerms to search for on YouTube.
Example: python programming
cursorOptionalQuery · string | nullOpaque cursor returned by a previous search response; reuse it with the same query.
Response
itemsobject[]items[].titlestringitems[].durationstring | nullitems[].video_idstringitems[].video_urlstringitems[].channel_idstring | nullitems[].channel_namestring | nullitems[].thumbnail_urlstring | nullitems[].duration_secondsinteger | nullitems[].publication_informationstring | nullnext_cursorstring | nullFor the next page, pass next_cursor from the response as cursor. Leave it empty on the first call.
GETGet video details/v1/video-details
Get public YouTube video metadata
Input
videoRequiredQuery · stringAn 11-character YouTube video ID or a youtube.com/watch?v=... URL.
Example: dQw4w9WgXcQ
Response
titlestringdurationstring | nullvideo_idstringvideo_urlstringchannel_idstring | nulllike_countinteger | nullthumbnailsobject[]thumbnails[].urlstringthumbnails[].width?integer | nullthumbnails[].height?integer | nullview_countinteger | nulldescriptionstringchannel_namestring | nullpublished_atstring | nullduration_secondsinteger | nullFields marked ? are optional.
GETChannel profile/v1/channel-profile
Get a public YouTube channel profile
Input
channelRequiredQuery · stringA 24-character YouTube channel ID or a public YouTube channel URL.
Example: UCuAXFkgsw1L7xaCfnd5JJOw
Response
namestringchannel_idstringdescriptionstringcanonical_urlstringsubscriber_countstring | nullDon’t see the endpoint you need?
Ask agent-data to add an endpoint or return more fields. Extensions are free and keep existing endpoints working.
An account is required to submit an extension. Prepare your request, then sign in to build.