If you've tried to build anything serious on top of YouTube's official Data API, you've probably been bitten by the quota system. Each search costs 100 units, you get 10,000 free/day, and requesting more requires Google's approval (which takes weeks and sometimes gets denied).
We added YouTube endpoints to Serpent API specifically because the quota wall kept killing legitimate tool ideas.
Endpoints:
- GET /api/social/youtube/search — search videos, channels, playlists with filters (type, duration, country, order, safe)
- GET /api/social/youtube/video — full metadata for any video (views, likes, comments, tags, description, thumbnails)
- GET /api/social/youtube/channel — channel stats (subscribers, total views, video count)
- GET /api/social/youtube/playlist — list videos in a playlist
What's different from the official API:
- No Google Cloud project required
- No daily quota limits
- Flat, clean JSON (not Google's nested resource structure)
- One API key for everything
- Views and likes in the same response (Google makes you make separate calls)
Code:
import requests
# Search YouTube
resp = requests.get(
"https://apiserpent.com/api/social/youtube/search",
params={
"q": "machine learning tutorial",
"num": 10,
"order": "viewCount",
"duration": "long",
"country": "us"
},
headers={"X-API-Key": "YOUR_KEY"}
)
results = resp.json()
# Get video details (views, likes, tags in ONE call)
video_resp = requests.get(
"https://apiserpent.com/api/social/youtube/video",
params={"id": "dQw4w9WgXcQ"},
headers={"X-API-Key": "YOUR_KEY"}
)
video = video_resp.json()
print(f"{video['title']} — {video['views']:,} views, {video['likes']:,} likes")
Top comments (0)