{
  "openapi": "3.0.1",
  "info": {
    "title": "Instagram Transcript Scraper",
    "description": "Instagram transcript scraper: the transcript of Instagram reels and videos from Instagram's own captions: text, timed segments, SRT and VTT, language and the first three seconds, with each reel's views, likes and creator. Paste reel links, or read a profile's latest reels or a search.",
    "version": "0.1",
    "x-build-id": "bW474CCnv3UbmKfVy"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dami_studio~instagram-transcript-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dami_studio-instagram-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/dami_studio~instagram-transcript-scraper/runs": {
      "post": {
        "operationId": "runs-sync-dami_studio-instagram-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/dami_studio~instagram-transcript-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-dami_studio-instagram-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": "Reel or post links, one per line, such as https://www.instagram.com/reel/DeSM5CYPDfd/. A bare shortcode (DeSM5CYPDfd) and share links work too. Up to 1,000 a run.",
            "items": {
              "type": "string"
            }
          },
          "usernames": {
            "title": "Profiles",
            "type": "array",
            "description": "Accounts whose latest reels you want, as nasa, @nasa or a profile link. Up to 50 a run. Private accounts come back as a free note row.",
            "items": {
              "type": "string"
            }
          },
          "maxReelsPerProfile": {
            "title": "Reels per profile",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "How many of each profile's most recent reels to read. The date, views and pinned filters below apply to these.",
            "default": 10
          },
          "searchQueries": {
            "title": "Search words",
            "type": "array",
            "description": "Words or short phrases. The run reads the reels Instagram's search returns for each one, from any creator. Up to 20.",
            "items": {
              "type": "string"
            }
          },
          "hashtags": {
            "title": "Hashtags",
            "type": "array",
            "description": "Hashtags, with or without the #. The run reads the reels Instagram's search returns for each tag. Up to 20.",
            "items": {
              "type": "string"
            }
          },
          "maxReelsPerSearch": {
            "title": "Reels per search word or hashtag",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "How many reels to read for each search word and each hashtag.",
            "default": 10
          },
          "datasetId": {
            "title": "Reels from a dataset",
            "type": "string",
            "description": "A dataset in your account, for example an Instagram scraper's results. The run reads the reel and post links from its url, reelUrl, postUrl, inputUrl, shortCode or code fields and adds them to the reel links above. It only reads that dataset."
          },
          "maxItems": {
            "title": "Maximum reels in all",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "The run stops after this many reels, across every input above, so a long list can't cost more than you expect. Keep it small while testing.",
            "default": 50
          },
          "postedAfter": {
            "title": "Posted on or after",
            "type": "string",
            "description": "Profiles, searches and hashtags only: keep reels posted on or after this date (UTC). A date like 2026-03-01, or a span back from today like \"3 weeks\" or \"7 days\". Leave empty for no start date."
          },
          "postedBefore": {
            "title": "Posted on or before",
            "type": "string",
            "description": "Profiles, searches and hashtags only: keep reels posted on or before this date (UTC), the whole day included. A date like 2026-03-31, or a span like \"1 week\". Leave empty for no end date."
          },
          "minViews": {
            "title": "Minimum views",
            "minimum": 0,
            "type": "integer",
            "description": "Profiles, searches and hashtags only: keep reels with at least this many plays. Leave empty to keep every reel."
          },
          "skipPinnedReels": {
            "title": "Skip pinned reels",
            "type": "boolean",
            "description": "Profiles only: leave out the reels an account has pinned to the top of its profile, which are often old.",
            "default": false
          },
          "onlyNewReels": {
            "title": "Only reels not delivered before",
            "type": "boolean",
            "description": "Skip reels that an earlier run with the same watchlist name already delivered. They're not looked up again and not charged. Handy on a schedule. The list lives in a key-value store of that name in your own account.",
            "default": false
          },
          "watchlistName": {
            "title": "Watchlist name",
            "type": "string",
            "description": "The name of the store that remembers delivered reels, used with \"Only reels not delivered before\". Letters, digits and dashes. Use one name per job you schedule.",
            "default": "instagram-transcripts-seen"
          },
          "speechToText": {
            "title": "Transcribe speech when there are no captions",
            "type": "boolean",
            "description": "For reels without Instagram captions, make the transcript from the reel's speech. Paid as a transcript. Reels up to 90 seconds long.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}