# B2B Account Intent Finder (`cag_ai-actors/b2b-account-intent-finder`) Actor

Find and rank companies whose employees are researching your B2B topics. Preview up to 25 companies, then $0.15 per matched account.

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

## Pricing

$150.00 / 1,000 matched intent accounts

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 Account Intent Finder

Find and rank companies whose employees are actively researching one or more B2B topics. The Actor merges topic results to one row per domain, with topic count, people count, percentile, and topic-level evidence.

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

### Why this Actor

Most intent products stop at an opaque account score. This Actor returns the company, how many people at that domain show intent, which requested topics matched, and the strongest percentile signal. It uses Delivr's multi-topic account-discovery API rather than scraping hiring pages or public mentions.

### Already have a company domain?

If you already have a company domain — or you want company-level intent for a known account rather than discovering in-market companies by topic — use [Company Intent Signals](https://apify.com/cag_ai-actors/company-intent-signals) instead. This Actor's job is topic-based account discovery, not looking up a domain you already have.

### Use with Clay

Clay has a native Apify integration that lets you run this Actor and import results directly into a Clay table.

#### Run the Actor from Clay

1. In your Clay table, click **Add enrichment** and search for **Run Apify Actor**.
2. Connect your Apify account using your [API token](https://console.apify.com/account/integrations).
3. Select `cag_ai-actors/b2b-account-intent-finder` as the Actor.
4. Enter your input data in JSON format:

```json
{
  "topicIds": ["Marketing Automation"],
  "previewOnly": true
}
```

5. Click **Run** to execute the Actor. Results appear in your Clay table as structured data.

Start with `previewOnly: true` to validate your topic and see sample output. Preview runs return up to 25 real, top-ranked company records without Delivr billing or matched-account Actor events. When ready for full results, set `previewOnly: false` — paid runs cost $0.15 per matched-intent-account.

#### Import an existing Actor run as a source

To build a new Clay table from a completed Actor run:

1. In a workbook, click **+ Add** at the bottom and search for **Apify**.
2. Select **Import data from Apify Actor** and connect your Apify account.
3. Choose the Actor run you want to import.
4. Map the dataset fields (domain, topicCount, peopleCount, strongestPercentile) to your table columns.

For detailed setup steps, see the [Clay Apify integration docs](https://university.clay.com/docs/apify-integration-overview).

### Preview first

`previewOnly` defaults to `true`. It returns up to 25 real, top-ranked company records and the total available count without Delivr billing or matched-account Actor events.

Use `costPreviewOnly` with `previewOnly: false` to receive the exact billable record count without results or Delivr data charges.

### Input

```json
{
  "topicIds": ["Marketing Automation"],
  "minScore": "high",
  "minTopics": 1,
  "minPeopleCount": 2,
  "maxResults": 100,
  "perTopicLimit": 1000,
  "previewOnly": true
}
```

You can also pass topic IDs directly, e.g. `"topicIds": ["4eyes_503588"]`. Values starting with `4eyes_` are passed through. Other values are treated as topic names and resolved to exactly one active B2B taxonomy match (case-insensitive exact name). The Actor does not auto-pick the first search hit; 0 or 2+ exact matches fail with a candidate list and are not charged.

- `minTopics: 1` creates a union across topics.
- `minTopics` equal to the number of topic IDs creates a strict intersection.
- Paid runs follow Delivr's opaque cursor until `maxResults` is reached or no cursor is returned.

Each account row echoes `resolvedTopicId` and, when the input was a name, `resolvedTopicName`.

### Output

Each account row includes:

- company domain
- requested-topic match count
- total distinct people showing intent
- strongest percentile and topic
- topic-level scores and people counts
- resolved topic ID / name used for the run
- data date and total available accounts
- `dataSource` (`delivr` or `demo`) and `preview` markers

### 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-account event because the user already pays Delivr directly.

### Pricing configuration

Recommended Apify model: pay per event with one custom event named `matched-intent-account`. Free previews, demo output, and exact cost previews do not charge the event. Topic-name resolution uses the unbilled Taxonomy API and does not charge.

Suggested launch price: **$0.15 per company**, with platform usage included. Review the price after the first 1,000 paid records and whenever Delivr's upstream rate card changes.

### Responsible use

This v1 returns company-level data and aggregated people counts. It deliberately does not expose net-new personal emails or LinkedIn profiles. Use it for lawful B2B research, account prioritization, and market analysis; do not use it for eligibility or similarly sensitive decisions.

### Local development

Use the package scripts test, check, and start. Use demoMode true for a labeled demo run.

### Sources

- https://docs.delivr.ai/docs/which-api-should-i-use
- https://docs.delivr.ai/reference/intentcompaniesbytopicmulti
- https://docs.delivr.ai/reference/intentcompaniesbytopicmultipreview
- https://docs.apify.com/sdk/js/docs/concepts/pay-per-event

# Actor input Schema

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

One to 25 Delivr B2B topics as names or IDs. Example: Marketing Automation or 4eyes\_503588. Names resolve to exactly one active B2B taxonomy match (case-insensitive exact name, not the first search hit). Values starting with 4eyes\_ are passed through as IDs. Results are merged to one row per company.

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

High returns companies with at least one high-intent person for each qualifying topic. Medium includes high and medium.

## `minTopics` (type: `integer`):

Use 1 for a union. Set this to the number of topic IDs for a strict intersection.

## `minPeopleCount` (type: `integer`):

Drop companies with fewer than this many distinct people showing intent within a topic.

## `maxResults` (type: `integer`):

Maximum account rows to return. Paid discovery is cursor-paginated until this limit or the end of results.

## `perTopicLimit` (type: `integer`):

How deep Delivr scans each topic before merging and ranking companies.

## `previewOnly` (type: `boolean`):

Return up to 25 real, top-ranked companies without Delivr billing. Preview runs do not trigger matched-account Actor events.

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

Return the exact billable record count without returning company rows or incurring Delivr data charges. Ignored when free preview is on.

## `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
{
  "topicIds": [
    "Marketing Automation"
  ],
  "minScore": "high",
  "minTopics": 1,
  "minPeopleCount": 1,
  "maxResults": 100,
  "perTopicLimit": 1000,
  "previewOnly": true,
  "costPreviewOnly": false,
  "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-account-intent-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("cag_ai-actors/b2b-account-intent-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 '{}' |
apify call cag_ai-actors/b2b-account-intent-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,cag_ai-actors/b2b-account-intent-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/hRBR2wSHWYgNmXRXa/builds/sxNnG5MziBOawEfso/openapi.json
