EasyDown API Docs
Platform Video Downloader APIs

Instagram Video Downloader API

Use EasyDown's Instagram video downloader API for supported public URLs. Return downloadable video, images, audio, and sanitized platform data.

One REST request supports post, Reel, embed, and share URLs. Carousel order is preserved so integrations can display or store the complete public post instead of only the first item.

Use it to add Instagram video download support for public posts, reels, and compatible shared links.

Use this endpoint when you need platform-specific fields in addition to stable downloadable media.

Endpoints

POST https://api.easydown.org/api/v1/platforms/instagram/parse

Supported URL formats

  • instagram.com/reel/{id}
  • instagram.com/p/{id}
  • instagram.com/stories/{user}/{id}
  • instagram.com/share/{type}/{code}

Accepted examples

  • https://www.instagram.com/reel/DY2PcmxiBE2/
  • https://www.instagram.com/p/DYJIhddkzi0/
  • https://www.instagram.com/stories/wordongreene/3940061275140997661
  • https://www.instagram.com/share/reel/BAabcdef123/

What the platform response contains

The response can contain both images[] and videos[] for mixed or carousel posts. Available cover and thumbnail candidates remain separate from downloadable post media.

Published platform data fields

The API preserves additional public fields from the final target object after recursive sensitive-field filtering. The documented fields below remain stable for this platformDataVersion.

FieldTypeDescription
data.mediaobjectNormalized images, videos, audios, title, thumbnail, and duration.
data.platformDataVersionstringPublished data contract version for Instagram; currently 1.
data.platformData.idstringInstagram media identifier.
data.platformData.codestringPublic post or Reel shortcode.
data.platformData.captionobjectPublic caption fields when available.
data.platformData.userobjectPublic author profile fields.
data.platformData.video_versionsarrayPlayable video renditions for a video item.
data.platformData.image_versionsobjectImage candidates for a photo or cover.
data.platformData.carousel_mediaarrayAll media items in a public carousel.
data.platformData.taken_atnumberPublication timestamp when exposed.

Real response example

Sample URL
https://www.instagram.com/reel/DY2PcmxiBE2/
Endpoint
/api/v1/platforms/instagram/parse
Credits charged
1 credits
Cache
HIT
Captured
2026-09-17T05:08:21.111Z

Common normalized format

The common endpoint returns this same media object directly in `data`.

