{
  "openapi": "3.0.1",
  "info": {
    "title": "Instagram Reels Scraper",
    "description": "Scrape public Instagram Reels with no login or cookies. Get plays, likes, comments, captions, hashtags, duration, audio, and MP4 URLs. Includes account analytics (average plays, plays per follower, posting frequency) plus filters by date, plays, likes, or Reel URL.",
    "version": "0.0",
    "x-build-id": "5oGx27gTUpaJjLRt3"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/apt_marble~instagram-reels-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-apt_marble-instagram-reels-scraper",
        "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/apt_marble~instagram-reels-scraper/runs": {
      "post": {
        "operationId": "runs-sync-apt_marble-instagram-reels-scraper",
        "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/apt_marble~instagram-reels-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-apt_marble-instagram-reels-scraper",
        "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": {
          "usernames": {
            "title": "Instagram accounts",
            "type": "array",
            "description": "Accounts whose Reels tab you want. Enter a username (nasa), an @handle (@nasa) or a full profile URL (https://www.instagram.com/nasa/) — any mix works. Only public accounts can be scraped.",
            "default": [
              "nasa"
            ],
            "items": {
              "type": "string"
            }
          },
          "reelUrls": {
            "title": "Single reel URLs",
            "type": "array",
            "description": "Individual reels to scrape, independent of the accounts above. Accepts /reel/, /p/ and /tv/ URLs, or a bare shortcode. Anything that turns out not to be a reel is skipped with a warning.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxReelsPerProfile": {
            "title": "Max reels per account",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "How many reels to keep for each account. Instagram serves 12 reels per page, so this rounds up to whole pages. Set it to 0 to get only the account summary row.",
            "default": 30
          },
          "onlyReelsNewerThan": {
            "title": "Only reels newer than",
            "type": "string",
            "description": "Keep only reels published on or after this date. Accepts an absolute date (2026-01-31) or a relative window such as \"3 months\", \"6 weeks\" or \"90 days\". Leave blank for no date limit.",
            "default": ""
          },
          "minPlays": {
            "title": "Minimum plays",
            "minimum": 0,
            "type": "integer",
            "description": "Skip reels with fewer plays than this. Use it to keep only an account's hits. Reels whose creator hid their view counts are kept, because Instagram reports no number for them at all.",
            "default": 0
          },
          "minLikes": {
            "title": "Minimum likes",
            "minimum": 0,
            "type": "integer",
            "description": "Skip reels with fewer likes than this. Reels whose creator hid their like counts are kept, because Instagram reports no number for them at all.",
            "default": 0
          },
          "sortBy": {
            "title": "Sort reels by",
            "enum": [
              "newest",
              "mostPlayed"
            ],
            "type": "string",
            "description": "\"Newest first\" is Instagram's own order and is left untouched. \"Most played\" re-orders the reels this run collected — it does not search the whole back catalogue, so raise the reel limit if you want a wider pool to rank.",
            "default": "newest"
          },
          "includeProfileRecord": {
            "title": "Save an account summary row",
            "type": "boolean",
            "description": "Push one summary row per account alongside the reels: followers, bio, plus average plays, median plays, plays per follower, engagement rate and reels per week computed over the reels this run collected. Turn it off if you only want reel rows.",
            "default": true
          },
          "maxConcurrency": {
            "title": "Parallel accounts",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many accounts to work on at the same time. Instagram rate limits aggressively — raise this only if your runs are slow and you are not seeing rate-limit warnings.",
            "default": 3
          },
          "proxyCountry": {
            "title": "Country",
            "type": "string",
            "description": "Two-letter country code used for the requests (for example us, gb, de). Instagram serves region-specific media hosts; results were verified from the United States.",
            "default": "us"
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}