# Business & Creator Intelligence — MCP (`sheeen/ai-lead-research-mcp`) Actor

Find companies via Google Maps, discover Instagram and TikTok creators, score and rank opportunities. Full pipeline: company search → creator discovery → matching → opportunity scoring. MCP-compatible for AI agents.

- **URL**: https://apify.com/sheeen/ai-lead-research-mcp.md
- **Developed by:** [Tibi Pánya](https://apify.com/sheeen) (community)
- **Categories:** Marketing, Social media
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $20.00 / 1,000 company results

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

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

# README

## Business & Creator Intelligence — MCP

**Find companies. Discover creators. Score opportunities. All in one run.**

This Actor is a full business and creator intelligence pipeline for AI agents, marketing teams, and growth researchers. It finds real companies via Google Maps, discovers Instagram and TikTok creators by niche and location, scores them by audience fit and engagement, and ranks the best brand-creator opportunities — returning clean, structured JSON with no hallucinated data.

MCP-compatible: works directly with Claude, Cursor, and any MCP-enabled AI agent via the Apify MCP proxy.

***

### What it does

| Step | What happens |
|------|-------------|
| 1. Company search | Finds real companies via Google Maps by query and location |
| 2. Website enrichment | Extracts emails, phone numbers, and descriptions from company websites (optional) |
| 3. Creator discovery | Searches Instagram and TikTok for creators matching a niche and country |
| 4. Follower enrichment | Fetches real follower counts for Instagram creators via API |
| 5. Scoring | Scores each creator 0–100 across niche fit, engagement, audience fit, and brand suitability |
| 6. Matching | Matches creators to companies based on industry alignment |
| 7. Ranking | Returns ranked opportunity list: best company + best creator combinations first |

***

### Tools

| Tool | Use case |
|------|----------|
| `research_business` | **Full pipeline** — companies → creators → matching → ranked opportunities |
| `search_creators` | Find creators by niche, location, and follower range |
| `find_business_creators` | Find creators for a specific company |
| `search_companies` | Find companies by query + location via Google Maps |
| `analyze_website` | Extract contacts, emails, and social links from any website URL |
| `get_company_details` | Deep company profile with optional website enrichment |
| `analyze_creator` | Profile analysis for a specific creator username |
| `find_contacts` | Find contact data for a company domain |

***

### Active platforms

| Platform | Creator discovery | Follower data |
|----------|:-----------------:|:-------------:|
| **Instagram** | ✅ | ✅ Real (via API) |
| **TikTok** | ✅ | — |

> **Note:** Other platforms (YouTube, LinkedIn, Facebook, X, Reddit, Pinterest, Twitch) are not active in the current version. Follower data for TikTok is not available — TikTok creators are discovered but returned without follower counts.

***

### Example: Full pipeline — gaming companies + creators in Germany

```json
{
  "tool": "research_business",
  "query": "gaming companies",
  "location": "Germany",
  "niche": "gaming",
  "platforms": ["instagram", "tiktok"],
  "max_companies": 5,
  "max_creators": 10,
  "direction": "business_to_creator"
}
```

**Output (one item per company):**

```json
{
  "rank": 1,
  "company": {
    "name": "Klang Games",
    "industry": "Video Games",
    "address": "Berlin, Germany",
    "website": "https://klang.com",
    "rating": 4.6,
    "reviews_count": 23,
    "confidence": 0.85,
    "source": "google_maps"
  },
  "opportunity_score": 74,
  "top_creators": [
    {
      "platform": "instagram",
      "username": "xperion_germany",
      "profile_url": "https://www.instagram.com/xperion_germany",
      "followers": 50367,
      "followers_source": "instagram_profile_scraper",
      "followers_confidence": "high",
      "engagement_estimate": 3.78,
      "niche": "gaming",
      "country": "Germany",
      "score": {
        "overall": 78,
        "niche_fit": 90,
        "engagement": 65,
        "audience_fit": 90,
        "brand_suitability": 75,
        "explanation": "Overall 78/100 — Strong gaming alignment, 50K followers, verified German audience."
      },
      "confidence": 0.85,
      "match_score": 82
    }
  ],
  "tool": "research_business",
  "direction": "business_to_creator"
}
```

***

### Example: Creator search only

```json
{
  "tool": "search_creators",
  "niche": "fitness",
  "country": "United Kingdom",
  "platforms": ["instagram", "tiktok"],
  "limit": 20,
  "sort_by": "score"
}
```

**Output (one item per creator):**

```json
{
  "platform": "instagram",
  "username": "fitnesswithsarah_uk",
  "profile_url": "https://www.instagram.com/fitnesswithsarah_uk",
  "followers": 38500,
  "followers_source": "instagram_profile_scraper",
  "followers_confidence": "high",
  "engagement_estimate": 4.1,
  "niche": "fitness",
  "country": "United Kingdom",
  "score": {
    "overall": 76,
    "niche_fit": 95,
    "engagement": 70,
    "audience_fit": 85,
    "brand_suitability": 72,
    "explanation": "Overall 76/100 — Excellent fitness niche alignment, strong engagement for audience size."
  },
  "confidence": 0.8,
  "tool": "search_creators"
}
```

***

### Example: Match creators to a specific company

```json
{
  "tool": "find_business_creators",
  "company": "Adidas",
  "industry": "sports",
  "country": "Germany",
  "platforms": ["instagram", "tiktok"]
}
```

***

### Example: Website contact extraction

```json
{
  "tool": "analyze_website",
  "website": "https://example-brand.com"
}
```

***

### Scoring explained

Every creator receives a composite score (0–100):

| Dimension | What it measures |
|-----------|-----------------|
| `niche_fit` | How well the creator's content matches the target niche |
| `engagement` | Estimated engagement rate relative to account size and platform benchmarks |
| `audience_fit` | Geographic and demographic alignment with the target country |
| `brand_suitability` | Content style and brand safety indicators |
| `overall` | Weighted composite of all dimensions |

Micro-influencers (10K–100K followers) typically score higher on engagement than mega-influencers — this is by design.

***

### Input parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tool` | string | **yes** | Tool to run (see Tools table above) |
| `query` | string | for research\_business, search\_companies | Search query |
| `niche` | string | for creator tools | Content niche: gaming, beauty, fitness, tech… |
| `location` | string | for research\_business | Country or region: Germany, Europe, US |
| `country` | string | for creator tools | Country filter |
| `platforms` | array | optional | \["instagram","tiktok"] — default: both |
| `max_companies` | integer | optional | Max companies (default 10, max 50) |
| `max_creators` | integer | optional | Max creators (default 10, max 50) |
| `limit` | integer | optional | Max results for search tools (default 10, max 100) |
| `direction` | string | optional | business\_to\_creator or creator\_to\_business |
| `company` | string | for find\_business\_creators | Company name |
| `username` | string | for analyze\_creator | Creator username |
| `platform` | string | for analyze\_creator | instagram or tiktok |
| `website` | string | for analyze\_website | URL to analyze |
| `min_followers` | integer | optional | Minimum follower filter |
| `max_followers` | integer | optional | Maximum follower filter (micro-influencer targeting) |
| `language` | string | optional | Language filter: German, English… |
| `sort_by` | string | optional | score, followers, engagement, confidence |
| `enrich_websites` | boolean | optional | Fetch company websites (slower, costs more) |
| `keywords` | string | optional | Extra keywords for creator search |

***

### Pricing (Pay Per Event)

You only pay for actual results — not for failed searches or empty outputs.

| Event | Price | When charged |
|-------|-------|-------------|
| `creator_result` | **$0.02** | Per creator returned by search\_creators |
| `company_result` | **$0.02** | Per company returned by search\_companies / get\_company\_details |
| `website_enrichment` | **$0.03** | Per website analyzed (analyze\_website, enrich\_websites=true) |
| `contact_lookup` | **$0.02** | Per find\_contacts run |
| `creator_analysis` | **$0.05** | Per analyze\_creator run |
| `business_creator_match` | **$0.10** | Per find\_business\_creators run |
| `combined_research` | **$0.20** | Per company ranked in research\_business pipeline |

**Typical cost examples:**

- Search 10 creators → ~$0.20
- Full pipeline, 5 companies → ~$1.00
- Find contacts for 1 company → $0.02

***

### MCP usage

Connect any MCP-compatible AI agent (Claude Desktop, Cursor, etc.) to:

```
https://mcp.apify.com
```

Then call this Actor as a tool from your agent's system prompt or instructions.

***

### Data quality guarantees

- **No hallucinations**: every result has a `source_url` and `confidence` score
- **`null` when not found**: phones, emails, followers return `null` — never placeholder text
- **`followers_confidence`** field tells you how reliable the follower data is: `high` (API-verified), `medium` (parsed from page), `none` (not available)
- **Cross-platform deduplication**: same creator appearing on multiple platforms is merged into one result
- **Region expansion**: passing "Europe" automatically searches across top European countries

***

### Current limitations

- **Instagram follower data**: real counts via Apify API — accurate and up to date
- **TikTok follower data**: not available in this version — creators are discovered but returned without follower counts
- **Geographic coverage**: best results for US, UK, Germany, France, Netherlands, and other major markets
- **Creator discovery depth**: results depend on public discoverability — private or very small accounts may not appear

***

### Example workflows

**1. Brand partnership research**
Run `research_business` with your industry and target country → get a ranked list of companies and the best matching creators for each.

**2. Influencer database building**
Run `search_creators` with a niche and multiple countries → collect and score a pool of relevant creators at scale.

**3. Competitor analysis**
Run `get_company_details` + `analyze_website` on competitor URLs → extract contacts, social presence, and company info.

**4. Creator-first approach**
Run `research_business` with `direction: creator_to_business` → discover creators first, then find the best companies for each.

***

### Local development

```bash
git clone <repo>
pip install -r requirements.txt
pytest tests/ -v

## Test locally
apify run --input='{"tool":"search_creators","niche":"gaming","country":"Germany","limit":5}'
```

```bash
## Deploy
apify push
```

# Actor input Schema

## `tool` (type: `string`):

Which research tool to run. research\_business is the full pipeline (recommended).

## `query` (type: `string`):

What to search for. Examples: 'gaming companies', 'beauty brands', 'AI startups'. Used by: research\_business, search\_companies.

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

Content niche or industry vertical. Examples: gaming, beauty, fitness, fashion, food, tech, travel. Used by all creator tools.

## `location` (type: `string`):

Target country or region. Examples: Germany, United States, France, Europe. Used by: research\_business.

## `country` (type: `string`):

Country filter for creator or company search. Examples: Germany, United Kingdom, United States.

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

Which platforms to search for creators. Currently active: instagram, tiktok.

## `direction` (type: `string`):

business\_to\_creator: Start from companies, find matching creators. creator\_to\_business: Start from creators, find matching companies.

## `max_companies` (type: `integer`):

Maximum number of companies to find and rank. Used by: research\_business.

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

Maximum number of creators to find per run. Used by: research\_business, find\_business\_creators.

## `limit` (type: `integer`):

Maximum number of results to return. Used by: search\_creators, search\_companies.

## `company` (type: `string`):

Name of the specific company to find creators for. Used by: find\_business\_creators.

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

Social media username to analyze. Used by: analyze\_creator.

## `platform` (type: `string`):

Social platform of the creator to analyze. Active platforms: instagram, tiktok.

## `website` (type: `string`):

Website URL to analyze for contacts, emails and company info. Used by: analyze\_website, get\_company\_details.

## `domain` (type: `string`):

Domain name to find contact data for. Used by: find\_contacts. Example: acme.com

## `language` (type: `string`):

Filter creators by content language. Examples: German, English, French.

## `min_followers` (type: `integer`):

Only return creators with at least this many followers. Used by: search\_creators.

## `max_followers` (type: `integer`):

Only return creators with at most this many followers. Useful for micro-influencer targeting.

## `sort_by` (type: `string`):

How to rank the creator results.

## `enrich_websites` (type: `boolean`):

Fetch and analyze company websites for contact info, emails and descriptions. Slower and costs more. Used by: research\_business.

## `keywords` (type: `string`):

Extra search keywords for creator discovery, comma-separated. Example: 'esports, streaming'.

## `deduplicate` (type: `boolean`):

Remove duplicate creators found across multiple searches.

## `company_name` (type: `string`):

Company name for detailed lookup tools.

## `max_results` (type: `integer`):

Maximum results for search\_companies (alias for limit).

## Actor input object example

```json
{
  "platforms": [
    "instagram",
    "tiktok"
  ],
  "direction": "business_to_creator",
  "max_companies": 10,
  "max_creators": 10,
  "limit": 10,
  "sort_by": "score",
  "enrich_websites": false,
  "deduplicate": true,
  "max_results": 10
}
```

# Actor output Schema

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

Structured results: creator profiles, company data, and ranked opportunity lists — depending on the tool used.

# 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("sheeen/ai-lead-research-mcp").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("sheeen/ai-lead-research-mcp").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 '{}' |
apify call sheeen/ai-lead-research-mcp --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,sheeen/ai-lead-research-mcp"
        }
    }
}

```

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/KEDMSWC3HGF64efEJ/builds/u9Kcoe191vno3Ue2z/openapi.json
