{
  "openapi": "3.0.1",
  "info": {
    "title": "Instagram Reels Transcript Scraper: Reel to Text, Timestamps",
    "description": "Instagram reel and video transcripts, no login: reel links or creator handles in, the spoken words out (speech-to-text of the audio, not the caption) with the exact date, caption, duration, plays, likes, comments and owner. Optional timestamps, SRT/WebVTT subtitles, comments, the audio file.",
    "version": "0.1",
    "x-build-id": "WfvJcryXOifsYfIFY"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/hyperbach~instagram-reels-transcript-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-hyperbach-instagram-reels-transcript-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/hyperbach~instagram-reels-transcript-scraper/runs": {
      "post": {
        "operationId": "runs-sync-hyperbach-instagram-reels-transcript-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/hyperbach~instagram-reels-transcript-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-hyperbach-instagram-reels-transcript-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": {
          "reelUrls": {
            "title": "Reel links",
            "type": "array",
            "description": "Instagram reels, one per line, in any form: `https://www.instagram.com/reel/DealHY4D2Yy/`, a `/p/` or `/tv/` link, a link with the owner's handle in it, a bare shortcode (`DealHY4D2Yy`), a share link (`instagram.com/share/…`, followed to the reel it lands on), or an Instagram CDN media link (`scontent-….cdninstagram.com/….mp4`: the file is transcribed, no metadata). A creator's handle pasted here (`nasa`, `@nasa`) is read as a creator. The same reel given several ways is one row. A `/p/` carousel is transcribed from its first video.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "handles": {
            "title": "Creators",
            "type": "array",
            "description": "Instagram creators, one per line: `nasa`, `@nasa` or `https://www.instagram.com/nasa/`. The Actor lists each creator's newest reels by date (a reel pinned to the top of the grid stays in its real date position, flagged `is_pinned`) and transcribes up to `maxReelsPerHandle` of them. A private account, a missing handle or a creator with no reels is a free row.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "datasetId": {
            "title": "Dataset to chain",
            "pattern": "^([A-Za-z0-9._~-]{1,100}(/[A-Za-z0-9._~-]{1,100})?)?$",
            "type": "string",
            "description": "The dataset id of another Instagram scraper's run (apify/instagram-scraper, instagram-reel-scraper, instagram-post-scraper and the like): every row is scanned for a reel link, a shortcode or a media link and transcribed. Empty = none.",
            "default": ""
          },
          "maxReelsPerHandle": {
            "title": "Max reels per creator",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "How many of each creator's newest reels to transcribe, newest by date. A reel without speech counts (it is a free row); a reel outside the date window does not.",
            "default": 10
          },
          "dateFrom": {
            "title": "Posted from",
            "pattern": "^(|[0-9]{4}-[0-9]{2}-[0-9]{2}|[0-9]{1,4} *(day|week|month|year)s?)$",
            "type": "string",
            "description": "Creators only: reels posted on or after this date (`2026-09-01`), or a span back from today (`30 days`, `2 weeks`, `6 months`). The walk stops at the first reel older than this.",
            "default": ""
          },
          "dateTo": {
            "title": "Posted until",
            "pattern": "^(|[0-9]{4}-[0-9]{2}-[0-9]{2}|[0-9]{1,4} *(day|week|month|year)s?)$",
            "type": "string",
            "description": "Creators only: reels posted on or before this date (same forms as `dateFrom`).",
            "default": ""
          },
          "skipPinned": {
            "title": "Skip pinned reels",
            "type": "boolean",
            "description": "Creators only: leave out the reels pinned to the top of the grid. Off = a pinned reel is delivered in its real date position, flagged `is_pinned`.",
            "default": false
          },
          "timestamps": {
            "title": "Timestamps (segments, words, SRT / WebVTT)",
            "type": "boolean",
            "description": "Add the timed segments (`segments`: start, end, text), the timed words (`words`), `srt` and `vtt`, the speech seconds and the hook's start second, and the spoken language as named by the timing model (OpenAI whisper-1). Charged per started minute of audio on top of the transcript. Off = the words alone, with the language detected from the text.",
            "default": false
          },
          "includeComments": {
            "title": "Include comments",
            "type": "boolean",
            "description": "Add the reel's first page of comments (up to 15: id, text, time, likes, username; a GIF reply with its GIF link) to each row. Free: they come with the reel's record.",
            "default": false
          },
          "downloadMedia": {
            "title": "Download the audio or video",
            "enum": [
              "none",
              "audio",
              "video"
            ],
            "type": "string",
            "description": "Store the reel's audio stream or its video file in the run's key-value store, with a link that does not expire on the row (`audio_file_url` / `video_file_url`). Charged per file written. Instagram's own media links on the row expire within days (`url_expires_at`).",
            "default": "none"
          },
          "maxItems": {
            "title": "Max transcripts",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "The most transcripts this run delivers (and charges). 0 = no limit. Free rows (no speech, not found, private) do not count.",
            "default": 0
          },
          "onlyNew": {
            "title": "Only new reels",
            "type": "boolean",
            "description": "Skip reels this task delivered in an earlier run: run a creator daily and get only the new reels. A reel without speech is remembered too (its verdict is final); a reel that could not be read is tried again next run. Turns the memory on.",
            "default": false
          },
          "stateStoreName": {
            "title": "Memory name",
            "pattern": "^([A-Za-z0-9._-]{1,100})?$",
            "type": "string",
            "description": "Name of the memory between runs (`onlyNew`, `is_new`, `first_seen_at`). Empty = derived from your reels and creators, so the same task always meets its own memory.",
            "default": ""
          },
          "proxyUrl": {
            "title": "Proxy URL",
            "type": "string",
            "description": "Optional. Your own proxy as `scheme://user:pass@host:port`, used in front of the Actor's own exits. Leave empty to use the maintained exits (recommended)."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}