{
  "openapi": "3.0.1",
  "info": {
    "title": "Instagram Scraper - Profiles, Posts & Reels",
    "description": "Returns public Instagram profiles, posts, reels and the comments under posts, without a login: full captions, UTC dates, engagement counts and up to 100 comments per post. Filter posts by date and bound the pages read. A profile or post that does not exist is not charged.",
    "version": "1.0",
    "x-build-id": "DvuAH6gZWXlNDdotg"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/benthepythondev~instagram-intelligence-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-benthepythondev-instagram-intelligence-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/benthepythondev~instagram-intelligence-scraper/runs": {
      "post": {
        "operationId": "runs-sync-benthepythondev-instagram-intelligence-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/benthepythondev~instagram-intelligence-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-benthepythondev-instagram-intelligence-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": {
          "mode": {
            "title": "Scraping Mode",
            "enum": [
              "profile",
              "posts",
              "comments",
              "followers",
              "following",
              "hashtag",
              "search",
              "reels",
              "stories"
            ],
            "type": "string",
            "description": "What to read. `profile`, `posts`, `reels` and `comments` work without a login. `followers`, `following`, `hashtag`, `search` and `stories` are shown by Instagram to signed-in users only: without your own session cookie these modes end with no results, and no result is charged.",
            "default": "profile"
          },
          "username": {
            "title": "Username",
            "type": "string",
            "description": "Instagram username to scrape (without @). Profile URLs like https://www.instagram.com/natgeo/ also work. Required for profile, posts, followers, following, reels, and stories modes.",
            "default": "instagram"
          },
          "postUrls": {
            "title": "Post URLs",
            "type": "array",
            "description": "Post or reel links for the comments mode, for example [\"https://www.instagram.com/p/DdG4RIxIPyf/\"]. One result per post, holding up to 100 of its top-level comments. A link that leads to no public post, or to a post that shows visitors no comment, returns no result and is not charged."
          },
          "hashtag": {
            "title": "Hashtag",
            "type": "string",
            "description": "Hashtag to read posts from (without #), for the hashtag mode. Needs `sessionCookie`."
          },
          "searchQuery": {
            "title": "Search Query",
            "type": "string",
            "description": "Words to search profiles and hashtags for, in the search mode. Needs `sessionCookie`."
          },
          "maxResults": {
            "title": "Max Results",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Results to return. Profile, posts and reels accept up to 1,000; public visibility and page limits can return fewer. In comments mode it is the number of posts read.",
            "default": 2
          },
          "maxCommentsPerPost": {
            "title": "Max Comments Per Post",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Comments to return per post, up to 100 (a larger value is read as 100). For whole comment lists use the Instagram Comments Scraper, which returns one row per comment.",
            "default": 50
          },
          "includeEngagement": {
            "title": "Include Engagement Metrics",
            "type": "boolean",
            "description": "Optional engagement count or public sample rate. An unavailable public sample does not imply zero engagement.",
            "default": true
          },
          "includeSentiment": {
            "title": "Include Sentiment Analysis",
            "type": "boolean",
            "description": "Optional keyword-based positive/negative/neutral label; this is a heuristic, not a trained language model.",
            "default": true
          },
          "includeLeadScore": {
            "title": "Include Lead Score",
            "type": "boolean",
            "description": "Calculate lead quality score (0-100) based on engagement and authenticity",
            "default": true
          },
          "extractEmails": {
            "title": "Extract Emails",
            "type": "boolean",
            "description": "Extract email addresses from bio and posts",
            "default": true
          },
          "extractPhones": {
            "title": "Extract Phone Numbers",
            "type": "boolean",
            "description": "Extract phone numbers from bio and contact button",
            "default": true
          },
          "minFollowers": {
            "title": "Minimum Followers",
            "minimum": 0,
            "type": "integer",
            "description": "Filter profiles by minimum follower count (0 = no filter)",
            "default": 0
          },
          "maxFollowers": {
            "title": "Maximum Followers",
            "minimum": 0,
            "type": "integer",
            "description": "Filter profiles by maximum follower count (0 = no filter)",
            "default": 0
          },
          "verifiedOnly": {
            "title": "Verified Accounts Only",
            "type": "boolean",
            "description": "Only scrape verified accounts",
            "default": false
          },
          "sessionCookie": {
            "title": "Session Cookie (Optional)",
            "type": "string",
            "description": "Optional. The `sessionid` cookie of your own signed-in browser session, as `sessionid=…` or the bare value. Needed only for followers, following, hashtag, search and stories; profile, posts, reels and comments do not use it. Use only a session and data you are authorized to access. When Instagram does not accept the cookie, the run ends without results."
          },
          "useInstagrapi": {
            "title": "Use Instagrapi (Private API)",
            "type": "boolean",
            "description": "Use Instagram Private API for faster scraping. Requires login credentials.",
            "default": false
          },
          "instagrapiUsername": {
            "title": "Instagram Username (for API)",
            "type": "string",
            "description": "Instagram username for Private API authentication"
          },
          "instagrapiPassword": {
            "title": "Instagram Password (for API)",
            "type": "string",
            "description": "Instagram password for Private API authentication"
          },
          "debugMode": {
            "title": "Debug Mode",
            "type": "boolean",
            "description": "Run browser in non-headless mode and show detailed logs",
            "default": false
          },
          "maxPages": {
            "title": "Maximum public timeline pages",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Page cap for public posts/reels. Date filters scan this bounded window; SUMMARY reports truncation.",
            "default": 5
          },
          "postedAfter": {
            "title": "Posts on or after",
            "type": "string",
            "description": "Inclusive YYYY-MM-DD UTC date for public posts/reels with useInstagrapi=false. Other modes reject this filter."
          },
          "postedBefore": {
            "title": "Posts on or before",
            "type": "string",
            "description": "Inclusive YYYY-MM-DD UTC date for public posts/reels with useInstagrapi=false. Other modes reject this filter."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}