{
  "openapi": "3.0.1",
  "info": {
    "title": "Instagram Mass Scraper & Follower",
    "description": "This Apify Actor scrapes the follower list of any Instagram account your session can access, then optionally follows those users from your own Instagram account.\n\nUse this to grab your Instagram Session ID:\n\nhttps://chromewebstore.google.com/detail/cookie-editor/hlkenndednhfkekhgcdicdfddnkalmdm",
    "version": "0.0",
    "x-build-id": "jCgbkgcPQQA80kSgY"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/klazmolabs~MassScraper-Follower/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-klazmolabs-MassScraper-Follower",
        "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/klazmolabs~MassScraper-Follower/runs": {
      "post": {
        "operationId": "runs-sync-klazmolabs-MassScraper-Follower",
        "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/klazmolabs~MassScraper-Follower/run-sync": {
      "post": {
        "operationId": "run-sync-klazmolabs-MassScraper-Follower",
        "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",
        "required": [
          "targetUsername",
          "sessionCookie"
        ],
        "properties": {
          "targetUsername": {
            "title": "Target Instagram username or URL",
            "type": "string",
            "description": "Account whose followers you want to collect. Example: nike  or  https://www.instagram.com/nike/"
          },
          "sessionCookie": {
            "title": "Instagram sessionid cookie",
            "type": "string",
            "description": "From Chrome: DevTools → Application → Cookies → https://www.instagram.com → copy the sessionid value. You can also paste a full Cookie header or Cookie-Editor JSON."
          },
          "csrfToken": {
            "title": "CSRF token (optional)",
            "type": "string",
            "description": "Usually auto-detected. Only fill if follows fail with CSRF errors."
          },
          "cookieHeader": {
            "title": "Full cookie header (optional)",
            "type": "string",
            "description": "Optional. Paste a full document.cookie / Cookie header if you prefer that over sessionid alone."
          },
          "dryRun": {
            "title": "Dry run (recommended)",
            "type": "boolean",
            "description": "ON = scrape followers only, do not follow anyone. Turn OFF only when you are ready to send follow requests.",
            "default": true
          },
          "scrapeOnly": {
            "title": "Scrape only (never follow)",
            "type": "boolean",
            "description": "Force scrape-only mode even if Dry run is off.",
            "default": false
          },
          "maxFollowers": {
            "title": "Max followers to scrape",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "How many follower usernames to collect from the target account.",
            "default": 100
          },
          "maxFollowsPerRun": {
            "title": "Max follows per run",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Max follow actions this run. Use 0 to scrape only. Recommended: 10–20 for new accounts, 20–40 for mature ones.",
            "default": 20
          },
          "delayBetweenFollowsSeconds": {
            "title": "Delay between follows (seconds)",
            "minimum": 5,
            "maximum": 600,
            "type": "integer",
            "description": "Wait time between each follow. Higher is safer.",
            "default": 25
          },
          "randomDelayVariationSeconds": {
            "title": "Random delay variation (seconds)",
            "minimum": 0,
            "maximum": 120,
            "type": "integer",
            "description": "Adds +/- this many seconds to each delay so it looks less robotic.",
            "default": 8
          },
          "skipPrivateAccounts": {
            "title": "Skip private accounts",
            "type": "boolean",
            "description": "When following, skip private profiles.",
            "default": true
          },
          "skipAlreadyFollowing": {
            "title": "Skip already following / requested",
            "type": "boolean",
            "description": "Skip users Instagram reports as already following or requested.",
            "default": true
          },
          "rememberFollowedUsers": {
            "title": "Remember followed users across runs",
            "type": "boolean",
            "description": "ON = save everyone this Actor successfully followed and skip them on the next run (so you don't keep following the same first people in the list).",
            "default": true
          },
          "resetFollowedMemory": {
            "title": "Reset follow memory",
            "type": "boolean",
            "description": "Clear the saved list of already-followed users before this run.",
            "default": false
          },
          "followMemoryStoreName": {
            "title": "Follow memory store name",
            "type": "string",
            "description": "Named Apify Key-Value Store used to remember followed users. Change only if you run multiple Instagram accounts and want separate memories.",
            "default": "instagram-follow-memory"
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Use Apify Proxy → RESIDENTIAL. Pick a proxy country close to where the Instagram account usually logs in. The Actor uses a sticky session so the same IP stays paired with your cookie."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}