The API reference moved here from eksis.io/developers.

YouTube

YouTube publishes video and short. Every post needs media, so there are no text-only posts. Media accepted: video. Comments can be read, and you can reply, hide and delete them. Direct messages are not available. Post metrics are available. A first comment can be posted right after publishing. eksis publishes at most 10 posts per account per rolling 24 hours.

Post types

TypeAPI valueWhat it publishesMedia itemsAccepts
VideovideoOne video upload.1Video
ShortshortA short vertical video, published as a Short.1Video

Media requirements

Video (video)

  • Video: up to 256 GB, 1 s to 12 h long, aspect ratio 1:4 to 4:1.

Short (short)

  • Video: up to 256 GB, 1 s to 3 min long, aspect ratio 2:5 to 1:1.

Text limits

FieldLimitUnitNote
settings.title100charactersThe characters < and > are not allowed.
settings.tags500charactersAll tags together. Each tag is at most 30 characters.
firstComment2,200characters

Settings

Options for YouTube go in targets[].settings of create and update post requests.

eksis optionFieldTypeValuesRequiredApplies to
Title: Video title. Required before the video can be scheduled or published.settings.titlestringYesAll types
Privacy: Who can watch the video.settings.privacystringpublic, unlisted, privateNoAll types
Category: YouTube category id.settings.categoryIdstring22, 24, 27, 28, 20, 10, 26, 23, 17, 19, 25, 15, 2, 1, 29NoAll types
Tags: Search tags.settings.tagsarray of stringNoAll types
Made for kids: Whether the video is made for children. YouTube requires an answer; null means not answered yet.settings.madeForKidsboolean or nullYesAll types
Notify subscribers when it goes live: Tell subscribers when the video goes live. Public videos only.settings.notifySubscribersbooleanNoAll types
Altered content: Disclose realistic altered or synthetic content: a real person shown saying or doing something they did not, altered footage of a real event or place, or a realistic scene that never happened.settings.containsSyntheticMediabooleanNoAll types
Video language: Language spoken in the video. null leaves it to YouTube.settings.defaultAudioLanguageNoAll types
Title language: Language of the title and description. null leaves it to YouTube.settings.defaultLanguageNoAll types
Thumbnail: Media library id of a JPEG or PNG image, at least 640 px wide, set as the thumbnail after the video publishes. null lets YouTube pick a frame.settings.thumbnailMediaIdNoAll types

A value of the wrong type, or outside the allowed values, is refused with 422 and the code validation.failed, drafts included. An unknown key is dropped and reported in data.warnings.

Example target
{
  "channelId": "CHANNEL_ID",
  "contentType": "video",
  "settings": {
    "title": "How we plan a week of posts",
    "privacy": "public",
    "categoryId": "22",
    "tags": [
      "social media"
    ],
    "madeForKids": false
  }
}

Comments and messages

  • First comment: supported.
  • Comments: read, reply, hide and delete.
  • New comments reach eksis: checked every 10 minutes.
  • Private reply to a comment: not supported.
  • Direct messages: not available. YouTube has no direct message API.

Analytics

  • Post metrics: reach, impressions, likes, dislikes, comments, shares, saves.
  • Audience: follower count is tracked.

Daily limit

eksis publishes up to 10 posts per YouTube channel a day. YouTube itself allows 100 posts per account a day. A post over the limit is postponed, not failed.

Good to know

  • The caption becomes the video description.
  • A Short is at most 3 minutes and not wider than it is tall. eksis adds #Shorts to the description.
  • Uploads share one daily YouTube API quota across eksis. When it runs out, uploads wait for the next day.
  • notifySubscribers is only sent for public videos.

Webhook events

Events a YouTube channel can send to your webhook endpoints:

Rules verified on September 5, 2026.

On this page