{
  "openapi": "3.0.1",
  "info": {
    "title": "Instagram Content Scraper - Posts + Reels [NO LOGIN] ✅",
    "description": "Scrape every public Instagram post AND reel from any profile in one run. Get captions, likes, comments, plays, video URLs, carousel images, and verified status. No login, no cookies. Built for influencer research, content strategy, and brand monitoring.",
    "version": "0.0",
    "x-build-id": "ZPHyCS4u3kI8FkddQ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/unseenuser~IG-posts/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-unseenuser-IG-posts",
        "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/unseenuser~IG-posts/runs": {
      "post": {
        "operationId": "runs-sync-unseenuser-IG-posts",
        "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/unseenuser~IG-posts/run-sync": {
      "post": {
        "operationId": "run-sync-unseenuser-IG-posts",
        "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": "Instagram profiles",
            "uniqueItems": true,
            "type": "array",
            "description": "One entry per profile. Each entry can be any of:\n- a profile URL: https://www.instagram.com/natgeo/\n- a handle with or without @: natgeo, @natgeo\n- a numeric Instagram user ID: 529823214 (reels only - posts require a handle)\n\nMix any of these freely. Duplicates are removed automatically.",
            "items": {
              "type": "string"
            }
          },
          "results_type": {
            "title": "Which content to fetch",
            "enum": [
              "posts",
              "reels",
              "both"
            ],
            "type": "string",
            "description": "Choose whether to fetch posts, reels, or both. Default is 'both'.",
            "default": "both"
          },
          "max_items_per_profile": {
            "title": "Max items per profile (0 = all posts + reels)",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "Cap on items returned for each profile. Set to 0 (default) to fetch every available post and reel with no cap. Set to a positive number between 1 and 5000 for a bounded sample - useful for testing or when you only need a slice.",
            "default": 0
          },
          "profile_concurrency": {
            "title": "Profile concurrency",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many profiles to process in parallel. Default 5. For very large bulk runs (hundreds of profiles) raising this to 10 to 20 significantly reduces wall-clock time. Set to 1 for strictly sequential processing.",
            "default": 5
          },
          "strict_author_match": {
            "title": "Only content owned by the queried profile (drop collabs)",
            "type": "boolean",
            "description": "Enabled by default. Drops rows where the post author does not match the profile you queried, so you never see posts by other creators that Instagram happens to return on the profile's feed (collabs, coauthored posts, tagged content). Disable this if you want the raw feed including collab / coauthored content - each row's author.handle will then be the actual primary author (which may differ from _metadata.input_identifier).",
            "default": true
          },
          "enrich_reel_transcripts": {
            "title": "Enrich reel transcripts",
            "type": "boolean",
            "description": "OPT-IN, disabled by default. If enabled, fetches an AI-generated transcript for each reel under 2 minutes and adds a 'transcript' field to those rows. Only reel-type rows are transcribed (regardless of which feed they arrived on); photos, carousels, standalone video posts, and text-only posts are never sent to the transcript endpoint. Each transcript call takes 10 to 30 seconds, so wall time on profiles with many reels increases significantly. Responses are cached upstream for 7 days, so a reel appearing in both feeds within a single run is only transcribed once. Reels 2 minutes or longer are skipped (the transcript API rejects them). When disabled, output rows are byte-for-byte identical to previous runs.",
            "default": false
          },
          "trim": {
            "title": "Return slimmed-down response",
            "type": "boolean",
            "description": "Drop heavy CDN/transcode fields from each row to keep the output lean.",
            "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}