# B2B Buyer Intent Enrichment (`cag_ai-actors/b2b-buyer-intent-enrichment`) Actor

Add current buyer-intent topics to a list you already have. $0.15 per match.

- **URL**: https://apify.com/cag\_ai-actors/b2b-buyer-intent-enrichment.md
- **Developed by:** [CAG Signals](https://apify.com/cag_ai-actors) (community)
- **Categories:** Lead generation
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$150.00 / 1,000 matched intent records

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

## B2B Buyer Intent Enrichment

Add current person-level or account-level buying topics to records you already have. The Actor accepts up to 10,000 people or companies per run and returns one joinable dataset row per input.

### Which Actor should I use?

We publish four Actors. Start at the top.

1. **Company Intent Signals** — first look, one domain, $0.05. https://apify.com/cag\_ai-actors/company-intent-signals
2. **B2B Account Intent Finder** — new companies on your topics. Preview up to 25 companies, then $0.15 per matched account. https://apify.com/cag\_ai-actors/b2b-account-intent-finder
3. **B2B Buyer Intent Enrichment** — you already have a list. $0.15 per match. https://apify.com/cag\_ai-actors/b2b-buyer-intent-enrichment
4. **Topic-Based Lead Prospecting** — Later. For new companies from a theme, use Account Intent Finder. For a first look at one company, use Company Intent Signals. https://apify.com/cag\_ai-actors/topic-based-lead-prospecting

### What it does

- **People:** send an email or LinkedIn `/in/` URL and receive current intent topics, strength, and percentile.
- **Companies:** send a domain or LinkedIn `/company/` URL and receive account-level topics plus people counts.
- **Cost preview:** use `costPreviewOnly` to get the exact number of billable Delivr matches before requesting data.
- **Demo:** use `demoMode` for clearly labeled sample output with no credentials and no paid result events.

Unmatched inputs are normal. They can remain in the dataset for easy joins, but they are not charged as matched Actor result events.

### Input

```json
{
  "entityType": "person",
  "items": [
    { "id": "lead-1", "email": "jane@acme.com" },
    { "id": "lead-2", "linkedin_url": "https://www.linkedin.com/in/example" }
  ],
  "minScore": "high",
  "topicIds": [],
  "costPreviewOnly": false,
  "includeUnmatched": true
}
```

For companies, set `entityType` to `company` and use `domain` or `linkedin_company_url`.

### Output

Each row includes the input `id` as `inputId`, whether it matched, the top topic, all returned topics, the data date, and a `dataSource` marker (`delivr` or `demo`). The Actor does not echo API credentials and does not log input identifiers.

### Authentication

The production Actor can use a Delivr provider key stored as `DELIVR_API_KEY` and `DELIVR_API_SECRET`. Private deployments can also accept bring-your-own credentials through encrypted Actor input fields. Bring-your-own-key rows do not trigger the matched-result event because the user already pays Delivr directly. Do not put credentials in plain text in saved tasks or source control.

### Pricing configuration

Recommended Apify model: pay per event with one custom event named `matched-intent-record`. Charge only matched, non-demo, non-preview rows. Keep platform usage included for predictable pricing.

Suggested launch price: **$0.15 per matched record**, with Bronze/Silver/Gold discounts after unit economics are confirmed. The upstream Delivr rate is usage based, so pricing must be reviewed whenever its rate card changes.

### Privacy and responsible use

Use the Actor only for lawful business purposes and records you are allowed to process. Inputs and results may contain personal data. Choose an appropriate Apify storage-retention policy, restrict access, honor suppression and deletion requests, and do not use output for eligibility, employment, housing, credit, insurance, or similarly sensitive decisions.

### Local development

```bash
npm install
npm test
npm run check
npm start
```

Local runs use Apify storage. Set `DELIVR_API_KEY` and `DELIVR_API_SECRET` for a live test, or set `demoMode: true` in `storage/key_value_stores/default/INPUT.json`.

### Sources

- [Delivr intent enrichment quickstart](https://docs.delivr.ai/docs/intent-enrichment)
- [Delivr rate limits and metering](https://docs.delivr.ai/docs/rate-limits-and-metering)
- [Apify pay-per-event guidance](https://docs.apify.com/sdk/js/docs/concepts/pay-per-event)

# Actor input Schema

## `entityType` (type: `string`):

Choose people for email or LinkedIn profile inputs. Choose companies for domains or LinkedIn company pages.

## `items` (type: `array`):

Up to 10,000 records. Every record may include your own id. People need email or linkedin\_url; companies need domain or linkedin\_company\_url.

## `topicIds` (type: `array`):

Optional Delivr topic IDs. Leave empty to return all current intent topics for each match.

## `minScore` (type: `string`):

High returns only high-intent topics. Medium returns high and medium.

## `costPreviewOnly` (type: `boolean`):

Ask Delivr for the exact matched-record count without returning results or incurring Delivr data charges.

## `includeUnmatched` (type: `boolean`):

Keep a dataset row for every input so joins remain simple. Unmatched rows are not charged as Actor result events.

## `demoMode` (type: `boolean`):

Runs against deterministic example data. No Delivr credentials are needed and no paid result events are charged.

## `delivrApiKey` (type: `string`):

Optional bring-your-own key. Leave blank when this Actor is configured with a Delivr provider key.

## `delivrApiSecret` (type: `string`):

Optional bring-your-own secret. Leave blank when this Actor is configured with a Delivr provider secret.

## Actor input object example

```json
{
  "entityType": "person",
  "items": [
    {
      "id": "lead-1",
      "email": "jane@example.com"
    }
  ],
  "topicIds": [],
  "minScore": "medium",
  "costPreviewOnly": false,
  "includeUnmatched": true,
  "demoMode": 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("cag_ai-actors/b2b-buyer-intent-enrichment").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("cag_ai-actors/b2b-buyer-intent-enrichment").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 cag_ai-actors/b2b-buyer-intent-enrichment --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,cag_ai-actors/b2b-buyer-intent-enrichment"
        }
    }
}

```

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/AHKIxpKtWvHglx7Jr/builds/CIGMa3MM967vgf7Sg/openapi.json
