{
  "openapi": "3.0.1",
  "info": {
    "title": "Instagram Auto Commenter: Comment Bot for Posts & Reels",
    "description": "Instagram auto commenter and comment bot. Automatically comment on the newest posts and reels of any usernames, or on exact post URLs, from your own account. Rotating comments, human-like typing and delays, action-block protection. Only verified comments are charged. Pay per comment.",
    "version": "0.0",
    "x-build-id": "q2Z0NwpmAoDO0QeJC"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/am_production~instagram-auto-commenter/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-am_production-instagram-auto-commenter",
        "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/am_production~instagram-auto-commenter/runs": {
      "post": {
        "operationId": "runs-sync-am_production-instagram-auto-commenter",
        "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/am_production~instagram-auto-commenter/run-sync": {
      "post": {
        "operationId": "run-sync-am_production-instagram-auto-commenter",
        "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": [
          "comments"
        ],
        "properties": {
          "session_id": {
            "title": "Step 1: Your Instagram session",
            "type": "string",
            "description": "Lets the actor comment from YOUR account without your password.<br><br><b>Easiest way (1 minute):</b><br>1. Open <a href=\"https://www.instagram.com\" target=\"_blank\">instagram.com</a> in Chrome and log in.<br>2. Press <b>F12</b> &rarr; <b>Application</b> tab (Firefox: <b>Storage</b>) &rarr; <b>Cookies</b> &rarr; <b>https://www.instagram.com</b>.<br>3. Find the row named <b>sessionid</b>, double-click its Value, copy it and paste it here.<br><br>You can also paste a whole cookie export from any extension (Cookie-Editor, EditThisCookie, Puppeteer JSON) or a <code>name=value; ...</code> cookie string. Anything works. Do not log out of that browser afterwards, logging out ends the session."
          },
          "usernames": {
            "title": "Step 2: Accounts to comment on",
            "type": "array",
            "description": "Accounts whose newest posts and reels should get a comment. One per line. Usernames, @usernames and profile links all work, e.g. <code>natgeo</code>, <code>@nasa</code> or <code>https://www.instagram.com/natgeo/</code>.",
            "items": {
              "type": "string"
            }
          },
          "post_urls": {
            "title": "Or exact post / reel links",
            "type": "array",
            "description": "Optional. Specific posts or reels to comment on, one per line, e.g. <code>https://www.instagram.com/p/C9xxxxxxxxx/</code>.",
            "items": {
              "type": "string"
            }
          },
          "comments": {
            "title": "Step 3: Comments to post",
            "type": "array",
            "description": "One comment per line. A random one is picked for each post and not repeated on the same account while others remain. Write <code>{username}</code> to insert the account name, e.g. <code>Love this, @{username}!</code>",
            "items": {
              "type": "string"
            }
          },
          "posts_per_user": {
            "title": "Posts to comment on per account",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "How many of the newest posts or reels to comment on for each account. 0 = all posts (still stops at Max comments per run). Posts you already commented on are skipped for free.",
            "default": 1
          },
          "max_comments_per_run": {
            "title": "Max comments per run",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Safety cap on the total number of comments in one run. Instagram tolerates far fewer comments than likes, roughly 20 to 50 per day on an established account. Keep runs small and schedule them.",
            "default": 20
          },
          "comments_per_post": {
            "title": "Comments per post",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "How many comments to leave on each post. Each one uses a different text from your list, so add at least that many comments. More than one comment on the same post looks unnatural fast, keep it at 1 or 2.",
            "default": 1
          },
          "skip_already_commented": {
            "title": "Skip posts I already commented on",
            "type": "boolean",
            "description": "Before the first comment on a post, checks the visible comments for your own username and skips the post if it finds one. Skipped posts are free. Turn this off if you want to comment on posts you already commented on.",
            "default": true
          },
          "min_delay_seconds": {
            "title": "Min delay between comments (s)",
            "minimum": 3,
            "maximum": 300,
            "type": "integer",
            "description": "Shortest pause between posting one comment and opening the next post. Comments are watched much more closely than likes, so keep this at 10 seconds or more.",
            "default": 10
          },
          "max_delay_seconds": {
            "title": "Max delay between comments (s)",
            "minimum": 3,
            "maximum": 600,
            "type": "integer",
            "description": "Longest pause between comments. A random delay between min and max is used, and typing itself is slowed to a human pace.",
            "default": 25
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Usually not needed. If Instagram keeps asking this session for verification, a residential proxy from your account's country helps."
          },
          "instagram_cookies": {
            "title": "Cookie export as JSON (old field)",
            "type": "array",
            "description": "Kept so older saved tasks keep working. New users: leave empty and use Step 1 instead, which accepts the same exports."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}