/api/v1/parse response
{
  "status": 200,
  "data": {
    "platform": "instagram",
    "title": "Tonight, @thv took a turn in the audience as he watched @gracieabrams and @dojacat perform at #VogueWorld: Hollywood. No stranger to a fashion show either, the @bts.bighitofficial star dressed in a look that could have easily appeared on the runway",
    "thumbnail": "https://instagram.fsvq6-1.fna.fbcdn.net/v/t51.82787-15/705502004_18102182545917416_104266069802266630_n.jpg?stp=c0.210.540.540a_dst-jpg_e15_tt6&_nc_ht=instagram.fsvq6-1.fna.fbcdn.net&_nc_cat=108&_nc_oc=Q6cZ2gGrkS-iHUP2Kd0pOvjvF4ziF5_E48jL5fVHqUwH749eLaD_D1kJayW9_VX4-iglEnA&_nc_ohc=TOJ169m3MvoQ7kNvwGuw-4V&_nc_gid=hmmdPt-hfGixkFZa04wkyQ&edm=AOmX9WgBAAAA&ccb=7-5&oh=00_AQIzbKKGDaavNtZPc377OCNK0q7uLWOIp5VJFs2mgTySSQ&oe=6AB13650&_nc_sid=bfaa47",
    "duration": 0,
    "images": [],
    "videos": [
      {
        "url": "https://instagram.fsvq6-1.fna.fbcdn.net/o1/v/t2/f2/m86/AQP1D_mBT9HQhdl6TOGFigwTFm3NuKWTUhtogOgmbGl2UoA3-JoPEDwkCntXMyDbrno5OF5Uo8k5Uujmzp0Ra4Mr4gvxZYSmdMr3W30.mp4?_nc_cat=102&_nc_oc=AdozSyAH3l78vzdBPCusk9ngKFV5pHToNVNv53BGQQgg1ZEDm7bSolTK-058RN7qAWM&_nc_sid=5e9851&_nc_ht=instagram.fsvq6-1.fna.fbcdn.net&_nc_ohc=GaV2Je9qZhAQ7kNvwFW1Qbo&efg=eyJ2ZW5jb2RlX3RhZyI6Inhwdl9wcm9ncmVzc2l2ZS5JTlNUQUdSQU0uQ0xJUFMuQzMuNTc2LmRhc2hfYmFzZWxpbmVfMV92MSIsInhwdl9hc3NldF9pZCI6MjEzMDk3NzMyMTA4MzgyOCwiYXNzZXRfYWdlX2RheXMiOjExMiwidmlfdXNlY2FzZV9pZCI6MTAwOTksImR1cmF0aW9uX3MiOjE1LCJ1cmxnZW5fc291cmNlIjoid3d3In0%3D&ccb=17-1&vs=137ae71a79f39cba&_nc_vs=HBksFQIYUmlnX3hwdl9yZWVsc19wZXJtYW5lbnRfc3JfcHJvZC85QzQ2RjIzQ0ExOUQxQjZFOTk4NEFCMTA2NENGN0NCRV92aWRlb19kYXNoaW5pdC5tcDQVAALIARIAFQIYUWlnX3hwdl9wbGFjZW1lbnRfcGVybWFuZW50X3YyL0Y5NEQwMDUxNUNGNUE1Qjg5OEZFNjI2QzIwNDIyOUJEX2F1ZGlvX2Rhc2hpbml0Lm1wNBUCAsgBEgAoABgAGwKIB3VzZV9vaWwBMRJwcm9ncmVzc2l2ZV9yZWNpcGUBMRUAACbojvujmofJBxUCKAJDMywXQC8AAAAAAAAYEmRhc2hfYmFzZWxpbmVfMV92MREAdf4HZeadAQA&_nc_gid=hmmdPt-hfGixkFZa04wkyQ&_nc_ss=7a3ba&_nc_map=urlgen_bucketless&_nc_zt=28&oh=00_AQK2MFty36fMJywWFT90r5i3YUrMlXHxWg2Z-F1Mlh0ExA&oe=6AAD4BD7",
        "quality": "Video",
        "mimeType": "video/mp4",
        "width": 0,
        "height": 0,
        "hasAudio": true,
        "source": "direct",
        "headers": {}
      }
    ],
    "audios": []
  },
  "msg": "success"
}

Platform full-data format

The platform endpoint returns normalized media plus the sanitized platform data object.

