{
  "openapi": "3.0.1",
  "info": {
    "title": "Instagram Video Downloader & API: Reels in 1080p & Bulk ZIP",
    "description": "Download Instagram Reels, videos and carousels as MP4 files: from links or whole profiles (every Reel, date range, only new since the last run). 1080p or H.264, photos, covers, M4A sound, one ZIP with metadata.csv. Permanent links, no login.",
    "version": "0.1",
    "x-build-id": "0hV6XPeXF8Uw26IrR"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/s_actors~instagram-video-downloader/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-s_actors-instagram-video-downloader",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/s_actors~instagram-video-downloader/runs": {
      "post": {
        "operationId": "runs-sync-s_actors-instagram-video-downloader",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/s_actors~instagram-video-downloader/run-sync": {
      "post": {
        "operationId": "run-sync-s_actors-instagram-video-downloader",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "postUrls": {
            "title": "🎬 Instagram Reel, video or post links",
            "type": "array",
            "description": "One per line: Reel links (instagram.com/reel/...), post links (instagram.com/p/...: videos, carousels, photos), IGTV links (/tv/...), shortcodes (DeTUk4sDSp-) or numeric media IDs. Public posts only.",
            "items": {
              "type": "string"
            }
          },
          "profiles": {
            "title": "👤 Instagram profiles (download their Reels)",
            "type": "array",
            "description": "Usernames (nasa or @nasa), profile links (https://www.instagram.com/nasa/ or .../nasa/reels/) or numeric user IDs, one per line: downloads the Reels of each profile, newest first. Public profiles only.",
            "items": {
              "type": "string"
            }
          },
          "quality": {
            "title": "🎞️ Quality",
            "enum": [
              "compatible",
              "highest"
            ],
            "type": "string",
            "description": "Instagram keeps one ready MP4 (H.264, usually 720p) and, separately, sharper video tracks up to 1080p without sound. Highest joins the sharpest track with the sound into one MP4 (no re-encoding, same picture as in the app). AV1 / VP9 play in Chrome, Edge, Firefox, VLC, Android and recent iPhones; pick the default for old devices and video editors.",
            "default": "compatible"
          },
          "maxVideosPerProfile": {
            "title": "💯 Reels per profile",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "How many of the newest Reels of each profile to download (pinned Reels come first, as in the app). 0 = the whole Reels tab.",
            "default": 20
          },
          "postedAfter": {
            "title": "📅 Posted after",
            "type": "string",
            "description": "Only Reels posted after this: a date (2026-09-01) or a period (24 hours, 7 days, 2 weeks, 1 month). Profiles only. Reading stops at the first older Reel, so a short period is fast."
          },
          "postedBefore": {
            "title": "📅 Posted before",
            "type": "string",
            "description": "Only Reels posted before this: a date (2026-10-01) or a period (30 days). Profiles only."
          },
          "skipPinned": {
            "title": "📌 Skip pinned Reels",
            "type": "boolean",
            "description": "Leave out the Reels pinned to the top of the profile (they are often old).",
            "default": false
          },
          "onlyNew": {
            "title": "🆕 Only new Reels since the previous run",
            "type": "boolean",
            "description": "For profiles: skip the Reels that earlier runs with this option already downloaded (remembered per profile and monitor name in your key-value store instagram-downloader-state). Schedule the run daily to back up an account or collect a creator's new Reels automatically.",
            "default": false
          },
          "monitorName": {
            "title": "🏷️ Monitor name",
            "type": "string",
            "description": "Separate memory for separate schedules (for example 'competitors' and 'clients'). Empty = default."
          },
          "createZip": {
            "title": "🗜️ ZIP archive",
            "type": "boolean",
            "description": "Also pack all downloaded files into instagram-videos.zip (a folder per account, plus metadata.csv with the caption, date, stats and file name of each post). Parts of ~200 MB: instagram-videos-2.zip, ...",
            "default": true
          },
          "includePhotos": {
            "title": "🖼️ Photos of carousels and photo posts",
            "type": "boolean",
            "description": "Also save the photos of carousel and photo posts (JPG, full resolution). Off = videos only: a photo-only post is skipped (free).",
            "default": true
          },
          "downloadCovers": {
            "title": "🖼️ Download covers (JPG)",
            "type": "boolean",
            "description": "Also save each video's cover image as JPG (coverFileUrl). Free.",
            "default": false
          },
          "downloadAudio": {
            "title": "🎵 Download sounds (M4A)",
            "type": "boolean",
            "description": "Also save each video's sound (music or original audio) as M4A / AAC (audioFileUrl). Free.",
            "default": false
          },
          "maxConcurrency": {
            "title": "⚡ Parallel requests",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many Instagram requests run at the same time. Downloads run at most 4 at a time.",
            "default": 5
          },
          "debugLog": {
            "title": "🐞 Debug log",
            "type": "boolean",
            "description": "Log every retried request (for troubleshooting).",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}