Details
| Field | Value |
|---|---|
| Platform slug | youtube |
| Auth type | OAuth 2.0 (Google) |
| API | YouTube Data API v3 |
Feature support
| Feature | Supported | Notes |
|---|---|---|
| List posts | ✅ | Returns uploaded videos |
| Comments | ✅ | Scoped to a specific video |
| Reply to comment | ✅ | |
| Comment replies (thread) | ✅ | |
| Moderate comment (hide/delete) | ✅ | Hide sets moderation status; delete removes permanently |
| Like comment | - | Not supported by YouTube API |
| Private reply | - | Not applicable |
| DMs | - | Not supported by platform |
| Reviews | - | Not applicable |
| Mentions | - | Not supported via YouTube API |
| Create post | ✅ | Upload and publish videos |
| Update post | ✅ | Update title, description, tags, privacy, and other metadata |
| Delete post | ✅ |
Connecting
auth_url. After they authorize, Google redirects to your redirect_uri with ?code=...&state=.... Then call:
Publishing
Create a video post by providing a video URL and optional metadata viaplatform_data:
PlatformData fields
Pass these insideplatform_data.youtube when creating or updating a post.
| Field | Type | Default | Description |
|---|---|---|---|
category_id | string | "22" (People & Blogs) | YouTube video category ID. See YouTube category list. |
tags | string[] | none | Video tags for discoverability. |
default_language | string | none | BCP-47 language code (e.g. "en", "fr"). |
made_for_kids | bool | false | Whether the video is made for children (COPPA). |
embeddable | bool | true | Whether the video can be embedded on other sites. |
license | string | "youtube" | "youtube" for standard YouTube license, "creativeCommon" for CC BY. |
public_stats_viewable | bool | true | Whether view counts and likes are publicly visible. |
publish_at | string | none | RFC 3339 timestamp for scheduled publish (e.g. "2026-04-10T15:00:00Z"). Only applies when visibility is "private". |
recording_date | string | none | Date the video was recorded, in YYYY-MM-DD format. |
contains_synthetic_media | bool | false | Whether the video contains AI-generated or synthetic content. |
notify_subscribers | bool | true | Whether to send a notification to channel subscribers. |
playlist_id | string | none | YouTube playlist ID. The video is added to this playlist after publishing. |
Sample: List comments on a video
Notes
- No DMs or mentions. YouTube does not expose a messaging or mention API. These endpoints return
501. - No webhook handler. YouTube does not push real-time events. Posts and comments are fetched on demand.
- Comment moderation. Hide sets the comment’s moderation status (held for review). Delete removes it permanently. Like is not supported.
- Token refresh. Google OAuth tokens expire. SocialAPI handles refresh automatically. If you receive
401withcode: "invalid_token", reconnect the account. - Required scopes. Your Google Cloud project must enable the YouTube Data API v3 and request the appropriate OAuth scopes.