/api/v1/platforms/instagram/parse
{
  "status": 200,
  "data": {
    "media": {
      "platform": "instagram",
      "title": "Tonight, @thv took a turn in the audience as he watched @gracieabrams and @dojacat perform at #VogueWorld: Hollywood. No stranger to a fashion show either, the @bts.bighitofficial star dressed in a look that could have easily appeared on the runway",
      "thumbnail": "https://instagram.fsvq6-1.fna.fbcdn.net/v/t51.82787-15/705502004_18102182545917416_104266069802266630_n.jpg?stp=c0.210.540.540a_dst-jpg_e15_tt6&_nc_ht=instagram.fsvq6-1.fna.fbcdn.net&_nc_cat=108&_nc_oc=Q6cZ2gGrkS-iHUP2Kd0pOvjvF4ziF5_E48jL5fVHqUwH749eLaD_D1kJayW9_VX4-iglEnA&_nc_ohc=TOJ169m3MvoQ7kNvwGuw-4V&_nc_gid=hmmdPt-hfGixkFZa04wkyQ&edm=AOmX9WgBAAAA&ccb=7-5&oh=00_AQIzbKKGDaavNtZPc377OCNK0q7uLWOIp5VJFs2mgTySSQ&oe=6AB13650&_nc_sid=bfaa47",
      "duration": 0,
      "images": [],
      "videos": [
        {
          "url": "https://instagram.fsvq6-1.fna.fbcdn.net/o1/v/t2/f2/m86/AQP1D_mBT9HQhdl6TOGFigwTFm3NuKWTUhtogOgmbGl2UoA3-JoPEDwkCntXMyDbrno5OF5Uo8k5Uujmzp0Ra4Mr4gvxZYSmdMr3W30.mp4?_nc_cat=102&_nc_oc=AdozSyAH3l78vzdBPCusk9ngKFV5pHToNVNv53BGQQgg1ZEDm7bSolTK-058RN7qAWM&_nc_sid=5e9851&_nc_ht=instagram.fsvq6-1.fna.fbcdn.net&_nc_ohc=GaV2Je9qZhAQ7kNvwFW1Qbo&efg=eyJ2ZW5jb2RlX3RhZyI6Inhwdl9wcm9ncmVzc2l2ZS5JTlNUQUdSQU0uQ0xJUFMuQzMuNTc2LmRhc2hfYmFzZWxpbmVfMV92MSIsInhwdl9hc3NldF9pZCI6MjEzMDk3NzMyMTA4MzgyOCwiYXNzZXRfYWdlX2RheXMiOjExMiwidmlfdXNlY2FzZV9pZCI6MTAwOTksImR1cmF0aW9uX3MiOjE1LCJ1cmxnZW5fc291cmNlIjoid3d3In0%3D&ccb=17-1&vs=137ae71a79f39cba&_nc_vs=HBksFQIYUmlnX3hwdl9yZWVsc19wZXJtYW5lbnRfc3JfcHJvZC85QzQ2RjIzQ0ExOUQxQjZFOTk4NEFCMTA2NENGN0NCRV92aWRlb19kYXNoaW5pdC5tcDQVAALIARIAFQIYUWlnX3hwdl9wbGFjZW1lbnRfcGVybWFuZW50X3YyL0Y5NEQwMDUxNUNGNUE1Qjg5OEZFNjI2QzIwNDIyOUJEX2F1ZGlvX2Rhc2hpbml0Lm1wNBUCAsgBEgAoABgAGwKIB3VzZV9vaWwBMRJwcm9ncmVzc2l2ZV9yZWNpcGUBMRUAACbojvujmofJBxUCKAJDMywXQC8AAAAAAAAYEmRhc2hfYmFzZWxpbmVfMV92MREAdf4HZeadAQA&_nc_gid=hmmdPt-hfGixkFZa04wkyQ&_nc_ss=7a3ba&_nc_map=urlgen_bucketless&_nc_zt=28&oh=00_AQK2MFty36fMJywWFT90r5i3YUrMlXHxWg2Z-F1Mlh0ExA&oe=6AAD4BD7",
          "quality": "Video",
          "mimeType": "video/mp4",
          "width": 0,
          "height": 0,
          "hasAudio": true,
          "source": "direct",
          "headers": {}
        }
      ],
      "audios": []
    },
    "platformData": {
      "data": {
        "full_name": "jnmarcusx",
        "username": "jnmarcusx",
        "medias": [
          {
            "type": "video",
            "link": "https://instagram.fsvq6-1.fna.fbcdn.net/o1/v/t2/f2/m86/AQP1D_mBT9HQhdl6TOGFigwTFm3NuKWTUhtogOgmbGl2UoA3-JoPEDwkCntXMyDbrno5OF5Uo8k5Uujmzp0Ra4Mr4gvxZYSmdMr3W30.mp4?_nc_cat=102&_nc_oc=AdozSyAH3l78vzdBPCusk9ngKFV5pHToNVNv53BGQQgg1ZEDm7bSolTK-058RN7qAWM&_nc_sid=5e9851&_nc_ht=instagram.fsvq6-1.fna.fbcdn.net&_nc_ohc=GaV2Je9qZhAQ7kNvwFW1Qbo&efg=eyJ2ZW5jb2RlX3RhZyI6Inhwdl9wcm9ncmVzc2l2ZS5JTlNUQUdSQU0uQ0xJUFMuQzMuNTc2LmRhc2hfYmFzZWxpbmVfMV92MSIsInhwdl9hc3NldF9pZCI6MjEzMDk3NzMyMTA4MzgyOCwiYXNzZXRfYWdlX2RheXMiOjExMiwidmlfdXNlY2FzZV9pZCI6MTAwOTksImR1cmF0aW9uX3MiOjE1LCJ1cmxnZW5fc291cmNlIjoid3d3In0%3D&ccb=17-1&vs=137ae71a79f39cba&_nc_vs=HBksFQIYUmlnX3hwdl9yZWVsc19wZXJtYW5lbnRfc3JfcHJvZC85QzQ2RjIzQ0ExOUQxQjZFOTk4NEFCMTA2NENGN0NCRV92aWRlb19kYXNoaW5pdC5tcDQVAALIARIAFQIYUWlnX3hwdl9wbGFjZW1lbnRfcGVybWFuZW50X3YyL0Y5NEQwMDUxNUNGNUE1Qjg5OEZFNjI2QzIwNDIyOUJEX2F1ZGlvX2Rhc2hpbml0Lm1wNBUCAsgBEgAoABgAGwKIB3VzZV9vaWwBMRJwcm9ncmVzc2l2ZV9yZWNpcGUBMRUAACbojvujmofJBxUCKAJDMywXQC8AAAAAAAAYEmRhc2hfYmFzZWxpbmVfMV92MREAdf4HZeadAQA&_nc_gid=hmmdPt-hfGixkFZa04wkyQ&_nc_ss=7a3ba&_nc_map=urlgen_bucketless&_nc_zt=28&oh=00_AQK2MFty36fMJywWFT90r5i3YUrMlXHxWg2Z-F1Mlh0ExA&oe=6AAD4BD7",
            "img": "https://instagram.fsvq6-1.fna.fbcdn.net/v/t51.82787-15/705502004_18102182545917416_104266069802266630_n.jpg?stp=c0.210.540.540a_dst-jpg_e15_tt6&_nc_ht=instagram.fsvq6-1.fna.fbcdn.net&_nc_cat=108&_nc_oc=Q6cZ2gGrkS-iHUP2Kd0pOvjvF4ziF5_E48jL5fVHqUwH749eLaD_D1kJayW9_VX4-iglEnA&_nc_ohc=TOJ169m3MvoQ7kNvwGuw-4V&_nc_gid=hmmdPt-hfGixkFZa04wkyQ&edm=AOmX9WgBAAAA&ccb=7-5&oh=00_AQIzbKKGDaavNtZPc377OCNK0q7uLWOIp5VJFs2mgTySSQ&oe=6AB13650&_nc_sid=bfaa47"
          }
        ],
        "comment_count": 1177,
        "like_count": 326169,
        "taken_at_timestamp": 1779896570,
        "caption": "Tonight, @thv took a turn in the audience as he watched @gracieabrams and @dojacat perform at #VogueWorld: Hollywood. No stranger to a fashion show either, the @bts.bighitofficial star dressed in a look that could have easily appeared on the runway"
      },
      "status": true,
      "attempts": "37"
    },
    "platformDataVersion": "1"
  },
  "msg": "success"
}

