Skip to main content

YouTube API Guide

Upload and schedule YouTube videos with titles, descriptions, tags, privacy settings, and category assignments. PostEverywhere handles the multi-step YouTube upload process and metadata configuration through a single API call. For a general overview of all supported platforms, see the Introduction.

Supported Content Types

Content TypeMedia RequiredDescription
VideoVideo (MP4)Standard YouTube video. A title is required.
ShortVideo (MP4)Vertical video (9:16) under 60 seconds is automatically treated as a Short by YouTube.

YouTube is a video-only platform. Every post must include a video attachment.

Platform-Specific Settings

Use the platform_content.youtube object to set video metadata:

{
"platform_content": {
"youtube": {
"content": "Full video description with links and chapters",
"settings": {
"title": "My Video Title (required)",
"privacyStatus": "public",
"tags": ["tag1", "tag2", "tag3"],
"categoryId": "22",
"madeForKids": false
}
}
}
}

Settings Reference

SettingTypeDefaultDescription
contentstringVideo description. Supports links, chapters, and multi-line text.
settings.titlestringRequiredVideo title. Max 100 characters.
settings.privacyStatusstring"public"Visibility setting. See values below.
settings.tagsstring[][]Tags for search discovery. YouTube allows up to 500 characters total across all tags.
settings.categoryIdstring"22"YouTube category ID. See common categories below.
settings.madeForKidsbooleanfalseWhether the video is made for children. Affects comments and personalized ads.

Privacy Statuses

ValueDescription
publicVisible to everyone. Appears in search results and subscriptions.
unlistedOnly accessible via direct link. Does not appear in search or on your channel.
privateOnly visible to you and users you explicitly share with.

Common Category IDs

IDCategory
1Film & Animation
2Autos & Vehicles
10Music
15Pets & Animals
17Sports
20Gaming
22People & Blogs
23Comedy
24Entertainment
25News & Politics
26Howto & Style
27Education
28Science & Technology

Example: Create a Post

Schedule a YouTube Video

curl -X POST https://app.posteverywhere.ai/api/v1/posts \
-H "Authorization: Bearer $POSTEVERYWHERE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "Default description for other platforms",
"account_ids": [2290],
"media_ids": ["e5f6a7b8-c9d0-1234-ef01-345678901234"],
"scheduled_at": "2026-04-15T16:00:00Z",
"timezone": "Europe/London",
"platform_content": {
"youtube": {
"content": "In this video, I walk through the complete setup process.\n\n0:00 Intro\n0:30 Installation\n2:15 Configuration\n4:00 First Run\n\nLinks:\nhttps://example.com/docs",
"settings": {
"title": "Complete Setup Guide - Step by Step Tutorial",
"privacyStatus": "public",
"tags": ["tutorial", "setup guide", "getting started", "walkthrough"],
"categoryId": "28",
"madeForKids": false
}
}
}
}'

Schedule an Unlisted Video for Review

curl -X POST https://app.posteverywhere.ai/api/v1/posts \
-H "Authorization: Bearer $POSTEVERYWHERE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "Review draft",
"account_ids": [2290],
"media_ids": ["f6a7b8c9-d0e1-2345-f012-456789012345"],
"platform_content": {
"youtube": {
"content": "Draft video for team review — do not share publicly.",
"settings": {
"title": "Q2 Product Update (DRAFT)",
"privacyStatus": "unlisted",
"madeForKids": false
}
}
}
}'

Requirements & Limits

RequirementLimit
Title length100 characters
Description length5,000 characters
Tags total length500 characters
Video formatMP4 (H.264)
Video max file size500 MB
Video durationUp to 12 hours (standard uploads)
Shorts durationUp to 60 seconds
Recommended video resolution1080p (1920x1080) or higher
Recommended Shorts ratio9:16 (1080x1920)
ThumbnailAuto-generated by YouTube from video frames

Tips

  • Always provide a title. It is the only required setting for YouTube. Without it, the post will fail to publish. Keep titles under 70 characters for best search result display.
  • Use content for rich descriptions with chapters. YouTube parses timestamps in the format 0:00 Label as video chapters. Structure your description with chapter markers to improve viewer retention and search ranking.
  • Schedule as unlisted first for team review. Upload with "privacyStatus": "unlisted" to let your team review the video on YouTube before making it public. Update the privacy setting directly on YouTube when ready.

Frequently Asked Questions

How do I schedule a YouTube Short via the API?

Upload a vertical video (9:16 aspect ratio) under 60 seconds using the Upload Media endpoint, then create a post normally. YouTube automatically classifies vertical videos under 60 seconds as Shorts -- no special setting is needed.

Is the video title required for YouTube posts?

Yes. The settings.title field is mandatory for YouTube. Posts without a title will fail to publish. Keep titles under 70 characters for optimal display in search results, though the maximum is 100 characters.

Can I set the YouTube video category via the API?

Yes. Use the settings.categoryId field with one of YouTube's standard category IDs. For example, "28" is Science & Technology and "22" is People & Blogs (the default). See the full list of category IDs in the Settings Reference above.

How do I add chapters to my YouTube video description?

Include timestamps in the content field using the format 0:00 Label. YouTube parses these as video chapters. The first timestamp must be 0:00. For example: "0:00 Intro\n0:30 Setup\n2:15 Demo".

  • TikTok -- short-form vertical video, similar to YouTube Shorts
  • Instagram -- Instagram Reels for short-form vertical video
  • LinkedIn -- professional video content with native video support

Further Reading