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.

ConnectionOAuth 2.0 in the browser
ChannelOptional: pick a channel after connecting
Post typesvideo, short
Text length100 characters
Title length100 characters
Comment length10,000 characters
Media per postUp to 1

Media rules

KindFormatsMax sizeDurationOther
Videomp4, mov, webm, msvideo, matroska, mpeg, 3gpp256 GBUp to 12 hNone

What Siar can do on YouTube

Comments and repliesYes
First commentYes
Edit a published postYes
Delete a published postYes
Edit a commentYes
Delete a commentYes
Import commentsYes
Post analyticsYes
Account analyticsYes
Post history importYes
Direct messagesNo

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

  • type string default "SHORT"
    One of: VIDEO SHORT
  • uploadIds string[] nullable
  • text string nullable
  • description string nullable
  • thumbnail string nullable
  • privacy string nullable
    One of: PRIVATE PUBLIC UNLISTED
  • defaultLanguage string nullable max length 35
  • defaultAudioLanguage string nullable max length 35
  • madeForKids boolean nullable default false
  • containsSyntheticMedia boolean nullable default false
  • hasPaidProductPlacement boolean nullable default false

Daily caps

Per connected account, per UTC dayFreeProBusiness
Posts101015
Comments31015

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.upload
  • https://www.googleapis.com/auth/youtube.force-ssl
  • https://www.googleapis.com/auth/yt-analytics.readonly

YouTube-specific operations

These exist for YouTube only and live under /misc/youtube.

OperationEndpoint
Set or change thumbnail for a YouTube videoPOST /misc/youtube/thumbnail
Get channel playlistsGET /misc/youtube/playlist
Create a new playlistPOST /misc/youtube/playlist
Update an existing playlistPUT /misc/youtube/playlist
Delete a channel playlistDELETE /misc/youtube/playlist/{playlistId}
Add a video to a playlistPOST /misc/youtube/playlist-items
Get videos from a playlistGET /misc/youtube/playlist-items
Remove a video from a playlistDELETE /misc/youtube/playlist-items/{playlistItemId}
Edit YouTube video metadataPATCH /misc/youtube/video
Delete a YouTube videoDELETE /misc/youtube/video
Edit YouTube commentPATCH /misc/youtube/comment
Delete a YouTube commentDELETE /misc/youtube/comment
Get YouTube video categoriesGET /misc/youtube/video-categories
Get YouTube regionsGET /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.