Download and proxy guidance

Use a backend request with Referer: https://www.instagram.com/ and a browser User-Agent. Direct browser previews can fail because Instagram CDNs enforce CORS, CORP, cookies, or expiring signatures.

Limits and behavior

Profiles, Highlights, Explore pages, direct messages, private posts, login-only media, and expired Stories are not supported.

Only public content is supported. Private, deleted, age-restricted, region-restricted, live, or otherwise unavailable content can fail without a credit charge.

A successful Instagram parse costs 1 credit. Failed, unsupported, authentication, permission, no-media, and upstream failure responses charge 0 credits. X-Credits-Charged returns the actual credits charged for the successful response.

Troubleshooting

  • Use the full public post or Reel URL rather than an account profile.
  • Proxy CDN media through your backend when the browser reports CORS or CORP.
  • Re-parse the post after an Instagram CDN URL expires.

Common questions

Does a failed request consume credits?

No. Credits are charged only after the API returns downloadable media.

The post can be deleted, private, region-restricted, live, missing media, or temporarily unavailable upstream.

Interactive API reference

The curl, JavaScript, and Python examples and schemas below are rendered from the production OpenAPI 3.1 contract.

The Try it panel sends requests directly to api.easydown.org. Its token is held in React memory only and disappears on reload.

POST

Try it

Successful responses with downloadable media are charged by platform. Failed requests are not charged.

The token stays only in this page memory and is cleared when the page is closed or reloaded.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/platforms/instagram/parse" \  -H "Content-Type: application/json" \  -d '{}'
{  "status": 200,  "data": {    "media": {      "platform": "tiktok",      "title": "string",      "thumbnail": "string",      "duration": 0,      "images": [        {          "url": "http://example.com",          "width": 0,          "height": 0        }      ],      "videos": [        {          "url": "http://example.com",          "quality": "string",          "mimeType": "string",          "width": 0,          "height": 0,          "hasAudio": true,          "source": "direct",          "headers": {            "property1": "string",            "property2": "string"          }        }      ],      "audios": [        {          "url": "http://example.com",          "quality": "string",          "mimeType": "string",          "bitrate": 0,          "source": "direct",          "headers": {            "property1": "string",            "property2": "string"          }        }      ]    },    "platformData": {      "id": "string",      "code": "string",      "caption": {},      "user": {},      "video_versions": [        null      ],      "image_versions": {},      "carousel_media": [        null      ],      "taken_at": 0    },    "platformDataVersion": "1"  },  "msg": "success"}