# LinkedIn Influencer / Creator Finder (`coregent/linkedin-influencer-creator-finder`) Actor

Discover and rank LinkedIn creators, thought leaders and Top Voices by niche - follower reach, Top Voice badge, posting frequency, average and median engagement, engagement rate, topic relevance and an explainable creator score, with evidence posts. One row per creator. No LinkedIn login or cookies.

- **URL**: https://apify.com/coregent/linkedin-influencer-creator-finder.md
- **Developed by:** [Delowar Munna](https://apify.com/coregent) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$6.00 / 1,000 qualified creators

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?

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

## LinkedIn Influencer & Creator Finder — Rank Creators and Top Voices by Niche, No Login

![LinkedIn Influencer & Creator Finder](https://raw.githubusercontent.com/coregentdevspace/linkedin-influencer-creator-finder-assets/main/thumbnail-linkedin-influencer-creator-finder.png)

**Find the LinkedIn creators worth following, partnering with, or monitoring — not just people with a matching job title.**

Give the actor a niche ("artificial intelligence", "B2B marketing", "cybersecurity"), keywords, or your own list of profile URLs. It finds candidate creators on LinkedIn's public surfaces, reads each public profile and its recent posts, and returns **one ranked row per creator** with:

- **Reach** — exact follower count and a follower tier (NANO / MICRO / MID / MACRO).
- **Status** — the LinkedIn **Top Voice** and **Creator** badges, reported only when the public profile shows them.
- **Activity** — posts in your window, posting frequency per week, latest post date.
- **Engagement** — total, average **and median** reactions, comments and engagement, engagement rate per follower, consistency, best post.
- **Niche fit** — a 0–100 topic relevance score, the primary topic and every matched topic/keyword.
- **A 0–100 creator score** with a per-dimension breakdown, a confidence level, and plain-language signals such as `TOP_VOICE_BADGE`, `HIGH_TOPIC_RELEVANCE`, `STRONG_RECENT_ENGAGEMENT`, `CONSISTENT_POSTING`.
- **Evidence posts** — the creator's most relevant recent posts, chosen by topic match, engagement and recency.

**No LinkedIn login, no cookies, no Sales Navigator.** Only public guest pages over HTTP.

***

### How is this different from a LinkedIn people search?

| | People search / profile scrapers | This actor |
| --- | --- | --- |
| Input | Title, company, location | **Niche / topic**, keywords, or profile URLs |
| Output | Everyone who matches | Only people who **behave like creators** |
| Qualification | None | Must show public recent posts, a creator badge, Top Content presence or real engagement |
| Ranking | Search order | **Creator score** from relevance, engagement, consistency, reach and badges |
| Engagement | Rarely | Average + median reactions/comments, engagement rate, consistency |
| Explainability | — | Signals, cautions, score breakdown, evidence posts |

A profile with 10,000 followers and no public content is **not** returned as a creator.

***

### Quick start

#### Example 1 — creators for a niche (the input behind the sample output below)

```json
{
    "mode": "HYBRID",
    "topics": ["artificial intelligence"],
    "maxCreators": 10
}
```

#### Example 2 — micro and mid-tier creators

```json
{
    "mode": "HYBRID",
    "topics": ["B2B marketing"],
    "minFollowers": 5000,
    "maxFollowers": 50000,
    "postsPerCreator": 10,
    "recentDays": 90,
    "minPostsInWindow": 3,
    "sortBy": "CREATOR_SCORE",
    "maxCreators": 100
}
```

#### Example 3 — only LinkedIn Top Voices

```json
{
    "mode": "TOP_CONTENT",
    "topics": ["leadership", "sales"],
    "onlyTopVoice": true,
    "maxCreators": 100
}
```

#### Example 4 — creators based in Australia

```json
{
    "mode": "HYBRID",
    "topics": ["cybersecurity"],
    "locations": ["Australia"],
    "minFollowers": 1000,
    "requireRecentPosts": true,
    "maxCreators": 50
}
```

#### Example 5 — score a list you already have

```json
{
    "mode": "PROFILE_SEEDS",
    "profileUrls": ["https://www.linkedin.com/in/alliekmiller", "https://www.linkedin.com/in/sebastianraschka"],
    "topics": ["artificial intelligence", "machine learning"],
    "postsPerCreator": 10
}
```

***

### How creators are discovered

| Mode | What it does |
| --- | --- |
| `HYBRID` (default) | Everything below together: topics + keywords + your profile URLs + similar-profile expansion. |
| `TOPIC` | Finds LinkedIn **Top Content** pages that match your topics and takes their post authors as candidates, then expands with "other similar profiles" of qualified creators. |
| `KEYWORD` | The same discovery, driven by your keywords; relevance is measured against the keywords. |
| `TOP_CONTENT` | Top Content authors only — no expansion. Topics are optional; without them the directory is sampled broadly. |
| `PROFILE_SEEDS` | Scores the profile URLs you provide. Nothing else is discovered. |

**Top Content** is LinkedIn's public directory of high-performing posts, organised into ~40 categories (Artificial Intelligence, Marketing, Technology, Sales, Leadership…) and hundreds of subtopics. A niche that is not a category of its own is found one level down — "cybersecurity" lives under Technology → Cybersecurity Risks, Cybersecurity Tools and Testing.

Every candidate is deduplicated on its canonical profile URL (`https://uk.linkedin.com/in/x/`, `linkedin.com/in/x` and `https://www.linkedin.com/in/x` are one creator), then its public profile is read and it must pass **creator qualification** before it can be ranked or charged.

> LinkedIn's own people search and content search require a login, so this actor does not use them. Discovery is therefore as broad as LinkedIn's public Top Content directory plus similar-profile expansion — very good for established and rising niche creators, not a complete census of everyone who posts about a topic. If you already know who you want to analyse, `PROFILE_SEEDS` covers any public profile.

***

### Output

One dataset row per qualified creator, ranked. Three dataset views: **Ranked creators**, **Engagement detail** and **Evidence posts**.

The samples below are real records from a run with Example 1's input (`"topics": ["artificial intelligence"]`, `maxCreators: 10`), collected 2026-10-22. Long text is shortened with `...`; nothing else is edited.

#### Ranked creators

![Ranked creators table view](https://raw.githubusercontent.com/coregentdevspace/linkedin-influencer-creator-finder-assets/main/linkedin-influencer-creator-finder-output-ranked-creators-table-view.png)

A full row, here the #1 creator in that run:

```json
{
    "rowType": "linkedin_creator",
    "rank": 1,
    "creatorScore": 92,
    "confidence": "HIGH",
    "creatorSignals": ["TOP_VOICE_BADGE", "CREATOR_BADGE", "TOP_CONTENT_AUTHOR", "HIGH_TOPIC_RELEVANCE", "STRONG_RECENT_ENGAGEMENT", "CONSISTENT_POSTING", "HIGH_FOLLOWER_REACH", "RECENTLY_ACTIVE", "PUBLIC_RECENT_POSTS"],
    "cautionSignals": [],
    "creatorSummary": "#1 Most Followed Voice in AI Business (2M) | Former Amazon, IBM | Fortune 500 AI and St... (LinkedIn Top Voice); 1.7M followers; posting ~1.7x/week; about artificial intelligence (relevance 90/100); median 472 reactions+comments per post.",
    "profile": {
        "fullName": "Allie K. Miller",
        "firstName": "Allie",
        "lastName": "K. Miller",
        "profileUrl": "https://www.linkedin.com/in/alliekmiller",
        "publicIdentifier": "alliekmiller",
        "headline": "#1 Most Followed Voice in AI Business (2M) | Former Amazon, IBM | Fortune 500 AI and Startup Advisor, Public Speaker | ...",
        "about": null,
        "location": "New York, New York, United States",
        "country": "US",
        "profileImage": "https://media.licdn.com/dms/image/v2/C5603AQFcmNxBigo9_g/profile-displayphoto-shrink_200_200/...",
        "currentTitle": "Scientific Advisory Board Member",
        "currentCompany": "Thrive Global",
        "companyUrl": "https://www.linkedin.com/company/thrive-global",
        "followers": 1678630,
        "connections": "500+",
        "badges": ["TOP_VOICE", "CREATOR"],
        "isTopVoice": true,
        "isCreator": true,
        "creatorTier": "MACRO",
        "website": null
    },
    "topics": {
        "primaryTopic": "artificial intelligence",
        "secondaryTopics": [],
        "matchedTopics": ["artificial intelligence"],
        "matchedKeywords": [],
        "topicRelevance": 90,
        "contentConsistency": 100
    },
    "activity": {
        "recentDays": 90,
        "postsAnalyzed": 9,
        "postsInWindow": 9,
        "postsVisible": 17,
        "postingFrequencyPerWeek": 1.67,
        "postingFrequencyBasis": "OBSERVED_SPAN",
        "latestPostAt": "2026-10-20T19:05:23.667Z",
        "daysSinceLatestPost": 1.8
    },
    "engagement": {
        "totalReactions": 2892,
        "totalComments": 1445,
        "avgReactions": 321,
        "medianReactions": 339,
        "avgComments": 161,
        "medianComments": 159,
        "avgEngagement": 482,
        "medianEngagement": 472,
        "bestPostEngagement": 718,
        "engagementRate": 0.0003,
        "medianEngagementRate": 0.0003,
        "commentToReactionRatio": 0.5,
        "engagementConsistency": 0.79,
        "viralPostShare": 0.17,
        "commentCountsComplete": true
    },
    "scoreBreakdown": {
        "topicRelevance": 27,
        "recentEngagement": 17.8,
        "engagementConsistency": 11.9,
        "postingConsistency": 10,
        "followerReach": 10,
        "topVoiceOrCreator": 10,
        "contentRecency": 5,
        "penalties": {},
        "rescaledWithoutTopics": false
    },
    "evidencePosts": [
        {
            "postUrl": "https://www.linkedin.com/posts/alliekmiller_honest-question-is-every-comment-section-activity-7516894496090136577-_fxE",
            "text": "Honest question: is every comment section on here mostly AI? ...",
            "publishedAt": "2026-10-16T16:15:05.013Z",
            "postType": "POST",
            "reactions": 386,
            "comments": 332,
            "hashtags": [],
            "matchesTopic": true
        }
    ],
    "discoveredVia": ["TOP_CONTENT"],
    "topContentPages": [
        { "url": "https://www.linkedin.com/top-content/innovation/ai-trends-and-innovations/", "name": "AI Trends and Innovations" },
        { "url": "https://www.linkedin.com/top-content/artificial-intelligence/ai-evaluation-methods/", "name": "AI Evaluation Methods" }
    ],
    "status": "SUCCESS",
    "scrapedAt": "2026-10-22T13:41:28.941Z"
}
```

(The real row carries 3 evidence posts; one is shown.)

#### Engagement detail

This tab shows the activity and engagement numbers, plus any caution signals. Here is rank 6 from the same run. This creator has far fewer followers than the five ranked above, but the highest engagement rate in the run:

```json
{
    "rank": 6,
    "profile": {
        "fullName": "Sebastian Raschka, PhD",
        "profileUrl": "https://www.linkedin.com/in/sebastianraschka",
        "followers": 272378
    },
    "activity": {
        "postsAnalyzed": 8,
        "postsInWindow": 8,
        "postingFrequencyPerWeek": 0.92
    },
    "engagement": {
        "totalReactions": 16463,
        "totalComments": 748,
        "avgReactions": 2058,
        "medianReactions": 2045,
        "avgComments": 94,
        "medianComments": 84,
        "avgEngagement": 2151,
        "medianEngagement": 2127,
        "bestPostEngagement": 4417,
        "engagementRate": 0.0079,
        "medianEngagementRate": 0.0078,
        "engagementConsistency": 0.67,
        "commentToReactionRatio": 0.045,
        "viralPostShare": 0.26
    },
    "topics": { "contentConsistency": 71 },
    "cautionSignals": []
}
```

#### Evidence posts

Each creator's most relevant recent posts, ranked by topic match, engagement and recency. They can be posts or LinkedIn articles. Here are two from the same run (rank 3 and rank 2):

```json
[
    {
        "rank": 3,
        "profile": { "fullName": "Pascal BORNET", "profileUrl": "https://www.linkedin.com/in/pascalbornet" },
        "topics": { "primaryTopic": "artificial intelligence" },
        "evidencePosts": [
            {
                "postUrl": "https://www.linkedin.com/posts/pascalbornet_sponsored-salesforcepartner-agenticai-activity-7517902566387527680-acio",
                "text": "Autonomous agents shouldn't run on a short leash, but setting them loose without boundaries is reckless. True scale comes from building the right harness around the model. #sponsored ...",
                "publishedAt": "2026-10-19T11:00:47.701Z",
                "postType": "POST",
                "reactions": 1983,
                "comments": 272,
                "hashtags": ["sponsored", "SalesforcePartner", "AgenticAI", "TechLeadership", "AIGovernance", "EnterpriseAI", "DF26"],
                "matchesTopic": true
            }
        ]
    },
    {
        "rank": 2,
        "profile": { "fullName": "Andrew Ng", "profileUrl": "https://www.linkedin.com/in/andrewyng" },
        "topics": { "primaryTopic": "artificial intelligence" },
        "evidencePosts": [
            {
                "postUrl": "https://www.linkedin.com/pulse/ai-engineering-skills-map-andrew-ng-m479c",
                "text": "The AI Engineering Skills Map",
                "publishedAt": "2026-08-14T16:29:48.000Z",
                "postType": "ARTICLE",
                "reactions": 14235,
                "comments": 429,
                "hashtags": [],
                "matchesTopic": true
            }
        ]
    }
]
```

Every row carries the full record, whichever view you open: `scoreBreakdown` (points per dimension and any penalties) and `topContentPages` (where the creator was found) are always included. Any value LinkedIn does not expose publicly is `null` — **never a guessed number, never a zero standing in for "unknown".**

***

### How the creator score is calculated

`creatorScore` is a 0–100 Coregent analytical metric — **not** an official LinkedIn score. Points per dimension:

| Dimension | Max | What earns it |
| --- | --- | --- |
| Topic relevance | 30 | `topicRelevance` ÷ 100 × 30 |
| Recent engagement | 20 | Median engagement per post, log-scaled (~1,000 median earns the full 20) |
| Engagement consistency | 15 | How evenly posts perform (one viral hit doesn't count) |
| Posting consistency | 10 | Posts per week, full marks at one a week — more is not better |
| Follower reach | 10 | Followers, log-scaled (1M = 10) |
| Top Voice / Creator | 10 | Top Voice badge 10; Creator badge or Top Content author 6 |
| Content recency | 5 | Latest post ≤ 7 days 5, ≤ 30 days 3, inside the window 1 |

Penalties: no recent posts −25, single viral post only −10, low topic relevance −20, fewer than 3 posts analysed −15. With no topics or keywords the 70 non-topic points are rescaled to 100, so profile-seed runs without a niche still rank sensibly. Weights are V1 defaults and are shown on every row.

### How topic relevance is calculated

0–100 per topic, from the creator's headline/About/title, the analysed recent posts, their hashtags and Top Content placement:

| Component | Max |
| --- | --- |
| Profile relevance (headline / About / title / company) | 25 |
| Recent content match (share of analysed posts about the topic) | 50 |
| Hashtag match | 10 |
| Found on a Top Content page for this topic | 15 |

Matching is deterministic: whole-word phrase matching plus a short list of common synonyms (e.g. "artificial intelligence" ↔ "AI", "machine learning", "LLM"). No AI call per creator. `topicRelevance` is the best topic; `matchedTopics` / `matchedKeywords` list every topic with real evidence (≥ 20).

### Creator tiers

| Tier | Followers |
| --- | --- |
| `NANO` | < 5,000 |
| `MICRO` | 5,000 – 25,000 |
| `MID` | 25,000 – 100,000 |
| `MACRO` | > 100,000 |

Top Voice is a **separate flag** (`isTopVoice`) that coexists with any tier. Selecting `TOP_VOICE` in `creatorTiers` keeps Top Voices of any size.

***

### Pricing — what you are charged for

Pay per event, one event:

- **`creator-result`** — charged once per **unique, qualified creator** delivered to the dataset.

**Never charged:** candidates that fail qualification or your filters, duplicates, profiles that are private or unavailable, profiles LinkedIn refused to serve, and the run summary. A run that finds no qualified creators costs nothing in creator charges.

This README deliberately doesn't quote prices — see the **Pricing** tab for the live per-creator rate. Per-run spending limits are honoured: the actor never analyses or delivers more creators than your limit can pay for.

***

### Filters

| Filter | Notes |
| --- | --- |
| `minFollowers` / `maxFollowers` | Follower range. Creators without a public follower count are excluded when a minimum is set. Applied before profile fetches when Top Content already shows the count, so a micro-creator search doesn't spend effort on celebrities. |
| `creatorTiers`, `onlyTopVoice` | Tier and badge filters. |
| `locations` | The creator's **profile** location — where they live, not where their audience is. |
| `industries` | Approximate: matched against headline, About, company and Top Content category (guest profiles have no industry field). |
| `jobTitleKeywords` | Headline / title contains one of these. Optional — many strong creators have ordinary business titles. |
| `requireRecentPosts`, `minPostsInWindow`, `recentDays` | Activity requirements. |
| `minAverageReactions`, `minAverageComments`, `minEngagementRate` | Engagement thresholds over the analysed posts. |
| `minTopicRelevance` (default 40), `minCreatorScore` | Quality thresholds. |

### Run summary

The `RUN_SUMMARY` key-value record reports coverage for every run: topics, Top Content pages read, candidates discovered and unique, profiles enriched / unavailable / blocked, profiles with followers / badges / recent posts, posts collected, creators qualified / rejected / delivered, Top Voices found, a count per **rejection reason** (`LOW_TOPIC_RELEVANCE`, `NO_PUBLIC_POSTS`, `BELOW_FOLLOWER_THRESHOLD`, …), request health and charged events. `status` is one of `SUCCESS`, `PARTIAL_RESULT`, `NO_RESULTS`, `BLOCKED`, `RATE_LIMITED`.

**Run timeout:** the actor stops starting new requests a few minutes before the run's timeout, so the creators found so far are always delivered rather than lost when the run is killed. If that cuts a run short, `stoppedAtDeadline` is `true`, the status is `PARTIAL_RESULT`, and the log says so. For a very large `maxCreators`, raise the timeout in the run options.

- `RETRY_INPUT` — when LinkedIn refused some profiles, a ready-to-run `PROFILE_SEEDS` input containing just those profiles.
- `REJECTED_CANDIDATES` — with `debugMode` on, every rejected candidate and why.

***

### FAQ

**What is a LinkedIn creator?** Here: someone who publishes publicly and gets engagement — shown by recent public posts, a Creator or Top Voice badge, Top Content placement, or real engagement. Not everyone with followers.

**Does it require a LinkedIn login or cookies?** No. Public guest pages only. You never provide `li_at` or any credential.

**What is a Top Voice?** LinkedIn's badge for members it recognises for expertise in a topic. `isTopVoice` is `true` only when the public profile shows it — the actor never infers it.

**How many recent posts are analysed?** Up to `postsPerCreator` (default 10) from inside `recentDays` (default 90). LinkedIn's public profile shows roughly the latest 8 posts plus recent articles, so very prolific creators are measured on that latest sample; posting frequency is then computed over the time span the sample actually covers (`postingFrequencyBasis: "OBSERVED_SPAN"`), not diluted across the whole window.

**What if a profile has no public posts?** It is rejected (`NO_PUBLIC_POSTS`) with the default `requireRecentPosts: true`, and never charged. Turn the option off to score badge-only profiles.

**What does engagement rate mean?** Average (reactions + comments) per analysed post ÷ followers. `null` when the follower count is missing or zero. `medianEngagementRate` uses the median instead, which one viral post can't distort.

**Are follower counts always available?** For almost every public profile, yes (exact count from the profile). When not, `followers` is `null` and the row gets `FOLLOWER_COUNT_UNAVAILABLE`.

**Are comment counts always available?** The public profile shows them for recent posts. If one is missing, the actor reads that post's public page (`fetchMissingCommentCounts`); otherwise the row is flagged `COMMENT_COUNTS_INCOMPLETE` and averages use the counts that are known.

**Can I filter by country or city?** Yes, `locations`, matched against the creator's profile location.

**Can I find micro-influencers?** Yes — `maxFollowers`, or `creatorTiers: ["NANO", "MICRO"]`.

**Can I find only Top Voices?** Yes — `onlyTopVoice: true`.

**Can I provide profile URLs?** Yes — `PROFILE_SEEDS` mode, or alongside topics in `HYBRID`. Up to 1,000.

**Does it return email addresses?** No. This actor ranks creators; chain a separate email-finder actor if you need contact data.

**What are the public-profile limitations?** Members can hide parts of their profile from guests (some fields appear masked and are returned as `null`); post history is limited to the recent sample LinkedIn shows publicly; reach, impressions and audience demographics are not public and are not estimated.

### Proxy policy

Use **Apify Datacenter** proxy (default) or **no proxy**. LinkedIn throttles bursts of profile requests from one IP range with HTTP 429 / 999; the actor keeps concurrency low, backs off exponentially, rotates sessions, and never charges for a profile it could not read.

**Apify Residential proxy is not supported.** The actor fails at startup if `apifyProxyGroups` includes `RESIDENTIAL`. Reason: in pay-per-event actors residential bandwidth is billed to the developer, not the run user, so a bandwidth-heavy run could exceed the per-creator revenue.

If you genuinely need residential routing, supply your own provider via the proxy editor's **Custom proxy URLs** — that traffic goes through your provider, not Apify:

```
http://user:pass@proxy.iproyal.com:12321
http://user:pass@proxy.brightdata.com:22225
http://user:pass@proxy.oxylabs.io:7777
```

### Integrations

#### API (cURL)

```bash
curl -X POST "https://api.apify.com/v2/acts/coregent~linkedin-influencer-creator-finder/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"mode":"TOPIC","topics":["artificial intelligence"],"maxCreators":25}'
```

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_TOKEN")
run = client.actor("coregent/linkedin-influencer-creator-finder").call(
    run_input={"mode": "TOPIC", "topics": ["B2B marketing"], "maxFollowers": 50000, "maxCreators": 50}
)
for creator in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(creator["rank"], creator["profile"]["fullName"], creator["creatorScore"])
```

#### MCP (AI agents)

Add the actor to any MCP client through the Apify MCP server, e.g. `https://mcp.apify.com?actors=coregent/linkedin-influencer-creator-finder`, then ask your agent: *"Find 20 cybersecurity creators on LinkedIn with 5K–50K followers and strong engagement."*

### Limitations & interpretation

- Unofficial product; **not affiliated with LinkedIn**. Public data only.
- Public availability varies by profile; follower counts and engagement change over time.
- Creator scores, tiers and relevance are **Coregent-derived analytical metrics** based on a sample of recent public content.
- Follower count does not equal audience quality; profile location does not represent audience geography.
- Top Voice status is reported only where publicly detectable.
- No audience demographics, impressions, sponsorship value or "influence" estimates — and no claim of complete LinkedIn coverage.
- You are responsible for how you use the data, including applicable privacy law and LinkedIn's terms.

# Actor input Schema

## `mode` (type: `string`):

How candidate creators are found. TOPIC: authors of LinkedIn Top Content pages that match your topics, plus similar profiles. KEYWORD: the same discovery driven by your keywords. TOP_CONTENT: Top Content authors only (topics optional). PROFILE_SEEDS: score the profile URLs you provide. HYBRID (recommended): all of the above together.

## `topics` (type: `array`):

Niches to find creators for, e.g. "artificial intelligence", "B2B marketing", "cybersecurity", "leadership", "sales". Up to 25.

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

Optional extra terms, e.g. "AI agents", "founder-led growth", "enterprise sales". Used for discovery and reported as matchedKeywords.

## `profileUrls` (type: `array`):

LinkedIn profile URLs to score as creators (https://www.linkedin.com/in/...). Required for PROFILE_SEEDS mode, optional in HYBRID. Up to 1,000.

## `locations` (type: `array`):

Keep creators whose PROFILE location matches, e.g. "Australia", "London", "United States". This is where the creator lives, not where their audience is. Profiles without a public location are excluded when this is set.

## `industries` (type: `array`):

Approximate industry filter, e.g. "Software", "Marketing", "Financial Services". Matched against headline, About, company and Top Content category - LinkedIn's guest profile has no industry field.

## `jobTitleKeywords` (type: `array`):

Keep creators whose headline or title contains one of these, e.g. "Founder", "CMO", "Author", "Speaker". Leave empty - many strong creators have ordinary business titles.

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

Exclude creators with fewer followers. 0 = no minimum. Creators whose follower count is not public are excluded when this is above 0.

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

Exclude creators with more followers - useful for finding micro and mid-tier creators. 0 = no maximum.

## `creatorTiers` (type: `array`):

Keep only these tiers. NANO < 5K followers, MICRO 5K-25K, MID 25K-100K, MACRO > 100K. TOP_VOICE keeps LinkedIn Top Voices of any size. Empty = all tiers.

## `onlyTopVoice` (type: `boolean`):

Keep only creators whose public profile shows the LinkedIn Top Voice badge.

## `requireRecentPosts` (type: `boolean`):

Exclude profiles with no public post in the recent-days window. Recommended - a profile without public content is not a creator.

## `postsPerCreator` (type: `integer`):

Maximum recent posts used for the metrics. LinkedIn's public profile shows roughly the latest 8 posts plus recent articles, so values above ~10 rarely add more.

## `recentDays` (type: `integer`):

Only posts published within this many days count toward activity and engagement. Typical: 30, 60, 90, 180, 365.

## `minPostsInWindow` (type: `integer`):

Exclude creators with fewer public posts inside the recent window.

## `minAverageReactions` (type: `integer`):

Exclude creators whose analysed posts average fewer reactions. 0 = off.

## `minAverageComments` (type: `integer`):

Exclude creators whose analysed posts average fewer comments. 0 = off.

## `minEngagementRate` (type: `string`):

Average (reactions + comments) per post divided by followers, as a decimal - e.g. 0.01 = 1%. Creators without a public follower count are excluded when this is set. 0 = off.

## `minTopicRelevance` (type: `integer`):

Exclude creators whose profile and recent posts match your topics less than this. Ignored when no topics or keywords are given.

## `maxCreators` (type: `integer`):

Maximum ranked creators to return. You are charged only for creators delivered.

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

Ranking key for the delivered creators.

## `includeEvidencePosts` (type: `boolean`):

Attach the creator's most relevant recent posts (chosen by topic match, engagement and recency - not just the most-liked).

## `maxEvidencePosts` (type: `integer`):

How many evidence posts to attach.

## `minCreatorScore` (type: `integer`):

Exclude creators scoring below this. 0 = off.

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

Cap on public profiles fetched and analysed. 0 = automatic (3x maxCreators, at least 20), because qualification rejects a share of candidates. Profile seeds are always analysed in addition.

## `expandSimilarProfiles` (type: `boolean`):

When Top Content yields too few qualified creators, also analyse the "Other similar profiles" LinkedIn lists on qualified creators' public profiles (TOPIC, KEYWORD and HYBRID modes).

## `fetchMissingCommentCounts` (type: `boolean`):

If a profile card omits a post's comment count, read that post's public page to fill it in (max 5 posts per creator). Turn off for faster runs; affected creators are flagged COMMENT_COUNTS_INCOMPLETE.

## `debugMode` (type: `boolean`):

Save every rejected candidate with its rejection reasons to the REJECTED_CANDIDATES key-value record. Rejected candidates are never charged.

## `proxyConfiguration` (type: `object`):

Apify Proxy (datacenter) is used by default. Apify Residential is not supported - supply your own residential provider via Custom proxy URLs if you need one.

## Actor input object example

```json
{
  "mode": "HYBRID",
  "topics": [
    "artificial intelligence"
  ],
  "keywords": [],
  "profileUrls": [],
  "locations": [],
  "industries": [],
  "jobTitleKeywords": [],
  "minFollowers": 0,
  "maxFollowers": 0,
  "creatorTiers": [],
  "onlyTopVoice": false,
  "requireRecentPosts": true,
  "postsPerCreator": 10,
  "recentDays": 90,
  "minPostsInWindow": 2,
  "minAverageReactions": 0,
  "minAverageComments": 0,
  "minEngagementRate": "0",
  "minTopicRelevance": 40,
  "maxCreators": 10,
  "sortBy": "CREATOR_SCORE",
  "includeEvidencePosts": true,
  "maxEvidencePosts": 3,
  "minCreatorScore": 0,
  "maxCandidates": 0,
  "expandSimilarProfiles": true,
  "fetchMissingCommentCounts": true,
  "debugMode": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

One row per qualified creator: rank, creator score, confidence, signals, profile, follower tier, topic relevance, activity and engagement metrics.

## `engagement` (type: `string`):

Average / median reactions, comments and engagement, engagement rate and consistency per creator.

## `evidence` (type: `string`):

The recent posts chosen as evidence for each creator's ranking.

# 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 = {
    "topics": [
        "artificial intelligence"
    ],
    "maxCreators": 10,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("coregent/linkedin-influencer-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 = {
    "topics": ["artificial intelligence"],
    "maxCreators": 10,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("coregent/linkedin-influencer-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 '{
  "topics": [
    "artificial intelligence"
  ],
  "maxCreators": 10,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call coregent/linkedin-influencer-creator-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,coregent/linkedin-influencer-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/M2bvPEV7q05Pxngb1/builds/vYJ7jKChMjnM5e7fD/openapi.json
