# AI B2B Lead Intelligence (`kazaz_organization/my-actor-1`) Actor

Turn any company website into a sales-ready lead profile in seconds. Scrapes contact info, detects tech stack, extracts SEO keywords, and generates a personalized cold email.

- **URL**: https://apify.com/kazaz_organization/my-actor-1.md
- **Developed by:** [Mo Kazaz](https://apify.com/kazaz_organization) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $50.00 / 1,000 lead analyses

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

## B2B Lead Intelligence API: Company Profile, Tech Stack, Contacts & Cold Email

Turn any company website into a **sales-ready lead profile in seconds**. Built for **B2B lead generation**, **sales automation**, and outbound agencies who are tired of copy-pasting from websites into spreadsheets.

Paste a URL. Get back who they are, what they run on, how to reach them, and a personalized first-touch email.

### What you get per website

| Data | Details |
|---|---|
| **Company profile** | Name, domain, description, headings |
| **SEO keywords** | Weighted by title, headings, and body text (phrases, not just single words) |
| **Tech stack** | CMS, e-commerce, CRM/marketing automation (HubSpot, Marketo, Klaviyo...), analytics, chat, hosting/CDN |
| **Contact info** | Emails, phones, LinkedIn/Twitter/Facebook/Instagram links (also checks contact/about pages) |
| **Outreach signals** | e.g. "No CRM detected", "Runs on Shopify", "No analytics tag" |
| **Readiness score** | 0-100 heuristic for how complete and reachable the lead is |
| **Cold email** | Subject lines + a short email personalized with the signals above |

### Why sales teams use it

- **Tech-stack targeting:** find companies on WordPress with no CRM, or Shopify stores with no email platform, and pitch them with a reason.
- **Personalization that is based on real observations**, not "I love your website".
- **Bulk mode:** up to 200 URLs per run.
- **Fair billing:** you are only charged for successful analyses. Blocked or unreachable sites are free.

### Optional: AI personalization

Add your own Anthropic API key and the email is rewritten by an LLM using only the facts extracted from the site (no invented claims). Without a key you still get a solid template-based email.

### Input

```json
{
  "urls": ["https://www.example.com", "https://www.another-company.com"],
  "senderName": "Sam",
  "senderCompany": "GrowthWorks",
  "offer": "help SaaS teams book more demos from existing traffic",
  "deepScan": true
}
```

### Example output

```json
{
  "status": "success",
  "companyName": "Acme Robotics",
  "domain": "acme-robotics.com",
  "seoKeywords": ["warehouse automation", "logistics robots"],
  "techStack": { "all": ["WordPress", "HubSpot", "Cloudflare"] },
  "contact": { "emails": ["sales@acme-robotics.com"], "socials": { "linkedin": "https://www.linkedin.com/company/acme" } },
  "outreach": { "readinessScore": 95, "opportunitySignals": ["Runs on WordPress", "No analytics tag detected"] },
  "coldEmail": { "subject": "Quick idea for Acme Robotics (warehouse automation)", "body": "Hi Acme Robotics team, ..." }
}
```

### Pricing

Pay only for results: a small fee per successful website analysis (see the pricing tab). Failed or blocked URLs are never charged. The optional LLM rewrite is a small extra per email.

### Limitations (honest ones)

- Heavily JavaScript-rendered sites or sites with strict bot protection (e.g. large enterprise sites) may return `BLOCKED_BY_SITE`. Enable **Apify Proxy** and retry.
- Tech detection is signature-based; it detects what is visible in the page, not server-side tools.
- Emails are those publicly published on the site. Verify before sending bulk campaigns and follow GDPR/CAN-SPAM rules.
- SEO keyword extraction currently targets English-language sites.

### FAQ

**Is this legal?** It reads publicly available web pages. You are responsible for how you use contact data in outreach (GDPR, CAN-SPAM, local laws).

**Can I use it via API / Make / Zapier / n8n?** Yes. Every Apify Actor can be called via API and integrates with Make, Zapier, n8n, and Google Sheets.

# Actor input Schema

## `url` (type: `string`):

Company website to analyze, e.g. https://www.example.com

## `urls` (type: `array`):

Analyze many companies in one run. Max 200.

## `senderName` (type: `string`):

Used to sign the cold email.

## `senderCompany` (type: `string`):

The name of your company.

## `offer` (type: `string`):

Completes the sentence: 'we ...'. Example: help B2B SaaS teams cut onboarding time by 40%.

## `callToAction` (type: `string`):

The closing question or action you want them to take.

## `deepScan` (type: `boolean`):

Also reads up to 2 contact/about pages to find more emails and better keywords.

## `maxKeywords` (type: `integer`):

The maximum number of SEO keywords to extract.

## `useApifyProxy` (type: `boolean`):

Enable for sites that block cloud servers.

## `anthropicApiKey` (type: `string`):

Optional. If provided, the cold email is rewritten by an LLM using your own key. Billed to you by Anthropic.

## Actor input object example

```json
{
  "url": "https://www.hubspot.com",
  "callToAction": "Worth a quick 15-minute chat this week?",
  "deepScan": true,
  "maxKeywords": 12,
  "useApifyProxy": false
}
```

# Actor output Schema

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

No description

# 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 = {
    "url": "https://www.hubspot.com",
    "callToAction": "Worth a quick 15-minute chat this week?"
};

// Run the Actor and wait for it to finish
const run = await client.actor("kazaz_organization/my-actor-1").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 = {
    "url": "https://www.hubspot.com",
    "callToAction": "Worth a quick 15-minute chat this week?",
}

# Run the Actor and wait for it to finish
run = client.actor("kazaz_organization/my-actor-1").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 '{
  "url": "https://www.hubspot.com",
  "callToAction": "Worth a quick 15-minute chat this week?"
}' |
apify call kazaz_organization/my-actor-1 --silent --output-dataset

```

## MCP server setup

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

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/OSSIvdcyqrPSU8RFL/builds/5AtuVTTT5GkpWZh7I/openapi.json
