# Username OSINT Search — Social Media Username Lookup Tool (`ntriqpro/user-scanner-osint`) Actor

Username search across 200+ social media, developer, gaming and creator platforms. Enter one or more usernames and get one row per confirmed account, with profile URL, category and scraped metadata. Powered by the open-source user-scanner (MIT). Unofficial wrapper.

- **URL**: https://apify.com/ntriqpro/user-scanner-osint.md
- **Developed by:** [daehwan kim](https://apify.com/ntriqpro) (community)
- **Categories:** Developer tools, Business
- **Stats:** 7 total users, 4 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Username OSINT Search — Social Media Username Lookup Tool

**Give one username, get back every platform where that account is registered.**
This Actor performs a username search across **200+ social media, developer,
gaming, creator, music, shopping and community platforms** using the open-source
**[user-scanner](https://github.com/kaifcodec/user-scanner)** engine — with
**zero setup and no API keys**.

Built for **brand protection, account auditing, authorized security research, due
diligence, recruiting, and journalism**. Runs on the Apify platform with API
access, scheduling, integrations, and monitoring built in.

> **Unofficial.** This Actor wraps the open-source user-scanner (MIT) and is
> **not affiliated with, endorsed by, or sponsored by** the project or any of the
> platforms it checks. It returns **public** data only. You are responsible for
> complying with each platform's Terms of Service and with GDPR, PIPA, CCPA, and
> other applicable laws.

### Why use Username OSINT Search?

- **200+ platforms in one call** — Instagram, X, TikTok, Reddit, GitHub, Twitch,
  Steam, Spotify, LinkedIn, Telegram, Snapchat, Discord and hundreds more across
  13 categories (Social, Dev, Creator, Gaming, Music, Community, Shopping,
  Finance, Learning, Donation, Political, Email, Other)
- **Metadata, not just a yes/no** — display name, follower count, bio, user id and
  avatar URL are returned when the platform exposes them
- **A one-line verdict on every row** — the `headline` field says it plainly:
  `` `octocat` found on 99 platforms — top: Reddit, Telegram, Tumblr ``
- **Bulk** — up to 5 usernames per run, one row per confirmed account
- **Quiet by design** — public profile lookups only. The engine's "loud" modules,
  which would trigger password-reset emails, are never enabled, so the target is
  never notified.

### How to use Username OSINT Search

1. Enter one or more **usernames**.
2. (Optional) Adjust the per-request **timeout** or include **NSFW platforms**.
3. Click **Start** and read the results in the **Output** tab.

### Input

| Field | Type | Description |
|---|---|---|
| `usernames` | array | Up to 5 usernames per run (letters, digits, `.` `_` `-`) |
| `username` | string | Single-username alternative |
| `timeout` | integer | Per-request timeout in seconds (5–120, default 15) |
| `includeNsfw` | boolean | Include adult/NSFW platforms (default false) |

```json
{
  "usernames": ["octocat"],
  "timeout": 15,
  "includeNsfw": false
}
```

### Output

One dataset item per **confirmed account**. Rows that carry a `noticeCode` are
**status rows, not results** (`summary`, `no-accounts`, `invalid-username`,
`scan-failed`, `targets-truncated`, `charge-limit-reached`, `free-plan-cap`) —
skip them when parsing programmatically.

Invalid input ends the run as SUCCEEDED with a notice row.

```json
{
  "username": "octocat",
  "platform": "Itch.io",
  "category": "Creator",
  "exists": true,
  "profileUrl": "https://itch.io/profile/octocat",
  "displayName": "Octocat",
  "followers": null,
  "bio": null,
  "avatarUrl": null,
  "extra": { "name": "Octocat" },
  "source": "user-scanner",
  "headline": "`octocat` found on 99 platforms — top: Reddit, Telegram, Tumblr",
  "scannedAt": "2026-08-25T05:58:00.000Z"
}
```

Each username also gets one unbilled `summary` row with `accountsFound`,
`platformsChecked`, `platformsErrored` and the full `platformsRegistered` list.

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

### Data table

| Field | Description |
|---|---|
| `username` | The username searched |
| `platform` | Platform where the account was found |
| `category` | Platform category (Social, Dev, Gaming, …) |
| `profileUrl` | Direct URL to the discovered profile |
| `displayName` | Profile display name, when the platform exposes one |
| `followers` | Follower count, when the platform exposes one |
| `bio` | Profile bio, truncated to 500 characters |
| `avatarUrl` | Profile picture URL, when available |
| `extra` | All additional metadata the engine scraped for this profile |
| `headline` | One-line verdict for this username |
| `scannedAt` | UTC timestamp of the lookup |

### Pricing

Pay-per-event: **$0.005 per run** plus **$0.02 per account found**. A username
registered on 40 platforms costs $0.805 for that run. Apify platform compute is
billed separately per your plan. **Free-plan runs return at most 25 accounts**;
upgrade to receive the full result set in one run.

### Tips

- Lower the `timeout` for faster runs; raise it if you suspect false negatives
  from slow platforms.
- Some platforms rate-limit shared cloud IPs and are reported in
  `platformsErrored` on the summary row — re-running usually clears them.
- Schedule recurring runs to monitor when a brand handle appears on new platforms.

### FAQ, disclaimers, and support

**Is this legal?** Checking whether a public account exists, and reading a public
profile, is generally lawful. You are responsible for how you use the results. Do
not use this tool for harassment, stalking, or any unlawful purpose, and comply
with all applicable laws and platform terms.

**Privacy & data responsibility.** **You are the data controller** for every
lookup you run with this Actor; ntriqpro is a **data processor** acting solely on
your instructions. You are responsible for having a lawful basis and a
legitimate, purpose-limited reason for each lookup, and for complying with GDPR,
PIPA, CCPA, and other applicable privacy laws. **We do not store your results** —
output is written only to your own run's dataset and is never retained on our
side.

**Why didn't it find an account I know exists?** Some platforms rate-limit or
block automated checks from cloud IPs, which can cause false negatives. The
`platformsErrored` count on the summary row tells you how many were affected.

**Open-source licence.** This Actor wraps **user-scanner** (MIT) by kaifcodec.
<https://github.com/kaifcodec/user-scanner>. It runs the tool as a separate
process and returns its results; it is an independent integration, not an
official distribution. See `LICENSE-NOTICE.md`.

**Found a bug or want a feature?** Use the **Issues** tab. Custom solutions
available.

*Used this Actor? A sentence in the **Reviews** tab about what you used it for
helps the next person decide.*

### Works well with

- **[socialscan-osint](https://apify.com/ntriqpro/socialscan-osint)** — Confirm the same identity by email address, not just username.
- **[phoneinfoga-osint](https://apify.com/ntriqpro/phoneinfoga-osint)** — Add the phone-number angle: carrier, line type and public footprint.

Every run of this Actor also returns these suggestions in the `nextSteps` field of its summary row.

# Actor input Schema

## `usernames` (type: `array`):

One or more usernames to look up across 200+ platforms. Up to 5 per run. Allowed characters: letters, digits, dot, underscore, hyphen.

## `username` (type: `string`):

Alternative to the list above — a single username to look up.

## `timeout` (type: `integer`):

How long to wait for each platform to respond. Higher = fewer false negatives but slower. Range 5-120.

## `includeNsfw` (type: `boolean`):

Include adult/NSFW platforms in the lookup. Off by default.

## Actor input object example

```json
{
  "usernames": [
    "octocat"
  ],
  "timeout": 15
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "usernames": [
        "octocat"
    ],
    "timeout": 15,
    "includeNsfw": false
};

// Run the Actor and wait for it to finish
const run = await client.actor("ntriqpro/user-scanner-osint").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "usernames": ["octocat"],
    "timeout": 15,
    "includeNsfw": False,
}

# Run the Actor and wait for it to finish
run = client.actor("ntriqpro/user-scanner-osint").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "usernames": [
    "octocat"
  ],
  "timeout": 15,
  "includeNsfw": false
}' |
apify call ntriqpro/user-scanner-osint --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ntriqpro/user-scanner-osint"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/zi4i7g0HcBerJmHtt/builds/m5SlObUPzgslB5eVX/openapi.json
