{
  "openapi": "3.0.1",
  "info": {
    "title": "Instagram Reels Transcript Scraper - Reel & Video to Text",
    "description": "Transcribe public Instagram reels and videos to text without login: full transcript with timestamps, hook, language, caption, plays and likes. Paste reel links or a username; onlyNew on a schedule transcribes only new reels. US$ 18 per 1,000. Music-only reels and errors are free.",
    "version": "0.2",
    "x-build-id": "IZTBJPOOuBIJ0Nar5"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapewise~instagram-reels-transcript/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapewise-instagram-reels-transcript",
        "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/scrapewise~instagram-reels-transcript/runs": {
      "post": {
        "operationId": "runs-sync-scrapewise-instagram-reels-transcript",
        "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/scrapewise~instagram-reels-transcript/run-sync": {
      "post": {
        "operationId": "run-sync-scrapewise-instagram-reels-transcript",
        "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": "Public reels or video posts to transcribe, one per line: links like https://www.instagram.com/reel/DaSz9gXgFla/ or /p/CODE, or just the code (DaSz9gXgFla). Each reel returns one row with the full transcript text, detected language, duration, caption and engagement counts, charged as 'Reel transcribed'. Also accepts 'postUrls', 'directUrls' and 'startUrls'.",
            "items": {
              "type": "string"
            }
          },
          "profileUrls": {
            "title": "Profiles (username or link)",
            "type": "array",
            "description": "Instagram usernames or profile links, one per line, for example natgeo or https://www.instagram.com/natgeo/. The Actor lists the profile's latest public reels, newest first, and transcribes them, up to 'Max reels per profile'. No login or cookies. Also accepts 'profiles', 'usernames' and 'handles'.",
            "items": {
              "type": "string"
            }
          },
          "maxReelsPerProfile": {
            "title": "Max reels per profile",
            "minimum": 1,
            "type": "integer",
            "description": "How many reels to transcribe from each profile, newest first, default 10. You pay per reel transcribed, so this caps the cost of each profile. Reel links are not limited by it.",
            "default": 10
          },
          "onlyNew": {
            "title": "Only new reels since the last run",
            "type": "boolean",
            "description": "For scheduled runs on profiles. The first run transcribes up to 'Max reels per profile' and remembers them in a key-value store in your account ('instagram-reels-transcript-state', one record per profile). Later runs transcribe only reels posted since, so you never pay twice for the same reel; a profile with nothing new gives one free NO_NEW_REELS row. Reels that failed for a temporary reason are retried next time. Delete the store to start over.",
            "default": false
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Leave empty (default) to detect the spoken language of each reel. Or force a 2-letter code, for example en, pt, es, fr, de, hi or ar, when detection picks the wrong language on short or noisy clips."
          },
          "model": {
            "title": "Accuracy",
            "enum": [
              "tiny",
              "base",
              "small"
            ],
            "type": "string",
            "description": "Speech recognition model: Fast (Whisper tiny), Balanced (Whisper base, the default) or Accurate (Whisper small, slower). Same price for all three. Accurate is best for non-English speech, accents and noisy audio, but takes longer per reel.",
            "default": "base"
          },
          "includeSegments": {
            "title": "Include timestamps",
            "type": "boolean",
            "description": "On (default): adds a 'segments' list with start and end seconds for each phrase, useful for subtitles or jumping to a moment. Turn off to get only the full text.",
            "default": true
          },
          "maxDurationSeconds": {
            "title": "Skip videos longer than (seconds)",
            "minimum": 5,
            "maximum": 1800,
            "type": "integer",
            "description": "Skip videos longer than this many seconds, from 5 to 1,800 (default 600, 10 minutes). Longer videos get a free VIDEO_TOO_LONG row instead of a transcript. Reels over 2 minutes are charged an 'Extra minute' per started minute beyond the first two, so lower this to cap the cost.",
            "default": 600
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify Proxy is the default and recommended. Instagram pages go through the proxy and, when Instagram keeps refusing datacenter IPs, the Actor moves to residential proxies on its own, with no extra charge. Audio is downloaded directly from Instagram's CDN. Change it only to use your own proxies.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}