{
  "openapi": "3.0.1",
  "info": {
    "title": "Instagram Auto Liker: Like Posts by User, Location & Hashtag",
    "description": "Instagram auto liker and like bot. Like the newest posts of usernames, of any location (café, neighborhood, whole city) and of any hashtag, from your own account. Newest or top posts, human-like pauses, action-block protection. Free place finder with 9.7M locations. Pay only per verified like.",
    "version": "0.1",
    "x-build-id": "CmEXgLAdlTArIzzEv"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/am_production~instagram-posts-auto-like-tool/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-am_production-instagram-posts-auto-like-tool",
        "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-posts-auto-like-tool/runs": {
      "post": {
        "operationId": "runs-sync-am_production-instagram-posts-auto-like-tool",
        "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-posts-auto-like-tool/run-sync": {
      "post": {
        "operationId": "run-sync-am_production-instagram-posts-auto-like-tool",
        "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": {
          "session_id": {
            "title": "Step 1: Your Instagram session",
            "type": "string",
            "description": "Lets the actor like posts 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."
          },
          "influencers": {
            "title": "Step 2a: Track usernames: posts to like",
            "type": "array",
            "description": "Instagram accounts whose newest posts and reels should be liked. 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>. You can also paste a link to one specific post or reel to like just that post. Fill in any of Step 2a, 2b and 2c.",
            "items": {
              "type": "string"
            }
          },
          "posts_per_user": {
            "title": "Posts to like per account",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "How many of the newest posts or reels to like on each account. Posts you already liked are skipped for free.",
            "default": 2
          },
          "places": {
            "title": "Step 2b: Track locations: posts to like",
            "type": "array",
            "description": "<b>One location link per line</b> (or just its number). Paste many at once with <b>Bulk edit</b>.<br><br><b>Option 1, copy from Instagram:</b><br>• On a computer: open a post tagged at the place, click the place name under the username, and copy the address from your browser.<br>• On the phone app: tap the place name on a post, then <b>⋯</b> → <b>Copy link</b>.<br>It looks like <code>instagram.com/explore/locations/<b>106224666074625</b>/austin-texas/</code><br><br><b>Option 2, copy from our website:</b> open <a href=\"https://places.nosite.app\" target=\"_blank\"><b>places.nosite.app</b></a> (9.7 million places in the USA, Europe and Egypt), pick a country and city, click <b>+</b> on the places you want or add the whole city's own tag, then <b>Copy for Apify</b> and paste here.",
            "items": {
              "type": "string"
            }
          },
          "places_tab": {
            "title": "Which posts at each location",
            "enum": [
              "recent",
              "top"
            ],
            "type": "string",
            "description": "Newest posts come from people who are active right now and most likely to notice your like. Top posts are the location's most popular posts, often weeks old.",
            "default": "recent"
          },
          "posts_per_place": {
            "title": "Posts to like per location",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "How many of the newest posts to like at each location (1 to 50). Already-liked posts are skipped for free.",
            "default": 3
          },
          "hashtags": {
            "title": "Step 2c: Track hashtags: posts to like",
            "type": "array",
            "description": "One hashtag per line, with or without <b>#</b> (e.g. <code>cairocafe</code>). Any language works (e.g. <code>#القاهرة</code>). Tip: specific hashtags (<code>#zamalekcafe</code>) reach people better than huge ones (<code>#love</code>).",
            "items": {
              "type": "string"
            }
          },
          "hashtags_tab": {
            "title": "Which posts under each hashtag",
            "enum": [
              "recent",
              "top"
            ],
            "type": "string",
            "description": "Newest posts are minutes to hours old. Top posts are the hashtag's most popular posts, often weeks old.",
            "default": "recent"
          },
          "posts_per_hashtag": {
            "title": "Posts to like per hashtag",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "How many posts to like under each hashtag (1 to 50). Already-liked posts are skipped for free.",
            "default": 3
          },
          "max_likes_per_run": {
            "title": "Max likes per run",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Safety cap for the whole run, up to 200. Instagram tolerates roughly 100 to 200 likes per day on an established account, so keep runs small. Need more? Save this as a task and add a schedule that runs it several times a day (Task &rarr; Schedules). Already liked posts are skipped for free.",
            "default": 60
          },
          "min_delay_seconds": {
            "title": "Min delay between actions (s)",
            "minimum": 2,
            "maximum": 10,
            "type": "integer",
            "description": "Shortest pause between likes, 2 to 10 seconds. Lower is faster but riskier. The default of 3 is safe for most accounts.",
            "default": 3
          },
          "max_delay_seconds": {
            "title": "Max delay between actions (s)",
            "minimum": 4,
            "maximum": 16,
            "type": "integer",
            "description": "Longest pause between likes, 4 to 16 seconds. A random pause between min and max is used before each like, so 3 and 8 give about 1 like every 8 to 13 seconds.",
            "default": 8
          },
          "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}