NetworksYouTube
YouTube APIthrough Siar.
Long-form videos and Shorts on a YouTube channel, with title, description, privacy, audience and disclosure settings sent through the YouTube Data API.
At a glance
Account needed: A Google account with a YouTube channel. Brand-account channels are picked after sign-in.
| Connection | OAuth 2.0 in the browser |
|---|---|
| Channel | Optional: pick a channel after connecting |
| Post types | video, short |
| Text length | 100 characters |
| Title length | 100 characters |
| Comment length | 10,000 characters |
| Media per post | Up to 1 |
Media rules
| Kind | Formats | Max size | Duration | Other |
|---|---|---|---|---|
| Video | mp4, mov, webm, msvideo, matroska, mpeg, 3gpp | 256 GB | Up to 12 h | None |
What Siar can do on YouTube
| Comments and replies | Yes |
|---|---|
| First comment | Yes |
| Edit a published post | Yes |
| Delete a published post | Yes |
| Edit a comment | Yes |
| Delete a comment | Yes |
| Import comments | Yes |
| Post analytics | Yes |
| Account analytics | Yes |
| Post history import | Yes |
| Direct messages | No |
Siar can create comments and replies up to 10,000 characters, and import the comments people leave on your posts.
Publish a post
Put YouTube's payload under data.YOUTUBE and list YOUTUBE in socialAccountTypes. Add other networks to the same request to post to all of them at once.
curl -X POST "https://api.siaran.my/api/v1/post" \
-H "x-api-key: $SIAR_API_KEY" \
-H "content-type: application/json" \
-d '{
"teamId": "TEAM_ID",
"title": "YouTube post",
"postDate": "2026-11-02T09:00:00.000Z",
"status": "SCHEDULED",
"socialAccountTypes": [
"YOUTUBE"
],
"data": {
"YOUTUBE": {
"type": "VIDEO",
"uploadIds": [
"UPLOAD_ID"
],
"text": "Hello from Siar"
}
}
}' YouTube fields
-
typestring default "SHORT"One of:VIDEOSHORT -
uploadIdsstring[] nullable -
textstring nullable -
descriptionstring nullable -
thumbnailstring nullable -
privacystring nullableOne of:PRIVATEPUBLICUNLISTED -
defaultLanguagestring nullable max length 35 -
defaultAudioLanguagestring nullable max length 35 -
madeForKidsboolean nullable default false -
containsSyntheticMediaboolean nullable default false -
hasPaidProductPlacementboolean nullable default false
Daily caps
| Per connected account, per UTC day | Free | Pro | Business |
|---|---|---|---|
| Posts | 10 | 10 | 15 |
| Comments | 3 | 10 | 15 |
See pricing for monthly quotas. Enterprise uses the Business caps unless agreed otherwise.
Connecting a YouTube account
Siar sends the user to the network's consent page and stores the tokens it gets back, refreshing them before they expire. Use POST /social-account/connect from your own UI, or send your customer a hosted link from POST /social-account/create-portal-link; see connecting accounts.
Permissions requested
Siar requests only these scopes at connect time:
https://www.googleapis.com/auth/youtube.uploadhttps://www.googleapis.com/auth/youtube.force-sslhttps://www.googleapis.com/auth/yt-analytics.readonly
YouTube-specific operations
These exist for YouTube only and live under /misc/youtube.
| Operation | Endpoint |
|---|---|
| Set or change thumbnail for a YouTube video | POST /misc/youtube/thumbnail |
| Get channel playlists | GET /misc/youtube/playlist |
| Create a new playlist | POST /misc/youtube/playlist |
| Update an existing playlist | PUT /misc/youtube/playlist |
| Delete a channel playlist | DELETE /misc/youtube/playlist/{playlistId} |
| Add a video to a playlist | POST /misc/youtube/playlist-items |
| Get videos from a playlist | GET /misc/youtube/playlist-items |
| Remove a video from a playlist | DELETE /misc/youtube/playlist-items/{playlistItemId} |
| Edit YouTube video metadata | PATCH /misc/youtube/video |
| Delete a YouTube video | DELETE /misc/youtube/video |
| Edit YouTube comment | PATCH /misc/youtube/comment |
| Delete a YouTube comment | DELETE /misc/youtube/comment |
| Get YouTube video categories | GET /misc/youtube/video-categories |
| Get YouTube regions | GET /misc/youtube/regions |
When YouTube says no
Siar relays YouTube's error code and message verbatim on the post, next to a status you can act on. The YouTube error reference covers 11 common cases with what each one means and the fix. Open the YouTube error reference.
YouTube API questions
What can I post to YouTube through the API?
video, short. Long-form videos and Shorts on a YouTube channel, with title, description, privacy, audience and disclosure settings sent through the YouTube Data API.
How many YouTube posts can I publish per day?
Per connected account and UTC day: 10 on Free, 10 on Pro, 15 on Business. The caps keep the account within what YouTube tolerates.
Can I schedule YouTube posts?
Yes. Set postDate in the future and a status of SCHEDULED. Siar publishes at that time and sends a post.published webhook when the post reaches a final state.
How do I connect a YouTube account?
A Google account with a YouTube channel. Brand-account channels are picked after sign-in. Siar sends the user to the network's consent page and stores the tokens it gets back, refreshing them before they expire.
What do I do when YouTube rejects a post?
The post carries YouTube's own code and message. The YouTube error reference explains 11 common rejections and how to fix them.
Your first post isone request away.
The Free plan includes 20 posts and 200 uploads a month across 3 teams. No card needed.