# Techionik Local Lead Intel MCP (`seeb/techionik-local-lead-intel-mcp`) Actor

Prompt-first MCP-ready Apify tool for AI sales agents to enrich local business leads with public contacts, social links, confidence scores, and outreach angles.

- **URL**: https://apify.com/seeb/techionik-local-lead-intel-mcp.md
- **Developed by:** [Techionik](https://apify.com/seeb) (community)
- **Categories:** Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 enriched leads

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

## Techionik Local Lead Intel MCP

Techionik Local Lead Intel MCP lets AI agents turn a plain prompt or structured lead list into enriched local-business lead records. It visits public business websites, extracts useful contact signals, and returns outreach-ready JSON.

### What it does

- Accepts a natural-language MCP prompt for agent-friendly use.
- Also accepts structured JSON for batch/API workflows.
- Returns stable dataset records with status, warnings, source URLs, and useful business fields.
- Keeps the workflow lightweight by using public pages and clear failure records.

### Input

Use the `prompt` field when calling this as an MCP-style tool:

```json
{
    "prompt": "Find contacts for local roofing companies from https://example.com. Return emails, phones, social links, confidence score, contact pages, and a short outreach note for a local SEO agency."
}
```

Structured fields remain available for API users who want explicit batch control.

### Local testing

Run the unit tests and project validator from this actor folder:

```bash
npm test
npm run validate
```

### Apify deployment

Before deployment, confirm the active Apify account is Techionik:

```bash
apify info
apify push
```

Marketplace publication is intentionally skipped until final business approval.

### Output

Results are written to the default Apify dataset. Each record includes a `status` field, extracted signals, warnings when something could not be fetched, and the original source input for traceability.

### Pricing

Recommended pricing: USD 3.00 per 1,000 enriched lead records. The buyer value is lead enrichment and outreach preparation, while the actor stays lightweight for public website checks.

### Limitations

- Works on public pages only.
- Does not bypass logins, captchas, paywalls, or site restrictions.
- Some JavaScript-heavy sites may return partial data with a warning.
- Final Apify Store billing still needs to be selected during marketplace publication.

# Actor input Schema

## `prompt` (type: `string`):

Describe the job in natural language. The actor extracts URLs, entities, and settings from this prompt, then returns structured dataset records.

## `leads` (type: `array`):

Optional structured fallback for API users. MCP agents should prefer prompt.

## `sourceUrls` (type: `array`):

Optional URL list when the prompt does not contain enough URLs.

## `includeOutreachNote` (type: `boolean`):

Create a short outreach angle for each enriched lead.

## `maxPagesPerSite` (type: `integer`):

Fetch homepage plus likely contact/about pages up to this limit.

## `requestDelayMs` (type: `integer`):

Polite delay in milliseconds between public page requests.

## Actor input object example

```json
{
  "prompt": "Find contacts for local roofing companies from https://example.com. Return emails, phones, social links, confidence score, contact pages, and a short outreach note for a local SEO agency.",
  "leads": [
    {
      "businessName": "Austin Dental Studio",
      "websiteUrl": "https://example.com",
      "city": "Austin",
      "category": "Dentist"
    }
  ],
  "sourceUrls": [
    "https://example.com"
  ],
  "includeOutreachNote": true,
  "maxPagesPerSite": 3,
  "requestDelayMs": 500
}
```

# Actor output Schema

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

Default dataset items produced by this MCP-compatible tool.

# 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 = {
    "prompt": "Find contacts for local roofing companies from https://example.com. Return emails, phones, social links, confidence score, contact pages, and a short outreach note for a local SEO agency.",
    "leads": [
        {
            "businessName": "Austin Dental Studio",
            "websiteUrl": "https://example.com",
            "city": "Austin",
            "category": "Dentist"
        }
    ],
    "sourceUrls": [
        "https://example.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("seeb/techionik-local-lead-intel-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 = {
    "prompt": "Find contacts for local roofing companies from https://example.com. Return emails, phones, social links, confidence score, contact pages, and a short outreach note for a local SEO agency.",
    "leads": [{
            "businessName": "Austin Dental Studio",
            "websiteUrl": "https://example.com",
            "city": "Austin",
            "category": "Dentist",
        }],
    "sourceUrls": ["https://example.com"],
}

# Run the Actor and wait for it to finish
run = client.actor("seeb/techionik-local-lead-intel-mcp").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 '{
  "prompt": "Find contacts for local roofing companies from https://example.com. Return emails, phones, social links, confidence score, contact pages, and a short outreach note for a local SEO agency.",
  "leads": [
    {
      "businessName": "Austin Dental Studio",
      "websiteUrl": "https://example.com",
      "city": "Austin",
      "category": "Dentist"
    }
  ],
  "sourceUrls": [
    "https://example.com"
  ]
}' |
apify call seeb/techionik-local-lead-intel-mcp --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=seeb/techionik-local-lead-intel-mcp",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

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