Instagram Reel Uploader avatar

Instagram Reel Uploader

Pricing

Pay per event

Go to Apify Store
Instagram Reel Uploader

Instagram Reel Uploader

Upload a Reel to your own Instagram account from a URL, with a caption and hashtags. You bring your own exported session cookies (Cookie-Editor), so your login stays yours and nothing is shared. For creators automating their own Reels posting.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

Share

Posts a Reel to your own Instagram account from a URL. You give it the video, a caption, and your own exported session cookies, and it drives a headless browser through Instagram's web composer to publish the Reel. It's built to be the publish step of a faceless-content or scheduling pipeline.

How it works

It downloads your video, launches a headless Chromium routed through your proxy, loads your exported Instagram cookies into the session, opens the Create composer on instagram.com, sets the file, advances through the crop and edit steps, writes the caption, and shares. There is no shared login. You bring your own session each run, exported from a browser where you're already signed in.

Try it with no login (demo / sample mode)

Run it with no cookies (or set demoMode: true) and it returns one clearly-labeled sample row and uploads nothing — a try-before-you-export preview. The sample row carries _demo: true and a _notice explaining that no credentials were supplied. To post for real, supply your own session (below).

Input

FieldRequiredNotes
videoUrlfor real postsPublic https direct URL to the .mp4 to post as a Reel. You host it. Max 600 MB.
cookiesfor real postsYour own Instagram session, exported as Cookie-Editor JSON from a browser where you're logged in. Must include sessionid and ds_user_id. Stored as a secret.
captionnoThe Reel caption. Put your #hashtags here.
proxyConfigurationnoA residential proxy in your country is recommended; Instagram is suspicious of datacenter IPs.
demoModenoReturn a labeled sample row without uploading. Auto-enabled when no cookies are given.

How to export your Instagram cookies

  1. Log in to instagram.com in Chrome/Edge.
  2. Install the Cookie-Editor extension and open it on the Instagram tab.
  3. Click Export → Export as JSON (this copies a cookies array including sessionid and ds_user_id).
  4. Paste that JSON into the cookies field. It is automating your own logged-in session — nothing is shared.

Output

One dataset record.

  • Demo run: { _demo: true, _notice, ok: true, demo: true, reelUrl: ".../reel/SAMPLE/", ... } — nothing uploaded.
  • Real success: { ok: true, platform, caption, posted: true, confirmed: true, reelUrl, finalUrl }confirmed is only true after Instagram's "has been shared" toast is actually seen, and reelUrl is the real permalink when it can be read.
  • Failure: { ok: false, error } with a customer-actionable message, plus a debug screenshot + page HTML saved in the run's key-value store and named in the error.

Method & reliability

This is a best-effort browser-automation method: it drives Instagram's real web "Create" composer (there is no official Reels upload API). It selects Reel where offered, advances through the crop/cover/edit steps with explicit waits and resilient role/text selectors, verifies the file registered and the caption took, and only reports success after the share confirmation. Because it depends on Instagram's live UI, a layout change on their side can break a step — in which case you get a clear "layout may have changed; this actor needs an update" error and a screenshot, not a silent wrong result.

Example

{
"videoUrl": "https://cdn.example.com/reel.mp4",
"caption": "behind the scenes #reels",
"cookies": "[{\"name\":\"sessionid\",\"value\":\"...\",\"domain\":\".instagram.com\",\"path\":\"/\"}]"
}

Pricing

$0.10 per successful upload. Failed runs are free. You supply your own cookies and proxy.

Notes

This automates your logged-in Instagram session, which Meta's terms discourage, so run it on your own account at your own discretion. Automating a session from a new device/IP is a pattern Instagram may flag with a temporary action-block or checkpoint — a residential proxy in your own country reduces (but does not eliminate) this. Cookies expire, so re-export them when you see a "not logged in" error. Because it drives Instagram's actual web UI, a layout change on their side can break a selector and need an update — failures are surfaced clearly with a saved screenshot, never as a silent success.