{
  "openapi": "3.0.1",
  "info": {
    "title": "Instagram Related Profiles: Similar Accounts",
    "description": "Instagram related profiles scraper: give usernames and get a row per similar or lookalike account from Instagram's suggested accounts, up to 5 levels deep, with bio, links, followers, engagement, Reels views and match score, plus category and email when shown. No login. For influencer discovery.",
    "version": "0.8",
    "x-build-id": "8SuSUDW7DT7l6AP1l"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/deepmine~instagram-related-profiles/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-deepmine-instagram-related-profiles",
        "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/deepmine~instagram-related-profiles/runs": {
      "post": {
        "operationId": "runs-sync-deepmine-instagram-related-profiles",
        "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/deepmine~instagram-related-profiles/run-sync": {
      "post": {
        "operationId": "run-sync-deepmine-instagram-related-profiles",
        "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": [
          "usernames"
        ],
        "properties": {
          "usernames": {
            "title": "Instagram profiles",
            "minItems": 1,
            "type": "array",
            "description": "Profiles to find similar accounts for, a list of strings (one per line in the form): a username (natgeo), @username or profile URL (https://www.instagram.com/natgeo/). You get the accounts Instagram suggests for each one (or, with What to get set to the profiles themselves, one row per profile you list); several profiles from one niche give more lookalikes. You pay per profile delivered.",
            "items": {
              "type": "string",
              "pattern": "\\S"
            },
            "default": [
              "krissycela",
              "lilylifts",
              "lisafiitt",
              "gainsbybrains"
            ]
          },
          "mode": {
            "title": "What to get",
            "enum": [
              "related",
              "profiles"
            ],
            "type": "string",
            "description": "`related` (default): the accounts Instagram suggests for your profiles. `profiles`: one row per profile you listed, with its bio, links and counts (turn on business contact details for every email and phone found).",
            "default": "related"
          },
          "maxDepth": {
            "title": "Depth",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Related profiles only. 1 = the accounts Instagram suggests for your profiles: the closest lookalikes, up to 50 each. 2 = also the accounts suggested for those: hundreds more per profile, drifting further from your niche (a fitness creator's list can lead to actors and pop stars). Up to 5.",
            "default": 1
          },
          "maxResultsPerProfile": {
            "title": "Max related profiles per profile",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Related profiles per input profile, closest first (related profiles only). You pay per profile, so this caps the cost per input profile. Default 500.",
            "default": 500
          },
          "includeStats": {
            "title": "Include followers and engagement",
            "type": "boolean",
            "description": "Adds each profile's exact follower and post counts, average likes and comments on its latest posts, engagement rate and last post date. Free: no extra charge. Turn off for the fastest runs (username, name and picture only).",
            "default": true
          },
          "includeDetails": {
            "title": "Include bio, links and category",
            "type": "boolean",
            "description": "Adds each profile's full bio, bio links, website, category, account type, contact email (when the bio shows one), following count, linked Facebook page and more. Included in the price; turn it off only for a slightly faster list.",
            "default": true
          },
          "includeLatestPosts": {
            "title": "Include latest posts",
            "type": "boolean",
            "description": "Adds each profile's latest posts (up to 6) with caption, hashtags, likes, comments, time, image, location and coauthors. Free: no extra charge; rows get bigger.",
            "default": false
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "instagram",
              "bestMatch"
            ],
            "type": "string",
            "description": "Related profiles only. `instagram` (default): Instagram's order, rows stream in as each list is read, in the order Instagram suggests them. `bestMatch`: profiles that several of your input profiles lead to come first (matchedSeeds, seedCount), then the highest match score; rows arrive once every list is read. Free.",
            "default": "instagram"
          },
          "minSimilarityScore": {
            "title": "Min match score",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Related profiles only. Keep only profiles whose match score (0-100, how close each one is to the profile it was found for) is at least this. Free: profiles left out aren't charged."
          },
          "taggedNetworkFallback": {
            "title": "When Instagram suggests nothing: use the tagged network",
            "type": "boolean",
            "description": "Related profiles only. For an input profile Instagram suggests no accounts for, get the accounts that the accounts it tags (venues, partner brands, clubs) tag in their posts, flagged source = tagged-network. Works for creators and local businesses, rarely for brands. Same price per profile.",
            "default": false
          },
          "minFollowers": {
            "title": "Min followers",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only profiles with at least this many followers. Free: profiles left out aren't charged."
          },
          "maxFollowers": {
            "title": "Max followers",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only profiles with at most this many followers (e.g. 100000 for micro-influencers). Free: profiles left out aren't charged."
          },
          "minPosts": {
            "title": "Min posts",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only profiles with at least this many posts (skips new or empty accounts). Free: profiles left out aren't charged."
          },
          "maxPosts": {
            "title": "Max posts",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only profiles with at most this many posts. Free: profiles left out aren't charged."
          },
          "minEngagementRate": {
            "title": "Min engagement rate (%)",
            "minimum": 0,
            "type": "number",
            "description": "Keep only profiles whose engagement rate (average likes + comments on the latest posts, over followers) is at least this many percent, e.g. 1.5. Free: profiles left out aren't charged."
          },
          "maxEngagementRate": {
            "title": "Max engagement rate (%)",
            "minimum": 0,
            "type": "number",
            "description": "Keep only profiles whose engagement rate is at most this many percent. Free: profiles left out aren't charged."
          },
          "minMedianEngagementRate": {
            "title": "Min median engagement rate (%)",
            "minimum": 0,
            "type": "number",
            "description": "Keep only profiles whose median engagement rate (likes + comments over followers, per post, median of the latest posts) is at least this many percent, e.g. 1. Free: profiles left out aren't charged."
          },
          "minPostsInPeriod": {
            "title": "Min posts in period",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Keep only profiles that published at least this many posts in the last Period days (below). Free: profiles left out aren't charged."
          },
          "postsCheckPeriodDays": {
            "title": "Period (days)",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "The window Min posts in period counts, in days (7, 14 or 30, up to 30).",
            "default": 30
          },
          "lastPostDays": {
            "title": "Posted within (days)",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Keep only profiles whose newest post is at most this many days old (e.g. 30). Free: profiles left out (and those showing no post) aren't charged."
          },
          "lastReelDays": {
            "title": "Posted a reel within (days)",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Keep only profiles whose newest reel is at most this many days old. Free: profiles left out (and those showing no reel) aren't charged."
          },
          "isVerified": {
            "title": "Verified",
            "enum": [
              "yes",
              "no"
            ],
            "type": "string",
            "description": "yes = only accounts with the blue check, no = only accounts without it, empty = both. Free: profiles left out aren't charged."
          },
          "isPrivate": {
            "title": "Private",
            "enum": [
              "yes",
              "no"
            ],
            "type": "string",
            "description": "no = skip private accounts, yes = only private accounts, empty = both. Free: profiles left out aren't charged."
          },
          "isBusinessAccount": {
            "title": "Business account",
            "enum": [
              "yes",
              "no"
            ],
            "type": "string",
            "description": "yes = only business accounts (brands, shops, organizations), no = only personal and creator accounts, empty = both. Free: profiles left out aren't charged."
          },
          "bioKeywords": {
            "title": "Bio keywords",
            "type": "array",
            "description": "Keep only profiles whose bio, name or category contains any of these words (e.g. coach, founder, nyc). Free: profiles left out aren't charged.",
            "items": {
              "type": "string",
              "pattern": "\\S"
            }
          },
          "profileLanguage": {
            "title": "Languages",
            "type": "array",
            "description": "Keep only profiles that write in one of these languages (their bio and latest captions, the detectedLanguage column): codes (en, es, pt) or names (English, Spanish). Free: profiles left out aren't charged.",
            "items": {
              "type": "string",
              "pattern": "\\S"
            }
          },
          "keepUnknownLanguage": {
            "title": "Keep profiles whose language can't be told",
            "type": "boolean",
            "description": "With Languages set: also keep profiles with too little text to tell their language (an empty detectedLanguage). Off: they are left out, free.",
            "default": false
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stop after this many related profiles in total. You pay per profile, so this caps the run's cost. Profiles come in the order of your input.",
            "default": 10000
          },
          "includeReels": {
            "title": "Include Reels views",
            "type": "boolean",
            "description": "Adds each profile's latest reels (up to 12) with their views, likes and comments, plus median and average reel views, views over followers and the last reel's date. Included in the price: one more quick datacenter request per profile.",
            "default": true
          },
          "includeActivityMetrics": {
            "title": "Include activity metrics",
            "type": "boolean",
            "description": "Adds each profile's posts in the last 30 days (its posts tab is read on until the 30 days are covered), posts per month, days since its newest post, median engagement rate over its latest posts and a good/poor engagement flag. Free: no extra charge.",
            "default": false
          },
          "includeContactDetails": {
            "title": "Include business contact details",
            "type": "boolean",
            "description": "Adds a business email (and a phone, when the site lists one) found on a business profile's Facebook Page, the profile's own link-in-bio page, website (and its contact page), or the YouTube channel or TikTok profile they link to, every email and phone found (emails, phones, whatsappNumbers), the Contact button's type (CALL, EMAIL, TEXT), the business address when the profile shows one, and the story highlight count. Included in the price, but slower (a few seconds more per profile). Instagram hides the Contact button's own phone and email from visitors who aren't logged in, and the Actor never logs in; phones and emails written in the bio are always included.",
            "default": false
          },
          "contactSearchSeconds": {
            "title": "Contact search time per profile (seconds)",
            "minimum": 1,
            "maximum": 60,
            "type": "number",
            "description": "Mode 'The input profiles themselves' with contact details on: how long the search for each profile's email and phone (its own pages and Instagram's contact details) may take. Short is fast; longer reads more pages (a shop's events or FAQ page, a creator's YouTube channel) and finds more addresses.",
            "default": 2.5
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify Proxy (datacenter) is the default and reads everything, bio and links included. When Instagram refuses a datacenter IP (an age-restricted input profile's page, a retry), the Actor uses a little Apify residential on its own, at no extra cost to you. Picking Residential here works the same way (its country applies to those residential tries).",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}