{
  "openapi": "3.0.1",
  "info": {
    "title": "Instagram Video Downloader - Reels & IGTV, Pay-Per-Video",
    "description": "Downloads videos from Instagram posts, reels, and IGTV by URL and re-hosts them to Apify, AWS S3, Google Cloud, DigitalOcean, or Azure. $0.02 per video, no subscription, carousel-aware, with automatic dedup across duplicate URLs.",
    "version": "0.0",
    "x-build-id": "cHk4Xte9aNss67s7w"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/epctex~instagram-video-downloader/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-epctex-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/epctex~instagram-video-downloader/runs": {
      "post": {
        "operationId": "runs-sync-epctex-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/epctex~instagram-video-downloader/run-sync": {
      "post": {
        "operationId": "run-sync-epctex-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",
        "required": [
          "startUrls",
          "storageType"
        ],
        "properties": {
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Instagram post, reel, or IGTV URLs to download videos from.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of items to output. Leave empty for no limit."
          },
          "storageType": {
            "title": "Storage type",
            "enum": [
              "apify",
              "gcp",
              "aws",
              "digitalocean",
              "azure"
            ],
            "type": "string",
            "description": "Target storage provider. Fill the matching configuration section below.",
            "default": "apify"
          },
          "customMapFunction": {
            "title": "Custom map function",
            "type": "string",
            "description": "Function that takes each of the objects as argument and returns data that will be mapped by the function itself. This function is not intended for filtering, please don't use it for filtering purposes or you will get banned automatically. Must be a single function, e.g. (object) => { return {...object} }. Leave empty if you do not need to transform the output - an unusable function is ignored and the original items are saved instead."
          },
          "s3AccessKeyId": {
            "title": "S3 Access Key ID",
            "type": "string",
            "description": "Fill in the following fields if you want to upload the video to an S3 bucket"
          },
          "s3SecretAccessKey": {
            "title": "S3 Secret Access Key",
            "type": "string",
            "description": "Fill in the following fields if you want to upload the video to an S3 bucket"
          },
          "s3Bucket": {
            "title": "S3 Bucket",
            "type": "string",
            "description": "Fill in the following fields if you want to upload the video to an S3 bucket"
          },
          "s3Region": {
            "title": "S3 Region",
            "type": "string",
            "description": "Fill in the following fields if you want to upload the video to an S3 bucket"
          },
          "s3Path": {
            "title": "S3 Path (optional)",
            "type": "string",
            "description": "Optional folder path in the S3 bucket."
          },
          "googleCloudProjectId": {
            "title": "Google Cloud Project ID",
            "type": "string",
            "description": "GCP project ID."
          },
          "googleCloudServiceKeyJson": {
            "title": "Google Cloud Service Key JSON",
            "type": "object",
            "description": "Service account credentials JSON."
          },
          "googleCloudBucketName": {
            "title": "Google Cloud Bucket Name",
            "type": "string",
            "description": "Target Google Cloud Storage bucket name."
          },
          "googleCloudPath": {
            "title": "Google Cloud Path (optional)",
            "type": "string",
            "description": "Optional folder path in the GCS bucket."
          },
          "digitalOceanAccessKeyId": {
            "title": "DigitalOcean Access Key ID",
            "type": "string",
            "description": "DigitalOcean Spaces access key ID."
          },
          "digitalOceanSecretAccessKey": {
            "title": "DigitalOcean Secret Access Key",
            "type": "string",
            "description": "DigitalOcean Spaces secret access key."
          },
          "digitalOceanRegion": {
            "title": "DigitalOcean Region",
            "type": "string",
            "description": "DigitalOcean Spaces region (e.g. nyc3)."
          },
          "digitalOceanBucketName": {
            "title": "DigitalOcean Bucket Name",
            "type": "string",
            "description": "DigitalOcean Spaces bucket name."
          },
          "digitalOceanEndpoint": {
            "title": "DigitalOcean Endpoint (optional)",
            "type": "string",
            "description": "Optional Spaces endpoint URL."
          },
          "digitalOceanAcl": {
            "title": "DigitalOcean ACL (optional)",
            "type": "string",
            "description": "Optional ACL value (defaults to private)."
          },
          "digitalOceanPath": {
            "title": "DigitalOcean Path (optional)",
            "type": "string",
            "description": "Optional folder path in the Spaces bucket."
          },
          "azureAccountName": {
            "title": "Azure Account Name",
            "type": "string",
            "description": "Azure storage account name."
          },
          "azureAccountKey": {
            "title": "Azure Account Key",
            "type": "string",
            "description": "Azure storage account key."
          },
          "azureContainerName": {
            "title": "Azure Container Name",
            "type": "string",
            "description": "Azure container name."
          },
          "azurePath": {
            "title": "Azure Path (optional)",
            "type": "string",
            "description": "Optional folder path in the Azure container."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}