# Instagram Video Downloader: Reels & Carousels (`deepmine/instagram-video-downloader`) Actor

Instagram video downloader: paste reel, post or carousel links and get every file's download link: the MP4 with sound, each quality track and its size, the sound alone, every carousel slide, cover pictures, caption, author, likes, plays and comments. No login.

- **URL**: https://apify.com/deepmine/instagram-video-downloader.md
- **Developed by:** [DeepMine](https://apify.com/deepmine) (community)
- **Categories:** Social media, Videos
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.29 / 1,000 posts

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Instagram Video Downloader: Reels & Carousels

Instagram video downloader for public reels, posts and carousels: paste their links and get one row per post with the download link of every file it has: the MP4 with sound, Instagram's quality tracks with their sizes, the sound on its own, every carousel slide (videos and pictures) and the cover pictures. Each row also has the caption, author, likes, comments, plays and views. It never logs in.

| 🏷️ Username | 🎞️ Type | 🧮 Files | 🎬 Videos | ⏱️ Seconds | ❤️ Likes | 📅 Posted |
|---|---|---|---|---|---|---|
| nasa | Video | 1 | 1 | 44 | 710,234 | 2026-10-10 |
| nasajpl | Sidecar | 7 | 2 | – | 106,534 | 2026-10-12 |
| nasawebb | Image | 1 | 0 | – | 269,036 | 2026-10-06 |

<sub>Collected 2026-10-19.</sub>

**$1.89 per 1,000 posts** on the Starter plan ($2.19 Free, $1.59 Scale, $1.29 Business), every carousel slide included. The prefilled run (48 posts) costs about $0.091 ($0.105 on Free). No start fee, no extra charge per file, comment, play count or view count.

### What it does

- **Every file of a post**: a reel's MP4 (with sound), each picture at full size, and every slide of a carousel in order, videos and pictures mixed. `downloadUrls` lists them all in one column; `media` has each file's type, size in pixels, file name, cover and thumbnail.
- **Quality tracks and the sound alone**: for each video, Instagram's own quality tracks (`qualities`, best first, each with its byte size, bitrate and codec; they are video-only) and its sound track (`audioUrl`, `audioBytes`).
- **When the links expire**: Instagram signs its file links for a few days. `mediaUrlsExpireAt` (and each file's `urlExpiresAt`) says when; download the files before then, or run again for fresh links.
- **Post details with the files**: caption, hashtags, author, date, likes, comments count and the latest comments, reel plays and video views (Detailed data, the default), music, tagged users, location.
- **Links or codes, other downloaders' inputs too**: `/reel/`, `/p/` and `/tv/` links, links with tracking parameters, or bare codes (`DLNsnpUTdVS`). Inputs saved for other downloaders (`links`, `instagram_urls`, `posts`, `startUrls`, `urls`) run here as they are.
- **Every post once**: a post you list twice (a link and its code) is delivered and charged once per run. A link that doesn't work, or a profile instead of a post, is listed in the run summary and not charged.

This Actor gives Instagram's own file links; it doesn't copy the files into Apify storage. Links stay valid for a few days.

### How to use it

1. Paste reel, post or carousel links into 🔗 **Instagram reel or post links**, one per line.
2. Optional: 🔍 **Detail level** (Basic is faster: no comments, alt text, plays or views).
3. Press Start. Rows land as each post is read; download them as CSV, Excel or JSON, or call the Actor from the API.

Example input:

```json
{
  "postUrls": [
    "https://www.instagram.com/reel/DLNsnpUTdVS/",
    "https://www.instagram.com/p/DeaMlUSEpgs/",
    "DdcI8NLmY21"
  ],
  "dataDetailLevel": "detailedData"
}
```

### Output

Each row is one post. The Console shows three views: ⬇️ Downloads (cover, author, files, the video and every download link, expiry), 📈 Stats (files, videos, pictures, likes, comments, plays, views, length) and 🎬 Media (video, sound, size, length, artist and song, alt text). The rows keep the nested fields (`media`, `childPosts`, `latestComments`, `musicInfo`) next to the flat columns. The run summary (OUTPUT) lists every input with its status, and counts the files delivered.

#### Output fields

- `inputUrl`: The profile or post URL from your list this post came from (a username becomes https://www.instagram.com/<username>).
- `id`: Instagram's id for the post (its media id).
- `type`: Image, Video or Sidecar (a carousel).
- `shortCode`: The post's code in its URL (instagram.com/p/<code>/).
- `caption`: The post's caption text.
- `hashtags`: Hashtags in the caption, without #.
- `mentions`: @usernames in the caption, without @.
- `url`: The post's URL.
- `downloadUrls`: Every file's download link in slide order: the MP4 (with sound) for a video, the full-size picture for a photo. Instagram's links expire (mediaUrlsExpireAt): download them soon or run again for fresh ones.
- `mediaCount`: How many files the post has (a carousel's slides, else 1).
- `videoCount`: How many of them are videos.
- `imageCount`: How many of them are pictures.
- `mediaUrlsExpireAt`: When the first of the post's download links stops working (UTC; Instagram signs them for a few days).
- `media`: Every file, in slide order: index, type (Video/Image), id, shortCode, url, width, height, fileName, urlExpiresAt; a picture's thumbnailUrl; a video's coverUrl, durationSeconds, hasAudio, audioUrl and audioBytes (the sound alone) and qualities (Instagram's video-only quality tracks, best first, each with url, width, height, bitrate, bytes and codec).
- `commentsCount`: Comments on the post.
- `firstComment`: The text of the first of latestComments (Detailed data).
- `latestComments`: Detailed data: the comments Instagram shows on the post's page to visitors who aren't logged in (usually 10-15, newest first), each with id, text, ownerUsername, ownerProfilePicUrl, timestamp, repliesCount, likesCount and owner. Each also has media: a GIF comment's GIF URL (null for text).
- `dimensionsHeight`: The picture's or video's height in pixels.
- `dimensionsWidth`: The picture's or video's width in pixels.
- `originalHeight`: The height of the media as uploaded.
- `originalWidth`: The width of the media as uploaded.
- `displayUrl`: The post's picture (a video's cover), largest size.
- `images`: A carousel's pictures, in order.
- `alt`: Detailed data: the post's alt text (Instagram's own description of the picture, or the one its author wrote).
- `likesCount`: Likes on the post (null when its author hides the count).
- `videoViewCount`: Detailed data: a video's views, Instagram's view counter (lower than plays; the same number as apify's videoViewCount), from the video's embed page. A carousel's videos have theirs in childPosts. Null for pictures and in Basic data.
- `timestamp`: When the post went up (UTC, ISO 8601).
- `childPosts`: A carousel's items, each with its own id, type, picture, video URL, size, alt text, tagged users and tag positions (taggedUserPositions).
- `ownerFullName`: The author's display name.
- `ownerUsername`: The author's username.
- `ownerId`: The author's Instagram user id.
- `productType`: feed (a picture), carousel_container (a carousel), clips (a reel) or igtv.
- `isCommentsDisabled`: Comments are turned off; false when Instagram showed the post's comments (Detailed data), else null.
- `paidPartnership`: Marked as a paid partnership.
- `sponsors`: The brands of a paid partnership, each with id and username.
- `videoUrl`: The video file's URL (it expires after a few days).
- `taggedUsers`: Accounts tagged in the picture, each with full_name, id, is_verified, profile_pic_url and username.
- `coauthorProducers`: Collab coauthors, each with id, is_verified, profile_pic_url and username.
- `audioUrl`: A video's separate audio track (its DASH audio stream).
- `videoDuration`: A video's length in seconds.
- `musicInfo`: The post's sound: artist_name, song_name, uses_original_audio, should_mute_audio, should_mute_audio_reason, audio_id.
- `videoPlayCount`: Detailed data: a reel's plays, from its author's reels tab (for a profile, read back as far as the posts go, and for its pinned reels back to their date; for a reel URL, paged until the reel; at most 15 pages for a pinned reel or a URL). Null for videos that aren't reels.
- `isPinned`: Pinned to the top of the author's grid.
- `captionSnippet`: The caption's first 50 characters (… when cut), for the table views.
- `firstCommentSnippet`: firstComment's first 50 characters (… when cut), for the table views.
- `taggedUsernames`: The usernames of taggedUsers, as a flat list.
- `sponsorUsernames`: The usernames of sponsors (a paid partnership's brands), as a flat list.
- `musicArtist`: musicInfo's artist_name: the sound's artist (the author's username for original audio).
- `musicSong`: musicInfo's song_name: the sound's title ("Original audio" for the author's own).
- `coauthors`: The coauthors' usernames.
- `invitedCoauthors`: The usernames of invitedCoauthorProducers, as a flat list.
- `invitedCoauthorProducers`: Accounts invited to the collab that haven't accepted (yet), each with id, is_verified, profile_pic_url and username.
- `childPostsCount`: How many items a carousel has.
- `locationName`: The tagged location's name.
- `locationId`: The tagged location's Instagram id.
- `location`: The tagged place, every field Instagram sends: id, name, slug, lat, lng, address, city, zipCode, shortName, facebookPlacesId (null where Instagram leaves one out; a profile's grid sends id, name, lat and lng).
- `taggedUserPositions`: Every user tag with where it sits on the picture: username, id, x and y (0-1 from the top left). A user tagged twice comes twice; carousel items (childPosts) have their own.
- `ownerIsVerified`: The author has the verified badge.
- `ownerProfilePicUrl`: The author's profile picture.
- `likesHidden`: The author hides the like count.
- `sourceType`: profile (from a profile's grid) or post (a post URL you gave).
- `scrapedAt`: When the run read the post (UTC).

#### Example row

A real carousel row (trimmed: one comment with its author anonymized, two of its slides, two quality tracks):

```json
{
  "inputUrl": "https://www.instagram.com/p/DeaMlUSEpgs/",
  "id": "4006570159456294956",
  "type": "Sidecar",
  "shortCode": "DeaMlUSEpgs",
  "caption": "Perseverance has set a new off-world distance record, surpassing the Opportunity rover, which held the record for the la",
  "hashtags": null,
  "mentions": null,
  "url": "https://www.instagram.com/p/DeaMlUSEpgs/",
  "downloadUrls": [
    "https://scontent-dfw5-1.cdninstagram.com/v/t51.82787-15/846467307_18634556143010391_8334983215652749427_n.jpg?stp=dst-jpg_e35_tt6&_nc_cat=105&ig_cache_key=NDAwNjU2OTA0MTcxMTQ2OTU5NA%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkNBUk9VU0VMX0lURU0ueHBpZHMuMTA4MC5zZHIucmVndWxhcl9waG90by5DMyJ9&_nc_ohc=OX2D6te0l7wQ7kNvwGqFXaF&_nc_oc=AdrekLodIW0xFoi9R2x5mzyadpVl_SaBP_obNDAGQtUSY6rXmRLYFHTuYM_FqKKPFeU&_nc_ad=z-m&_nc_cid=0&_nc_zt=23&_nc_ht=scontent-dfw5-1.cdninstagram.com&_nc_gid=y2xcA_CfJwvOZHvLv5Pdyw&_nc_ss=7a22e&oh=00_AQPBfnnH-GqUVDqHZ1VGWpqAbj7UucXFAZ3bovTGt0WIxg&oe=6ADC1512",
    "https://scontent-dfw6-2.cdninstagram.com/v/t51.82787-15/847551323_18634556125010391_1940005565734726108_n.jpg?stp=dst-jpg_e35_tt6&_nc_cat=110&ig_cache_key=NDAwNjU2OTA0MjIwNjQ0NjQ2Nw%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkNBUk9VU0VMX0lURU0ueHBpZHMuMTA4MC5zZHIucmVndWxhcl9waG90by5DMyJ9&_nc_ohc=eXd4ieE3pSgQ7kNvwE_Rv-b&_nc_oc=AdrVx9dz3ZduL6lgLOKbpl0KE1bSCI7Mz2OqhGw8gyOJfET7CQ0t_VwkFsIyz222Qlw&_nc_ad=z-m&_nc_cid=0&_nc_zt=23&_nc_ht=scontent-dfw6-2.cdninstagram.com&_nc_gid=y2xcA_CfJwvOZHvLv5Pdyw&_nc_ss=7a22e&oh=00_AQM5A4gms9fn74JfxJpfQsJnXIX0UnvD_I3G6TIxwrpuwg&oe=6ADC26D3"
  ],
  "mediaCount": 7,
  "videoCount": 2,
  "imageCount": 5,
  "mediaUrlsExpireAt": "2026-10-20T23:50:33Z",
  "media": [
    {
      "index": 1,
      "type": "Image",
      "id": "4006569041711469594",
      "shortCode": "DeaMVDTShQa",
      "url": "https://scontent-dfw5-1.cdninstagram.com/v/t51.82787-15/846467307_18634556143010391_8334983215652749427_n.jpg?stp=dst-jpg_e35_tt6&_nc_cat=105&ig_cache_key=NDAwNjU2OTA0MTcxMTQ2OTU5NA%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkNBUk9VU0VMX0lURU0ueHBpZHMuMTA4MC5zZHIucmVndWxhcl9waG90by5DMyJ9&_nc_ohc=OX2D6te0l7wQ7kNvwGqFXaF&_nc_oc=AdrekLodIW0xFoi9R2x5mzyadpVl_SaBP_obNDAGQtUSY6rXmRLYFHTuYM_FqKKPFeU&_nc_ad=z-m&_nc_cid=0&_nc_zt=23&_nc_ht=scontent-dfw5-1.cdninstagram.com&_nc_gid=y2xcA_CfJwvOZHvLv5Pdyw&_nc_ss=7a22e&oh=00_AQPBfnnH-GqUVDqHZ1VGWpqAbj7UucXFAZ3bovTGt0WIxg&oe=6ADC1512",
      "width": 1080,
      "height": 1350,
      "fileName": "DeaMlUSEpgs_1.jpg",
      "urlExpiresAt": "2026-10-24T02:16:50Z",
      "thumbnailUrl": "https://scontent-dfw5-1.cdninstagram.com/v/t51.82787-15/846467307_18634556143010391_8334983215652749427_n.jpg?stp=dst-jpg_e35_p320x320_sh2.08_tt6&_nc_cat=105&ig_cache_key=NDAwNjU2OTA0MTcxMTQ2OTU5NA%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkNBUk9VU0VMX0lURU0ueHBpZHMuMTA4MC5zZHIucmVndWxhcl9waG90by5DMyJ9&_nc_ohc=OX2D6te0l7wQ7kNvwGqFXaF&_nc_oc=AdrekLodIW0xFoi9R2x5mzyadpVl_SaBP_obNDAGQtUSY6rXmRLYFHTuYM_FqKKPFeU&_nc_ad=z-m&_nc_cid=0&_nc_zt=23&_nc_ht=scontent-dfw5-1.cdninstagram.com&_nc_gid=y2xcA_CfJwvOZHvLv5Pdyw&_nc_ss=7a22e&oh=00_AQOKlvESrmu_uSJDEjBaHCr8zrJE0MNc6zjop3fVcNHjug&oe=6ADC1512"
    },
    {
      "index": 3,
      "type": "Video",
      "id": "4006569099236895288",
      "shortCode": "DeaMV44Emo4",
      "url": "https://scontent-dfw6-1.cdninstagram.com/o1/v/t16/f2/m84/AQNjK-rw5gw9Vvtke-fwUE4PMVoEEhXahKe0Wu9vZWcOysWucIh8KBLfiuofbN-CftfLHCrySbx2dxIFw4I2dFx9AyVCx1PmoubrqV0.mp4?_nc_cat=103&_nc_sid=5e9851&_nc_ht=scontent-dfw6-1.cdninstagram.com&_nc_ohc=yaRFTG2RwI0Q7kNvwE-voQz&efg=eyJ2ZW5jb2RlX3RhZyI6Inhwdl9wcm9ncmVzc2l2ZS5JTlNUQUdSQU0uQ0FST1VTRUxfSVRFTS5DMy43MjAuZGFzaF9iYXNlbGluZV8xX3YxIiwieHB2X2Fzc2V0X2lkIjoxODYzNDU1NjI0MjAxMDM5MSwiYXNzZXRfYWdlX2RheXMiOjYsInZpX3VzZWNhc2VfaWQiOjEwMTQ2LCJkdXJhdGlvbl9zIjozOSwidXJsZ2VuX3NvdXJjZSI6Ind3dyJ9&ccb=17-1&vs=cfe2f59e0d00b70b&_nc_vs=HBksFQIYTGlnX2JhY2tmaWxsX3RpbWVsaW5lX3ZvZC84MEY4MjE3RUEzREE0NTFBOThDREUyNjg1RkNFMTgxRl92aWRlb19kYXNoaW5pdC5tcDQVAALIARIAFQIYUWlnX3hwdl9wbGFjZW1lbnRfcGVybWFuZW50X3YyLzkzN0QyRjRGNEVERTQ5NjA4RDE5RDM1N0MxMzMwQjA0X2F1ZGlvX2Rhc2hpbml0Lm1wNBUCAsgBEgAoABgAGwKIB3VzZV9vaWwBMRJwcm9ncmVzc2l2ZV9yZWNpcGUBMRUAACauhNGV94GaQhUCKAJDMywXQEORBiTdLxsYEmRhc2hfYmFzZWxpbmVfMV92MREAde4HZcSeAQA&_nc_gid=y2xcA_CfJwvOZHvLv5Pdyw&_nc_zt=28&_nc_ss=7b689&oh=00_AQNzz5RstHh2DdW3UvsiXreuyOoYsEzk6ev7WlASeB3tOg&oe=6AD7FE49",
      "width": 720,
      "height": 900,
      "fileName": "DeaMlUSEpgs_3.mp4",
      "urlExpiresAt": "2026-10-20T23:50:33Z",
      "coverUrl": "https://scontent-dfw6-1.cdninstagram.com/v/t51.82787-15/843205748_18634556257010391_4884985866933723267_n.jpg?stp=dst-jpg_e15_tt6&_nc_cat=103&ig_cache_key=NDAwNjU2OTA5OTIzNjg5NTI4OA%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkNBUk9VU0VMX0lURU0ueHBpZHMuNzIwLnNkci52aWRlb19kZWZhdWx0X2NvdmVyX2ZyYW1lLkMzIn0%3D&_nc_ohc=3zjL0_ECacwQ7kNvwFUVbEU&_nc_oc=AdoUR_0XQJBYnyXdh2En9jLqFvVh_6_gY99mc2cE7ZqQQPFIQzECqnsSvu01v1flUSA&_nc_ad=z-m&_nc_cid=0&_nc_zt=23&_nc_ht=scontent-dfw6-1.cdninstagram.com&_nc_gid=y2xcA_CfJwvOZHvLv5Pdyw&_nc_ss=7a20f&oh=00_AQOPTGhvqDfpWNcTOZlQyYSv8tRI-2zQrtJ_rIslMXndMQ&oe=6ADC07B3",
      "durationSeconds": 39.147392,
      "hasAudio": true,
      "audioUrl": "https://scontent-dfw5-1.cdninstagram.com/o1/v/t2/f2/m78/AQMujPSHrrSJ8Hp_BxplxqHbSifSv5bBtdoSzu-0dsZx2PwdK9wixlWhp49nI8g4jqYsXPDw_n8N1zIjTgFGN5lazdAOArqu3xLkMmA.mp4?_nc_cat=111&_nc_sid=9ca052&_nc_ht=scontent-dfw5-1.cdninstagram.com&_nc_ohc=RIoW_JUu_WcQ7kNvwELlUzd&efg=eyJ2ZW5jb2RlX3RhZyI6ImlnLXhwdmRzLmNhcm91c2VsX2l0ZW0uYzItQzMuZGFzaF9sbl9oZWFhY192YnIzX2F1ZGlvIiwidmlkZW9faWQiOm51bGwsIm9pbF91cmxnZW5fYXBwX2lkIjo1NjcwNjczNDMzNTI0MjcsImNsaWVudF9uYW1lIjoiaWciLCJ4cHZfYXNzZXRfaWQiOjE4NjM0NTU2MjQyMDEwMzkxLCJhc3NldF9hZ2VfZGF5cyI6NiwidmlfdXNlY2FzZV9pZCI6MTAxNDYsImR1cmF0aW9uX3MiOjM5LCJiaXRyYXRlIjo1MzY1LCJ1cmxnZW5fc291cmNlIjoid3d3In0%3D&ccb=17-1&_nc_gid=y2xcA_CfJwvOZHvLv5Pdyw&_nc_ss=7a20f&_nc_zt=28&oh=00_AQOM5iZyVJ89ntzSPotWxM_FkRfMw4O2_nCag6YXNuOY6A&oe=6AD81650",
      "audioBytes": 26254,
      "qualities": [
        {
          "width": 1080,
          "height": 1350,
          "url": "https://scontent-dfw5-1.cdninstagram.com/o1/v/t2/f2/m367/AQM_UqCWp8GrBkpvNDJi3Tw6CRe7bYnzQmcF4YgepVDlCaawsiMRXQyk5K41N6xrx3EnL6E6hnD24FFBfoqvesnulOEgXjK1P2ebUA8.mp4?_nc_cat=111&_nc_sid=9ca052&_nc_ht=scontent-dfw5-1.cdninstagram.com&_nc_ohc=SsWIb22_DK4Q7kNvwEQUPSm&efg=eyJ2ZW5jb2RlX3RhZyI6ImlnLXhwdmRzLmNhcm91c2VsX2l0ZW0uYzItQzMuZGFzaF9yMmV2ZXZwOS1yMWdlbjJ2cDlfcTkwIiwidmlkZW9faWQiOm51bGwsIm9pbF91cmxnZW5fYXBwX2lkIjo1NjcwNjczNDMzNTI0MjcsImNsaWVudF9uYW1lIjoiaWciLCJ4cHZfYXNzZXRfaWQiOjE4NjM0NTU2MjQyMDEwMzkxLCJhc3NldF9hZ2VfZGF5cyI6NiwidmlfdXNlY2FzZV9pZCI6MTAxNDYsImR1cmF0aW9uX3MiOjM5LCJiaXRyYXRlIjoyMDYwNTU5LCJ1cmxnZW5fc291cmNlIjoid3d3In0%3D&ccb=17-1&_nc_gid=y2xcA_CfJwvOZHvLv5Pdyw&_nc_ss=7a20f&_nc_zt=28&oh=00_AQMRITlWLYpfRa-k7Ko14rqNfc3ENj7FiqUjs2_HTJkmZA&oe=6ADBF668",
          "bytes": 10079571,
          "bitrate": 2060559,
          "codec": "vp09.00.40.08.00.01.01.01.00",
          "hasAudio": false
        },
        {
          "width": 720,
          "height": 900,
          "url": "https://scontent-dfw5-2.cdninstagram.com/o1/v/t2/f2/m367/AQMWNYrfo0EPKdsNAVspkmyy-1tKdSGQAUufq6eXejeEcdG2zhs3Qlf1jcsoUEUR4_aElAIj7FwVGBJTfRyj-daWbHlVtJ_ylOCLLgc.mp4?_nc_cat=107&_nc_sid=9ca052&_nc_ht=scontent-dfw5-2.cdninstagram.com&_nc_ohc=R0bIPXbE47IQ7kNvwHfj9Pv&efg=eyJ2ZW5jb2RlX3RhZyI6ImlnLXhwdmRzLmNhcm91c2VsX2l0ZW0uYzItQzMuZGFzaF9yMmV2ZXZwOS1yMWdlbjJ2cDlfcTgwIiwidmlkZW9faWQiOm51bGwsIm9pbF91cmxnZW5fYXBwX2lkIjo1NjcwNjczNDMzNTI0MjcsImNsaWVudF9uYW1lIjoiaWciLCJ4cHZfYXNzZXRfaWQiOjE4NjM0NTU2MjQyMDEwMzkxLCJhc3NldF9hZ2VfZGF5cyI6NiwidmlfdXNlY2FzZV9pZCI6MTAxNDYsImR1cmF0aW9uX3MiOjM5LCJiaXRyYXRlIjoxNDE2ODc4LCJ1cmxnZW5fc291cmNlIjoid3d3In0%3D&ccb=17-1&_nc_gid=y2xcA_CfJwvOZHvLv5Pdyw&_nc_ss=7a20f&_nc_zt=28&oh=00_AQNdswptrrrYSj_rppzNE0z7WGiaBajsovWYRm6fSCNWAg&oe=6ADC2670",
          "bytes": 6930895,
          "bitrate": 1416878,
          "codec": "vp09.00.31.08.00.01.01.01.00",
          "hasAudio": false
        }
      ]
    }
  ],
  "commentsCount": 639,
  "firstComment": "Dont miss tramp skitt two colect",
  "latestComments": [
    {
      "id": "0",
      "text": "Dont miss tramp skitt two colect",
      "ownerUsername": "example_commenter",
      "ownerProfilePicUrl": null,
      "timestamp": "2026-10-19T15:27:07.000Z",
      "repliesCount": null,
      "replies": null,
      "likesCount": 0,
      "owner": {
        "id": null,
        "username": "example_commenter",
        "profile_pic_url": null,
        "is_verified": null,
        "full_name": null,
        "is_private": null,
        "is_mentionable": null,
        "profile_pic_id": null,
        "latest_reel_media": null,
        "fbid_v2": null
      },
      "media": null
    }
  ],
  "dimensionsHeight": 1350,
  "dimensionsWidth": 1080,
  "originalHeight": 1350,
  "originalWidth": 1080,
  "displayUrl": "https://scontent-dfw5-1.cdninstagram.com/v/t51.82787-15/846467307_18634556143010391_8334983215652749427_n.jpg?stp=dst-jpg_e35_tt6&_nc_cat=105&ig_cache_key=NDAwNjU2OTA0MTcxMTQ2OTU5NA%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkNBUk9VU0VMX0lURU0ueHBpZHMuMTA4MC5zZHIucmVndWxhcl9waG90by5DMyJ9&_nc_ohc=OX2D6te0l7wQ7kNvwGqFXaF&_nc_oc=AdrekLodIW0xFoi9R2x5mzyadpVl_SaBP_obNDAGQtUSY6rXmRLYFHTuYM_FqKKPFeU&_nc_ad=z-m&_nc_cid=0&_nc_zt=23&_nc_ht=scontent-dfw5-1.cdninstagram.com&_nc_gid=y2xcA_CfJwvOZHvLv5Pdyw&_nc_ss=7a22e&oh=00_AQPBfnnH-GqUVDqHZ1VGWpqAbj7UucXFAZ3bovTGt0WIxg&oe=6ADC1512",
  "images": [
    "https://scontent-dfw5-1.cdninstagram.com/v/t51.82787-15/846467307_18634556143010391_8334983215652749427_n.jpg?stp=dst-jpg_e35_tt6&_nc_cat=105&ig_cache_key=NDAwNjU2OTA0MTcxMTQ2OTU5NA%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkNBUk9VU0VMX0lURU0ueHBpZHMuMTA4MC5zZHIucmVndWxhcl9waG90by5DMyJ9&_nc_ohc=OX2D6te0l7wQ7kNvwGqFXaF&_nc_oc=AdrekLodIW0xFoi9R2x5mzyadpVl_SaBP_obNDAGQtUSY6rXmRLYFHTuYM_FqKKPFeU&_nc_ad=z-m&_nc_cid=0&_nc_zt=23&_nc_ht=scontent-dfw5-1.cdninstagram.com&_nc_gid=y2xcA_CfJwvOZHvLv5Pdyw&_nc_ss=7a22e&oh=00_AQPBfnnH-GqUVDqHZ1VGWpqAbj7UucXFAZ3bovTGt0WIxg&oe=6ADC1512"
  ],
  "alt": "Photo by NASA Jet Propulsion Laboratory on October 12, 2026. May be an image of text.",
  "likesCount": 106534,
  "videoViewCount": null,
  "timestamp": "2026-10-12T21:26:44.000Z",
  "childPosts": [
    {
      "id": "4006569041711469594",
      "type": "Image",
      "shortCode": "DeaMVDTShQa",
      "url": "https://www.instagram.com/p/DeaMVDTShQa/",
      "caption": null,
      "hashtags": [],
      "mentions": [],
      "likesCount": null,
      "commentsCount": null,
      "videoViewCount": null,
      "videoPlayCount": null,
      "timestamp": null,
      "displayUrl": "https://scontent-dfw5-1.cdninstagram.com/v/t51.82787-15/846467307_18634556143010391_8334983215652749427_n.jpg?stp=dst-jpg_e35_tt6&_nc_cat=105&ig_cache_key=NDAwNjU2OTA0MTcxMTQ2OTU5NA%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkNBUk9VU0VMX0lURU0ueHBpZHMuMTA4MC5zZHIucmVndWxhcl9waG90by5DMyJ9&_nc_ohc=OX2D6te0l7wQ7kNvwGqFXaF&_nc_oc=AdrekLodIW0xFoi9R2x5mzyadpVl_SaBP_obNDAGQtUSY6rXmRLYFHTuYM_FqKKPFeU&_nc_ad=z-m&_nc_cid=0&_nc_zt=23&_nc_ht=scontent-dfw5-1.cdninstagram.com&_nc_gid=y2xcA_CfJwvOZHvLv5Pdyw&_nc_ss=7a22e&oh=00_AQPBfnnH-GqUVDqHZ1VGWpqAbj7UucXFAZ3bovTGt0WIxg&oe=6ADC1512",
      "images": [],
      "videoUrl": null,
      "dimensionsWidth": 1080,
      "dimensionsHeight": 1350,
      "alt": null,
      "productType": null,
      "isPinned": false,
      "isCommentsDisabled": null,
      "paidPartnership": null,
      "sponsors": [],
      "coauthorProducers": [],
      "coauthors": [],
      "taggedUsers": [
        {
          "full_name": "NASA",
          "id": "528817151",
          "is_verified": true,
          "profile_pic_url": "https://scontent-dfw5-2.cdninstagram.com/v/t51.2885-19/29090066_159271188110124_1152068159029641216_n.jpg?stp=dst-jpg_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=scontent-dfw5-2.cdninstagram.com&_nc_cat=1&_nc_oc=Q6cZ2gFWWLR-YUFABNb21zrWgsmAntk06febQ2F_TQFx9_e5LXECZnF8bal6zXYz6GQ6pNQ&_nc_ohc=8MLMTtRYiYgQ7kNvwGerpVC&_nc_gid=y2xcA_CfJwvOZHvLv5Pdyw&edm=APs17CUBAAAA&ccb=7-5&oh=00_AQOfXT7pEu9D4_IXImiEuYPA45_GaEFLoBpPn7iUNz5NkQ&oe=6ADBF4E9&_nc_sid=10d13b",
          "username": "nasa"
        },
        {
          "full_name": "NASA Solar System Exploration",
          "id": "1611722079",
          "is_verified": true,
          "profile_pic_url": "https://scontent-dfw5-2.cdninstagram.com/v/t51.2885-19/93880139_247576663101568_4560165171292536832_n.jpg?stp=dst-jpg_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=scontent-dfw5-2.cdninstagram.com&_nc_cat=104&_nc_oc=Q6cZ2gFWWLR-YUFABNb21zrWgsmAntk06febQ2F_TQFx9_e5LXECZnF8bal6zXYz6GQ6pNQ&_nc_ohc=UzmRs-sgN7AQ7kNvwE8Em86&_nc_gid=y2xcA_CfJwvOZHvLv5Pdyw&edm=APs17CUBAAAA&ccb=7-5&oh=00_AQM4S-28TH0hnZnPA6goA4j8oNuVMTRVenXj8E6WbXfEHQ&oe=6ADC1113&_nc_sid=10d13b",
          "username": "nasasolarsystem"
        }
      ],
      "ownerUsername": "nasajpl",
      "ownerId": "582986390",
      "locationName": null,
      "locationId": null,
      "musicInfo": null,
      "childPostsCount": null,
      "childPosts": [],
      "ownerFullName": "NASA Jet Propulsion Laboratory",
      "originalWidth": 1080,
      "originalHeight": 1350
    }
  ],
  "ownerFullName": "NASA Jet Propulsion Laboratory",
  "ownerUsername": "nasajpl",
  "ownerId": "582986390",
  "productType": "carousel_container",
  "isCommentsDisabled": false,
  "paidPartnership": false,
  "sponsors": null,
  "videoUrl": null,
  "taggedUsers": [
    {
      "full_name": "NASA",
      "id": "528817151",
      "is_verified": true,
      "profile_pic_url": "https://scontent-dfw5-2.cdninstagram.com/v/t51.2885-19/29090066_159271188110124_1152068159029641216_n.jpg?stp=dst-jpg_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=scontent-dfw5-2.cdninstagram.com&_nc_cat=1&_nc_oc=Q6cZ2gFWWLR-YUFABNb21zrWgsmAntk06febQ2F_TQFx9_e5LXECZnF8bal6zXYz6GQ6pNQ&_nc_ohc=8MLMTtRYiYgQ7kNvwGerpVC&_nc_gid=y2xcA_CfJwvOZHvLv5Pdyw&edm=APs17CUBAAAA&ccb=7-5&oh=00_AQOfXT7pEu9D4_IXImiEuYPA45_GaEFLoBpPn7iUNz5NkQ&oe=6ADBF4E9&_nc_sid=10d13b",
      "username": "nasa"
    }
  ],
  "coauthorProducers": [
    {
      "id": "528817151",
      "is_verified": true,
      "profile_pic_url": "https://scontent-dfw5-2.cdninstagram.com/v/t51.2885-19/29090066_159271188110124_1152068159029641216_n.jpg?stp=dst-jpg_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=scontent-dfw5-2.cdninstagram.com&_nc_cat=1&_nc_oc=Q6cZ2gFWWLR-YUFABNb21zrWgsmAntk06febQ2F_TQFx9_e5LXECZnF8bal6zXYz6GQ6pNQ&_nc_ohc=8MLMTtRYiYgQ7kNvwGerpVC&_nc_gid=y2xcA_CfJwvOZHvLv5Pdyw&edm=APs17CUBAAAA&ccb=7-5&oh=00_AQOfXT7pEu9D4_IXImiEuYPA45_GaEFLoBpPn7iUNz5NkQ&oe=6ADBF4E9&_nc_sid=10d13b",
      "username": "nasa"
    }
  ],
  "audioUrl": null,
  "videoDuration": null,
  "musicInfo": null,
  "videoPlayCount": null,
  "isPinned": false,
  "captionSnippet": "Perseverance has set a new off-world distance reco…",
  "firstCommentSnippet": "Dont miss tramp skitt two colect",
  "taggedUsernames": [
    "nasa",
    "nasasolarsystem"
  ],
  "sponsorUsernames": null,
  "musicArtist": null,
  "musicSong": null,
  "coauthors": [
    "nasa",
    "nasasolarsystem"
  ],
  "invitedCoauthors": null,
  "invitedCoauthorProducers": null,
  "childPostsCount": 7,
  "locationName": null,
  "locationId": null,
  "location": null,
  "taggedUserPositions": [
    {
      "username": "nasa",
      "id": "528817151",
      "x": 0.5,
      "y": 0.5
    }
  ],
  "ownerIsVerified": true,
  "ownerProfilePicUrl": "https://scontent-dfw6-1.cdninstagram.com/v/t51.82787-19/548677981_18526892311010391_66718757115050670_n.jpg?stp=dst-jpg_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=scontent-dfw6-1.cdninstagram.com&_nc_cat=103&_nc_oc=Q6cZ2gFWWLR-YUFABNb21zrWgsmAntk06febQ2F_TQFx9_e5LXECZnF8bal6zXYz6GQ6pNQ&_nc_ohc=fJvUMGF4Pl0Q7kNvwHpVqjF&_nc_gid=y2xcA_CfJwvOZHvLv5Pdyw&edm=APs17CUBAAAA&ccb=7-5&oh=00_AQNKGP3EBG8JM6jpkm5td5-RFBifgXO_UTEu4g9NgCfKcQ&oe=6ADBFBB3&_nc_sid=10d13b",
  "likesHidden": false,
  "sourceType": "post",
  "scrapedAt": "2026-10-19T15:48:32Z"
}
```

### FAQ

**Do the download links last?** Instagram signs them for a few days (`mediaUrlsExpireAt`). Download the files soon after the run, or run again for fresh links.

**Which link has sound?** `downloadUrls`, `videoUrl` and each video's `url` in `media` are the MP4 with sound. The `qualities` tracks are video-only, the way Instagram streams them; `audioUrl` is the sound on its own.

**Private posts or stories?** No: only public posts and reels, without logging in.

**Can I paste a profile?** This Actor takes post and reel links. For a profile's posts, use our Instagram Post Scraper or Instagram Reels Scraper.

### Feedback

Something missing or wrong? Open an issue on the Issues tab and we'll look at it. If the Actor saved you time, a short review on its Store page helps a lot.

# Actor input Schema

## `postUrls` (type: `array`):

One per line: a reel, post or carousel link (https://www.instagram.com/reel/DLNsnpUTdVS/) or just its code. You pay per post delivered, every carousel slide included; links that don't work are free.

## `dataDetailLevel` (type: `string`):

Detailed adds each post's latest comments, alt text, reel play counts and video views. Included in the price; Basic is faster.

## `maxResults` (type: `integer`):

Stop after this many posts in the whole run. You pay per post, so this caps the run's cost.

## `mode` (type: `string`):

posts = one row per post (the engine's post reader).

## `downloader` (type: `boolean`):

Every file of each post (this listing's job): post links and codes only.

## `proxyConfiguration` (type: `object`):

Leave as is: Apify Proxy (datacenter) reads everything this Actor needs.

## Actor input object example

```json
{
  "postUrls": [
    "https://www.instagram.com/reel/DeUKkHjgMNR/",
    "https://www.instagram.com/p/DeaMlUSEpgs/",
    "https://www.instagram.com/p/DeJ28eTxo4s/",
    "https://www.instagram.com/p/Degd1B8lyc_/",
    "https://www.instagram.com/reel/DeTUk4sDSp-/",
    "https://www.instagram.com/p/Dd7YYNtn-9H/",
    "https://www.instagram.com/p/Deh3_cCl1Qs/",
    "https://www.instagram.com/p/DehVfcplPaZ/",
    "https://www.instagram.com/reel/DbN5wLuMxiz/",
    "https://www.instagram.com/p/DekS-u4GltE/",
    "https://www.instagram.com/p/Dejxav7l58q/",
    "https://www.instagram.com/p/DeAYvsnn4la/",
    "https://www.instagram.com/reel/DeSn0tZgHNS/",
    "https://www.instagram.com/p/DcyZo6EDijg/",
    "https://www.instagram.com/p/DeXh9YDSac8/",
    "https://www.instagram.com/p/DPwJzEVDbwC/",
    "https://www.instagram.com/reel/DeSM5CYPDfd/",
    "https://www.instagram.com/p/DehVbL6m3rk/",
    "https://www.instagram.com/p/DadL-7tzkEm/",
    "https://www.instagram.com/p/DePopGlnxXJ/",
    "https://www.instagram.com/reel/Dehl7Xohfah/",
    "https://www.instagram.com/p/DeR4RetDg3c/",
    "https://www.instagram.com/p/Defago5DWAD/",
    "https://www.instagram.com/p/DdcI8NLmY21/",
    "https://www.instagram.com/reel/DekSUMSElGI/",
    "https://www.instagram.com/p/DehUTymF6VL/",
    "https://www.instagram.com/p/DduUvovD9bG/",
    "https://www.instagram.com/reel/DekBohqDEWz/",
    "https://www.instagram.com/p/DdNIWqQPrFM/",
    "https://www.instagram.com/p/DemKuwcgQlU/",
    "https://www.instagram.com/reel/DehE9l7E_68/",
    "https://www.instagram.com/p/DeZDHKKDKJb/",
    "https://www.instagram.com/p/DefvqAeFyRJ/",
    "https://www.instagram.com/reel/DePzV26vLFB/",
    "https://www.instagram.com/p/DeelvcCF53n/",
    "https://www.instagram.com/reel/DemYJbeqd4D/",
    "https://www.instagram.com/p/DdMeNa0O_x_/",
    "https://www.instagram.com/reel/DekXJyeBQ-0/",
    "https://www.instagram.com/reel/DcjD8mFpDHm/",
    "https://www.instagram.com/reel/DImRwk9PrUy/",
    "https://www.instagram.com/reel/DbIdlf0j6uA/",
    "https://www.instagram.com/reel/DPq5ZpJDZw9/",
    "https://www.instagram.com/reel/Dd9Etk7R91I/",
    "https://www.instagram.com/reel/Dej0bahxezg/",
    "https://www.instagram.com/reel/DehZj9wggt0/",
    "https://www.instagram.com/reel/Ddt2AXassp7/",
    "https://www.instagram.com/reel/Ddl5eH-u4le/",
    "https://www.instagram.com/reel/DecPSQfoaRe/"
  ],
  "dataDetailLevel": "detailedData",
  "maxResults": 100000,
  "mode": "posts",
  "downloader": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "postUrls": [
        "https://www.instagram.com/reel/DeUKkHjgMNR/",
        "https://www.instagram.com/p/DeaMlUSEpgs/",
        "https://www.instagram.com/p/DeJ28eTxo4s/",
        "https://www.instagram.com/p/Degd1B8lyc_/",
        "https://www.instagram.com/reel/DeTUk4sDSp-/",
        "https://www.instagram.com/p/Dd7YYNtn-9H/",
        "https://www.instagram.com/p/Deh3_cCl1Qs/",
        "https://www.instagram.com/p/DehVfcplPaZ/",
        "https://www.instagram.com/reel/DbN5wLuMxiz/",
        "https://www.instagram.com/p/DekS-u4GltE/",
        "https://www.instagram.com/p/Dejxav7l58q/",
        "https://www.instagram.com/p/DeAYvsnn4la/",
        "https://www.instagram.com/reel/DeSn0tZgHNS/",
        "https://www.instagram.com/p/DcyZo6EDijg/",
        "https://www.instagram.com/p/DeXh9YDSac8/",
        "https://www.instagram.com/p/DPwJzEVDbwC/",
        "https://www.instagram.com/reel/DeSM5CYPDfd/",
        "https://www.instagram.com/p/DehVbL6m3rk/",
        "https://www.instagram.com/p/DadL-7tzkEm/",
        "https://www.instagram.com/p/DePopGlnxXJ/",
        "https://www.instagram.com/reel/Dehl7Xohfah/",
        "https://www.instagram.com/p/DeR4RetDg3c/",
        "https://www.instagram.com/p/Defago5DWAD/",
        "https://www.instagram.com/p/DdcI8NLmY21/",
        "https://www.instagram.com/reel/DekSUMSElGI/",
        "https://www.instagram.com/p/DehUTymF6VL/",
        "https://www.instagram.com/p/DduUvovD9bG/",
        "https://www.instagram.com/reel/DekBohqDEWz/",
        "https://www.instagram.com/p/DdNIWqQPrFM/",
        "https://www.instagram.com/p/DemKuwcgQlU/",
        "https://www.instagram.com/reel/DehE9l7E_68/",
        "https://www.instagram.com/p/DeZDHKKDKJb/",
        "https://www.instagram.com/p/DefvqAeFyRJ/",
        "https://www.instagram.com/reel/DePzV26vLFB/",
        "https://www.instagram.com/p/DeelvcCF53n/",
        "https://www.instagram.com/reel/DemYJbeqd4D/",
        "https://www.instagram.com/p/DdMeNa0O_x_/",
        "https://www.instagram.com/reel/DekXJyeBQ-0/",
        "https://www.instagram.com/reel/DcjD8mFpDHm/",
        "https://www.instagram.com/reel/DImRwk9PrUy/",
        "https://www.instagram.com/reel/DbIdlf0j6uA/",
        "https://www.instagram.com/reel/DPq5ZpJDZw9/",
        "https://www.instagram.com/reel/Dd9Etk7R91I/",
        "https://www.instagram.com/reel/Dej0bahxezg/",
        "https://www.instagram.com/reel/DehZj9wggt0/",
        "https://www.instagram.com/reel/Ddt2AXassp7/",
        "https://www.instagram.com/reel/Ddl5eH-u4le/",
        "https://www.instagram.com/reel/DecPSQfoaRe/"
    ],
    "dataDetailLevel": "detailedData",
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("deepmine/instagram-video-downloader").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "postUrls": [
        "https://www.instagram.com/reel/DeUKkHjgMNR/",
        "https://www.instagram.com/p/DeaMlUSEpgs/",
        "https://www.instagram.com/p/DeJ28eTxo4s/",
        "https://www.instagram.com/p/Degd1B8lyc_/",
        "https://www.instagram.com/reel/DeTUk4sDSp-/",
        "https://www.instagram.com/p/Dd7YYNtn-9H/",
        "https://www.instagram.com/p/Deh3_cCl1Qs/",
        "https://www.instagram.com/p/DehVfcplPaZ/",
        "https://www.instagram.com/reel/DbN5wLuMxiz/",
        "https://www.instagram.com/p/DekS-u4GltE/",
        "https://www.instagram.com/p/Dejxav7l58q/",
        "https://www.instagram.com/p/DeAYvsnn4la/",
        "https://www.instagram.com/reel/DeSn0tZgHNS/",
        "https://www.instagram.com/p/DcyZo6EDijg/",
        "https://www.instagram.com/p/DeXh9YDSac8/",
        "https://www.instagram.com/p/DPwJzEVDbwC/",
        "https://www.instagram.com/reel/DeSM5CYPDfd/",
        "https://www.instagram.com/p/DehVbL6m3rk/",
        "https://www.instagram.com/p/DadL-7tzkEm/",
        "https://www.instagram.com/p/DePopGlnxXJ/",
        "https://www.instagram.com/reel/Dehl7Xohfah/",
        "https://www.instagram.com/p/DeR4RetDg3c/",
        "https://www.instagram.com/p/Defago5DWAD/",
        "https://www.instagram.com/p/DdcI8NLmY21/",
        "https://www.instagram.com/reel/DekSUMSElGI/",
        "https://www.instagram.com/p/DehUTymF6VL/",
        "https://www.instagram.com/p/DduUvovD9bG/",
        "https://www.instagram.com/reel/DekBohqDEWz/",
        "https://www.instagram.com/p/DdNIWqQPrFM/",
        "https://www.instagram.com/p/DemKuwcgQlU/",
        "https://www.instagram.com/reel/DehE9l7E_68/",
        "https://www.instagram.com/p/DeZDHKKDKJb/",
        "https://www.instagram.com/p/DefvqAeFyRJ/",
        "https://www.instagram.com/reel/DePzV26vLFB/",
        "https://www.instagram.com/p/DeelvcCF53n/",
        "https://www.instagram.com/reel/DemYJbeqd4D/",
        "https://www.instagram.com/p/DdMeNa0O_x_/",
        "https://www.instagram.com/reel/DekXJyeBQ-0/",
        "https://www.instagram.com/reel/DcjD8mFpDHm/",
        "https://www.instagram.com/reel/DImRwk9PrUy/",
        "https://www.instagram.com/reel/DbIdlf0j6uA/",
        "https://www.instagram.com/reel/DPq5ZpJDZw9/",
        "https://www.instagram.com/reel/Dd9Etk7R91I/",
        "https://www.instagram.com/reel/Dej0bahxezg/",
        "https://www.instagram.com/reel/DehZj9wggt0/",
        "https://www.instagram.com/reel/Ddt2AXassp7/",
        "https://www.instagram.com/reel/Ddl5eH-u4le/",
        "https://www.instagram.com/reel/DecPSQfoaRe/",
    ],
    "dataDetailLevel": "detailedData",
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("deepmine/instagram-video-downloader").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "postUrls": [
    "https://www.instagram.com/reel/DeUKkHjgMNR/",
    "https://www.instagram.com/p/DeaMlUSEpgs/",
    "https://www.instagram.com/p/DeJ28eTxo4s/",
    "https://www.instagram.com/p/Degd1B8lyc_/",
    "https://www.instagram.com/reel/DeTUk4sDSp-/",
    "https://www.instagram.com/p/Dd7YYNtn-9H/",
    "https://www.instagram.com/p/Deh3_cCl1Qs/",
    "https://www.instagram.com/p/DehVfcplPaZ/",
    "https://www.instagram.com/reel/DbN5wLuMxiz/",
    "https://www.instagram.com/p/DekS-u4GltE/",
    "https://www.instagram.com/p/Dejxav7l58q/",
    "https://www.instagram.com/p/DeAYvsnn4la/",
    "https://www.instagram.com/reel/DeSn0tZgHNS/",
    "https://www.instagram.com/p/DcyZo6EDijg/",
    "https://www.instagram.com/p/DeXh9YDSac8/",
    "https://www.instagram.com/p/DPwJzEVDbwC/",
    "https://www.instagram.com/reel/DeSM5CYPDfd/",
    "https://www.instagram.com/p/DehVbL6m3rk/",
    "https://www.instagram.com/p/DadL-7tzkEm/",
    "https://www.instagram.com/p/DePopGlnxXJ/",
    "https://www.instagram.com/reel/Dehl7Xohfah/",
    "https://www.instagram.com/p/DeR4RetDg3c/",
    "https://www.instagram.com/p/Defago5DWAD/",
    "https://www.instagram.com/p/DdcI8NLmY21/",
    "https://www.instagram.com/reel/DekSUMSElGI/",
    "https://www.instagram.com/p/DehUTymF6VL/",
    "https://www.instagram.com/p/DduUvovD9bG/",
    "https://www.instagram.com/reel/DekBohqDEWz/",
    "https://www.instagram.com/p/DdNIWqQPrFM/",
    "https://www.instagram.com/p/DemKuwcgQlU/",
    "https://www.instagram.com/reel/DehE9l7E_68/",
    "https://www.instagram.com/p/DeZDHKKDKJb/",
    "https://www.instagram.com/p/DefvqAeFyRJ/",
    "https://www.instagram.com/reel/DePzV26vLFB/",
    "https://www.instagram.com/p/DeelvcCF53n/",
    "https://www.instagram.com/reel/DemYJbeqd4D/",
    "https://www.instagram.com/p/DdMeNa0O_x_/",
    "https://www.instagram.com/reel/DekXJyeBQ-0/",
    "https://www.instagram.com/reel/DcjD8mFpDHm/",
    "https://www.instagram.com/reel/DImRwk9PrUy/",
    "https://www.instagram.com/reel/DbIdlf0j6uA/",
    "https://www.instagram.com/reel/DPq5ZpJDZw9/",
    "https://www.instagram.com/reel/Dd9Etk7R91I/",
    "https://www.instagram.com/reel/Dej0bahxezg/",
    "https://www.instagram.com/reel/DehZj9wggt0/",
    "https://www.instagram.com/reel/Ddt2AXassp7/",
    "https://www.instagram.com/reel/Ddl5eH-u4le/",
    "https://www.instagram.com/reel/DecPSQfoaRe/"
  ],
  "dataDetailLevel": "detailedData",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call deepmine/instagram-video-downloader --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,deepmine/instagram-video-downloader"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/LCSWq0dSp6qFJbwFg/builds/Tvu9xT1egxfdgXGan/openapi.json
