Find Companies by Buyer Intent — B2B Account Discovery avatar

Find Companies by Buyer Intent — B2B Account Discovery

Pricing

from $3.50 / 1,000 company results

Go to Apify Store
Find Companies by Buyer Intent — B2B Account Discovery

Find Companies by Buyer Intent — B2B Account Discovery

Find companies associated with supported B2B research topics. Review intent scores and activity counts to build an account shortlist. Preview up to 25 company rows.

Pricing

from $3.50 / 1,000 company results

Rating

0.0

(0)

Developer

CAG Signals

CAG Signals

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Categories

Share

Find companies associated with the research topics relevant to your offer. Enter supported B2B topics and get a company shortlist with intent scores and aggregate activity counts, then decide which accounts to investigate next.

First step: keep preview enabled to inspect up to 25 company rows without CAG paid-result events. Review the current Pricing tab before a paid run. A topic-matched shortlist is not a complete total addressable market or proof of purchase intent.

Already have target-company domains? Evaluate five companies with Company Buyer Intent Lookup. Its preview checks counts; paid topic inspection is optional.

Questions about fit? Email CAG Signals or reply to your invitation. Keep customer lists and credentials in your own workspace.

What buyer-intent data means

Buyer-intent data estimates the topics a person or company is actively researching. A topic, intent tier, and percentile help rank timing and fit; they are signals, not proof of intent or purchase. Use them alongside your own CRM context and lawful outreach rules.

Sample output

The values below are illustrative; the field names match the public dataset contract.

{
"record_type": "DATA",
"source_actor": "b2b-account-intent-finder",
"data_source": "licensed-b2b-intent",
"contract_version": "2.0",
"company_domain": "example.com",
"matched": true,
"topic_count": 2,
"people_count": 23,
"intent_percentile": 96,
"top_topic_name": "Marketing Automation",
"intent_score": "high",
"resolved_topic_names": ["Marketing Automation"],
"preview": true,
"retrieved_at": "2026-08-29T12:00:00.000Z"
}

Dataset table preview:

Illustrative account-discovery dataset table

company_domaintopic_countpeople_counttop_topic_nameintent_scoreintent_percentile
example.com223Marketing Automationhigh96

Tutorial: discover accounts researching a topic

Run it in Apify Console

  1. Open the Actor and select Start.
  2. Leave Marketing Automation in topics and keep previewMode enabled.
  3. Start the run and inspect the Output dataset. Preview returns up to 25 real, top-ranked company rows without paid result events.
  4. Route only record_type: DATA rows into your CRM or spreadsheet, and retain the final SUMMARY row for reconciliation.
  5. Disable previewMode only after the topic resolution, result shape, and downstream mapping look correct.

Preview runs do not emit matched-intent-account events. Apify platform usage may still apply according to your Apify plan.

Run it through the API

curl -X POST \
"https://api.apify.com/v2/acts/cag_ai-actors~b2b-account-intent-finder/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"topics": ["Marketing Automation"],
"previewMode": true,
"maxResults": 25
}'

Input

{
"topics": ["Marketing Automation", "Revenue Operations"],
"minScore": "high",
"minTopics": 1,
"minPeopleCount": 2,
"maxResults": 100,
"perTopicLimit": 1000,
"previewMode": true,
"costPreviewOnly": false
}
  • topics accepts 1–25 supported B2B topic names. Each name resolves to one exact active B2B taxonomy match.
  • minTopics: 1 creates a union. Set it to the number of resolved topics for a strict intersection.
  • maxResults defaults to 100 and is capped at 5,000; preview is capped at 25.
  • previewMode returns real preview rows without paid result events. costPreviewOnly returns only the exact billable record count and applies when preview mode is off.
  • demoMode returns deterministic, clearly labeled example data and does not emit paid result events.

Output fields

  • record_type distinguishes DATA, TOPIC_RESOLUTION_ERROR, and the final SUMMARY row.
  • company_domain, topic_count, and people_count identify the account and supporting activity.
  • top_topic_name, intent_score, and intent_percentile describe the strongest matched topic.
  • topics retains topic-level scores and people counts.
  • resolved_topic_names show how the submitted terms resolved.
  • preview, total_available, data_date, data_source, contract_version, and retrieved_at describe the run and source.
  • The SUMMARY row reports input, matched, delivered, charged, and unmatched counts plus total charge.

Pricing

Base pay-per-result price: $0.005 per company result ($5 per 1,000). Actor Start is $0.00. Apify plan discounts may lower the unit price; use this Actor's Pricing tab for current plan-specific rates and platform-cost details.

