Schedule YouTube Video Uploads to Auto-Publish
Queue a video today and have YouTube flip it public at a set date and time. Control the title, tags, category, and exact publishAt moment.
Run this use case nowRun on Apify →
How it works
- 1Open it on Apify
Hit Run on Apify — it opens the tool in the cloud, no install.
- 2Set the inputs
Adjust
method,demoMode,videoUrl(sensible defaults are pre-filled). - 3Click Run
The tool runs on Apify’s cloud and collects the data for you.
- 4Export the results
Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.
Inputs
| Field | What it does | Type |
|---|---|---|
method | api = official Data API with OAuth (default, reliable; needs clientId/secret/refreshToken). browser = automate YouTube Studio with exported login cookies (works locally; cloud runs face Google's session anti-fraud). | string |
demoMode | Return one clearly-labeled SAMPLE row instead of uploading — a free preview of the output shape, no credentials needed. The Actor also falls back to this automatically when no credentials are supplied. Uncheck (and add credentials) to upload for real. | boolean |
videoUrl | Public direct URL to the video file to upload (.mp4/.mov). You host it (S3/CDN/Apify KV). | string |
title | YouTube title (max 100 chars). | string |
description | Video description (hashtags appended automatically). | string |
tags | Up to 30 video tags (used by the API method). | array |
hashtags | Hashtags appended to the end of the description (e.g. shorts, reddit). | array |
privacyStatus | public, unlisted, or private. | string |
cookies | Your exported YouTube login session: a cookies array OR a Playwright storageState ({cookies,origins}) as JSON. Export with a 'Cookie-Editor'/'Get cookies.txt' extension (for .youtube.com AND .google.com), or `npx playwright codegen --save-storage`. Kept secret. | string |
channelId | Target channel ID (UC...) if your account has multiple channels. | string |
thumbnailUrl | Optional public URL to a thumbnail image. | string |
madeForKids | Declare the video as made for kids (COPPA). | boolean |
publishAt | ISO datetime to auto-publish (API method + privacy=private). | string |
categoryId | YouTube category ID. 22 = People & Blogs, 24 = Entertainment, 23 = Comedy, 27 = Education. | string |
clientId | Only for method=api. From Google Cloud Console. | string |
clientSecret | Only for method=api. | string |
refreshToken | Only for method=api. Refresh token with the youtube.upload scope. | string |
What you get
A structured dataset — each result includes fields like:
_demo_noticemethodprivacyStatusscheduledForstudioUrlthumbnailSettitleuploadSecondsvideoIdvisibilitywatchUrlExport every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.
More use cases for YouTube Video Uploader
Auto-Post a Vertical Clip as a YouTube Short
Got a vertical clip? Push it live as a public YouTube Short with the #shorts tag and topic hashtags, plus a title, tags, and category.