{
  "openapi": "3.0.1",
  "info": {
    "title": "Instagram Profile Scraper with Jev AI - Niche & Brand Safety",
    "description": "Paste a list of Instagram usernames or profile links and get each account's follower, following and post counts, bio, website link and verified status in one table. No Instagram login needed. Export to Excel, CSV or Google Sheets, or schedule it daily to track follower growth over time.",
    "version": "0.1",
    "x-build-id": "4rtkz1UwNC7hTLYZd"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/abdullahbilal-y~instagram-jev-ai-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-abdullahbilal-y-instagram-jev-ai-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/abdullahbilal-y~instagram-jev-ai-scraper/runs": {
      "post": {
        "operationId": "runs-sync-abdullahbilal-y-instagram-jev-ai-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/abdullahbilal-y~instagram-jev-ai-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-abdullahbilal-y-instagram-jev-ai-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": {
          "usernames": {
            "title": "Instagram usernames or profile links",
            "maxItems": 5000,
            "type": "array",
            "description": "One account per line: nasa, @nasa or https://www.instagram.com/nasa/. Each profile found is one result.",
            "items": {
              "type": "string"
            },
            "default": [
              "nasa",
              "natgeo",
              "nike"
            ]
          },
          "includePosts": {
            "title": "Include recent posts",
            "type": "boolean",
            "description": "Attach the account's 12 most recent posts (caption, type, date, hashtags, mentions, collab and #ad flags) to each profile. Turn off for a lighter table. Instagram does not show likes or comment counts to logged-out visitors, so they are not included.",
            "default": true
          },
          "enableAiAnalysis": {
            "title": "AI vetting (included in price)",
            "type": "boolean",
            "description": "Adds niche, account type, brand-safety score and sponsored-content likelihood to every profile, read from its bio and recent captions by the Jev model from TypeSafe AI. No extra charge from this Actor.",
            "default": true
          },
          "topic": {
            "title": "Your brand or campaign (for fit scoring)",
            "type": "string",
            "description": "Optional. E.g. 'vegan skincare for women in their 20s' - every profile gets a 0-1 brand-fit score."
          },
          "customQuestions": {
            "title": "Your own yes/no questions",
            "maxItems": 10,
            "type": "array",
            "description": "Up to 10, each answered per profile as a 0-1 probability, e.g. 'Does this account post in Spanish?' or 'Has it promoted a competitor of Nike?'. Included in the price.",
            "items": {
              "type": "string"
            }
          },
          "vercelAiGatewayKey": {
            "title": "Your own Vercel AI Gateway key (optional)",
            "type": "string",
            "description": "Use your own key for the AI vetting - handy for large lists, since each key has its own rate limit. Vercel AI Gateway serves the Jev model at TypeSafe's own price. Stored encrypted; never logged."
          },
          "typesafeApiKey": {
            "title": "Your own TypeSafe API key (optional)",
            "type": "string",
            "description": "Alternative to the Vercel key: a key from typesafe.ai. Stored encrypted; never logged."
          },
          "onlyNiches": {
            "title": "Only these niches",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep only profiles the AI places in these niches. Leave empty to keep all. Removed profiles are not charged.",
            "items": {
              "type": "string",
              "enum": [
                "fashion",
                "beauty",
                "fitness",
                "food",
                "travel",
                "tech",
                "gaming",
                "music",
                "entertainment",
                "sports",
                "business_finance",
                "education",
                "parenting_family",
                "home_lifestyle",
                "health_wellness",
                "art_design",
                "photography",
                "automotive",
                "pets_animals",
                "news_media",
                "science_nature",
                "politics_activism",
                "comedy_memes",
                "other"
              ]
            }
          },
          "onlyAccountTypes": {
            "title": "Only these account types",
            "uniqueItems": true,
            "type": "array",
            "description": "E.g. keep only creators for influencer outreach, or only brands for B2B prospecting. Removed profiles are not charged.",
            "items": {
              "type": "string",
              "enum": [
                "creator",
                "brand",
                "media_publisher",
                "public_figure",
                "organization",
                "fan_or_meme_page",
                "personal"
              ]
            }
          },
          "minBrandSafetyPct": {
            "title": "Only keep brand safety of at least (%)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "100% = suitable for almost any brand. Removed profiles are not charged.",
            "default": 0
          },
          "minRelevancePct": {
            "title": "Only keep brand fit of at least (%)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Requires 'Your brand or campaign'. Removed profiles are not charged.",
            "default": 0
          },
          "excludeAdHeavy": {
            "title": "Exclude ad-heavy accounts",
            "type": "boolean",
            "description": "Drop accounts the AI judges to post paid partnerships or ads for other brands regularly. Removed profiles are not charged.",
            "default": false
          },
          "requireAllCustomTrue": {
            "title": "Only keep profiles where all my questions are 'yes'",
            "type": "boolean",
            "description": "Treats 50% or more as yes.",
            "default": false
          },
          "minFollowers": {
            "title": "Minimum followers",
            "minimum": 0,
            "type": "integer",
            "description": "Free filter, applied before any AI work. Removed profiles are not charged."
          },
          "maxFollowers": {
            "title": "Maximum followers",
            "minimum": 0,
            "type": "integer",
            "description": "E.g. 100000 to keep micro-influencers only."
          },
          "maxDaysSinceLastPost": {
            "title": "Only accounts active in the last (days)",
            "minimum": 0,
            "type": "integer",
            "description": "Drop accounts whose newest post is older than this. 30 is a good start for outreach lists."
          },
          "skipPrivate": {
            "title": "Skip private accounts",
            "type": "boolean",
            "description": "Private accounts show counts and bio only, no posts.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Required, and already set. Instagram serves profile pages to residential IPs only; each retry takes a fresh one.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}