{
  "data": {
    "id": "rPvz7EtWwiYuE2ZpM",
    "actId": "7YG0FwvsFroVAXASN",
    "userId": "IYgBDiXtHOijAaUel",
    "startedAt": "2026-11-04T09:48:45.387Z",
    "finishedAt": "2026-11-04T09:49:19.285Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CLI"
    },
    "stats": {
      "durationMillis": 33799,
      "runTimeSecs": 33.799,
      "computeUnits": 0.037554444444444446,
      "imageSizeBytes": 671926272
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "QYo53EZkJk0prePWY",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"Sherlock Pro — Username Search & Identity Resolution\",\n  \"description\": \"Search usernames across 400+ social networks, filter to specific target networks, verify found profiles, optionally extract public profile details, or resolve which candidate account on a target network truly belongs to a given source profile.\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"mode\": {\n      \"title\": \"Mode\",\n      \"type\": \"string\",\n      \"editor\": \"select\",\n      \"description\": \"broadSearch: check usernames across networks (optionally filtered) and return every found profile with its status. identityResolution: disambiguate which candidate account on a target network matches a source profile.\",\n      \"enum\": [\n        \"broadSearch\",\n        \"identityResolution\"\n      ],\n      \"enumTitles\": [\n        \"Broad Search\",\n        \"Identity Resolution\"\n      ],\n      \"default\": \"broadSearch\",\n      \"prefill\": \"broadSearch\",\n      \"sectionCaption\": \"Mode\"\n    },\n    \"usernames\": {\n      \"title\": \"Usernames\",\n      \"type\": \"array\",\n      \"description\": \"Usernames to search for (mode=broadSearch). Accepts one to 500, but only maxUsernames (default 100) are processed per run; the status message and record warnings report any shortfall. Supports the {?} wildcard (e.g. 'john{?}doe' expands to 'john_doe', 'john-doe', 'john.doe'). A leading @ is ignored. The legacy single `username` field is still accepted.\",\n      \"editor\": \"stringList\",\n      \"prefill\": [\n        \"torvalds\"\n      ],\n      \"items\": {\n        \"type\": \"string\"\n      },\n      \"sectionCaption\": \"Broad Search\"\n    },\n    \"targetNetworks\": {\n      \"title\": \"Target Networks\",\n      \"type\": \"array\",\n      \"description\": \"Limit the search/resolution to these networks. Omit to check the 410-site safe sweep (435 vendored sites minus 17 adult/NSFW and 8 known-false-positive sites; Reddit is only checked when explicitly targeted). In identityResolution this field is required; candidateMode 'verify' requires exactly one network. Discord, Diskusjon.no, and Kvinneguiden are skipped with a warning in identity mode because the site database has no username profile URL template for them. Reddit is checked through its public JSON endpoint.\",\n      \"editor\": \"select\",\n      \"prefill\": [\n        \"GitHub\"\n      ],\n      \"maxItems\": 436,\n      \"items\": {\n        \"type\": \"string\",\n        \"enum\": [\n          \"1337x\",\n          \"2Dimensions\",\n          \"7Cups\",\n          \"9GAG\",\n          \"AWS Skills Profile\",\n          \"About.me\",\n          \"Academia.edu\",\n          \"AdmireMe.Vip\",\n          \"Airbit\",\n          \"All Things Worn\",\n          \"AllMyLinks\",\n          \"AniWorld\",\n          \"Anilist\",\n          \"Aparat\",\n          \"Archive of Our Own\",\n          \"Arduino Forum\",\n          \"ArtStation\",\n          \"Asciinema\",\n          \"Ask Fedora\",\n          \"Atcoder\",\n          \"Audiojungle\",\n          \"Autofrage\",\n          \"Avizo\",\n          \"BOOTH\",\n          \"BabyRu\",\n          \"Bandcamp\",\n          \"Bazar.cz\",\n          \"Behance\",\n          \"Bezuzyteczna\",\n          \"BiggerPockets\",\n          \"BioHacking\",\n          \"BitBucket\",\n          \"Bitwarden Forum\",\n          \"Blipfoto\",\n          \"Blitz Tactics\",\n          \"Blogger\",\n          \"Bluesky\",\n          \"BoardGameGeek\",\n          \"BongaCams\",\n          \"Bookcrossing\",\n          \"BraveCommunity\",\n          \"BreachSta.rs Forum\",\n          \"BugCrowd\",\n          \"BuyMeACoffee\",\n          \"BuzzFeed\",\n          \"CGTrader\",\n          \"CNET\",\n          \"CSSBattle\",\n          \"CTAN\",\n          \"Caddy Community\",\n          \"Car Talk Community\",\n          \"Career.habr\",\n          \"Carrd\",\n          \"CashApp\",\n          \"Cfx.re Forum\",\n          \"Chaos\",\n          \"ChaturBate\",\n          \"Chess\",\n          \"Choice Community\",\n          \"Chollometro\",\n          \"Clapper\",\n          \"CloudflareCommunity\",\n          \"Clozemaster\",\n          \"Clubhouse\",\n          \"Code Snippet Wiki\",\n          \"CodeSandbox\",\n          \"Codeberg\",\n          \"Codecademy\",\n          \"Codechef\",\n          \"Codeforces\",\n          \"Codepen\",\n          \"Coders Rank\",\n          \"Coderwall\",\n          \"Codewars\",\n          \"Coinvote\",\n          \"ColourLovers\",\n          \"Contently\",\n          \"Coroflot\",\n          \"Cplusplus\",\n          \"Cracked\",\n          \"Cracked Forum\",\n          \"Credly\",\n          \"Crevado\",\n          \"Crowdin\",\n          \"CryptoHack\",\n          \"Cryptomator Forum\",\n          \"Cults3D\",\n          \"CurseForge\",\n          \"CyberDefenders\",\n          \"DEV Community\",\n          \"DMOJ\",\n          \"DailyMotion\",\n          \"Dealabs\",\n          \"DigitalSpy\",\n          \"Discogs\",\n          \"Discord\",\n          \"Discuss.Elastic.co\",\n          \"Diskusjon.no\",\n          \"Disqus\",\n          \"Docker Hub\",\n          \"Dribbble\",\n          \"Duolingo\",\n          \"Eintracht Frankfurt Forum\",\n          \"Empretienda AR\",\n          \"Envato Forum\",\n          \"Erome\",\n          \"Exposure\",\n          \"EyeEm\",\n          \"F3.cool\",\n          \"Fameswap\",\n          \"Fandom\",\n          \"Fanpop\",\n          \"Finanzfrage\",\n          \"Flickr\",\n          \"Flightradar24\",\n          \"Flipboard\",\n          \"Football\",\n          \"FortniteTracker\",\n          \"Forum Ophilia\",\n          \"Fosstodon\",\n          \"Framapiaf\",\n          \"Freelancer\",\n          \"Freesound\",\n          \"GNOME VCS\",\n          \"GameFAQs\",\n          \"Gamespot\",\n          \"Genius (Artists)\",\n          \"Genius (Users)\",\n          \"Gesundheitsfrage\",\n          \"GetMyUni\",\n          \"Giant Bomb\",\n          \"Giphy\",\n          \"GitBook\",\n          \"GitHub\",\n          \"GitLab\",\n          \"Gitea\",\n          \"Gitee\",\n          \"GoodReads\",\n          \"Google Play\",\n          \"Gradle\",\n          \"Grailed\",\n          \"Gravatar\",\n          \"Gumroad\",\n          \"Gutefrage\",\n          \"HackMD\",\n          \"HackTheBox\",\n          \"Hackaday\",\n          \"HackenProof (Hackers)\",\n          \"HackerEarth\",\n          \"HackerOne\",\n          \"HackerRank\",\n          \"HackerSploit\",\n          \"Harvard Scholar\",\n          \"Heavy-R\",\n          \"Hive Blog\",\n          \"Holopin\",\n          \"HotUKdeals\",\n          \"Houzz\",\n          \"HubPages\",\n          \"HudsonRock\",\n          \"Hugging Face\",\n          \"IFTTT\",\n          \"IRC-Galleria\",\n          \"Icons8 Community\",\n          \"Ifunny\",\n          \"Image Fap\",\n          \"ImgUp.cz\",\n          \"Imgur\",\n          \"Instagram\",\n          \"Instructables\",\n          \"Intigriti\",\n          \"Ionic Forum\",\n          \"Issuu\",\n          \"Itemfix\",\n          \"Jellyfin Weblate\",\n          \"Jimdo\",\n          \"Joplin Forum\",\n          \"Jupyter Community Forum\",\n          \"Kaggle\",\n          \"Keybase\",\n          \"Kick\",\n          \"Kik\",\n          \"Kongregate\",\n          \"Kvinneguiden\",\n          \"LOR\",\n          \"Laracast\",\n          \"Launchpad\",\n          \"LeetCode\",\n          \"LemmyWorld\",\n          \"LessWrong\",\n          \"Letterboxd\",\n          \"LibraryThing\",\n          \"Lichess\",\n          \"LinkedIn\",\n          \"Linktree\",\n          \"LinuxFR.org\",\n          \"Listed\",\n          \"LiveJournal\",\n          \"Lobsters\",\n          \"LottieFiles\",\n          \"LushStories\",\n          \"MMORPG Forum\",\n          \"Mamot\",\n          \"Medium\",\n          \"Memrise\",\n          \"Minecraft\",\n          \"MixCloud\",\n          \"Monkeytype\",\n          \"Motherless\",\n          \"Motorradfrage\",\n          \"MuseScore\",\n          \"MyAnimeList\",\n          \"MyMiniFactory\",\n          \"Mydealz\",\n          \"Mydramalist\",\n          \"Myspace\",\n          \"NICommunityForum\",\n          \"NationStates Nation\",\n          \"NationStates Region\",\n          \"Naver\",\n          \"Needrom\",\n          \"Newgrounds\",\n          \"Nextcloud Forum\",\n          \"Nightbot\",\n          \"Ninja Kiwi\",\n          \"NintendoLife\",\n          \"NitroType\",\n          \"NotABug.org\",\n          \"Nothing Community\",\n          \"Nyaa.si\",\n          \"Open Collective\",\n          \"OpenGameArt\",\n          \"OpenStreetMap\",\n          \"Opensource\",\n          \"OurDJTalk\",\n          \"Outgress\",\n          \"PSNProfiles.com\",\n          \"Packagist\",\n          \"Pastebin\",\n          \"Patched\",\n          \"Patreon\",\n          \"PentesterLab\",\n          \"PepperNL\",\n          \"PepperPL\",\n          \"Pepperdeals\",\n          \"PepperealsUS\",\n          \"Periscope\",\n          \"Pinkbike\",\n          \"Pinterest\",\n          \"Platzi\",\n          \"PlayStore\",\n          \"Playstrategy\",\n          \"Plurk\",\n          \"PocketStars\",\n          \"Pokemon Showdown\",\n          \"Polarsteps\",\n          \"Polygon\",\n          \"Polymart\",\n          \"Pornhub\",\n          \"Preisjaeger\",\n          \"ProductHunt\",\n          \"PromoDJ\",\n          \"Promodescuentos\",\n          \"Pronouns.page\",\n          \"PyPi\",\n          \"Pychess\",\n          \"Python.org Discussions\",\n          \"Rajce.net\",\n          \"Rate Your Music\",\n          \"Rclone Forum\",\n          \"RedTube\",\n          \"Redbubble\",\n          \"Reddit\",\n          \"Reisefrage\",\n          \"Replit.com\",\n          \"ResearchGate\",\n          \"Roblox\",\n          \"RoyalCams\",\n          \"Ruby Forums\",\n          \"RubyGems\",\n          \"Rumble\",\n          \"RuneScape\",\n          \"SEOForum\",\n          \"SOOP\",\n          \"SWAPD\",\n          \"Sbazar.cz\",\n          \"Scratch\",\n          \"ShitpostBot5000\",\n          \"Signal\",\n          \"Sketchfab\",\n          \"Slack\",\n          \"Slant\",\n          \"Slashdot\",\n          \"Slides\",\n          \"SmugMug\",\n          \"Smule\",\n          \"Snapchat\",\n          \"SoundCloud\",\n          \"SourceForge\",\n          \"SoylentNews\",\n          \"SpaceHey\",\n          \"SpeakerDeck\",\n          \"Speedrun.com\",\n          \"Spells8\",\n          \"Splits.io\",\n          \"Sporcle\",\n          \"Sportlerfrage\",\n          \"SportsRU\",\n          \"Star Citizen\",\n          \"Status Cafe\",\n          \"Steam Community (Group)\",\n          \"Steam Community (User)\",\n          \"Strava\",\n          \"SublimeForum\",\n          \"Substack\",\n          \"TETR.IO\",\n          \"TRAKTRAIN\",\n          \"Telegram\",\n          \"Tellonym.me\",\n          \"Tenor\",\n          \"Terraria Forums\",\n          \"TheMovieDB\",\n          \"ThemeForest\",\n          \"Tiendanube\",\n          \"TikTok\",\n          \"TnAFlix\",\n          \"Topcoder\",\n          \"Topmate\",\n          \"TradingView\",\n          \"TrashboxRU\",\n          \"Trawelling\",\n          \"Trello\",\n          \"Trovo\",\n          \"Tuna\",\n          \"Tweakers\",\n          \"Twitch\",\n          \"Twitter\",\n          \"Typeracer\",\n          \"Ultimate-Guitar\",\n          \"Unsplash\",\n          \"Untappd\",\n          \"VK\",\n          \"VLR\",\n          \"VSCO\",\n          \"Valorant Forums\",\n          \"Velog\",\n          \"Venmo\",\n          \"Vimeo\",\n          \"VirusTotal\",\n          \"Vjudge\",\n          \"WICG Forum\",\n          \"Wakatime\",\n          \"Warframe Market\",\n          \"Warrior Forum\",\n          \"Wattpad\",\n          \"WebNode\",\n          \"Weblate\",\n          \"Weebly\",\n          \"Wikidot\",\n          \"Wikipedia\",\n          \"Windy\",\n          \"Wix\",\n          \"WolframalphaForum\",\n          \"WordPress\",\n          \"WordPressOrg\",\n          \"Wordnik\",\n          \"Wowhead\",\n          \"Wykop\",\n          \"Xbox Gamertag\",\n          \"Xvideos\",\n          \"YouNow\",\n          \"YouPic\",\n          \"YouPorn\",\n          \"YouTube\",\n          \"addons.wago.io\",\n          \"akniga\",\n          \"babyblogRU\",\n          \"chaos.social\",\n          \"couchsurfing\",\n          \"d3RU\",\n          \"datingRU\",\n          \"dcinside\",\n          \"devRant\",\n          \"drive2\",\n          \"eGPU\",\n          \"eintracht\",\n          \"exophase\",\n          \"fl\",\n          \"forum_guns\",\n          \"freecodecamp\",\n          \"furaffinity\",\n          \"geocaching\",\n          \"habr\",\n          \"hackster\",\n          \"igromania\",\n          \"imood\",\n          \"irecommend\",\n          \"jbzd.com.pl\",\n          \"jeuxvideo\",\n          \"kaskus\",\n          \"kofi\",\n          \"kwork\",\n          \"last.fm\",\n          \"leasehackr\",\n          \"livelib\",\n          \"mastodon.cloud\",\n          \"mastodon.social\",\n          \"mastodon.xyz\",\n          \"minds\",\n          \"moikrug\",\n          \"mstdn.io\",\n          \"mstdn.social\",\n          \"n8n Community\",\n          \"nairaland.com\",\n          \"namuwiki\",\n          \"nnRU\",\n          \"note\",\n          \"npm\",\n          \"omg.lol\",\n          \"osu!\",\n          \"pikabu\",\n          \"pixelfed.social\",\n          \"pr0gramm\",\n          \"prog.hu\",\n          \"programming.dev\",\n          \"satsisRU\",\n          \"sessionize\",\n          \"spletnik\",\n          \"threads\",\n          \"tistory\",\n          \"toster\",\n          \"tumblr\",\n          \"uid\",\n          \"write.as\",\n          \"xHamster\",\n          \"znanylekarz.pl\"\n        ],\n        \"enumTitles\": [\n          \"1337x\",\n          \"2Dimensions\",\n          \"7Cups\",\n          \"9GAG\",\n          \"AWS Skills Profile\",\n          \"About.me\",\n          \"Academia.edu\",\n          \"AdmireMe.Vip\",\n          \"Airbit\",\n          \"All Things Worn\",\n          \"AllMyLinks\",\n          \"AniWorld\",\n          \"Anilist\",\n          \"Aparat\",\n          \"Archive of Our Own\",\n          \"Arduino Forum\",\n          \"ArtStation\",\n          \"Asciinema\",\n          \"Ask Fedora\",\n          \"Atcoder\",\n          \"Audiojungle\",\n          \"Autofrage\",\n          \"Avizo\",\n          \"BOOTH\",\n          \"BabyRu\",\n          \"Bandcamp\",\n          \"Bazar.cz\",\n          \"Behance\",\n          \"Bezuzyteczna\",\n          \"BiggerPockets\",\n          \"BioHacking\",\n          \"BitBucket\",\n          \"Bitwarden Forum\",\n          \"Blipfoto\",\n          \"Blitz Tactics\",\n          \"Blogger\",\n          \"Bluesky\",\n          \"BoardGameGeek\",\n          \"BongaCams\",\n          \"Bookcrossing\",\n          \"BraveCommunity\",\n          \"BreachSta.rs Forum\",\n          \"BugCrowd\",\n          \"BuyMeACoffee\",\n          \"BuzzFeed\",\n          \"CGTrader\",\n          \"CNET\",\n          \"CSSBattle\",\n          \"CTAN\",\n          \"Caddy Community\",\n          \"Car Talk Community\",\n          \"Career.habr\",\n          \"Carrd\",\n          \"CashApp\",\n          \"Cfx.re Forum\",\n          \"Chaos\",\n          \"ChaturBate\",\n          \"Chess\",\n          \"Choice Community\",\n          \"Chollometro\",\n          \"Clapper\",\n          \"CloudflareCommunity\",\n          \"Clozemaster\",\n          \"Clubhouse\",\n          \"Code Snippet Wiki\",\n          \"CodeSandbox\",\n          \"Codeberg\",\n          \"Codecademy\",\n          \"Codechef\",\n          \"Codeforces\",\n          \"Codepen\",\n          \"Coders Rank\",\n          \"Coderwall\",\n          \"Codewars\",\n          \"Coinvote\",\n          \"ColourLovers\",\n          \"Contently\",\n          \"Coroflot\",\n          \"Cplusplus\",\n          \"Cracked\",\n          \"Cracked Forum\",\n          \"Credly\",\n          \"Crevado\",\n          \"Crowdin\",\n          \"CryptoHack\",\n          \"Cryptomator Forum\",\n          \"Cults3D\",\n          \"CurseForge\",\n          \"CyberDefenders\",\n          \"DEV Community\",\n          \"DMOJ\",\n          \"DailyMotion\",\n          \"Dealabs\",\n          \"DigitalSpy\",\n          \"Discogs\",\n          \"Discord\",\n          \"Discuss.Elastic.co\",\n          \"Diskusjon.no\",\n          \"Disqus\",\n          \"Docker Hub\",\n          \"Dribbble\",\n          \"Duolingo\",\n          \"Eintracht Frankfurt Forum\",\n          \"Empretienda AR\",\n          \"Envato Forum\",\n          \"Erome\",\n          \"Exposure\",\n          \"EyeEm\",\n          \"F3.cool\",\n          \"Fameswap\",\n          \"Fandom\",\n          \"Fanpop\",\n          \"Finanzfrage\",\n          \"Flickr\",\n          \"Flightradar24\",\n          \"Flipboard\",\n          \"Football\",\n          \"FortniteTracker\",\n          \"Forum Ophilia\",\n          \"Fosstodon\",\n          \"Framapiaf\",\n          \"Freelancer\",\n          \"Freesound\",\n          \"GNOME VCS\",\n          \"GameFAQs\",\n          \"Gamespot\",\n          \"Genius (Artists)\",\n          \"Genius (Users)\",\n          \"Gesundheitsfrage\",\n          \"GetMyUni\",\n          \"Giant Bomb\",\n          \"Giphy\",\n          \"GitBook\",\n          \"GitHub\",\n          \"GitLab\",\n          \"Gitea\",\n          \"Gitee\",\n          \"GoodReads\",\n          \"Google Play\",\n          \"Gradle\",\n          \"Grailed\",\n          \"Gravatar\",\n          \"Gumroad\",\n          \"Gutefrage\",\n          \"HackMD\",\n          \"HackTheBox\",\n          \"Hackaday\",\n          \"HackenProof (Hackers)\",\n          \"HackerEarth\",\n          \"HackerOne\",\n          \"HackerRank\",\n          \"HackerSploit\",\n          \"Harvard Scholar\",\n          \"Heavy-R\",\n          \"Hive Blog\",\n          \"Holopin\",\n          \"HotUKdeals\",\n          \"Houzz\",\n          \"HubPages\",\n          \"HudsonRock\",\n          \"Hugging Face\",\n          \"IFTTT\",\n          \"IRC-Galleria\",\n          \"Icons8 Community\",\n          \"Ifunny\",\n          \"Image Fap\",\n          \"ImgUp.cz\",\n          \"Imgur\",\n          \"Instagram\",\n          \"Instructables\",\n          \"Intigriti\",\n          \"Ionic Forum\",\n          \"Issuu\",\n          \"Itemfix\",\n          \"Jellyfin Weblate\",\n          \"Jimdo\",\n          \"Joplin Forum\",\n          \"Jupyter Community Forum\",\n          \"Kaggle\",\n          \"Keybase\",\n          \"Kick\",\n          \"Kik\",\n          \"Kongregate\",\n          \"Kvinneguiden\",\n          \"LOR\",\n          \"Laracast\",\n          \"Launchpad\",\n          \"LeetCode\",\n          \"LemmyWorld\",\n          \"LessWrong\",\n          \"Letterboxd\",\n          \"LibraryThing\",\n          \"Lichess\",\n          \"LinkedIn\",\n          \"Linktree\",\n          \"LinuxFR.org\",\n          \"Listed\",\n          \"LiveJournal\",\n          \"Lobsters\",\n          \"LottieFiles\",\n          \"LushStories\",\n          \"MMORPG Forum\",\n          \"Mamot\",\n          \"Medium\",\n          \"Memrise\",\n          \"Minecraft\",\n          \"MixCloud\",\n          \"Monkeytype\",\n          \"Motherless\",\n          \"Motorradfrage\",\n          \"MuseScore\",\n          \"MyAnimeList\",\n          \"MyMiniFactory\",\n          \"Mydealz\",\n          \"Mydramalist\",\n          \"Myspace\",\n          \"NICommunityForum\",\n          \"NationStates Nation\",\n          \"NationStates Region\",\n          \"Naver\",\n          \"Needrom\",\n          \"Newgrounds\",\n          \"Nextcloud Forum\",\n          \"Nightbot\",\n          \"Ninja Kiwi\",\n          \"NintendoLife\",\n          \"NitroType\",\n          \"NotABug.org\",\n          \"Nothing Community\",\n          \"Nyaa.si\",\n          \"Open Collective\",\n          \"OpenGameArt\",\n          \"OpenStreetMap\",\n          \"Opensource\",\n          \"OurDJTalk\",\n          \"Outgress\",\n          \"PSNProfiles.com\",\n          \"Packagist\",\n          \"Pastebin\",\n          \"Patched\",\n          \"Patreon\",\n          \"PentesterLab\",\n          \"PepperNL\",\n          \"PepperPL\",\n          \"Pepperdeals\",\n          \"PepperealsUS\",\n          \"Periscope\",\n          \"Pinkbike\",\n          \"Pinterest\",\n          \"Platzi\",\n          \"PlayStore\",\n          \"Playstrategy\",\n          \"Plurk\",\n          \"PocketStars\",\n          \"Pokemon Showdown\",\n          \"Polarsteps\",\n          \"Polygon\",\n          \"Polymart\",\n          \"Pornhub\",\n          \"Preisjaeger\",\n          \"ProductHunt\",\n          \"PromoDJ\",\n          \"Promodescuentos\",\n          \"Pronouns.page\",\n          \"PyPi\",\n          \"Pychess\",\n          \"Python.org Discussions\",\n          \"Rajce.net\",\n          \"Rate Your Music\",\n          \"Rclone Forum\",\n          \"RedTube\",\n          \"Redbubble\",\n          \"Reddit\",\n          \"Reisefrage\",\n          \"Replit.com\",\n          \"ResearchGate\",\n          \"Roblox\",\n          \"RoyalCams\",\n          \"Ruby Forums\",\n          \"RubyGems\",\n          \"Rumble\",\n          \"RuneScape\",\n          \"SEOForum\",\n          \"SOOP\",\n          \"SWAPD\",\n          \"Sbazar.cz\",\n          \"Scratch\",\n          \"ShitpostBot5000\",\n          \"Signal\",\n          \"Sketchfab\",\n          \"Slack\",\n          \"Slant\",\n          \"Slashdot\",\n          \"Slides\",\n          \"SmugMug\",\n          \"Smule\",\n          \"Snapchat\",\n          \"SoundCloud\",\n          \"SourceForge\",\n          \"SoylentNews\",\n          \"SpaceHey\",\n          \"SpeakerDeck\",\n          \"Speedrun.com\",\n          \"Spells8\",\n          \"Splits.io\",\n          \"Sporcle\",\n          \"Sportlerfrage\",\n          \"SportsRU\",\n          \"Star Citizen\",\n          \"Status Cafe\",\n          \"Steam Community (Group)\",\n          \"Steam Community (User)\",\n          \"Strava\",\n          \"SublimeForum\",\n          \"Substack\",\n          \"TETR.IO\",\n          \"TRAKTRAIN\",\n          \"Telegram\",\n          \"Tellonym.me\",\n          \"Tenor\",\n          \"Terraria Forums\",\n          \"TheMovieDB\",\n          \"ThemeForest\",\n          \"Tiendanube\",\n          \"TikTok\",\n          \"TnAFlix\",\n          \"Topcoder\",\n          \"Topmate\",\n          \"TradingView\",\n          \"TrashboxRU\",\n          \"Trawelling\",\n          \"Trello\",\n          \"Trovo\",\n          \"Tuna\",\n          \"Tweakers\",\n          \"Twitch\",\n          \"Twitter\",\n          \"Typeracer\",\n          \"Ultimate-Guitar\",\n          \"Unsplash\",\n          \"Untappd\",\n          \"VK\",\n          \"VLR\",\n          \"VSCO\",\n          \"Valorant Forums\",\n          \"Velog\",\n          \"Venmo\",\n          \"Vimeo\",\n          \"VirusTotal\",\n          \"Vjudge\",\n          \"WICG Forum\",\n          \"Wakatime\",\n          \"Warframe Market\",\n          \"Warrior Forum\",\n          \"Wattpad\",\n          \"WebNode\",\n          \"Weblate\",\n          \"Weebly\",\n          \"Wikidot\",\n          \"Wikipedia\",\n          \"Windy\",\n          \"Wix\",\n          \"WolframalphaForum\",\n          \"WordPress\",\n          \"WordPressOrg\",\n          \"Wordnik\",\n          \"Wowhead\",\n          \"Wykop\",\n          \"Xbox Gamertag\",\n          \"Xvideos\",\n          \"YouNow\",\n          \"YouPic\",\n          \"YouPorn\",\n          \"YouTube\",\n          \"addons.wago.io\",\n          \"akniga\",\n          \"babyblogRU\",\n          \"chaos.social\",\n          \"couchsurfing\",\n          \"d3RU\",\n          \"datingRU\",\n          \"dcinside\",\n          \"devRant\",\n          \"drive2\",\n          \"eGPU\",\n          \"eintracht\",\n          \"exophase\",\n          \"fl\",\n          \"forum_guns\",\n          \"freecodecamp\",\n          \"furaffinity\",\n          \"geocaching\",\n          \"habr\",\n          \"hackster\",\n          \"igromania\",\n          \"imood\",\n          \"irecommend\",\n          \"jbzd.com.pl\",\n          \"jeuxvideo\",\n          \"kaskus\",\n          \"kofi\",\n          \"kwork\",\n          \"last.fm\",\n          \"leasehackr\",\n          \"livelib\",\n          \"mastodon.cloud\",\n          \"mastodon.social\",\n          \"mastodon.xyz\",\n          \"minds\",\n          \"moikrug\",\n          \"mstdn.io\",\n          \"mstdn.social\",\n          \"n8n Community\",\n          \"nairaland.com\",\n          \"namuwiki\",\n          \"nnRU\",\n          \"note\",\n          \"npm\",\n          \"omg.lol\",\n          \"osu!\",\n          \"pikabu\",\n          \"pixelfed.social\",\n          \"pr0gramm\",\n          \"prog.hu\",\n          \"programming.dev\",\n          \"satsisRU\",\n          \"sessionize\",\n          \"spletnik\",\n          \"threads\",\n          \"tistory\",\n          \"toster\",\n          \"tumblr\",\n          \"uid\",\n          \"write.as\",\n          \"xHamster\",\n          \"znanylekarz.pl\"\n        ]\n      },\n      \"sectionCaption\": \"Target Networks\"\n    },\n    \"includeNsfw\": {\n      \"title\": \"Include adult / NSFW sites\",\n      \"type\": \"boolean\",\n      \"description\": \"When no targetNetworks are supplied, also check the 17 adult/NSFW sites in the site database. Off by default.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"includeUnreliable\": {\n      \"title\": \"Include sites with known false positives\",\n      \"type\": \"boolean\",\n      \"description\": \"When no targetNetworks are supplied, also check the 8 sites that reported random control handles as found in live testing. Their results are marked unreliable. Off by default.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"verifyResults\": {\n      \"title\": \"Verify found profiles\",\n      \"type\": \"boolean\",\n      \"description\": \"Re-open each found profile page. broadSearch drops dead URLs and keeps gated pages flagged; identityResolution marks every candidate with profileExists/verificationStatus and only emits a bestMatch supported by independent evidence or a verified profile. Soft-404 and login pages are never marked verified. Adds one request per found profile. On by default.\",\n      \"default\": true,\n      \"prefill\": true\n    },\n    \"extractProfileFields\": {\n      \"title\": \"Extract profile details\",\n      \"type\": \"boolean\",\n      \"description\": \"Opt in to public profile details (display name, bio, avatar, location, follower count where the source exposes them) in both modes. Identity resolution always fetches what it needs for scoring, but emits the optional detail fields only when this is on. Adds one request per found profile. Off by default; empty and unverifiable avatar URLs are omitted.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"maxUsernames\": {\n      \"title\": \"Max usernames\",\n      \"type\": \"integer\",\n      \"description\": \"How many usernames a broadSearch run will process. Defaults to 100; raise it to 500 for larger batches. When input is truncated, the status message and each record's warnings state how many usernames were skipped.\",\n      \"default\": 100,\n      \"prefill\": 1,\n      \"minimum\": 1,\n      \"maximum\": 500\n    },\n    \"maxConcurrency\": {\n      \"title\": \"Max concurrent usernames\",\n      \"type\": \"integer\",\n      \"description\": \"How many usernames are searched at the same time in broadSearch. Lower this on a small-memory run.\",\n      \"default\": 2,\n      \"prefill\": 1,\n      \"minimum\": 1,\n      \"maximum\": 5\n    },\n    \"requestTimeoutSecs\": {\n      \"title\": \"Request timeout (seconds)\",\n      \"type\": \"integer\",\n      \"description\": \"Per-site timeout for existence checks and profile verification.\",\n      \"default\": 20,\n      \"prefill\": 15,\n      \"minimum\": 5,\n      \"maximum\": 60\n    },\n    \"sourceProfile\": {\n      \"title\": \"Source Profile\",\n      \"type\": \"object\",\n      \"description\": \"The known account to resolve against (mode=identityResolution). Example: {\\\"platform\\\": \\\"github\\\", \\\"handle\\\": \\\"torvalds\\\"}. The legacy `profile` key is still accepted.\",\n      \"editor\": \"json\",\n      \"prefill\": {\n        \"platform\": \"github\",\n        \"handle\": \"torvalds\"\n      },\n      \"sectionCaption\": \"Identity Resolution\"\n    },\n    \"sourceOverrides\": {\n      \"title\": \"Source Overrides\",\n      \"type\": \"object\",\n      \"description\": \"Optional manual displayName/bio/avatarUrl for the source profile, used when the source platform cannot be read or to supplement missing data.\",\n      \"editor\": \"json\"\n    },\n    \"candidateMode\": {\n      \"title\": \"Candidate Mode\",\n      \"type\": \"string\",\n      \"editor\": \"select\",\n      \"description\": \"discover: auto-generate candidates via search + username-variation heuristics. verify: score only the candidateHandles you supply.\",\n      \"enum\": [\n        \"discover\",\n        \"verify\"\n      ],\n      \"enumTitles\": [\n        \"Discover\",\n        \"Verify a supplied shortlist\"\n      ],\n      \"default\": \"discover\",\n      \"prefill\": \"discover\"\n    },\n    \"candidateHandles\": {\n      \"title\": \"Candidate Handles\",\n      \"type\": \"array\",\n      \"description\": \"Handles to verify against the source profile on the single target network (required when candidateMode is 'verify'). Capped at 60 to keep existence checks bounded. The legacy `handles` key is still accepted.\",\n      \"editor\": \"stringList\",\n      \"default\": [],\n      \"prefill\": [],\n      \"maxItems\": 60,\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"maxCandidatesToDiscover\": {\n      \"title\": \"Max Candidates To Discover\",\n      \"type\": \"integer\",\n      \"description\": \"Upper bound on generated/searched candidates per target network in discover mode.\",\n      \"default\": 20,\n      \"prefill\": 20,\n      \"minimum\": 1,\n      \"maximum\": 60\n    },\n    \"minConfidenceScore\": {\n      \"title\": \"Minimum Confidence Score\",\n      \"type\": \"number\",\n      \"description\": \"A candidate becomes bestMatch only when its confidence score reaches this value (0-1). Lower it to see weaker matches; raise it for stricter matching.\",\n      \"default\": 0.3,\n      \"prefill\": 0.3,\n      \"minimum\": 0,\n      \"maximum\": 1\n    }\n  },\n  \"required\": [\n    \"mode\"\n  ]\n}",
    "readme": "# Username Search & Cross-Platform Identity Resolution\n\nFind where a handle exists across hundreds of social networks, developer communities, forums, and niche sites — then work out which account on a target platform actually belongs to a profile you already know. Every hit is reported as a candidate with its own status and, when you ask for it, its public profile details. No login, no API key, no proxy setup.\n\nTwo workflows share one dataset:\n\n- **Broad Search** sweeps a username across the supported network list and returns the profile URLs that survive verification.\n- **Identity Resolution** takes a known source profile, finds or accepts candidates on one target network, and ranks them with a transparent signal breakdown.\n\n## What this actor does\n\n- **436 selectable networks** — GitHub, YouTube, TikTok, LinkedIn, Reddit, Steam, Bluesky, Mastodon instances, coding platforms, forums, gaming sites, and more. Pick a shortlist or sweep the safe default set.\n- **Honest per-site status** — every checked site is counted as found, not found, blocked, error, invalid, or unreliable; blocked/rate-limited sites are named instead of silently disappearing.\n- **Verification on by default** — each claimed profile is re-opened. Dead URLs are dropped; login walls and rate limits stay visible and flagged for review.\n- **Optional profile details** — turn on `extractProfileFields` to add display name, bio, avatar, follower count, location, website, and join date where the source exposes them.\n- **False-positive controls** — eight sites that returned random control handles as \"found\" in live testing are disabled in an unfiltered sweep; adult/NSFW sites are disabled by default too.\n- **Identity scoring** — bio backlinks, display-name similarity, avatar similarity, verified badge, relative follower count, and username similarity are combined per candidate, with the full breakdown included.\n- **Batch and wildcard input** — process up to 500 usernames per run when `maxUsernames` is raised; the default cap is 100 and truncation is reported in the status message and record warnings. `john{?}doe` expands to `john_doe`, `john-doe`, and `john.doe`. Rows are pushed as each username finishes, so a timeout keeps the completed rows.\n- **Empty fields are omitted** — no `null`, no placeholder strings; every field present contains real data.\n\n## Output: per username (mode = `broadSearch`)\n\nOne row per searched username:\n\n- `username` — the handle that was searched\n- `links[]` — profile URLs that passed the active checks\n- `profiles[]` — per-site evidence, each with:\n  - `siteName`, `siteMainUrl`, `profileUrl`, `finalUrl`\n  - `status` — `found`, `unreliable`, `blocked`, `error`\n  - `httpStatus`, `responseTimeMs`\n  - `verificationStatus` — `verified`, `gated`, `missing`, `unverified`\n  - `verificationRequired` — true when the result needs a human look\n  - `unreliable` — present on known false-positive sites\n  - optional `displayName`, `bio`, `avatarUrl`, `followers`, `location`, `websiteUrl`, `joinedAt`, `verified`\n- `foundCount` — profile URLs in `links` (usable found profiles)\n- `verifiedCount` — profiles that passed verification\n- `checkedCount` — sites actually checked\n- `statusCounts` — claimed found / verified / unreliable / notFound / blocked / error / invalid\n- `searchMode` — `focused` when `targetNetworks` was supplied, otherwise `broad`\n- `searchCompleted`, `partialFailure`, `sitesCheckedCount`\n- `sitesRequested` — the shortlist you sent (omitted for a broad sweep)\n- `sitesInvalid` — names the actor did not recognize\n- `warnings[]` — non-fatal notes, including why a site could not be checked\n- `sourceUrl` — the first profile URL in `links` (verified when verification is on), for traceability\n- `recordType: \"usernameSearch\"`, `scrapedAt`\n\n## Output: per target network (mode = `identityResolution`)\n\nOne row per target network:\n\n- `sourceProfile` — `platform`, `handle`, `profileUrl`, `displayName`, `verified`, plus optional `bio`, `avatarUrl`, `followers`, `location`, `websiteUrl`, `joinedAt`, `sourceUrl`\n- `targetNetwork`\n- `candidateMode` — `discover` or `verify`\n- `discoveryMethod` — `search`, `heuristic`, or `verify`\n- `candidatesEvaluated`\n- `bestMatch` — the highest-confidence candidate above `minConfidenceScore` **and** supported by at least one independent signal (or a verified profile), with `handle`, `profileUrl`, `confidenceScore`, `confidenceLabel`, `signals`, `profileExists`, `verificationStatus`, and the same optional profile fields\n- `candidates[]` — every scored candidate, ranked by confidence, each with its own `signals` breakdown and `profileExists`/`verificationStatus`. A candidate the target network says does not exist is never a `bestMatch`; a username-only match is capped below `high`.\n- `minConfidenceScore`, `partialFailure`, `sitesInvalid`\n- `warnings[]` — missing source signals, unsupported discovery paths, or blocked candidates\n- `sourceUrl`, `recordType: \"identityResolution\"`, `scrapedAt`\n\nA candidate's `signals` object only contains the signals that could actually be computed. Missing signals are omitted, not zeroed; the score renormalizes over what remains.\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `mode` | string | `broadSearch` | `broadSearch` or `identityResolution` |\n| `usernames` | array | – | Handles to search (mode=broadSearch). Accepts `@handle` and `{?}` wildcards. |\n| `targetNetworks` | array | all safe sites | Shortlist of network names. Required for identityResolution; `verify` accepts exactly one. |\n| `includeNsfw` | boolean | `false` | Include the 17 adult/NSFW sites in an unfiltered sweep. |\n| `includeUnreliable` | boolean | `false` | Include the 8 sites with known false-positive behaviour; their results are flagged. |\n| `verifyResults` | boolean | `true` | Re-open claimed profiles and drop dead URLs. Gated pages stay flagged. |\n| `extractProfileFields` | boolean | `false` | Add public profile details where available (extra request per profile). |\n| `maxUsernames` | integer | `100` | Usernames processed per broadSearch run (1–500). Truncation is reported in the status message and warnings. |\n| `maxConcurrency` | integer | `2` | Usernames searched in parallel (1–5). |\n| `requestTimeoutSecs` | integer | `20` | Per-site timeout for checks and verification (5–60). |\n| `sourceProfile` | object | – | Known account for identityResolution, e.g. `{\"platform\":\"github\",\"handle\":\"torvalds\"}` |\n| `sourceOverrides` | object | – | Manual `displayName`, `bio`, or `avatarUrl` for the source profile. |\n| `candidateMode` | string | `discover` | `discover` candidates automatically, or `verify` only the handles you supply. |\n| `candidateHandles` | array | `[]` | Candidate handles for `verify` mode. |\n| `maxCandidatesToDiscover` | integer | `20` | Candidate cap per target network (1–60). |\n| `minConfidenceScore` | number | `0.3` | Minimum score for a `bestMatch` (0–1). |\n\nLegacy keys from earlier versions are still accepted in code: `username`, `query`, `searchQuery`, `sites`, `networks`, `socials`, `platforms`, `profile`, `handles`, `maxCandidates`, `maxItems`, `maxResults`, `includeProfileDetails`, `verify`, `nsfw`, and `confidenceThreshold`. They are mapped onto the fields above; they do not need to be in your saved input.\n\n### Example: focused broad search with details\n\n```json\n{\n  \"mode\": \"broadSearch\",\n  \"usernames\": [\"torvalds\"],\n  \"targetNetworks\": [\"GitHub\", \"YouTube\", \"Reddit\", \"Medium\"],\n  \"verifyResults\": true,\n  \"extractProfileFields\": true\n}\n```\n\n### Example: broad sweep with safe defaults\n\n```json\n{\n  \"mode\": \"broadSearch\",\n  \"usernames\": [\"openai\", \"natgeo\"],\n  \"verifyResults\": true,\n  \"maxConcurrency\": 2\n}\n```\n\n### Example: verify a shortlist on one network\n\n```json\n{\n  \"mode\": \"identityResolution\",\n  \"sourceProfile\": {\"platform\": \"github\", \"handle\": \"torvalds\"},\n  \"targetNetworks\": [\"GitHub\"],\n  \"candidateMode\": \"verify\",\n  \"candidateHandles\": [\"torvalds\", \"torvalds-official\"],\n  \"minConfidenceScore\": 0.5\n}\n```\n\n### Example: discover candidates automatically\n\n```json\n{\n  \"mode\": \"identityResolution\",\n  \"sourceProfile\": {\"platform\": \"github\", \"handle\": \"torvalds\"},\n  \"targetNetworks\": [\"GitHub\"],\n  \"candidateMode\": \"discover\",\n  \"maxCandidatesToDiscover\": 20\n}\n```\n\n### Example: wildcard batch\n\n```json\n{\n  \"mode\": \"broadSearch\",\n  \"usernames\": [\"john{?}doe\", \"jane_doe\"],\n  \"targetNetworks\": [\"GitHub\", \"Bluesky\", \"Mastodon.social\"],\n  \"maxUsernames\": 10\n}\n```\n\n## Use cases\n\n- **Influencer and partnership vetting** — confirm which account belongs to a creator before committing spend.\n- **Brand protection** — find lookalike and squatter accounts, and see the exact status of each site that was checked.\n- **OSINT and investigations** — map a handle across social, coding, gaming, and forum communities with an auditable per-site trail.\n- **Recruiting and vendor due diligence** — cross-check a candidate's public technical and social presence.\n- **Digital-footprint audits** — discover forgotten accounts before a launch, job change, or privacy cleanup.\n- **Dataset enrichment** — add verified profile URLs and optional public details to a lead or identity table.\n\n## Data source and coverage\n\nThe actor ships a pinned snapshot of the [Sherlock project](https://github.com/sherlock-project/sherlock) site database (MIT License), taken on 2026-11-04. The snapshot contains 435 sites; the upstream project's own false-positive exclusions have already been removed. Reddit is added as a separate target and is checked through its public JSON endpoint. The actor is not affiliated with Sherlock or any of the networks it checks.\n\nAn unfiltered sweep checks the safe default set (410 sites): the 17 adult/NSFW sites and the 8 known-false-positive sites are skipped unless you opt in. Reddit is not part of the unfiltered sweep; target it explicitly to check it. A focused `targetNetworks` shortlist checks exactly the sites you name.\n\nIdentity resolution needs a username profile URL template. Discord, Diskusjon.no, and Kvinneguiden do not have one in the vendored site database, so identity mode skips those targets with a warning instead of inventing a URL. Broad search still checks them through their own existence probes.\n\n## Limitations\n\n- A matching username does **not** prove that two accounts belong to the same person. Treat broad-search hits as candidates and verify important findings at the source.\n- Some sites block automated requests from datacenter IPs. They are reported as `blocked` (401/403/429/WAF), never silently treated as \"not found\".\n- Profile details are best-effort. Many sites expose only a display name or bio; follower counts, locations, and join dates are available on fewer sites. Fields the page does not expose are omitted.\n- The site database is a snapshot. A site that changes its markup after the snapshot date can produce a wrong status until the snapshot is refreshed.\n- Reddit frequently rejects anonymous requests from cloud IP ranges. Its status is reported honestly; GitHub is the most reliable identity-resolution target.\n- Adult/NSFW and known-false-positive sites are opt-in so the default output stays clean. Opting in is supported and clearly flagged.\n- Avatar URLs are checked from a clean client before they are emitted. URLs that do not return an image are dropped rather than pushed as broken links; they are not rehosted.\n- A broadSearch run stops starting new usernames after roughly 27 minutes so a large batch cannot burn the whole run timeout. Completed rows are already in the dataset; skipped rows carry a warning.\n- Existence sweeps retry transient 429/471/5xx responses in bounded batches, then stop retrying after repeated blocks instead of hammering a WAF.\n\n## FAQ\n\n### How is this different from a plain Sherlock run?\n\nA plain Sherlock run prints URLs. This actor adds verification, per-site statuses, optional public profile details, false-positive controls, and an identity-resolution mode that ranks candidates on independent signals. It also gives you a machine-readable dataset instead of console text.\n\n### Do I need cookies, an API key, or a proxy?\n\nNo. The actor only requests public pages and public JSON endpoints. There is no credential field and no proxy configuration to fill in.\n\n### Why are some sites missing from my results?\n\nIf you sent `targetNetworks`, only those sites were checked. In an unfiltered sweep, adult/NSFW sites and the eight known-false-positive sites are skipped by default. Set `includeNsfw` or `includeUnreliable` to include them.\n\n### What do the per-site statuses mean?\n\n`found` means the site's existence rule claimed the handle. `unreliable` means the site is known to claim random handles. `blocked` means the site returned 401/403/429 or a WAF page. `error` means a timeout or network failure. `invalid` means the handle cannot exist on that site because it fails the site's own username pattern.\n\n### Why does a profile have no display name or avatar?\n\nThe optional fields are extracted only when the public page exposes them. Login walls, JavaScript-only pages, and sites without OpenGraph/JSON-LD metadata often provide nothing. The actor omits missing fields instead of inventing values.\n\n### What does `verifyResults` actually check?\n\nIt re-requests each claimed profile URL. A 404/410 is marked `missing` and dropped from `links`. A 401/403/429 or a login redirect is marked `gated` and kept visible with `verificationRequired: true` at the claimed URL (the redirect target is kept separately in `finalUrl`). A 200 page is marked `verified` only when it has real profile evidence: a canonical handle path plus profile metadata, or Person/ProfilePage JSON-LD that names the handle. A soft-404 (\"Page not found\"), a login wall, or a generic page with the handle merely somewhere in the URL is `unverified`, not `verified`.\n\n### How does identity resolution decide on a best match?\n\nEach candidate is scored on the signals that can be computed: bio backlink, display-name similarity, avatar similarity, verified badge, follower count relative to the other candidates, and username similarity. The weighted score is shown per candidate. In `verify` mode every candidate is existence-checked on the target network first; a 404 lookalike is reported with `profileExists: false` and can never become `bestMatch`. `bestMatch` is only emitted when the top score reaches `minConfidenceScore` and the candidate has independent evidence (a non-username signal or a verified profile). A username-only match is capped below `high` confidence.\n\n### Why is my target network not in the dropdown?\n\nThe dropdown is generated from the pinned site snapshot plus Reddit. If a network is absent, it was not in the snapshot or was one of the upstream false-positive exclusions. You can still supply it as a candidate target only if it is recognized; unknown names are reported in `sitesInvalid`.\n\n### Can I search private or deleted accounts?\n\nNo. Only public pages are requested. Private, deleted, and restricted profiles are not accessible.\n\n### Can I export the dataset?\n\nYes. Apify datasets export to JSON, CSV, Excel, HTML, XML, and RSS from the console or API.\n\n### Is this affiliated with the networks it checks?\n\nNo. This is an independent third-party actor using publicly accessible information. It is not affiliated with GitHub, Reddit, TikTok, Instagram, Twitter/X, LinkedIn, YouTube, Sherlock, or any other site in the database.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "username-search-and-cross-platform-identity",
      "title": "Username Search & Cross-Platform Identity Resolution",
      "description": "Search usernames across 400+ social networks with target-network filtering and per-site statuses, verify found profiles, optionally extract public profile details, then confirm which account on a specific platform truly belongs to a known profile using transparent, signal-based confidence scoring.",
      "version": "1.1",
      "buildTag": "latest",
      "defaultMemoryMbytes": 1024,
      "defaultRunOptions": {
        "timeoutSecs": 1800,
        "memoryMbytes": 1024
      },
      "input": {
        "title": "Sherlock Pro — Username Search & Identity Resolution",
        "description": "Search usernames across 400+ social networks, filter to specific target networks, verify found profiles, optionally extract public profile details, or resolve which candidate account on a target network truly belongs to a given source profile.",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "mode": {
            "title": "Mode",
            "type": "string",
            "editor": "select",
            "description": "broadSearch: check usernames across networks (optionally filtered) and return every found profile with its status. identityResolution: disambiguate which candidate account on a target network matches a source profile.",
            "enum": [
              "broadSearch",
              "identityResolution"
            ],
            "enumTitles": [
              "Broad Search",
              "Identity Resolution"
            ],
            "default": "broadSearch",
            "prefill": "broadSearch",
            "sectionCaption": "Mode"
          },
          "usernames": {
            "title": "Usernames",
            "type": "array",
            "description": "Usernames to search for (mode=broadSearch). Accepts one to 500, but only maxUsernames (default 100) are processed per run; the status message and record warnings report any shortfall. Supports the {?} wildcard (e.g. 'john{?}doe' expands to 'john_doe', 'john-doe', 'john.doe'). A leading @ is ignored. The legacy single `username` field is still accepted.",
            "editor": "stringList",
            "prefill": [
              "torvalds"
            ],
            "items": {
              "type": "string"
            },
            "sectionCaption": "Broad Search"
          },
          "targetNetworks": {
            "title": "Target Networks",
            "type": "array",
            "description": "Limit the search/resolution to these networks. Omit to check the 410-site safe sweep (435 vendored sites minus 17 adult/NSFW and 8 known-false-positive sites; Reddit is only checked when explicitly targeted). In identityResolution this field is required; candidateMode 'verify' requires exactly one network. Discord, Diskusjon.no, and Kvinneguiden are skipped with a warning in identity mode because the site database has no username profile URL template for them. Reddit is checked through its public JSON endpoint.",
            "editor": "select",
            "prefill": [
              "GitHub"
            ],
            "maxItems": 436,
            "items": {
              "type": "string",
              "enum": [
                "1337x",
                "2Dimensions",
                "7Cups",
                "9GAG",
                "AWS Skills Profile",
                "About.me",
                "Academia.edu",
                "AdmireMe.Vip",
                "Airbit",
                "All Things Worn",
                "AllMyLinks",
                "AniWorld",
                "Anilist",
                "Aparat",
                "Archive of Our Own",
                "Arduino Forum",
                "ArtStation",
                "Asciinema",
                "Ask Fedora",
                "Atcoder",
                "Audiojungle",
                "Autofrage",
                "Avizo",
                "BOOTH",
                "BabyRu",
                "Bandcamp",
                "Bazar.cz",
                "Behance",
                "Bezuzyteczna",
                "BiggerPockets",
                "BioHacking",
                "BitBucket",
                "Bitwarden Forum",
                "Blipfoto",
                "Blitz Tactics",
                "Blogger",
                "Bluesky",
                "BoardGameGeek",
                "BongaCams",
                "Bookcrossing",
                "BraveCommunity",
                "BreachSta.rs Forum",
                "BugCrowd",
                "BuyMeACoffee",
                "BuzzFeed",
                "CGTrader",
                "CNET",
                "CSSBattle",
                "CTAN",
                "Caddy Community",
                "Car Talk Community",
                "Career.habr",
                "Carrd",
                "CashApp",
                "Cfx.re Forum",
                "Chaos",
                "ChaturBate",
                "Chess",
                "Choice Community",
                "Chollometro",
                "Clapper",
                "CloudflareCommunity",
                "Clozemaster",
                "Clubhouse",
                "Code Snippet Wiki",
                "CodeSandbox",
                "Codeberg",
                "Codecademy",
                "Codechef",
                "Codeforces",
                "Codepen",
                "Coders Rank",
                "Coderwall",
                "Codewars",
                "Coinvote",
                "ColourLovers",
                "Contently",
                "Coroflot",
                "Cplusplus",
                "Cracked",
                "Cracked Forum",
                "Credly",
                "Crevado",
                "Crowdin",
                "CryptoHack",
                "Cryptomator Forum",
                "Cults3D",
                "CurseForge",
                "CyberDefenders",
                "DEV Community",
                "DMOJ",
                "DailyMotion",
                "Dealabs",
                "DigitalSpy",
                "Discogs",
                "Discord",
                "Discuss.Elastic.co",
                "Diskusjon.no",
                "Disqus",
                "Docker Hub",
                "Dribbble",
                "Duolingo",
                "Eintracht Frankfurt Forum",
                "Empretienda AR",
                "Envato Forum",
                "Erome",
                "Exposure",
                "EyeEm",
                "F3.cool",
                "Fameswap",
                "Fandom",
                "Fanpop",
                "Finanzfrage",
                "Flickr",
                "Flightradar24",
                "Flipboard",
                "Football",
                "FortniteTracker",
                "Forum Ophilia",
                "Fosstodon",
                "Framapiaf",
                "Freelancer",
                "Freesound",
                "GNOME VCS",
                "GameFAQs",
                "Gamespot",
                "Genius (Artists)",
                "Genius (Users)",
                "Gesundheitsfrage",
                "GetMyUni",
                "Giant Bomb",
                "Giphy",
                "GitBook",
                "GitHub",
                "GitLab",
                "Gitea",
                "Gitee",
                "GoodReads",
                "Google Play",
                "Gradle",
                "Grailed",
                "Gravatar",
                "Gumroad",
                "Gutefrage",
                "HackMD",
                "HackTheBox",
                "Hackaday",
                "HackenProof (Hackers)",
                "HackerEarth",
                "HackerOne",
                "HackerRank",
                "HackerSploit",
                "Harvard Scholar",
                "Heavy-R",
                "Hive Blog",
                "Holopin",
                "HotUKdeals",
                "Houzz",
                "HubPages",
                "HudsonRock",
                "Hugging Face",
                "IFTTT",
                "IRC-Galleria",
                "Icons8 Community",
                "Ifunny",
                "Image Fap",
                "ImgUp.cz",
                "Imgur",
                "Instagram",
                "Instructables",
                "Intigriti",
                "Ionic Forum",
                "Issuu",
                "Itemfix",
                "Jellyfin Weblate",
                "Jimdo",
                "Joplin Forum",
                "Jupyter Community Forum",
                "Kaggle",
                "Keybase",
                "Kick",
                "Kik",
                "Kongregate",
                "Kvinneguiden",
                "LOR",
                "Laracast",
                "Launchpad",
                "LeetCode",
                "LemmyWorld",
                "LessWrong",
                "Letterboxd",
                "LibraryThing",
                "Lichess",
                "LinkedIn",
                "Linktree",
                "LinuxFR.org",
                "Listed",
                "LiveJournal",
                "Lobsters",
                "LottieFiles",
                "LushStories",
                "MMORPG Forum",
                "Mamot",
                "Medium",
                "Memrise",
                "Minecraft",
                "MixCloud",
                "Monkeytype",
                "Motherless",
                "Motorradfrage",
                "MuseScore",
                "MyAnimeList",
                "MyMiniFactory",
                "Mydealz",
                "Mydramalist",
                "Myspace",
                "NICommunityForum",
                "NationStates Nation",
                "NationStates Region",
                "Naver",
                "Needrom",
                "Newgrounds",
                "Nextcloud Forum",
                "Nightbot",
                "Ninja Kiwi",
                "NintendoLife",
                "NitroType",
                "NotABug.org",
                "Nothing Community",
                "Nyaa.si",
                "Open Collective",
                "OpenGameArt",
                "OpenStreetMap",
                "Opensource",
                "OurDJTalk",
                "Outgress",
                "PSNProfiles.com",
                "Packagist",
                "Pastebin",
                "Patched",
                "Patreon",
                "PentesterLab",
                "PepperNL",
                "PepperPL",
                "Pepperdeals",
                "PepperealsUS",
                "Periscope",
                "Pinkbike",
                "Pinterest",
                "Platzi",
                "PlayStore",
                "Playstrategy",
                "Plurk",
                "PocketStars",
                "Pokemon Showdown",
                "Polarsteps",
                "Polygon",
                "Polymart",
                "Pornhub",
                "Preisjaeger",
                "ProductHunt",
                "PromoDJ",
                "Promodescuentos",
                "Pronouns.page",
                "PyPi",
                "Pychess",
                "Python.org Discussions",
                "Rajce.net",
                "Rate Your Music",
                "Rclone Forum",
                "RedTube",
                "Redbubble",
                "Reddit",
                "Reisefrage",
                "Replit.com",
                "ResearchGate",
                "Roblox",
                "RoyalCams",
                "Ruby Forums",
                "RubyGems",
                "Rumble",
                "RuneScape",
                "SEOForum",
                "SOOP",
                "SWAPD",
                "Sbazar.cz",
                "Scratch",
                "ShitpostBot5000",
                "Signal",
                "Sketchfab",
                "Slack",
                "Slant",
                "Slashdot",
                "Slides",
                "SmugMug",
                "Smule",
                "Snapchat",
                "SoundCloud",
                "SourceForge",
                "SoylentNews",
                "SpaceHey",
                "SpeakerDeck",
                "Speedrun.com",
                "Spells8",
                "Splits.io",
                "Sporcle",
                "Sportlerfrage",
                "SportsRU",
                "Star Citizen",
                "Status Cafe",
                "Steam Community (Group)",
                "Steam Community (User)",
                "Strava",
                "SublimeForum",
                "Substack",
                "TETR.IO",
                "TRAKTRAIN",
                "Telegram",
                "Tellonym.me",
                "Tenor",
                "Terraria Forums",
                "TheMovieDB",
                "ThemeForest",
                "Tiendanube",
                "TikTok",
                "TnAFlix",
                "Topcoder",
                "Topmate",
                "TradingView",
                "TrashboxRU",
                "Trawelling",
                "Trello",
                "Trovo",
                "Tuna",
                "Tweakers",
                "Twitch",
                "Twitter",
                "Typeracer",
                "Ultimate-Guitar",
                "Unsplash",
                "Untappd",
                "VK",
                "VLR",
                "VSCO",
                "Valorant Forums",
                "Velog",
                "Venmo",
                "Vimeo",
                "VirusTotal",
                "Vjudge",
                "WICG Forum",
                "Wakatime",
                "Warframe Market",
                "Warrior Forum",
                "Wattpad",
                "WebNode",
                "Weblate",
                "Weebly",
                "Wikidot",
                "Wikipedia",
                "Windy",
                "Wix",
                "WolframalphaForum",
                "WordPress",
                "WordPressOrg",
                "Wordnik",
                "Wowhead",
                "Wykop",
                "Xbox Gamertag",
                "Xvideos",
                "YouNow",
                "YouPic",
                "YouPorn",
                "YouTube",
                "addons.wago.io",
                "akniga",
                "babyblogRU",
                "chaos.social",
                "couchsurfing",
                "d3RU",
                "datingRU",
                "dcinside",
                "devRant",
                "drive2",
                "eGPU",
                "eintracht",
                "exophase",
                "fl",
                "forum_guns",
                "freecodecamp",
                "furaffinity",
                "geocaching",
                "habr",
                "hackster",
                "igromania",
                "imood",
                "irecommend",
                "jbzd.com.pl",
                "jeuxvideo",
                "kaskus",
                "kofi",
                "kwork",
                "last.fm",
                "leasehackr",
                "livelib",
                "mastodon.cloud",
                "mastodon.social",
                "mastodon.xyz",
                "minds",
                "moikrug",
                "mstdn.io",
                "mstdn.social",
                "n8n Community",
                "nairaland.com",
                "namuwiki",
                "nnRU",
                "note",
                "npm",
                "omg.lol",
                "osu!",
                "pikabu",
                "pixelfed.social",
                "pr0gramm",
                "prog.hu",
                "programming.dev",
                "satsisRU",
                "sessionize",
                "spletnik",
                "threads",
                "tistory",
                "toster",
                "tumblr",
                "uid",
                "write.as",
                "xHamster",
                "znanylekarz.pl"
              ],
              "enumTitles": [
                "1337x",
                "2Dimensions",
                "7Cups",
                "9GAG",
                "AWS Skills Profile",
                "About.me",
                "Academia.edu",
                "AdmireMe.Vip",
                "Airbit",
                "All Things Worn",
                "AllMyLinks",
                "AniWorld",
                "Anilist",
                "Aparat",
                "Archive of Our Own",
                "Arduino Forum",
                "ArtStation",
                "Asciinema",
                "Ask Fedora",
                "Atcoder",
                "Audiojungle",
                "Autofrage",
                "Avizo",
                "BOOTH",
                "BabyRu",
                "Bandcamp",
                "Bazar.cz",
                "Behance",
                "Bezuzyteczna",
                "BiggerPockets",
                "BioHacking",
                "BitBucket",
                "Bitwarden Forum",
                "Blipfoto",
                "Blitz Tactics",
                "Blogger",
                "Bluesky",
                "BoardGameGeek",
                "BongaCams",
                "Bookcrossing",
                "BraveCommunity",
                "BreachSta.rs Forum",
                "BugCrowd",
                "BuyMeACoffee",
                "BuzzFeed",
                "CGTrader",
                "CNET",
                "CSSBattle",
                "CTAN",
                "Caddy Community",
                "Car Talk Community",
                "Career.habr",
                "Carrd",
                "CashApp",
                "Cfx.re Forum",
                "Chaos",
                "ChaturBate",
                "Chess",
                "Choice Community",
                "Chollometro",
                "Clapper",
                "CloudflareCommunity",
                "Clozemaster",
                "Clubhouse",
                "Code Snippet Wiki",
                "CodeSandbox",
                "Codeberg",
                "Codecademy",
                "Codechef",
                "Codeforces",
                "Codepen",
                "Coders Rank",
                "Coderwall",
                "Codewars",
                "Coinvote",
                "ColourLovers",
                "Contently",
                "Coroflot",
                "Cplusplus",
                "Cracked",
                "Cracked Forum",
                "Credly",
                "Crevado",
                "Crowdin",
                "CryptoHack",
                "Cryptomator Forum",
                "Cults3D",
                "CurseForge",
                "CyberDefenders",
                "DEV Community",
                "DMOJ",
                "DailyMotion",
                "Dealabs",
                "DigitalSpy",
                "Discogs",
                "Discord",
                "Discuss.Elastic.co",
                "Diskusjon.no",
                "Disqus",
                "Docker Hub",
                "Dribbble",
                "Duolingo",
                "Eintracht Frankfurt Forum",
                "Empretienda AR",
                "Envato Forum",
                "Erome",
                "Exposure",
                "EyeEm",
                "F3.cool",
                "Fameswap",
                "Fandom",
                "Fanpop",
                "Finanzfrage",
                "Flickr",
                "Flightradar24",
                "Flipboard",
                "Football",
                "FortniteTracker",
                "Forum Ophilia",
                "Fosstodon",
                "Framapiaf",
                "Freelancer",
                "Freesound",
                "GNOME VCS",
                "GameFAQs",
                "Gamespot",
                "Genius (Artists)",
                "Genius (Users)",
                "Gesundheitsfrage",
                "GetMyUni",
                "Giant Bomb",
                "Giphy",
                "GitBook",
                "GitHub",
                "GitLab",
                "Gitea",
                "Gitee",
                "GoodReads",
                "Google Play",
                "Gradle",
                "Grailed",
                "Gravatar",
                "Gumroad",
                "Gutefrage",
                "HackMD",
                "HackTheBox",
                "Hackaday",
                "HackenProof (Hackers)",
                "HackerEarth",
                "HackerOne",
                "HackerRank",
                "HackerSploit",
                "Harvard Scholar",
                "Heavy-R",
                "Hive Blog",
                "Holopin",
                "HotUKdeals",
                "Houzz",
                "HubPages",
                "HudsonRock",
                "Hugging Face",
                "IFTTT",
                "IRC-Galleria",
                "Icons8 Community",
                "Ifunny",
                "Image Fap",
                "ImgUp.cz",
                "Imgur",
                "Instagram",
                "Instructables",
                "Intigriti",
                "Ionic Forum",
                "Issuu",
                "Itemfix",
                "Jellyfin Weblate",
                "Jimdo",
                "Joplin Forum",
                "Jupyter Community Forum",
                "Kaggle",
                "Keybase",
                "Kick",
                "Kik",
                "Kongregate",
                "Kvinneguiden",
                "LOR",
                "Laracast",
                "Launchpad",
                "LeetCode",
                "LemmyWorld",
                "LessWrong",
                "Letterboxd",
                "LibraryThing",
                "Lichess",
                "LinkedIn",
                "Linktree",
                "LinuxFR.org",
                "Listed",
                "LiveJournal",
                "Lobsters",
                "LottieFiles",
                "LushStories",
                "MMORPG Forum",
                "Mamot",
                "Medium",
                "Memrise",
                "Minecraft",
                "MixCloud",
                "Monkeytype",
                "Motherless",
                "Motorradfrage",
                "MuseScore",
                "MyAnimeList",
                "MyMiniFactory",
                "Mydealz",
                "Mydramalist",
                "Myspace",
                "NICommunityForum",
                "NationStates Nation",
                "NationStates Region",
                "Naver",
                "Needrom",
                "Newgrounds",
                "Nextcloud Forum",
                "Nightbot",
                "Ninja Kiwi",
                "NintendoLife",
                "NitroType",
                "NotABug.org",
                "Nothing Community",
                "Nyaa.si",
                "Open Collective",
                "OpenGameArt",
                "OpenStreetMap",
                "Opensource",
                "OurDJTalk",
                "Outgress",
                "PSNProfiles.com",
                "Packagist",
                "Pastebin",
                "Patched",
                "Patreon",
                "PentesterLab",
                "PepperNL",
                "PepperPL",
                "Pepperdeals",
                "PepperealsUS",
                "Periscope",
                "Pinkbike",
                "Pinterest",
                "Platzi",
                "PlayStore",
                "Playstrategy",
                "Plurk",
                "PocketStars",
                "Pokemon Showdown",
                "Polarsteps",
                "Polygon",
                "Polymart",
                "Pornhub",
                "Preisjaeger",
                "ProductHunt",
                "PromoDJ",
                "Promodescuentos",
                "Pronouns.page",
                "PyPi",
                "Pychess",
                "Python.org Discussions",
                "Rajce.net",
                "Rate Your Music",
                "Rclone Forum",
                "RedTube",
                "Redbubble",
                "Reddit",
                "Reisefrage",
                "Replit.com",
                "ResearchGate",
                "Roblox",
                "RoyalCams",
                "Ruby Forums",
                "RubyGems",
                "Rumble",
                "RuneScape",
                "SEOForum",
                "SOOP",
                "SWAPD",
                "Sbazar.cz",
                "Scratch",
                "ShitpostBot5000",
                "Signal",
                "Sketchfab",
                "Slack",
                "Slant",
                "Slashdot",
                "Slides",
                "SmugMug",
                "Smule",
                "Snapchat",
                "SoundCloud",
                "SourceForge",
                "SoylentNews",
                "SpaceHey",
                "SpeakerDeck",
                "Speedrun.com",
                "Spells8",
                "Splits.io",
                "Sporcle",
                "Sportlerfrage",
                "SportsRU",
                "Star Citizen",
                "Status Cafe",
                "Steam Community (Group)",
                "Steam Community (User)",
                "Strava",
                "SublimeForum",
                "Substack",
                "TETR.IO",
                "TRAKTRAIN",
                "Telegram",
                "Tellonym.me",
                "Tenor",
                "Terraria Forums",
                "TheMovieDB",
                "ThemeForest",
                "Tiendanube",
                "TikTok",
                "TnAFlix",
                "Topcoder",
                "Topmate",
                "TradingView",
                "TrashboxRU",
                "Trawelling",
                "Trello",
                "Trovo",
                "Tuna",
                "Tweakers",
                "Twitch",
                "Twitter",
                "Typeracer",
                "Ultimate-Guitar",
                "Unsplash",
                "Untappd",
                "VK",
                "VLR",
                "VSCO",
                "Valorant Forums",
                "Velog",
                "Venmo",
                "Vimeo",
                "VirusTotal",
                "Vjudge",
                "WICG Forum",
                "Wakatime",
                "Warframe Market",
                "Warrior Forum",
                "Wattpad",
                "WebNode",
                "Weblate",
                "Weebly",
                "Wikidot",
                "Wikipedia",
                "Windy",
                "Wix",
                "WolframalphaForum",
                "WordPress",
                "WordPressOrg",
                "Wordnik",
                "Wowhead",
                "Wykop",
                "Xbox Gamertag",
                "Xvideos",
                "YouNow",
                "YouPic",
                "YouPorn",
                "YouTube",
                "addons.wago.io",
                "akniga",
                "babyblogRU",
                "chaos.social",
                "couchsurfing",
                "d3RU",
                "datingRU",
                "dcinside",
                "devRant",
                "drive2",
                "eGPU",
                "eintracht",
                "exophase",
                "fl",
                "forum_guns",
                "freecodecamp",
                "furaffinity",
                "geocaching",
                "habr",
                "hackster",
                "igromania",
                "imood",
                "irecommend",
                "jbzd.com.pl",
                "jeuxvideo",
                "kaskus",
                "kofi",
                "kwork",
                "last.fm",
                "leasehackr",
                "livelib",
                "mastodon.cloud",
                "mastodon.social",
                "mastodon.xyz",
                "minds",
                "moikrug",
                "mstdn.io",
                "mstdn.social",
                "n8n Community",
                "nairaland.com",
                "namuwiki",
                "nnRU",
                "note",
                "npm",
                "omg.lol",
                "osu!",
                "pikabu",
                "pixelfed.social",
                "pr0gramm",
                "prog.hu",
                "programming.dev",
                "satsisRU",
                "sessionize",
                "spletnik",
                "threads",
                "tistory",
                "toster",
                "tumblr",
                "uid",
                "write.as",
                "xHamster",
                "znanylekarz.pl"
              ]
            },
            "sectionCaption": "Target Networks"
          },
          "includeNsfw": {
            "title": "Include adult / NSFW sites",
            "type": "boolean",
            "description": "When no targetNetworks are supplied, also check the 17 adult/NSFW sites in the site database. Off by default.",
            "default": false,
            "prefill": false
          },
          "includeUnreliable": {
            "title": "Include sites with known false positives",
            "type": "boolean",
            "description": "When no targetNetworks are supplied, also check the 8 sites that reported random control handles as found in live testing. Their results are marked unreliable. Off by default.",
            "default": false,
            "prefill": false
          },
          "verifyResults": {
            "title": "Verify found profiles",
            "type": "boolean",
            "description": "Re-open each found profile page. broadSearch drops dead URLs and keeps gated pages flagged; identityResolution marks every candidate with profileExists/verificationStatus and only emits a bestMatch supported by independent evidence or a verified profile. Soft-404 and login pages are never marked verified. Adds one request per found profile. On by default.",
            "default": true,
            "prefill": true
          },
          "extractProfileFields": {
            "title": "Extract profile details",
            "type": "boolean",
            "description": "Opt in to public profile details (display name, bio, avatar, location, follower count where the source exposes them) in both modes. Identity resolution always fetches what it needs for scoring, but emits the optional detail fields only when this is on. Adds one request per found profile. Off by default; empty and unverifiable avatar URLs are omitted.",
            "default": false,
            "prefill": false
          },
          "maxUsernames": {
            "title": "Max usernames",
            "type": "integer",
            "description": "How many usernames a broadSearch run will process. Defaults to 100; raise it to 500 for larger batches. When input is truncated, the status message and each record's warnings state how many usernames were skipped.",
            "default": 100,
            "prefill": 1,
            "minimum": 1,
            "maximum": 500
          },
          "maxConcurrency": {
            "title": "Max concurrent usernames",
            "type": "integer",
            "description": "How many usernames are searched at the same time in broadSearch. Lower this on a small-memory run.",
            "default": 2,
            "prefill": 1,
            "minimum": 1,
            "maximum": 5
          },
          "requestTimeoutSecs": {
            "title": "Request timeout (seconds)",
            "type": "integer",
            "description": "Per-site timeout for existence checks and profile verification.",
            "default": 20,
            "prefill": 15,
            "minimum": 5,
            "maximum": 60
          },
          "sourceProfile": {
            "title": "Source Profile",
            "type": "object",
            "description": "The known account to resolve against (mode=identityResolution). Example: {\"platform\": \"github\", \"handle\": \"torvalds\"}. The legacy `profile` key is still accepted.",
            "editor": "json",
            "prefill": {
              "platform": "github",
              "handle": "torvalds"
            },
            "sectionCaption": "Identity Resolution"
          },
          "sourceOverrides": {
            "title": "Source Overrides",
            "type": "object",
            "description": "Optional manual displayName/bio/avatarUrl for the source profile, used when the source platform cannot be read or to supplement missing data.",
            "editor": "json"
          },
          "candidateMode": {
            "title": "Candidate Mode",
            "type": "string",
            "editor": "select",
            "description": "discover: auto-generate candidates via search + username-variation heuristics. verify: score only the candidateHandles you supply.",
            "enum": [
              "discover",
              "verify"
            ],
            "enumTitles": [
              "Discover",
              "Verify a supplied shortlist"
            ],
            "default": "discover",
            "prefill": "discover"
          },
          "candidateHandles": {
            "title": "Candidate Handles",
            "type": "array",
            "description": "Handles to verify against the source profile on the single target network (required when candidateMode is 'verify'). Capped at 60 to keep existence checks bounded. The legacy `handles` key is still accepted.",
            "editor": "stringList",
            "default": [],
            "prefill": [],
            "maxItems": 60,
            "items": {
              "type": "string"
            }
          },
          "maxCandidatesToDiscover": {
            "title": "Max Candidates To Discover",
            "type": "integer",
            "description": "Upper bound on generated/searched candidates per target network in discover mode.",
            "default": 20,
            "prefill": 20,
            "minimum": 1,
            "maximum": 60
          },
          "minConfidenceScore": {
            "title": "Minimum Confidence Score",
            "type": "number",
            "description": "A candidate becomes bestMatch only when its confidence score reaches this value (0-1). Lower it to see weaker matches; raise it for stricter matching.",
            "default": 0.3,
            "prefill": 0.3,
            "minimum": 0,
            "maximum": 1
          }
        },
        "required": [
          "mode"
        ]
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "Username Search & Cross-Platform Identity Resolution Output",
        "description": "One row per searched username with verified profile URLs, per-site statuses and optional public profile details, plus identity-resolution rows with source profile, ranked candidates and per-signal confidence scores.",
        "properties": {
          "results": {
            "type": "string",
            "title": "Username search and identity resolution results",
            "description": "Dataset containing all username search and identity resolution records.",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "readme": "# Username Search & Cross-Platform Identity Resolution\n\nFind where a handle exists across hundreds of social networks, developer communities, forums, and niche sites — then work out which account on a target platform actually belongs to a profile you already know. Every hit is reported as a candidate with its own status and, when you ask for it, its public profile details. No login, no API key, no proxy setup.\n\nTwo workflows share one dataset:\n\n- **Broad Search** sweeps a username across the supported network list and returns the profile URLs that survive verification.\n- **Identity Resolution** takes a known source profile, finds or accepts candidates on one target network, and ranks them with a transparent signal breakdown.\n\n## What this actor does\n\n- **436 selectable networks** — GitHub, YouTube, TikTok, LinkedIn, Reddit, Steam, Bluesky, Mastodon instances, coding platforms, forums, gaming sites, and more. Pick a shortlist or sweep the safe default set.\n- **Honest per-site status** — every checked site is counted as found, not found, blocked, error, invalid, or unreliable; blocked/rate-limited sites are named instead of silently disappearing.\n- **Verification on by default** — each claimed profile is re-opened. Dead URLs are dropped; login walls and rate limits stay visible and flagged for review.\n- **Optional profile details** — turn on `extractProfileFields` to add display name, bio, avatar, follower count, location, website, and join date where the source exposes them.\n- **False-positive controls** — eight sites that returned random control handles as \"found\" in live testing are disabled in an unfiltered sweep; adult/NSFW sites are disabled by default too.\n- **Identity scoring** — bio backlinks, display-name similarity, avatar similarity, verified badge, relative follower count, and username similarity are combined per candidate, with the full breakdown included.\n- **Batch and wildcard input** — process up to 500 usernames per run when `maxUsernames` is raised; the default cap is 100 and truncation is reported in the status message and record warnings. `john{?}doe` expands to `john_doe`, `john-doe`, and `john.doe`. Rows are pushed as each username finishes, so a timeout keeps the completed rows.\n- **Empty fields are omitted** — no `null`, no placeholder strings; every field present contains real data.\n\n## Output: per username (mode = `broadSearch`)\n\nOne row per searched username:\n\n- `username` — the handle that was searched\n- `links[]` — profile URLs that passed the active checks\n- `profiles[]` — per-site evidence, each with:\n  - `siteName`, `siteMainUrl`, `profileUrl`, `finalUrl`\n  - `status` — `found`, `unreliable`, `blocked`, `error`\n  - `httpStatus`, `responseTimeMs`\n  - `verificationStatus` — `verified`, `gated`, `missing`, `unverified`\n  - `verificationRequired` — true when the result needs a human look\n  - `unreliable` — present on known false-positive sites\n  - optional `displayName`, `bio`, `avatarUrl`, `followers`, `location`, `websiteUrl`, `joinedAt`, `verified`\n- `foundCount` — profile URLs in `links` (usable found profiles)\n- `verifiedCount` — profiles that passed verification\n- `checkedCount` — sites actually checked\n- `statusCounts` — claimed found / verified / unreliable / notFound / blocked / error / invalid\n- `searchMode` — `focused` when `targetNetworks` was supplied, otherwise `broad`\n- `searchCompleted`, `partialFailure`, `sitesCheckedCount`\n- `sitesRequested` — the shortlist you sent (omitted for a broad sweep)\n- `sitesInvalid` — names the actor did not recognize\n- `warnings[]` — non-fatal notes, including why a site could not be checked\n- `sourceUrl` — the first profile URL in `links` (verified when verification is on), for traceability\n- `recordType: \"usernameSearch\"`, `scrapedAt`\n\n## Output: per target network (mode = `identityResolution`)\n\nOne row per target network:\n\n- `sourceProfile` — `platform`, `handle`, `profileUrl`, `displayName`, `verified`, plus optional `bio`, `avatarUrl`, `followers`, `location`, `websiteUrl`, `joinedAt`, `sourceUrl`\n- `targetNetwork`\n- `candidateMode` — `discover` or `verify`\n- `discoveryMethod` — `search`, `heuristic`, or `verify`\n- `candidatesEvaluated`\n- `bestMatch` — the highest-confidence candidate above `minConfidenceScore` **and** supported by at least one independent signal (or a verified profile), with `handle`, `profileUrl`, `confidenceScore`, `confidenceLabel`, `signals`, `profileExists`, `verificationStatus`, and the same optional profile fields\n- `candidates[]` — every scored candidate, ranked by confidence, each with its own `signals` breakdown and `profileExists`/`verificationStatus`. A candidate the target network says does not exist is never a `bestMatch`; a username-only match is capped below `high`.\n- `minConfidenceScore`, `partialFailure`, `sitesInvalid`\n- `warnings[]` — missing source signals, unsupported discovery paths, or blocked candidates\n- `sourceUrl`, `recordType: \"identityResolution\"`, `scrapedAt`\n\nA candidate's `signals` object only contains the signals that could actually be computed. Missing signals are omitted, not zeroed; the score renormalizes over what remains.\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `mode` | string | `broadSearch` | `broadSearch` or `identityResolution` |\n| `usernames` | array | – | Handles to search (mode=broadSearch). Accepts `@handle` and `{?}` wildcards. |\n| `targetNetworks` | array | all safe sites | Shortlist of network names. Required for identityResolution; `verify` accepts exactly one. |\n| `includeNsfw` | boolean | `false` | Include the 17 adult/NSFW sites in an unfiltered sweep. |\n| `includeUnreliable` | boolean | `false` | Include the 8 sites with known false-positive behaviour; their results are flagged. |\n| `verifyResults` | boolean | `true` | Re-open claimed profiles and drop dead URLs. Gated pages stay flagged. |\n| `extractProfileFields` | boolean | `false` | Add public profile details where available (extra request per profile). |\n| `maxUsernames` | integer | `100` | Usernames processed per broadSearch run (1–500). Truncation is reported in the status message and warnings. |\n| `maxConcurrency` | integer | `2` | Usernames searched in parallel (1–5). |\n| `requestTimeoutSecs` | integer | `20` | Per-site timeout for checks and verification (5–60). |\n| `sourceProfile` | object | – | Known account for identityResolution, e.g. `{\"platform\":\"github\",\"handle\":\"torvalds\"}` |\n| `sourceOverrides` | object | – | Manual `displayName`, `bio`, or `avatarUrl` for the source profile. |\n| `candidateMode` | string | `discover` | `discover` candidates automatically, or `verify` only the handles you supply. |\n| `candidateHandles` | array | `[]` | Candidate handles for `verify` mode. |\n| `maxCandidatesToDiscover` | integer | `20` | Candidate cap per target network (1–60). |\n| `minConfidenceScore` | number | `0.3` | Minimum score for a `bestMatch` (0–1). |\n\nLegacy keys from earlier versions are still accepted in code: `username`, `query`, `searchQuery`, `sites`, `networks`, `socials`, `platforms`, `profile`, `handles`, `maxCandidates`, `maxItems`, `maxResults`, `includeProfileDetails`, `verify`, `nsfw`, and `confidenceThreshold`. They are mapped onto the fields above; they do not need to be in your saved input.\n\n### Example: focused broad search with details\n\n```json\n{\n  \"mode\": \"broadSearch\",\n  \"usernames\": [\"torvalds\"],\n  \"targetNetworks\": [\"GitHub\", \"YouTube\", \"Reddit\", \"Medium\"],\n  \"verifyResults\": true,\n  \"extractProfileFields\": true\n}\n```\n\n### Example: broad sweep with safe defaults\n\n```json\n{\n  \"mode\": \"broadSearch\",\n  \"usernames\": [\"openai\", \"natgeo\"],\n  \"verifyResults\": true,\n  \"maxConcurrency\": 2\n}\n```\n\n### Example: verify a shortlist on one network\n\n```json\n{\n  \"mode\": \"identityResolution\",\n  \"sourceProfile\": {\"platform\": \"github\", \"handle\": \"torvalds\"},\n  \"targetNetworks\": [\"GitHub\"],\n  \"candidateMode\": \"verify\",\n  \"candidateHandles\": [\"torvalds\", \"torvalds-official\"],\n  \"minConfidenceScore\": 0.5\n}\n```\n\n### Example: discover candidates automatically\n\n```json\n{\n  \"mode\": \"identityResolution\",\n  \"sourceProfile\": {\"platform\": \"github\", \"handle\": \"torvalds\"},\n  \"targetNetworks\": [\"GitHub\"],\n  \"candidateMode\": \"discover\",\n  \"maxCandidatesToDiscover\": 20\n}\n```\n\n### Example: wildcard batch\n\n```json\n{\n  \"mode\": \"broadSearch\",\n  \"usernames\": [\"john{?}doe\", \"jane_doe\"],\n  \"targetNetworks\": [\"GitHub\", \"Bluesky\", \"Mastodon.social\"],\n  \"maxUsernames\": 10\n}\n```\n\n## Use cases\n\n- **Influencer and partnership vetting** — confirm which account belongs to a creator before committing spend.\n- **Brand protection** — find lookalike and squatter accounts, and see the exact status of each site that was checked.\n- **OSINT and investigations** — map a handle across social, coding, gaming, and forum communities with an auditable per-site trail.\n- **Recruiting and vendor due diligence** — cross-check a candidate's public technical and social presence.\n- **Digital-footprint audits** — discover forgotten accounts before a launch, job change, or privacy cleanup.\n- **Dataset enrichment** — add verified profile URLs and optional public details to a lead or identity table.\n\n## Data source and coverage\n\nThe actor ships a pinned snapshot of the [Sherlock project](https://github.com/sherlock-project/sherlock) site database (MIT License), taken on 2026-11-04. The snapshot contains 435 sites; the upstream project's own false-positive exclusions have already been removed. Reddit is added as a separate target and is checked through its public JSON endpoint. The actor is not affiliated with Sherlock or any of the networks it checks.\n\nAn unfiltered sweep checks the safe default set (410 sites): the 17 adult/NSFW sites and the 8 known-false-positive sites are skipped unless you opt in. Reddit is not part of the unfiltered sweep; target it explicitly to check it. A focused `targetNetworks` shortlist checks exactly the sites you name.\n\nIdentity resolution needs a username profile URL template. Discord, Diskusjon.no, and Kvinneguiden do not have one in the vendored site database, so identity mode skips those targets with a warning instead of inventing a URL. Broad search still checks them through their own existence probes.\n\n## Limitations\n\n- A matching username does **not** prove that two accounts belong to the same person. Treat broad-search hits as candidates and verify important findings at the source.\n- Some sites block automated requests from datacenter IPs. They are reported as `blocked` (401/403/429/WAF), never silently treated as \"not found\".\n- Profile details are best-effort. Many sites expose only a display name or bio; follower counts, locations, and join dates are available on fewer sites. Fields the page does not expose are omitted.\n- The site database is a snapshot. A site that changes its markup after the snapshot date can produce a wrong status until the snapshot is refreshed.\n- Reddit frequently rejects anonymous requests from cloud IP ranges. Its status is reported honestly; GitHub is the most reliable identity-resolution target.\n- Adult/NSFW and known-false-positive sites are opt-in so the default output stays clean. Opting in is supported and clearly flagged.\n- Avatar URLs are checked from a clean client before they are emitted. URLs that do not return an image are dropped rather than pushed as broken links; they are not rehosted.\n- A broadSearch run stops starting new usernames after roughly 27 minutes so a large batch cannot burn the whole run timeout. Completed rows are already in the dataset; skipped rows carry a warning.\n- Existence sweeps retry transient 429/471/5xx responses in bounded batches, then stop retrying after repeated blocks instead of hammering a WAF.\n\n## FAQ\n\n### How is this different from a plain Sherlock run?\n\nA plain Sherlock run prints URLs. This actor adds verification, per-site statuses, optional public profile details, false-positive controls, and an identity-resolution mode that ranks candidates on independent signals. It also gives you a machine-readable dataset instead of console text.\n\n### Do I need cookies, an API key, or a proxy?\n\nNo. The actor only requests public pages and public JSON endpoints. There is no credential field and no proxy configuration to fill in.\n\n### Why are some sites missing from my results?\n\nIf you sent `targetNetworks`, only those sites were checked. In an unfiltered sweep, adult/NSFW sites and the eight known-false-positive sites are skipped by default. Set `includeNsfw` or `includeUnreliable` to include them.\n\n### What do the per-site statuses mean?\n\n`found` means the site's existence rule claimed the handle. `unreliable` means the site is known to claim random handles. `blocked` means the site returned 401/403/429 or a WAF page. `error` means a timeout or network failure. `invalid` means the handle cannot exist on that site because it fails the site's own username pattern.\n\n### Why does a profile have no display name or avatar?\n\nThe optional fields are extracted only when the public page exposes them. Login walls, JavaScript-only pages, and sites without OpenGraph/JSON-LD metadata often provide nothing. The actor omits missing fields instead of inventing values.\n\n### What does `verifyResults` actually check?\n\nIt re-requests each claimed profile URL. A 404/410 is marked `missing` and dropped from `links`. A 401/403/429 or a login redirect is marked `gated` and kept visible with `verificationRequired: true` at the claimed URL (the redirect target is kept separately in `finalUrl`). A 200 page is marked `verified` only when it has real profile evidence: a canonical handle path plus profile metadata, or Person/ProfilePage JSON-LD that names the handle. A soft-404 (\"Page not found\"), a login wall, or a generic page with the handle merely somewhere in the URL is `unverified`, not `verified`.\n\n### How does identity resolution decide on a best match?\n\nEach candidate is scored on the signals that can be computed: bio backlink, display-name similarity, avatar similarity, verified badge, follower count relative to the other candidates, and username similarity. The weighted score is shown per candidate. In `verify` mode every candidate is existence-checked on the target network first; a 404 lookalike is reported with `profileExists: false` and can never become `bestMatch`. `bestMatch` is only emitted when the top score reaches `minConfidenceScore` and the candidate has independent evidence (a non-username signal or a verified profile). A username-only match is capped below `high` confidence.\n\n### Why is my target network not in the dropdown?\n\nThe dropdown is generated from the pinned site snapshot plus Reddit. If a network is absent, it was not in the snapshot or was one of the upstream false-positive exclusions. You can still supply it as a candidate target only if it is recognized; unknown names are reported in `sitesInvalid`.\n\n### Can I search private or deleted accounts?\n\nNo. Only public pages are requested. Private, deleted, and restricted profiles are not accessible.\n\n### Can I export the dataset?\n\nYes. Apify datasets export to JSON, CSV, Excel, HTML, XML, and RSS from the console or API.\n\n### Is this affiliated with the networks it checks?\n\nNo. This is an independent third-party actor using publicly accessible information. It is not affiliated with GitHub, Reddit, TikTok, Instagram, Twitter/X, LinkedIn, YouTube, Sherlock, or any other site in the database.\n",
      "dockerfile": "./Dockerfile",
      "categories": [
        "SOCIAL_MEDIA",
        "LEAD_GENERATION",
        "AUTOMATION"
      ],
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "views": {
            "overview": {
              "title": "Username search results",
              "transformation": {
                "fields": [
                  "username",
                  "foundCount",
                  "verifiedCount",
                  "checkedCount",
                  "searchMode"
                ]
              },
              "display": {
                "component": "table",
                "properties": {}
              }
            }
          }
        }
      },
      "environmentVariables": {}
    },
    "buildNumber": "1.1.1",
    "imageDigest": "f04e8434305fca3cc2a607ca8dbc423e45c0b2fdef84ce77530fca95d46dd4cd",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "1.1"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.037554444444444446
    }
  }
}