{
  "openapi": "3.0.1",
  "info": {
    "title": "Instagram Reel Transcript Scraper: Reels to Text",
    "description": "Instagram transcript scraper: paste reel URLs or profiles and get what's said in each reel as text, Instagram's own speech transcript with its language, plus caption, plays, likes, date and creator. Any reel length, no login. Reels without speech aren't charged for a transcript.",
    "version": "0.1",
    "x-build-id": "43o5q5f4tTWKYFlvg"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/deepmine~instagram-reel-transcript-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-deepmine-instagram-reel-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/deepmine~instagram-reel-transcript-scraper/runs": {
      "post": {
        "operationId": "runs-sync-deepmine-instagram-reel-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/deepmine~instagram-reel-transcript-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-deepmine-instagram-reel-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": {
          "profiles": {
            "title": "🎞️ Reel URLs or profiles",
            "type": "array",
            "description": "Instagram reel URLs, usernames or profile URLs, one per line: instagram.com/reel/DeXXAddgJhQ/, natgeo, @natgeo. A profile gives its reels newest first. You pay per reel delivered, plus its transcript.",
            "items": {
              "type": "string",
              "pattern": "\\S"
            }
          },
          "maxReelsPerProfile": {
            "title": "💯 Max reels per profile",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Reels per profile, newest first (pinned reels first, as on the profile). Profiles page back years. You pay per reel, so this caps the cost per profile. Empty = 100."
          },
          "includeTranscript": {
            "title": "🗣️ Add transcripts",
            "type": "boolean",
            "description": "On by default: what's said in each reel as text (transcript, transcriptLanguage), Instagram's own speech transcript, no timings. $0.00239 per reel with a transcript; reels without speech aren't charged for it.",
            "default": true
          },
          "includeDetails": {
            "title": "🧩 Add reel details",
            "type": "boolean",
            "description": "Adds the video's views, the creator's name, picture and follower count, the sound, the place and coordinates, tagged users, collaborators, sponsors and the video's size. Free. Turn off for the fastest runs.",
            "default": true
          },
          "includeComments": {
            "title": "💬 Add latest comments",
            "type": "boolean",
            "description": "Adds firstComment and latestComments: the newest comments a visitor sees (about 14 per reel, with author, time and likes). Free. Needs reel details on.",
            "default": false
          },
          "includeVideoUrl": {
            "title": "🎬 Include video and audio links",
            "type": "boolean",
            "description": "Adds videoUrl and audioUrl: direct links to each reel's MP4 file and its sound track, for downloading. Instagram signs them; they stop working after a few days. Free.",
            "default": false
          },
          "onlyPostsNewerThan": {
            "title": "📅 Reels newer than",
            "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])(T[0-2]\\d:[0-5]\\d(:[0-5]\\d)?(\\.\\d+)?Z?)?$|^(\\d+)\\s*(minute|hour|day|week|month|year)s?$",
            "type": "string",
            "description": "Keep only reels posted after a date (2026-09-01) or within a time span (7 days, 3 months). A profile stops paging at its first older reel. Empty = any date."
          },
          "skipPinnedPosts": {
            "title": "📌 Skip pinned reels",
            "type": "boolean",
            "description": "Leave out the reels a creator pinned to the top of their profile (often older than the rest). Reels left out aren't charged.",
            "default": false
          },
          "minPlays": {
            "title": "Min plays",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only reels with at least this many plays, e.g. 10000. Reels left out aren't charged. Empty = no limit."
          },
          "minLikes": {
            "title": "Min likes",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only reels with at least this many likes (reels whose creator hides likes are left out). Reels left out aren't charged. Empty = no limit."
          },
          "minComments": {
            "title": "Min comments",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only reels with at least this many comments. Reels left out aren't charged. Empty = no limit."
          },
          "keywords": {
            "title": "🔍 Keywords",
            "type": "array",
            "description": "Find reels by topic, one per line: a phrase (home workout), a #hashtag or an instagram.com/popular/ topic URL. Boolean searches work too: (\"home workout\" OR pilates) AND NOT giveaway. You pay per reel delivered.",
            "items": {
              "type": "string",
              "pattern": "\\S"
            }
          },
          "maxResultsPerKeyword": {
            "title": "Max reels per keyword",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Reels per keyword. A topic has about 45 reels; with related searches on, more come from the searches Instagram lists next to it. You pay per reel, so this caps the cost per keyword. Default 100.",
            "default": 100
          },
          "sortBy": {
            "title": "Sort keyword results by",
            "enum": [
              "relevance",
              "newest"
            ],
            "type": "string",
            "description": "Most relevant (default): Instagram's own order for the keyword's search, then its related searches. Newest first: reads the related searches until they hold enough recent reels, then delivers the newest first.",
            "default": "relevance"
          },
          "includeRelatedTopics": {
            "title": "Continue with related searches",
            "type": "boolean",
            "description": "When a keyword's own reels run out, go on with the related searches Instagram suggests for it (home workout: home workout for women, home leg workout, ...). Each row says which search it came from.",
            "default": true
          },
          "requireKeywordMatch": {
            "title": "Only reels that mention the keyword",
            "type": "boolean",
            "description": "On (default): every keyword reel's caption, hashtags or creator name contains the keyword (cosplay matches #cosplaygirl). Off: every reel Instagram groups under the keyword's search. Reels left out aren't charged.",
            "default": true
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stop after this many reels in total, across profiles, reel URLs and keywords. You pay per reel, so this caps the run's cost.",
            "default": 10000
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Leave as is: Apify Proxy (datacenter). If Instagram keeps refusing datacenter IPs, the Actor switches to Apify residential on its own, at no extra cost to you.",
            "default": {
              "useApifyProxy": true
            }
          },
          "maxAgeDays": {
            "title": "Posted in the last N days",
            "minimum": 1,
            "maximum": 36500,
            "type": "integer",
            "description": "Kept for saved inputs: keep only reels posted in the last N days. Reels newer than (above) does the same with a date or any time span."
          },
          "resultsLimit": {
            "title": "Reels per profile (apify/instagram-reel-scraper input)",
            "minimum": 1,
            "type": "integer",
            "description": "Same as Max reels per profile (used when that one is empty)."
          },
          "includeSharesCount": {
            "title": "Shares count (not available)",
            "type": "boolean",
            "description": "Accepted for saved inputs. Instagram shows share counts only to signed-in accounts and this Actor never signs in, so rows have no share count and nothing is charged for it.",
            "default": false
          },
          "includeDownloadedVideo": {
            "title": "Downloaded video",
            "type": "boolean",
            "description": "Accepted for saved inputs: turns on the video and audio file links.",
            "default": false
          },
          "skipTrialReels": {
            "title": "Skip trial reels",
            "type": "boolean",
            "description": "Accepted for saved inputs; no effect (the Actor reads each profile's public reels tab).",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}