{
  "openapi": "3.0.1",
  "info": {
    "title": "Instagram Reels Scraper With Engagement Analytics",
    "description": "Instagram Reels Scraper extracts Reels from any public Instagram profile or feed, capturing captions, audio, hashtags, media URLs, views, likes, comments, and timestamps. Ideal for trend analysis, influencer research, content strategy, and automating structured Instagram Reels data collection.",
    "version": "0.1",
    "x-build-id": "p0mru11emq8axh6se"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/simpleapi~instagram-reels-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-simpleapi-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/simpleapi~instagram-reels-scraper/runs": {
      "post": {
        "operationId": "runs-sync-simpleapi-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/simpleapi~instagram-reels-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-simpleapi-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": {
          "creatorProfiles": {
            "title": "🤝👤 Creator Profiles / Usernames",
            "type": "array",
            "description": "🎯 Add one or more Instagram usernames, @handles, or profile URLs whose Reels you want analyzed for collaborations, sponsors and engagement. (Accepts the base actor's `username` key too.)",
            "items": {
              "type": "string"
            }
          },
          "reelsPerCreator": {
            "title": "🎞️🔢 Reels To Analyze Per Creator",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "📦 Maximum number of reels to collect and analyze per creator."
          },
          "postedAfter": {
            "title": "📅⏱️ Only Analyze Reels Posted After",
            "type": "string",
            "description": "🗓️ Only analyze reels posted after this date. Use the date picker for an absolute date (YYYY-MM-DD) or type a relative duration like '7 days', '2 weeks', or '1 month'. Leave empty to analyze all."
          },
          "skipPinnedReels": {
            "title": "📌⏭️ Skip Pinned Reels",
            "type": "boolean",
            "description": "🙈 Turn on to ignore pinned reels and focus on regular timeline content. (No schema default — leaving this untouched preserves whatever the base actor's `skipPinnedPosts` value was set to.)"
          },
          "verifiedCollaboratorsOnly": {
            "title": "✔️🤝 Verified Creator/Collaborator Reels Only",
            "type": "boolean",
            "description": "🏅 Keep only reels where the owner, a co-author, or a tagged user carries Instagram's verified badge. Great for isolating brand-safe or influencer-verified collaborations.",
            "default": false
          },
          "paidPartnershipOnly": {
            "title": "💼🏷️ Paid Partnership Reels Only",
            "type": "boolean",
            "description": "📢 Keep only reels flagged by Instagram as a paid partnership / branded content post. Turn off to include organic (non-sponsored) reels too.",
            "default": false
          },
          "includeEngagementAnalytics": {
            "title": "📈🧮 Compute Engagement Rate & Velocity",
            "type": "boolean",
            "description": "🧠 Adds `engagementRate`, `likeToViewRatio`, `commentToViewRatio`, `velocityScore` (engagement ÷ days since posted), and `durationBucket` to every reel.",
            "default": true
          },
          "includeFollowerAnalytics": {
            "title": "👥📐 Compute Views-Per-Follower (Needs Follower Lookup)",
            "type": "boolean",
            "description": "🔎 Fetches each creator's follower count ONCE per profile (not per reel) to compute `viewsPerFollower`, a reach metric normalized by audience size. Turn off to skip this extra per-profile lookup.",
            "default": true
          },
          "includeShareCounts": {
            "title": "🔁📊 Include Share Count",
            "type": "boolean",
            "description": "📈 Include share count for each reel when Instagram makes it available."
          },
          "includeCaptionTranscript": {
            "title": "📝🎙️ Include Caption Transcript",
            "type": "boolean",
            "description": "🧠 Extract and include the spoken-audio transcript text for each reel."
          },
          "includeVideoDownload": {
            "title": "⬇️🎥 Include Downloaded Video",
            "type": "boolean",
            "description": "💾 Download reel videos to the Key-Value Store and include downloadable links in the output."
          },
          "igSessionId": {
            "title": "🔑🙈 Instagram sessionid (Optional Fallback)",
            "type": "string",
            "description": "🛟 Optional Instagram `sessionid` cookie value, used ONLY as a fallback for the follower-count lookup if the logged-out request is blocked. Never required for normal runs."
          },
          "proxySettings": {
            "title": "🛡️🌐 Proxy Configuration",
            "type": "object",
            "description": "🔐 The actor always uses Apify's residential proxy (3 attempts) for reliability. If you provide your own custom proxy URLs here, the actor will try those first and automatically fall back to residential if they fail. Apify proxy group selections are ignored — residential is always the safety net."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}