# Find Twitter / X Influencers by Niche 🎯 Micro + Engagement (`yumitori/x-niche-influencer-finder`) Actor

Twitter / X influencer discovery: find influencers and micro-influencers by niche, ranked by real engagement — not follower count. Build an outreach-ready list of creators and KOLs with engagement metrics, contact emails, and recent posts. No login, no browser.

- **URL**: https://apify.com/yumitori/x-niche-influencer-finder.md
- **Developed by:** [Yakugusa Yumitori](https://apify.com/yumitori) (community)
- **Categories:** Social media, Lead generation
- **Stats:** 2 total users, 1 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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use 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

## Find Twitter / X Influencers by Niche 🎯

**Find the creators who actually move a niche on X (Twitter) — ranked by real engagement, not vanity follower counts — and get an outreach-ready shortlist in one run.** No login, no account, no browser.

**Don't know which accounts to start with? You have three easy ways in:**
- **✨ Smart niche** — just type any niche in plain words ("vegan cooking", "personal finance", "climate science") and the finder auto-discovers the right seed accounts for you.
- **📂 Niche dropdown** — pick from Fitness, AI, Crypto, Startups, Finance, Writing, and more, pre-seeded with expert accounts, in one click.
- **✍️ Custom** — enter your own 2–5 seed accounts.

From there the finder maps the creators clustered around those seeds, filters out the brands, applies your follower tier, and pulls each creator's recent posts to compute the engagement metrics that decide a partnership. What you get back is a ranked shortlist of the real influencers in that niche — the specialized micro-creators generic tools never surface.

It's a purpose-built **Twitter / X influencer discovery** tool: it turns a niche into a ranked **influencer list** — micro-influencers, nano-influencers, creators, and key opinion leaders (KOLs), the niche accounts worth knowing — each with engagement metrics and contact details ready for outreach.

---

### 👀 See a real result

Seeded with three fitness anchors (`hubermanlab`, `PeterAttiaMD`, `foundmyfitness`), ranked by engagement rate — **real output, real numbers:**

| Creator | Followers | Tier | Engagement | Avg ❤️ | Median views |
|---|---|---|---|---|---|
| **James DiNicolantonio** `@drjamesdinic` | 211K | Mid | **7.605%** | 13,449 | 520K |
| **Brian Sanders** `@FoodLiesOrg` | 52K | Micro | **7.239%** | 2,912 | 174K |
| **Paul Saladino, MD** `@paulsaladinomd` | 462K | Mid | **2.837%** | 10,865 | 1M |
| **David Sinclair** `@davidasinclair` | 631K | Mid | **2.477%** | 12,756 | 1.7M |
| **Lex Fridman** `@lexfridman` | 5.2M | Mega | **2.306%** | 108,087 | 13.5M |
| **James Clear** `@JamesClear` | 1.3M | Mega | **2.229%** | 23,294 | 1.3M |
| **Dr Jordan B Peterson** `@jordanbpeterson` | 6.2M | Mega | **2.155%** | 114,377 | 7.1M |
| **Joe Rogan** `@joerogan` | 15.6M | Mega | **1.846%** | 251,277 | 24.1M |

> **@drjamesdinic** — 211K followers, **7.605% engagement** — outperforms accounts *hundreds of times its size.* That's the creator you want, and it's the one a follower-count search would bury.

---

### 🎮 Real example — "warzone streamers"

We typed **`warzone streamers`** into Smart niche and sorted by **Open to business**. In ~30 seconds: 40 creators, every one with a booking contact — agency emails (WME, Paradigm, Underscore Talent), plus their YouTube/Twitch links.

![Warzone streamers — outreach-ready shortlist](https://i.imgur.com/pSqEHtx.png)

**Run this exact example** — paste into the input:

```json
{
  "smartNiche": "warzone streamers",
  "followerTier": "any",
  "minFollowers": 20000,
  "sortBy": "openToBiz",
  "postsPerInfluencer": 0,
  "maxInfluencers": 40,
  "hops": 2
}
````

> **💡 A note on contact data — aim where the money is.** Direct **business emails** like these are most common in **commercial creator niches** — gaming, streaming, lifestyle, fashion, beauty, YouTubers, meme/brand pages — where creators are actively growing an audience and *want* sponsorships, so they list an agency or booking email in their bio. In **professional or academic niches** (doctors, scientists, economists), creators rarely advertise a business email, so you'll get **fewer direct emails and more websites / contact links** instead. Either way you still get the creator, their real engagement, and a way to reach them — but if **email outreach** is the goal, point this at the niches where creators are openly monetizing (gaming, streamers, fitness coaches, fashion/beauty, lifestyle, personal brands) and sort by **Open to business**.

***

### 📉 Follower count is lying to you

We ran this across four niches and the pattern was brutal and consistent — the biggest accounts have the **deadest** engagement:

| Account | Followers | Engagement rate | Avg ❤️ / post |
|---|---|---|---|
| **Brian Sanders** `@FoodLiesOrg` | 52K | **7.239%** | 2,912 |
| **Elon Musk** `@elonmusk` | 241M | **1.087%** | 2,285,526 |

A **4,673× smaller** audience with **6.7× the engagement rate.** The creator worth partnering with is almost never the one with the most followers — and this actor is built to surface exactly that. *(Based on 150+ accounts analyzed across 4 niches.)*

***

### 🧰 What you can do — real inputs → real outputs

#### 1 · Find micro-influencers in your niche

Set **Follower tier → Micro (10K–100K)**. Instantly excludes mega-accounts and brands, leaving the on-tier creators with the best ROI:

```
Seed accounts:  hubermanlab, PeterAttiaMD, foundmyfitness
Follower tier:  Micro-influencers (10K–100K)
```

→ returns a clean list of mid-size fitness creators, each engagement-scored.

#### 2 · Rank by pure engagement — surface the hidden gems

Set **Rank by → Engagement rate**. The creators punching *far* above their follower weight rise to the top:

```
Seed accounts:  naval, levelsio, awilkinson
Rank by:        Engagement rate
```

| Rank | Creator | Followers | Engagement | Avg ❤️ |
|---|---|---|---|---|
| 1 | **David Perell** `@david_perell` | 478K | **9.784%** | 40,258 |
| 2 | **Sahil Bloom** `@SahilBloom` | 1.2M | **9.247%** | 91,034 |
| 3 | **Pat Walls** `@thepatwalls` | 142K | **6.352%** | 8,030 |
| 4 | **Brian Chesky** `@bchesky` | 1.3M | **3.422%** | 36,293 |
| 5 | **Garry Tan** `@garrytan` | 970K | **3.198%** | 27,465 |
| 6 | **James Clear** `@JamesClear` | 1.3M | **2.472%** | 25,534 |
| 7 | **Andrew D. Huberman, Ph.D.** `@hubermanlab` | 1.8M | **2.086%** | 33,888 |
| 8 | **Patrick Collison** `@patrickc` | 1.4M | **1.601%** | 18,296 |

#### 3 · Map an entire niche

Set **Discovery depth → 2 hops** to map the whole neighbourhood, ranked by **Influencer Score** (centrality × engagement × reach):

| Creator | Followers | Tier | Engagement | Avg ❤️ | Median views |
|---|---|---|---|---|---|
| **Santiago** `@svpino` | 453K | Mid | **7.073%** | 27,933 | 3M |
| **AK** `@_akhaliq` | 512K | Mid | **3.019%** | 13,874 | 1.5M |
| **François Chollet** `@fchollet` | 708K | Mid | **2.75%** | 17,527 | 548K |
| **Greg Brockman** `@gdb` | 1M | Mega | **2.39%** | 21,242 | 4.7M |
| **Lex Fridman** `@lexfridman` | 5.2M | Mega | **2.306%** | 108,087 | 13.5M |
| **Sam Altman** `@sama` | 5.6M | Mega | **1.659%** | 81,418 | 14.3M |
| **Paul Graham** `@paulg` | 4.2M | Mega | **1.362%** | 47,371 | 2.6M |
| **Soumith Chintala** `@soumithchintala` | 314K | Mid | **0.977%** | 2,677 | 584K |

#### 4 · Go nano

Set **Follower tier → Nano (1K–10K)** to find the small, high-trust creators that are cheapest to work with and convert best — the ones no influencer platform bothers to index.

***

### 📦 Every creator comes back outreach-ready

One record per creator — flat metrics for scanning, plus their recent posts and contact links. Real output:

```json
{
  "rank": 1,
  "influencerScore": 89.2,
  "screenName": "david_perell",
  "name": "David Perell",
  "followers": 478017,
  "nicheConnections": 3,
  "category": null,
  "verified": true,
  "location": "New York, NY",
  "description": "\"The Writing Guy\" | Christian | Host: How I Write Podcast | I tweet about writing, beauty, and architecture | My writing: https://t.co/SOE9HtxXdi",
  "website": "https://linktr.ee/davidperell",
  "profileImage": "https://pbs.twimg.com/profile_images/1759062533078495232/-79hY8EP_400x400.jpg",
  "postsAnalyzed": 14,
  "avgLikes": 40258.9,
  "avgRetweets": 5931.1,
  "medianViews": 2484912,
  "engagementRate": 9.784,
  "topPostText": "What's causing all these logos to look the same? https://t.co/DgnNfOV20v…",
  "topPostUrl": "https://x.com/david_perell/status/1545819896004624384",
  "recentPosts": [
    {
      "text": "What's causing all these logos to look the same? https://t.co/DgnNfOV20v…",
      "likes": 215211,
      "views": null
    },
    {
      "text": "When a YouTube commenter comes out of nowhere and absolutely nails it https://t.co/TvSpXXNYk6…",
      "likes": 60166,
      "views": "2484912"
    }
  ]
}
```

**📇 Contact details, extracted for you.** Many creators put a **business email** and their **real website** right in their bio — the actor pulls them out into `contactEmail`, `website`, and a `businessInquiry` flag, so your list is ready to reach out to. Real examples from one run: `business@teamninja.com`, `sapnap@night.co`, `vikkstar@sidemen.com`. (No emails are invented — only what a creator has published publicly.)

**Two dataset views**, one click to switch:

- **Influencer shortlist** — avatar, rank, score, followers, engagement %, avg likes, median views, niche links, category.
- **Outreach list** — ready for handoff: handle, name, followers, **email**, **open-to-business** flag, website, profile link.

Export to **CSV, JSON, or Excel**.

***

### ⚙️ Inputs

| Field | What it does |
|---|---|
| **Seed accounts** | 2–5 @handles that define your niche. Better seeds → better shortlist. |
| **Follower tier** | One-click preset — Nano (1K–10K), Micro (10K–100K), Mid-tier (100K–1M), Any, or Custom. Instantly excludes mega-accounts and brands. |
| **Min / Max followers** | Used with the Any / Custom tier. The exact band; Max = 0 means no ceiling. |
| **Include brands** | Off by default — you get people and creators, not corporate pages. |
| **Verified only** | Keep only verified creators. |
| **Rank by** | Influencer Score (centrality + engagement + reach), engagement rate, or follower count. |
| **Recent posts per creator** | Posts to analyze for engagement (default 20). **Set 0 for volume mode** — thousands of creators, fast, no engagement. |
| **Max results** | The hard cap on how many creators are returned (default 50, up to **50,000**). |
| **Discovery depth (hops)** | 1 = directly related accounts. 2 (recommended) = the whole neighbourhood. 3 = widest. |

***

### 📏 Two speeds: a deep shortlist, or thousands of creators

This actor runs at two speeds — pick with **Recent posts per creator**:

**🔬 Deep mode** (posts = 20, the default) — pulls each creator's recent posts and computes full engagement (rate, avg views, top post). Best for a **curated, engagement-ranked shortlist** of the creators worth reaching out to. Slower per creator, so keep the shortlist focused (tens to low hundreds).

**⚡ Volume mode** (posts = **0**) — skips post analysis and returns **thousands of niche creators** in seconds, each with followers, bio, verified status, location, and niche-centrality. Best for **building a whole niche database** or feeding a pipeline. Cheap and fast at scale.

#### The funnel (what caps your count)

1. **Discover** — expands from your seeds to up to **Max accounts to discover** (**hops** controls how far).
2. **Filter** — keeps accounts inside your **Follower tier** that aren't brands (and verified, if asked).
3. **Rank** — by niche-centrality.
4. **Return** — the **top *Max results* creators.**

Your count = whichever is **smaller**: your **Max results** cap, or **how many creators match your filters.**

#### Want thousands? Here's exactly how

Result count scales with **discovery depth (hops)** and the **number of seeds** — each hop expands the graph outward, and each seed opens a new corner of it. These are real, measured numbers (8 diverse seeds, volume mode):

| Discovery depth | Creators returned |
|---|---|
| 2 hops | ~900 |
| 3 hops | ~4,200 |
| **4 hops** | **8,000+**  *(and climbing — a 5th hop would push past 15,000)* |

**🚀 Maximum-volume recipe** — returns thousands upon thousands:

```
Recent posts per creator:   0        ← volume mode (REQUIRED for big lists)
Follower tier:              Any
Discovery depth (hops):     4
Max results:                50000
Max accounts to discover:   50000
Seed accounts:              6–10 diverse, well-chosen accounts
```

**The single biggest lever is more diverse seeds.** Two seeds inside one tight niche saturates around 1,500–2,000 (that community only has so many members); **8 diverse seeds at hop 4 returns 8,000+ in about two minutes.**

> Same starting niche, three settings: 2 seeds / Mid tier / Max results 50 → **50** (capped by your setting). Max results 300 → **141**. Volume mode, 8 diverse seeds, 4 hops → **8,286 creators**. Bigger list = more seeds + more hops + volume mode.

***

### 🎯 Use cases

- **Influencer marketing & brand partnerships** — a vetted, engagement-ranked shortlist for a niche campaign in minutes.
- **Micro & nano-influencer outreach** — find and contact high-engagement creators under a follower cap.
- **Agency prospecting** — map every creator in a client's niche and rank them for pitching.
- **Competitive intel** — seed with a competitor's ambassadors and see who else lives in that community.

***

### 🤖 Use it inside an AI agent or automation

The output is clean, structured JSON — **engagement rate**, **recent posts**, and **contact links** — which makes this a perfect *tool step* for AI agents (Claude / MCP, LangChain, CrewAI, OpenAI Agents) and no-code automations (**n8n, Make, Zapier**). On Apify it's callable as an **MCP tool**, so an agent can run it, reason over the shortlist, and take the next action. Ready-to-build workflows:

**📨 Outreach agent** — *Trigger:* a new creator in your niche clears an engagement threshold → *Steps:* the agent reads their recent posts, drafts a personalized DM that references what they actually post, queues a 3-touch sequence, hands off to you on reply → *Output:* draft DMs + a CRM status.

**🗂️ CRM enrichment** — *Trigger:* new qualifying influencer → *Steps:* map handle, followers, engagement rate, category, and website/link into your CRM and attach an auto-written outreach brief → *Output:* an enriched, ready-to-work contact.

**📰 "New creators in my niche" digest** — *Trigger:* a scheduled weekly run → *Steps:* diff this week's shortlist against last week's, keep the new high-engagement creators, write a one-line "why now" for each → *Output:* a digest posted to Slack or email.

**🕵️ Competitor ambassador watch** — *Trigger:* scheduled → *Steps:* seed with a competitor's known ambassadors, surface the high-engagement creators clustered around them, flag anyone new → *Output:* an alert + a counter-outreach list.

**📄 Auto media kits** — *Trigger:* a creator gets shortlisted → *Steps:* pull their metrics and top posts into a one-page media-kit template → *Output:* a shareable brief per creator.

**🧑‍💼 Agency lead-gen** — *Trigger:* on demand for a client niche → *Steps:* build the shortlist, bucket creators by tier and collaboration type, generate a tailored pitch per bucket → *Output:* an account-based outreach list with SDR tasks.

Because every record already carries the engagement rate (for qualification), the recent posts (for personalization), and the contact links (for the handoff), the hardest part of each of these — the data — is done before your agent even starts.

***

### ❓ FAQ

**How do I find micro-influencers on X by niche?**
Seed a few known accounts in the niche, set Follower tier to Micro (or Nano), and run. You get a ranked list of the micro-influencers in that community with their engagement numbers.

**How is engagement rate calculated?**
Likes + reposts + replies per post, divided by followers, averaged over each creator's recent original posts (retweets and pinned tweets excluded).

**Do I need a Twitter / X account or API key?**
No. No login, no password, no API key. Add seed handles and run.

**Why seed accounts instead of a keyword?**
Seeds define a niche far more precisely than a keyword — they let the finder map the real community, including specialized creators a keyword search would never surface.

**Why did I only get 50 results?**
50 is the default **Max results** (`maxInfluencers`) cap. Raise it (up to 50,000), and for large lists set **Recent posts per creator to 0** (volume mode), **Discovery depth to 3–4**, and use **6–10 diverse seeds**. See *Two speeds* above.

**How many creators can it return?**
Up to **50,000** per run. In volume mode (posts = 0) with several diverse seeds at 4 hops, a single run returns **8,000+ creators in ~2 minutes**; the exact number is the smaller of your Max results cap and how many creators match your filters.

***

### Notes

- **No login, ever.** You never provide an X account or password.
- **Lightweight and fast.** No headless browser — a typical run finishes in seconds.
- A residential proxy is recommended for larger runs and is used automatically on Apify.
- Engagement is measured over each creator's recent original posts (retweets and pinned tweets excluded), so the numbers reflect typical performance.

***

**🆓 Also from us — free:** [**Pinterest Trends Scraper**](https://apify.com/yumitori/pinterest-trends-scraper) — trending Pinterest searches, real search volume, seasonality & keyword research. No login, no cost.

***

*Great seeds are everything. Pick a few accounts unmistakably at the center of your niche, and the finder does the rest.*

# Actor input Schema

## `smartNiche` (type: `string`):

Type any niche in plain words and the finder auto-discovers the right seed accounts — no handles needed. Enter a topic (e.g. "home fitness"), not a person's name. Leave blank to use the dropdown or your own accounts.

## `niche` (type: `string`):

Choose your niche and the finder auto-seeds it with the right expert accounts — no need to know handles. Pick 'Custom' to enter your own seed accounts below.

## `handles` (type: `array`):

Optional. Used when Niche = Custom, or to add extra seeds on top of a chosen niche. Accepts @handle, handle, or https://x.com/handle.

## `followerTier` (type: `string`):

Target a creator size in one click. Pick a tier to instantly exclude mega-accounts and mainstream brands, or choose Custom to set your own range below.

## `minFollowers` (type: `integer`):

Used when Follower tier is Any or Custom. Ignore accounts below this size.

## `maxFollowers` (type: `integer`):

Used when Follower tier is Any or Custom. Cap on account size. 0 = no ceiling.

## `includeBrands` (type: `boolean`):

Off by default — corporate, brand, and official-org accounts are filtered out so you get people and creators. Turn on to keep everything.

## `verifiedOnly` (type: `boolean`):

Keep only verified creators. Useful for tightening the shortlist to established accounts.

## `sortBy` (type: `string`):

How to order the shortlist. Influencer Score blends niche-centrality, engagement, and reach. Or rank by engagement rate, follower count, or put the creators whose bios signal they're open to business/collab first (best for outreach).

## `postsPerInfluencer` (type: `integer`):

How many recent posts to pull per creator to compute real engagement (engagement rate, avg views, top post). Set 0 for VOLUME MODE — skip post analysis and return thousands of niche creators fast (with followers, bio, verified status, and niche-centrality). Use a value (e.g. 20) for a deep, engagement-ranked shortlist.

## `maxInfluencers` (type: `integer`):

The hard cap on how many creators are returned, ranked. Default 50 — raise it for a bigger list, up to 50,000. In volume mode (posts = 0) big lists are cheap; in deep mode each result adds a post-analysis pass.

## `hops` (type: `integer`):

How far out from the seeds to explore. 1 = directly related accounts. 2 = the neighbourhood. 3–4 = widest — maps thousands of accounts (hop 4 + several diverse seeds returns 8,000+).

## `maxCandidates` (type: `integer`):

Upper bound on the raw discovery pool before filtering and ranking. Raise it (up to 50,000) to surface thousands of creators. Higher = more thorough, slower.

## Actor input object example

```json
{
  "smartNiche": "personal finance",
  "niche": "fitness",
  "followerTier": "any",
  "minFollowers": 1000,
  "maxFollowers": 0,
  "includeBrands": false,
  "verifiedOnly": false,
  "sortBy": "score",
  "postsPerInfluencer": 20,
  "maxInfluencers": 50,
  "hops": 2,
  "maxCandidates": 600
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("yumitori/x-niche-influencer-finder").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("yumitori/x-niche-influencer-finder").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{}' |
apify call yumitori/x-niche-influencer-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=yumitori/x-niche-influencer-finder",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Find Twitter / X Influencers by Niche 🎯 Micro + Engagement",
        "description": "Twitter / X influencer discovery: find influencers and micro-influencers by niche, ranked by real engagement — not follower count. Build an outreach-ready list of creators and KOLs with engagement metrics, contact emails, and recent posts. No login, no browser.",
        "version": "0.1",
        "x-build-id": "qcBoebeGnvOjwt08H"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/yumitori~x-niche-influencer-finder/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-yumitori-x-niche-influencer-finder",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/yumitori~x-niche-influencer-finder/runs": {
            "post": {
                "operationId": "runs-sync-yumitori-x-niche-influencer-finder",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/yumitori~x-niche-influencer-finder/run-sync": {
            "post": {
                "operationId": "run-sync-yumitori-x-niche-influencer-finder",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "smartNiche": {
                        "title": "Smart niche — type any niche in plain words",
                        "type": "string",
                        "description": "Type any niche in plain words and the finder auto-discovers the right seed accounts — no handles needed. Enter a topic (e.g. \"home fitness\"), not a person's name. Leave blank to use the dropdown or your own accounts."
                    },
                    "niche": {
                        "title": "Niche — pick one (or Custom to enter your own accounts)",
                        "enum": [
                            "custom",
                            "fitness",
                            "nutrition",
                            "ai",
                            "crypto",
                            "startups",
                            "vc",
                            "buildinpublic",
                            "finance",
                            "writing",
                            "productivity",
                            "podcasting",
                            "creators",
                            "tech",
                            "marketing"
                        ],
                        "type": "string",
                        "description": "Choose your niche and the finder auto-seeds it with the right expert accounts — no need to know handles. Pick 'Custom' to enter your own seed accounts below.",
                        "default": "fitness"
                    },
                    "handles": {
                        "title": "Your own seed accounts (@handle or URL)",
                        "type": "array",
                        "description": "Optional. Used when Niche = Custom, or to add extra seeds on top of a chosen niche. Accepts @handle, handle, or https://x.com/handle.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "followerTier": {
                        "title": "Follower tier",
                        "enum": [
                            "any",
                            "nano",
                            "micro",
                            "mid",
                            "custom"
                        ],
                        "type": "string",
                        "description": "Target a creator size in one click. Pick a tier to instantly exclude mega-accounts and mainstream brands, or choose Custom to set your own range below.",
                        "default": "any"
                    },
                    "minFollowers": {
                        "title": "Min followers (Custom / Any tier)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Used when Follower tier is Any or Custom. Ignore accounts below this size.",
                        "default": 1000
                    },
                    "maxFollowers": {
                        "title": "Max followers (Custom / Any tier · 0 = no limit)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Used when Follower tier is Any or Custom. Cap on account size. 0 = no ceiling.",
                        "default": 0
                    },
                    "includeBrands": {
                        "title": "Include brands & companies",
                        "type": "boolean",
                        "description": "Off by default — corporate, brand, and official-org accounts are filtered out so you get people and creators. Turn on to keep everything.",
                        "default": false
                    },
                    "verifiedOnly": {
                        "title": "Verified accounts only",
                        "type": "boolean",
                        "description": "Keep only verified creators. Useful for tightening the shortlist to established accounts.",
                        "default": false
                    },
                    "sortBy": {
                        "title": "Rank by",
                        "enum": [
                            "score",
                            "engagement",
                            "followers",
                            "openToBiz"
                        ],
                        "type": "string",
                        "description": "How to order the shortlist. Influencer Score blends niche-centrality, engagement, and reach. Or rank by engagement rate, follower count, or put the creators whose bios signal they're open to business/collab first (best for outreach).",
                        "default": "score"
                    },
                    "postsPerInfluencer": {
                        "title": "Recent posts to analyze per creator (0 = volume mode)",
                        "minimum": 0,
                        "maximum": 100,
                        "type": "integer",
                        "description": "How many recent posts to pull per creator to compute real engagement (engagement rate, avg views, top post). Set 0 for VOLUME MODE — skip post analysis and return thousands of niche creators fast (with followers, bio, verified status, and niche-centrality). Use a value (e.g. 20) for a deep, engagement-ranked shortlist.",
                        "default": 20
                    },
                    "maxInfluencers": {
                        "title": "Max results (shortlist size)",
                        "minimum": 1,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "The hard cap on how many creators are returned, ranked. Default 50 — raise it for a bigger list, up to 50,000. In volume mode (posts = 0) big lists are cheap; in deep mode each result adds a post-analysis pass.",
                        "default": 50
                    },
                    "hops": {
                        "title": "Discovery depth (hops)",
                        "minimum": 1,
                        "maximum": 4,
                        "type": "integer",
                        "description": "How far out from the seeds to explore. 1 = directly related accounts. 2 = the neighbourhood. 3–4 = widest — maps thousands of accounts (hop 4 + several diverse seeds returns 8,000+).",
                        "default": 2
                    },
                    "maxCandidates": {
                        "title": "Max accounts to discover (advanced)",
                        "minimum": 10,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Upper bound on the raw discovery pool before filtering and ranking. Raise it (up to 50,000) to surface thousands of creators. Higher = more thorough, slower.",
                        "default": 600
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