No-match, no-charge guarantee: zero-result topics, invalid topic terms, validation failures, preview rows, cost-preview rows, demo rows, and error rows do not emit the matched-intent-account event. Apify platform usage may still apply.

Integrations

n8n HTTP Request

Create an HTTP Request node with method POST, the synchronous dataset endpoint above, an Authorization: Bearer ... header, and a JSON body built from workflow topic values. Split the returned JSON array and route rows by company_domain or intent_percentile.

Make

Use HTTP > Make a request with the same endpoint, headers, and JSON body. Parse the response as JSON and map company rows into a CRM, sheet, or data store.

Clay HTTP API

Add an HTTP API enrichment column, choose POST, and map one or more Clay topic values into topics. Start with previewMode: true, then map company_domain, people_count, and intent_percentile after validating the preview.

curl / API

The curl example above returns dataset items synchronously. For a long paid discovery run, start the Actor asynchronously and fetch its default dataset after the run succeeds.

Apify MCP

After connecting the Apify MCP server to an MCP-compatible agent, ask it to run cag_ai-actors/b2b-account-intent-finder with the same JSON input. Keep previewMode enabled for the first agent-initiated run and require confirmation before a paid run.

FAQ

Can I use topic names instead of IDs?

Yes. A name must resolve to exactly one active B2B taxonomy match; ambiguous or missing names return suggestions and no paid event.

How do union and intersection searches work?

Use minTopics: 1 for companies matching any topic. Set minTopics equal to the number of topics to require all of them.

What does preview return?

It returns up to 25 real, top-ranked company rows from the managed preview service. It does not emit paid result events.

What is the difference between preview and cost preview?

previewMode returns sample company rows. costPreviewOnly, used with preview disabled, returns the exact billable record count without company rows.

When am I charged?

Only after a paid-mode company row is written to the dataset using managed credentials. Preview, demo, and error paths are not charged as matched-account events.

Does this Actor return personal data?

No. It returns company domains, topic evidence, and aggregated people counts rather than names, emails, or person profiles.

How are duplicate companies handled?

Results from multiple topics are merged into one row per domain with combined topic evidence.

How far can a run scan?

maxResults is capped at 5,000 and perTopicLimit controls scan depth per topic. Paid mode follows upstream pagination until the limit or end of results.

How do I cap spend?

Set ACTOR_MAX_TOTAL_CHARGE_USD on the run. The Actor stops further paid delivery when the event-charge limit is reached.

What happens when no company qualifies?

The run succeeds with zero company results, a zero-charge summary, and no paid event.

Data provenance and responsible use

CAG Signals provides B2B buyer-intent workflows for account research and prioritization.

CAG Signals delivers licensed B2B buyer-intent data through a managed data service. CAG Signals is independently operated and is not affiliated with or endorsed by any upstream data provider.

Results use licensed B2B buyer-intent data. This Actor exposes company-level data and aggregated people counts only. Use it for lawful B2B research, account prioritization, and sales or marketing workflows; do not use it for eligibility, credit, employment, housing, insurance, consumer profiling, discriminatory targeting, or raw-data resale. Apply your own legal basis, access controls, retention policy, and deletion process.

For a suppression or removal request, use the Issues tab on this Actor page without posting an email address, profile URL, hashed identifier, dataset row, API token, or other personal data. Ask for a private intake method and provide the minimum identifier only through that private channel. CAG Signals will acknowledge the request within 24 hours, investigate the relevant records, and apply suppression or deletion where required.

Which Actor should I use?

ActorUse it whenPrice
Company Buyer Intent Lookup — Domain to Intent TopicsYou have a company domain or LinkedIn company URL and want its buying-intent topics.$0.005 per matched record ($5 per 1,000)
Find Companies by Buyer Intent — B2B Account DiscoveryYou have intent topics and want ranked companies researching them.Preview up to 25 companies, then $0.005 per company result ($5 per 1,000)
B2B Contact Intent Enrichment — Email & LinkedIn IntentYou already have contacts or companies and want to add current intent topics.$0.01 per matched contact record ($10 per 1,000)
Intent-Based Lead Finder — People Researching Any TopicYou have intent topics and want people researching them.$0.02 per intent lead ($20 per 1,000)

Support

Use the Issues tab on this Actor page with the run ID, expected behavior, and observed behavior. Do not include API tokens, credentials, customer data, or personal identifiers. CAG Signals responds to new issues within 24 hours.