Sales Prospect Finder & Enricher — PhantomBuster Alternative
Pricing
from $80.00 / 1,000 completed workflow requests
Sales Prospect Finder & Enricher — PhantomBuster Alternative
Find and enrich public sales prospects across LinkedIn, Instagram, X, YouTube, and Google. Export people, companies, profiles, activity, and search records with source links and optional outreach drafts for human review.
Pricing
from $80.00 / 1,000 completed workflow requests
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Find and enrich public sales prospects across LinkedIn, Instagram, X, YouTube, and Google. Export people, companies, profiles, activity, and search records with source links and optional outreach drafts for human review. For sales operations, each accepted dataset row is a normalized prospecting or profile result with a record type and workflow identifier.
Workflow: put the results to work
Choose a discovery workflow to find the relevant people, companies, or public activity, then enrich selected profile URLs. Review normalized records with their source evidence before qualification or CRM import. Optional outreach remains a draft marked for human review; no messages or invitations are sent.
Supported workflows
| Goal | Workflow | Input | Result |
|---|---|---|---|
| Find people | linkedinPeopleSearch | Query, optional company/title/location | Person prospects |
| Enrich people | linkedinProfile | LinkedIn profile URLs | Detailed person profiles |
| Find companies | linkedinCompanySearch | Query and optional location | Company prospects |
| Enrich companies | linkedinCompany | LinkedIn company URLs | Detailed company profiles |
| Find warm leads | linkedinPostEngagers | LinkedIn post URLs | Commenter and reactor records |
| Track person activity | linkedinProfilePosts | LinkedIn profile URLs | Recent public posts |
| Track company activity | linkedinCompanyPosts | LinkedIn company URLs | Recent public posts |
| Find hiring signals | linkedinJobSearch | Query and optional location | Public job records |
| Find intent content | linkedinPostSearch | Query and freshness | Public post records |
| Find service providers | linkedinServiceSearch | Query and optional location | Public service-profile records |
| Enrich creators | instagramProfile, xProfile, youtubeChannel | Public profile/channel URLs | Detailed social profiles |
| Research the open web | googleSearch | Query, region, and freshness | Public search results |
From public search to a reviewed lead
A sales operations analyst starts with linkedinPeopleSearch and a specific market, role, and location. The Actor returns normalized people records with source URLs and collection times. Next, the analyst selects relevant profiles and runs linkedinProfile for richer public context. The accepted rows can then be passed to a CRM import, qualification model, or review queue. When drafts are enabled, every draft stays labeled for human review and can be edited before a separately authorized outreach step.
Quick start
Find LinkedIn people:
{"workflow": "linkedinPeopleSearch","query": "B2B SaaS founders","location": "United States","maxResults": 25,"responseFormat": "concise"}
Enrich known profiles and prepare drafts for review:
{"workflow": "linkedinProfile","targetUrls": [{ "url": "https://www.linkedin.com/in/example/" }],"maxResults": 10,"includeOutreachDraft": true,"outreachGoal": "compare sales workflow priorities","senderName": "Alex"}
Output
Every accepted dataset row uses the same core contract:
- Identity:
recordId,recordType,fullName,profileUrl - Work context:
jobTitle,companyName,companyUrl,location - Public contact fields:
website,publicEmails,publicPhones - Sales signals:
summary,engagementType,publishedAt, follower/connection/employee counts - Provenance:
workflow,sourcePlatform,sourceUrl,query,collectedAt - Optional review queue:
outreachDraft,reviewStatus,actionStatus
Use responseFormat: "detailed" when you also need a bounded public source-data object. Private routing, credentials, and service-billing metadata are removed from that object.
Example:
{"recordId": "015bfeaa54bd846b89d0d8ef","recordType": "person","workflow": "linkedinPeopleSearch","sourcePlatform": "linkedin","sourceUrl": "https://www.linkedin.com/in/example/","fullName": "Example Person","jobTitle": "Founder","companyName": "Example Company","location": "London, United Kingdom","publicEmails": [],"publicPhones": [],"collectedAt": "ISO 8601 collection timestamp","provenance": "public_web_data"}
The example illustrates the schema only and is not a real lead.
Best results and workflow guidance
Provide a focused query or canonical public HTTPS target URL, start with a small result cap, and confirm that the returned source URLs match your intended market. Use concise output for routing and qualification; use detailed output for a bounded research record. For fresher intent signals, pair company or person activity with post-engager collection and keep collectedAt alongside any downstream score. A VALID_EMPTY outcome is a useful result: refine the query, verify the public target, and continue with the next specific segment.
Outcome contract
Read OUTPUT for a compact result and RUN_SUMMARY for exact request, row, charge, warning, build, and anonymous route-attempt counts.
COMPLETE: accepted records were returned with no unexpected request or validation failures.PARTIAL: useful records were returned, with at least one target or record requiring another pass.VALID_EMPTY: the public request completed correctly and found no matching records.INVALID_INPUT: the workflow/input combination is invalid.UPSTREAM_FAILED: no configured data route returned usable public data.
A green Apify run is not the only proof: downstream automation should reconcile itemsPushed, the dataset count, chargedEventCounts, and the terminal outcome.
AI agent and MCP prompt
Run
linkedinPeopleSearchfor B2B SaaS founders in Canada with a 25-result scope. Read back the dataset andOUTPUT, report the terminal outcome and charged event counts, preserve each source URL and collection time, and return only records with a public profile URL. Prepare drafts for human review and keep every action status asnot_sent.
Builder's note
I designed the workflow catalog around the jobs that repeatedly matter in prospecting: find a market, inspect the person or company, capture activity and engagement signals, and hand a stable record to the next system. In my testing, the most useful design choice was keeping one normalized dataset contract across every source while preserving optional detailed public fields for deeper review.
How it compares with PhantomBuster
PhantomBuster is a broad sales-automation workspace with subscription plans, automation slots, execution-hour allowances, lead lists, enrichment credit pools, scheduling, integrations, and authenticated outreach. This Actor is a focused, API-first alternative for teams that want bounded public-data prospecting jobs and Apify-native outputs.
| Decision | This Actor | PhantomBuster |
|---|---|---|
| Billing | Dynamic completed-request and accepted-result events | Subscription plans with slots, execution time, and separate credit pools |
| Same-job cost | Announces a calculable event-charge cap from requests and accepted rows | Allocates the job against shared monthly workspace capacity |
| Effective efficiency | One normalized dataset contract across every workflow | Lead lists and automation-specific outputs inside an integrated workspace |
| LinkedIn research | People, profiles, companies, engagers, activity, jobs, posts, and services | Larger catalog with authenticated and scheduled LinkedIn workflows |
| Other sources | Instagram, X, YouTube, and Google profile/search workflows | Broader automation catalog across 15+ platforms |
| Output | One normalized dataset contract plus machine-readable terminal records | Workspace lead lists and automation-specific exports |
| Outreach | Reviewable drafts only; nothing is sent | Authenticated invitations, messages, and follow-up sequences |
| Automation surface | One API-first Actor that can be scheduled or chained on Apify | Full dashboard workspace, extension-based account connections, and team features |
Choose PhantomBuster when authenticated social actions, its workspace UI, or its complete automation catalog is the requirement. Choose this Actor when the job is public prospect discovery/enrichment with explicit cost caps and normalized Apify data.
PhantomBuster is a trademark of its owner. This independent Actor is not affiliated, associated, sponsored, or endorsed by PhantomBuster.
API
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('khadinakbar/phantombuster-alternative').call({workflow: 'linkedinPeopleSearch',query: 'AI agency founders',maxResults: 25});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Responsible use
Collect only public data you are authorized to process. Follow applicable platform terms, privacy and employment laws, data-minimization rules, opt-outs, and retention requirements. Public contact details are not proof of accuracy, consent, current employment, or permission to contact someone. Review every draft and establish a lawful basis before any outreach in another system.
Pricing and run costs
This Actor uses Pay per event plus Apify platform usage. The Pricing tab lists the current event rates and billing terms.
| Event | Billing unit | When it applies |
|---|---|---|
workflow-request | Completed workflow request | One target URL or search page completed through a usable public-data route, including valid requests with no matching rows. |
prospect-found | Prospecting result | One validated discovery, activity, engager, job, service, content, or search-result record persisted to the dataset. |
prospect-enriched | Enriched prospect profile | One validated detailed person, company, Instagram, X, or YouTube profile persisted to the dataset. |
Run cost combines the charged events and Apify platform usage. Review the run charge limit and requested result count before starting.
Connect an AI agent
Use the Apify MCP configurator to choose an available client connection. Inspect this Actor’s current input schema and required credentials before running it.