# Influencer Finder (`mambalabs/creator-finder`) Actor

Finds creators by keyword and niche across TikTok, Instagram, YouTube, Pinterest, Twitch, Threads, and podcasts, filtered by follower range. One flat row per creator with handle, profile URL, follower count, the search that found them, and similar creators. Discovery only.

- **URL**: https://apify.com/mambalabs/creator-finder.md
- **Developed by:** [Mamba Labs](https://apify.com/mambalabs) (community)
- **Categories:** Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $7.00 / 1,000 creator founds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### 🔎 What can Influencer Finder do?

Keyword or niche in, creator handles out. One flat row per creator per platform found, with the handle, the profile URL, the follower count the search result showed, the search that found the creator, and up to five similar creators from the same search. Discovery only; profile detail is the [Influencer Profile Scraper](https://apify.com/mambalabs/creator-profile-reader?fpr=mamba), and the [Link in Bio Scraper and Newsletter Detector](https://apify.com/mambalabs/link-in-bio-newsletter-checker?fpr=mamba) reads the link page.

Platforms: TikTok, Instagram, YouTube, Pinterest, Twitch, Threads, and podcasts (Apple and Spotify show pages, public feeds). Not X, not Facebook pages, not LinkedIn.

| 📦 What you get | ⚙️ Features and integrations |
|---|---|
| 👥 **One row per creator per platform**, handle and profile URL<br>📊 **Follower count** as the search result showed it<br>🔍 **The search that found them**, keyword and niche<br>🤝 **Up to five similar creators** from the same search<br>🧾 **57 flat fields**, `snake_case`, the suite's shared row | 🌐 **Seven platforms**, TikTok, Instagram, YouTube, Pinterest, Twitch, Threads, podcasts<br>🎯 **Eight curated niches**, about 60 keywords each<br>🎚️ **Follower band filter**, unknown counts kept<br>🧪 **Clay ready**, one keyword per row lands on the same path<br>⬇️ **Export** to JSON, CSV, Excel, HTML or XML |

Bought by teams that sell to creators, newsletter and creator tool companies, talent and brand partnership teams, and agencies building creator lists by niche.

> 🚫 **This is not a profile scraper or a newsletter detector.** It finds handles. Followers come from the search result, not the profile page. Profile detail is the Influencer Profile Scraper, and the link page is read by the Link in Bio Scraper and Newsletter Detector; the Influencer Lead List Builder runs all three in one go.

### 💡 Why use Influencer Finder?

| If you sell | Read these fields |
|---|---|
| Newsletter or email tools to creators | `handle`, `platform`, `followers`, then hand the row to the Link in Bio Scraper and Newsletter Detector |
| Creator tools, courses, or memberships | `search_keyword`, `niche`, `followers` |
| Brand partnerships or sponsorships | `followers`, `similar_creators`, `profile_url` |
| Talent representation | `handle`, `similar_creators`, then the Influencer Talent Agency Lookup |
| Anything, as a disqualifier | `row_status`, `error_reason` |

#### 🧭 How discovery works, and why the yield is what it is

TikTok, Instagram, and Threads have no keyword search that renders without login, so discovery runs `site:<platform> "<keyword>" "Followers"` on Google through the SERP proxy and reads the handle from the result title and the follower count from the snippet. Google honors the `site:` operator on the first page or two and on some exit countries not at all, so the actor pages shallow, varies the exit country, and fetches a page without a handle once more before giving the keyword up. Measured on 2026-09-21: TikTok 7 handles per keyword, Instagram 1 to 8, Threads 11 to 15. YouTube (the channel filtered results page, 20 per keyword), Twitch (its own search, 11), Pinterest (its user search resource, 50), and podcasts (the iTunes Search API, 50) need no search engine.

More keywords with shallow paging beats few keywords with deep paging; that is what the niche sets are for.

`similar_creators` lists up to 5 other handles the same search returned (`similar_creators_method` is `same_keyword_cluster`), because every platform's related profile endpoint came back empty without login in the pre-research.

### 📋 What data can Influencer Finder extract?

**57 fields** per row, the same 57 in the same order on every actor in this suite. The ones this actor fills:

| Field | What it holds |
|---|---|
| `creator_id`, `creator_id_method`, `creator_id_confidence` | One ID per creator across platforms and runs; see The shared row below |
| `platform`, `handle`, `profile_url`, `display_name` | The creator found, with the canonical public profile URL |
| `search_keyword`, `niche` | The search that returned this creator; `niche` is null for your own keywords |
| `similar_creators`, `similar_creators_method` | Up to 5 other handles from the same search; `same_keyword_cluster` |
| `followers` | The count the search result showed, rounded the way the platform rounds it |
| `source_url`, `read_at`, `row_status`, `error_reason`, `billable_events_json` | Where the row came from, when, whether it is usable, and what it cost |

> ⚠️ **`false` and `null` are not the same thing, and an empty cell is not a failed read.** A column this actor does not own is `null`, never missing. On a boolean, `false` means the page was read and the signal was not there; `null` means nothing read it. On an Influencer Profile Scraper row, `verified: false` is a profile without the mark and `verified: null` is a profile that could not be read. Read `row_status` before any other column; the paragraph below says how.

Every actor in this suite writes the same 57 flat columns, in the same order, and fills the ones it owns. A column an actor does not own is null, never missing. Nested data lives only in columns ending `_json`, as a JSON string, so a Clay column reads one cell.

| Group | Columns | Filled by |
| --- | --- | --- |
| Identity | `creator_id`, `creator_id_method`, `creator_id_confidence`, `platform`, `handle`, `profile_url`, `display_name` | Influencer Finder, Influencer Profile Scraper |
| Discovery | `search_keyword`, `niche`, `similar_creators`, `similar_creators_method` | Influencer Finder |
| Profile | `followers`, `following`, `post_count`, `engagement_rate`, `engagement_method`, `verified`, `bio`, `bio_link`, `location_text`, `country_guess`, `country_guess_method` | Influencer Profile Scraper |
| Contact | `business_email`, `business_email_source`, `website_email`, `website_email_source_url`, `manager_name`, `manager_email`, `manager_source_url`, `agency_name`, `agency_domain`, `agency_match_method` | Influencer Profile Scraper, Link in Bio Scraper and Newsletter Detector, Influencer Talent Agency Lookup |
| Links | `link_in_bio_platform`, `outbound_links_json`, `other_social_profiles_json`, `own_website` | Link in Bio Scraper and Newsletter Detector; `other_social_profiles_json` also by the Influencer Profile Scraper |
| Newsletter | `newsletter_status`, `newsletter_platform`, `newsletter_url`, `newsletter_evidence_url`, `newsletter_check_method` | Link in Bio Scraper and Newsletter Detector |
| Sells | `sells_course`, `sells_coaching`, `sells_digital_product`, `sells_merch`, `sells_membership`, `brand_deals_visible`, `discount_codes_visible` | Link in Bio Scraper and Newsletter Detector |
| Change | `change_type`, `change_from`, `change_to`, `previous_run_at` | Influencer Change Monitor |
| Run | `source_url`, `read_at`, `row_status`, `error_reason`, `billable_events_json` | All six |

The Influencer Lead List Builder runs the Influencer Finder, the Influencer Profile Scraper, and the Link in Bio Scraper and Newsletter Detector in one run and fills what they fill. The Influencer Change Monitor and the Influencer Talent Agency Lookup read the profile (and the Influencer Change Monitor reads the link page too when `check_links` is on), so their rows carry the identity, profile, contact, and link columns as well.

**Read `row_status` first.** `ok` is a normal row. `error` carries the reason in `error_reason` (here, a search that threw, with the keyword and platform on the row) and charges nothing. `partial` does not occur on this actor; it is the Influencer Profile Scraper's status for a profile page that was read but gave no follower count, bio, or name.

**The creator ID.** `creator_id` is `cr_` plus 16 hex characters of the SHA-1 of `platform:handle` of the creator's primary profile, so the same creator gets the same ID in every actor and every run. When one run sees the same creator on two platforms, the rows share the ID and each row says how it was linked: `bio_link_match` (0.9, one profile links to the other), `website_match` (0.8, same own website), `handle_match` (0.5, same handle on two platforms, which collides on common words). A lone row is `seed_handle` at 1.

**Country scope.** Launch scope is US creators, and the filter acts at the profile read, not here. Discovery carries no country signal, so `country_guess` and `country_guess_method` are null on every row of this actor and `us_only` changes nothing on this actor. The field is accepted so the same input runs unchanged on the Influencer Lead List Builder, where the profile stage returns a creator whose guess is a known non US country as an error row.

### 🛠️ How to find influencers by keyword or niche

1. Open the **Input** tab and put one or more search phrases in `keywords`, one per line, or pick a `niche` to load its curated keyword set.
2. Pick `platforms`. The default is TikTok and Instagram; add YouTube, Pinterest, Twitch, Threads, or podcasts.
3. Set the follower band with `follower_min` and `follower_max`, or leave the defaults of 5,000 and 500,000.
4. Click **Start**. One row per creator per platform lands in the dataset as each search finishes.
5. Read `row_status` first, then `handle`, `profile_url`, and `followers`.
6. Export from the **Output** tab, or pull the rows through the API, and hand the handles to the Influencer Profile Scraper or the Link in Bio Scraper and Newsletter Detector.

#### 🧪 Using it in Clay

Add an **Enrichment > Apify** column, pick this actor, and map your keyword column to `keywords`. Batch: one keyword is one run; a list is a batch. A Clay column sending one keyword per row lands on the same path. The 57 fields land as one flat row per creator with no reshaping, so a keyword column in Clay becomes a creator table.

#### 📚 Batch or single

One keyword is one run; a list is a batch, and a `niche` loads its keyword set into the same list. Both shapes reach the same code path, and so does the shape the platform produces when Clay sends a top level array against an object schema. Keywords are deduplicated before any search, and a creator that two searches return is written and charged once. Rows are pushed as each search finishes, so a run that hits its timeout keeps every row it already resolved. A search that throws becomes an error row with the reason and the run continues.

Concurrency (`batch_size`) is searches in flight across all platforms, default 2, capped at 4.

### 💵 How much does it cost to find influencers?

Pay per event. You are charged for output, never for input.

| Event | Fires when | Price |
|---|---|---|
| `actor-start` | Once per run, on start. | $0.001 |
| `creator-found` | Once per creator row returned by keyword or niche discovery with a handle and a profile URL. A search that returns nothing charges nothing. | $0.007 |

Free Apify plan users get 200 results per calendar month, reset monthly. Upgrade to any paid Apify plan for unlimited use: https://apify.com/pricing?fpr=mamba

> 💳 **What you are billed for.** `creator-found` fires once per creator row with a handle and a profile URL. A search that returns nothing charges nothing, and a keyword that finds the same creator twice charges once, because input is deduplicated before any row is written. A Google page costs about $0.0025 in platform usage on your account; two pages per keyword per platform is the usual spend.

Apify bills its own platform usage on top of the event prices.

### ⌨️ Input

Everything is on the **Input** tab. The options worth explaining:

| Field | What it does |
| --- | --- |
| `keywords` | Search phrases, one per line. Each is searched on each platform. |
| `niche` | Loads a curated keyword set (about 60 per niche, from the September 2026 pre-research of 1,034 creators): personal finance, business and marketing, health and fitness, beauty and skincare, parenting and family, food and cooking, travel, tech and AI. `max_keywords_per_niche` caps how many are used (default 10). |
| `platforms` | Which platforms to search. Default TikTok and Instagram. |
| `max_creators_per_keyword`, `max_creators` | Per search cap (default 20) and a hard cap on the run (default 200). |
| `follower_min`, `follower_max` | Drop creators whose count is known and outside the band. Unknown counts are kept. Defaults 5,000 and 500,000. |
| `us_only` | Launch scope. Discovery carries no country signal, so this field changes nothing on this actor; it is accepted so the same input runs unchanged on the Influencer Lead List Builder, where it acts at the profile stage on `country_guess`. |

### 📤 Output

Exports to **JSON, CSV, Excel, HTML or XML**. One flat, snake\_case row per creator per platform, 57 columns, with `null` rather than a missing key. No nested objects, so it drops straight into Clay, a spreadsheet or a warehouse table without a flattening step. Nested data lives only in columns ending `_json`, as a JSON string, so a Clay column reads one cell.

Influencer Finder fills the identity, discovery, and run columns and the follower count; the other columns are `null` until the Influencer Profile Scraper or the Link in Bio Scraper and Newsletter Detector fills them. The row below is trimmed to the columns this actor fills.

```json
{
  "creator_id": "cr_4af4c45d4984f69f",
  "creator_id_method": "seed_handle",
  "creator_id_confidence": 1,
  "platform": "youtube",
  "handle": "AnudeepTraveller",
  "profile_url": "https://www.youtube.com/@AnudeepTraveller",
  "display_name": "Anudeep Budget Travel Vlogs",
  "search_keyword": "budget travel",
  "niche": null,
  "similar_creators": "Budgetfoodtravel, funandbudgettravels, travelbitsandhacks, BudgetTravels",
  "similar_creators_method": "same_keyword_cluster",
  "followers": 10300,
  "source_url": "https://www.youtube.com/@AnudeepTraveller",
  "read_at": "2026-09-22T08:19:08.409Z",
  "row_status": "ok",
  "error_reason": null,
  "billable_events_json": "[{\"event\":\"creator-found\",\"count\":1}]"
}
```

### 💡 Tips

- More keywords with shallow paging beats few keywords with deep paging; that is what the niche sets are for. Set `max_keywords_per_niche` up from 10 rather than `max_creators_per_keyword` up from 20.
- Use `similar_creators` as a second seed list. Each row carries up to 5 handles the same search returned.
- Keep `follower_min` and `follower_max` on. A count the search result did not show is kept, so the band never drops a creator you cannot see.
- Run the same keywords weekly and diff `handle`. New handles are creators who started ranking for the phrase.

### ⚠️ Known limits

**Discovery results vary.** Influencer Finder searches public pages for each keyword, so the number of creators found per platform changes from run to run. TikTok, Instagram, and Threads discovery runs through web search and can return few or no handles on a given run. YouTube, Twitch, Pinterest, and podcasts use each platform's own search.

**Discovered handles that no longer exist.** Influencer Finder charges `creator-found` for each handle it discovers. A small share of discovered handles belong to deleted or renamed accounts. A profile read by the Influencer Profile Scraper then returns a labeled `not_found` row, and the discovery charge still applies.

**Followers are the search result's figure.** The count is read from the result snippet, so TikTok rounds above about ten thousand and YouTube rounds to three significant figures. Read the profile with the Influencer Profile Scraper for the exact count.

**Discovery has no country signal.** `country_guess` is null on every row here and `us_only` changes nothing on this actor; on the Influencer Lead List Builder it acts at the profile stage.

**Not X, not Facebook pages, not LinkedIn.** Seven platforms are searched, listed above.

**What is never done.** No login. No CAPTCHA solving. No LinkedIn fetch. No message to anyone. No key of ours is used on your run; this actor has no AI option and takes no API key.

### ❓ FAQ

**Why did TikTok return zero handles for my keyword?**
TikTok, Instagram, and Threads discovery runs through web search, and Google honors the `site:` operator on the first page or two and on some exit countries not at all. The actor pages shallow, varies the exit country, and retries once. A run can still return few or no handles on a given keyword; the next run, or a neighboring keyword, usually does.

**Are the follower counts exact?**
No. They are what the search result showed. The Influencer Profile Scraper reads the profile page for the exact figure.

**Does it read the profile or the link page?**
No. Discovery only. That is why a row costs $0.007 and not $0.021.

**Why is `similar_creators` by shared search and not the platform's related profiles?**
Every platform's related profile endpoint came back empty without login in the pre-research, so similarity is by shared search (`similar_creators_method` is `same_keyword_cluster`).

**Can I run a list of keywords from Clay?**
Yes. One keyword per row lands on the same path as a list in one run.

### 🧩 Want other GTM data?

Mamba Labs builds a fleet of GTM enrichment actors that share one flat,
Clay-ready output convention, so their rows join on `company_domain` or
`creator_id` with no cleaning step:

| | |
|---|---|
| 🕵️ [Agent Accessibility Auditor](https://apify.com/mambalabs/agent-accessibility-auditor?fpr=mamba) | 🤖 [AI Tooling Detector](https://apify.com/mambalabs/ai-tooling-detector?fpr=mamba) |
| 📡 [B2B Buying Signals Aggregator](https://apify.com/mambalabs/b2b-buying-signals-hiring-tech-stack-intent-for-clay?fpr=mamba) | 🚀 [Prospect Engine](https://apify.com/mambalabs/b2b-prospect-engine?fpr=mamba) |
| 📝 [Publishing Frequency Tracker](https://apify.com/mambalabs/blog-publishing-frequency?fpr=mamba) | 🦋 [Bluesky Brand Presence Mapper](https://apify.com/mambalabs/bluesky-brand-presence-mapper?fpr=mamba) |
| ⏩ [Sequencer Lead Push](https://apify.com/mambalabs/clay-to-instantly-smartlead-push?fpr=mamba) | 🔄 [Company Change-Event Feed](https://apify.com/mambalabs/company-change-event-feed?fpr=mamba) |
| 📇 [Company Contact Details Extractor](https://apify.com/mambalabs/company-contact-details-extractor?fpr=mamba) | 🧭 [Company Discovery List Builder](https://apify.com/mambalabs/company-discovery-list-builder?fpr=mamba) |
| 🏢 [Company Firmographic Enricher](https://apify.com/mambalabs/company-firmographic-enricher?fpr=mamba) | 🪪 [Company Identity Resolver](https://apify.com/mambalabs/company-identity-resolver?fpr=mamba) |
| 🌐 [Company Social Presence Mapper](https://apify.com/mambalabs/company-social-presence-mapper?fpr=mamba) | 🏷️ [Contact Classifier](https://apify.com/mambalabs/contact-classifier?fpr=mamba) |
| 📈 [Influencer Change Monitor](https://apify.com/mambalabs/creator-change-monitor?fpr=mamba) | 🧾 [Influencer Lead List Builder](https://apify.com/mambalabs/creator-lead-list-all-in-one?fpr=mamba) |
| 👤 [Influencer Profile Scraper](https://apify.com/mambalabs/creator-profile-reader?fpr=mamba) | 📬 [Domain Deliverability Checker](https://apify.com/mambalabs/domain-deliverability-checker?fpr=mamba) |
| 🔗 [Domain to LinkedIn URL Resolver](https://apify.com/mambalabs/domain-to-linkedin-url-resolver?fpr=mamba) | 🛒 [Ecommerce Platform Profiler](https://apify.com/mambalabs/ecommerce-platform-profiler?fpr=mamba) |
| ✉️ [Work Email Waterfall Finder](https://apify.com/mambalabs/email-waterfall-orchestrator?fpr=mamba) | 🎪 [Event Presence Index](https://apify.com/mambalabs/event-presence-index?fpr=mamba) |
| 💵 [Funding Record and Filings](https://apify.com/mambalabs/funding-investor-record?fpr=mamba) | 💰 [Funding and Press Signal Scanner](https://apify.com/mambalabs/funding-press-signal-scanner?fpr=mamba) |
| 🐙 [GitHub Organization Signal Scanner](https://apify.com/mambalabs/github-organization-signal-scanner?fpr=mamba) | 🧑‍💼 [GTM Hiring Signal Scraper](https://apify.com/mambalabs/gtm-hiring-signal-scraper?fpr=mamba) |
| 📋 [Job Posting Monitor](https://apify.com/mambalabs/gtm-job-discovery?fpr=mamba) | 🧱 [Tech Stack Detector](https://apify.com/mambalabs/gtm-tech-stack-signal-scraper?fpr=mamba) |
| 🎯 [ICP Fit Scorer](https://apify.com/mambalabs/icp-account-lead-scoring-fit-scorer-0-100-for-clay?fpr=mamba) | 🔑 [Job Board Keyword Scanner](https://apify.com/mambalabs/job-board-keyword-signal-scanner?fpr=mamba) |
| ⚖️ [Legal Entity Resolver](https://apify.com/mambalabs/legal-entity-resolver?fpr=mamba) | 🔗 [Link in Bio Scraper and Newsletter Detector](https://apify.com/mambalabs/link-in-bio-newsletter-checker?fpr=mamba) |
| 💼 [LinkedIn Company Page Mapper](https://apify.com/mambalabs/linkedin-company-presence-mapper?fpr=mamba) | 💬 [LinkedIn Post Tracker and Comment Capture](https://apify.com/mambalabs/linkedin-post-engager-capture?fpr=mamba) |
| 📢 [Meta Ad Library Monitor](https://apify.com/mambalabs/meta-ad-library-monitor?fpr=mamba) | 📸 [Instagram and Facebook Brand Mapper](https://apify.com/mambalabs/meta-brand-presence-mapper?fpr=mamba) |
| 📮 [Outbound Stack Detector](https://apify.com/mambalabs/outbound-infrastructure-fingerprint?fpr=mamba) | 📄 [Page Finder and Extractor](https://apify.com/mambalabs/page-finder-extractor?fpr=mamba) |
| 👤 [People Finder and Email Verifier](https://apify.com/mambalabs/people-finder?fpr=mamba) | 📌 [Pinterest Brand Presence Mapper](https://apify.com/mambalabs/pinterest-brand-presence-mapper?fpr=mamba) |
| 🏛️ [Government Contract Award Monitor](https://apify.com/mambalabs/public-award-monitor?fpr=mamba) | 📅 [Public Company Reporting Window Finder](https://apify.com/mambalabs/public-company-reporting-window-finder?fpr=mamba) |
| 👽 [Reddit Brand and Mention Monitor](https://apify.com/mambalabs/reddit-brand-presence-mapper?fpr=mamba) | ⭐ [Trustpilot Reputation Enricher](https://apify.com/mambalabs/review-platform-reputation-enricher?fpr=mamba) |
| 👥 [Team Page People Extractor](https://apify.com/mambalabs/team-page-people-extractor?fpr=mamba) | 🎵 [TikTok Brand Presence Mapper](https://apify.com/mambalabs/tiktok-brand-presence-mapper?fpr=mamba) |
| 📈 [Website Traffic Rank Estimator](https://apify.com/mambalabs/website-traffic-rank-estimator?fpr=mamba) | 🏅 [Workplace Program Detector](https://apify.com/mambalabs/workplace-program-detector?fpr=mamba) |
| ✖️ [X Twitter Brand Presence Mapper](https://apify.com/mambalabs/x-brand-presence-mapper?fpr=mamba) | ▶️ [YouTube Channel Stats Extractor](https://apify.com/mambalabs/youtube-channel-transcript-extractor?fpr=mamba) |

> Every actor in the suite takes a domain, a company, or a creator and returns one flat row,
> so they stack in the same Clay table without reshaping anything.

> 🛠️ **Need something custom built for you or your team?** Tell us what you are
> trying to find and we will build it. [Talk to Mamba Labs](https://mambabuilt.com/contact).

### 🆘 Support

Issues, field requests and bug reports: open an issue on the actor's Issues tab.
Mamba Labs reads every one.

> ℹ️ **Sourcing and legal.** Every field comes from pages the platforms and the creators publish to anyone without a login, read directly or through a proxy, with no login, no CAPTCHA solving, and no LinkedIn fetch. The row records what was public at `read_at`. Nothing is assessed or scored; a class, a flag, or a match method says what was read and where. You are responsible for how you use the output, including under applicable data protection and platform terms.

Built by [Mamba Labs](https://apify.com/mambalabs?fpr=mamba).

# Actor input Schema

## `keywords` (type: `array`):

Search phrases, one per line, for example "budget travel" or "meal prep coach". Each keyword is searched on each platform. Use `niche` instead to load a curated keyword set.

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

Loads a curated set of search keywords for the niche (about 60 per niche, measured in the September 2026 pre-research). `max_keywords_per_niche` caps how many are used. Leave as custom to search only your keywords.

## `max_keywords_per_niche` (type: `integer`):

How many keywords from the niche set to search. 1 to 60.

## `platforms` (type: `array`):

Which platforms to search, and which platforms a bare @handle is looked up on. A full profile URL carries its own platform and ignores this. Supported: TikTok, Instagram, YouTube, Pinterest, Twitch, Threads, and podcasts. Not X, not Facebook pages, not LinkedIn.

## `max_creators_per_keyword` (type: `integer`):

Cap per search. Search engines honor the site: filter for the first page or two only, so 20 to 30 per keyword with more keywords beats deep paging.

## `max_creators` (type: `integer`):

Hard cap on rows returned, so a broad niche cannot run away.

## `follower_min` (type: `integer`):

Drop creators whose follower count is known and below this. A creator whose count the search did not show is kept, so a later profile read can fill it.

## `follower_max` (type: `integer`):

Drop creators whose follower count is known and above this.

## `us_only` (type: `boolean`):

Launch scope is US creators. Discovery carries no country signal, so country\_guess is null on every row of this actor and this field changes nothing here. It is accepted so the same input runs unchanged on the Influencer Lead List Builder, where it acts at the profile stage.

## `batch_size` (type: `integer`):

Rows fetched at once. Leave empty for the measured per platform default; the measurement is in the README. Higher is faster and, above the measured point, loses rows.

## `source_tag` (type: `string`):

Attribution for published example tasks. Leave empty.

## Actor input object example

```json
{
  "keywords": [],
  "niche": "custom",
  "max_keywords_per_niche": 10,
  "platforms": [
    "tiktok",
    "instagram"
  ],
  "max_creators_per_keyword": 20,
  "max_creators": 200,
  "follower_min": 5000,
  "follower_max": 500000,
  "us_only": true
}
```

# Actor output Schema

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

Dataset of one flat row per creator per platform, with row\_status on every row so an error never reads as a blank. Every actor in the Mamba Labs creator suite writes the same column set; a column this actor does not fill is null on every row. The Overview view lists the columns this actor fills.

# 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 = {
    "keywords": [],
    "platforms": [
        "tiktok",
        "instagram"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("mambalabs/creator-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 = {
    "keywords": [],
    "platforms": [
        "tiktok",
        "instagram",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("mambalabs/creator-finder").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 '{
  "keywords": [],
  "platforms": [
    "tiktok",
    "instagram"
  ]
}' |
apify call mambalabs/creator-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,mambalabs/creator-finder"
        }
    }
}
```

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/tpkedmloIIWtXx6sg/builds/6K7CgSCYgBPfu9rnj/openapi.json
