Automatically cross-post your YouTube Shorts to Instagram Reels using Make.com — zero manual effort after setup.
Every time you upload a YouTube Short, this automation:
- Detects the new video on your YouTube channel
- Filters it (only Shorts under 61 seconds pass through)
- Fetches the direct MP4 download URL via RapidAPI
- Posts it to your Instagram account as a Reel — with the same title as the caption
All of this happens automatically every 4 hours. No manual work needed.
YouTube (Watch Channel)
↓
[Filter: duration < 61s]
↓
HTTP Request (YT-API on RapidAPI → get MP4 URL)
↓
Instagram for Business (Create Reel Post)
Click the link below to open the shared scenario directly in Make.com:
You'll need to connect three things inside Make.com:
| Connection | What it's for |
|---|---|
| YouTube (Google OAuth) | Watch your channel for new videos |
| Instagram for Business (Facebook login) | Post Reels to your Instagram page |
| RapidAPI Key | Fetch the direct MP4 URL of the Short |
- Go to rapidapi.com and sign up (free)
- Search for "YT-API" by ytjar
- Subscribe to the free plan
- Copy your API key from the dashboard
Inside the imported scenario, open the HTTP module and set the headers:
| Header Name | Header Value |
|---|---|
x-rapidapi-host |
yt-api.p.rapidapi.com |
x-rapidapi-key |
YOUR_RAPIDAPI_KEY_HERE |
In the YouTube module, replace the Channel ID with your own. You can find it by:
- Going to your YouTube channel
- Clicking "More" → "About" → "Share channel" → "Copy channel ID"
In the Instagram module, select your Instagram Business page from the dropdown.
Hit the toggle at the bottom of Make.com to activate the scenario. It will run every 4 hours automatically.
- Polls your channel every 24 hours
- Picks up the latest video (limit: 1)
- Condition:
duration < 61(number) - Ensures only Shorts (≤60 seconds) pass through
- Long videos are automatically skipped
- URL:
https://yt-api.p.rapidapi.com/dl?id={{videoId}} - Method: GET
- Parse Response: Yes
- Returns the direct MP4 URL of the Short
- Video URL:
{{3.data.formats[].url}}(from HTTP response) - Caption:
{{1.title}}(same as YouTube title) - Share to Feed: Yes
- A Make.com account (free tier works)
- A YouTube channel with a Google account
- An Instagram Business or Creator account (personal accounts won't work)
- A Facebook Page connected to your Instagram account
- A RapidAPI account (free tier — 300 requests/month)
YouTube module runs but nothing passes to HTTP → The latest video on your channel is longer than 61 seconds. The filter is working correctly — it will pass through when you upload a Short.
HTTP module returns 403
→ You passed a full YouTube URL instead of just the video ID. Make sure the YouTube module's videoId field is mapped correctly (not the full URL).
Instagram module fails → Make sure your Instagram account is a Business/Creator account and is connected to a Facebook Page.
Nothing runs at all → Check that the scenario is turned ON (toggle at the bottom of Make.com). Also check "Where to start" on the YouTube module is set to "From now on" or "All".
- Make.com — automation platform
- YouTube Data API (via Make.com native module)
- YT-API on RapidAPI — fetches direct MP4 download URLs
- Instagram Graph API (via Make.com Instagram for Business module)
MIT License — free to use, modify, and share.
If this saved you time, drop a ⭐ on the repo — it helps others find it!