ETB2B Key People Refresh
Under maintenancePricing
Pay per usage
ETB2B Key People Refresh
Under maintenanceSingle company → verified current key people (leadership + sales/marketing), live-verified from LinkedIn current position (no stale/namesake), seniority-ranked. Powers the ETB2B portal Refresh Key People button. By RS Niraj, ETB2B (Times Internet).
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Dheeraj Singh Yadav
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
12 days ago
Last modified
Categories
Share
Lightweight single-company key people actor for the ETB2B portal's "🔄 Refresh Key People" button.
Runs ONLY the key-people cascade (no full company/event enrichment):
company_name → SERP discovery → harvestapi live verification → verified key_people JSON.
What it returns (per company)
Only verified current employees matching the target-designation dictionary:
- Leadership: CEO, CTO, CFO, COO, CIO, CISO, CHRO, President, MD, Country Head/Manager
- Sales & Marketing: CMO, CRO, CGO, Head of Sales/Marketing/Digital/Demand-Gen/Brand/Partnerships, VP/GM/Director/Associate-Director (Sales/Marketing), Regional/Zonal Sales Head, National Sales Manager, Brand/Product-Marketing/Growth/Performance/Marketing Manager
Guarantees (mirrors the fixed bulk SponsorScope logic):
is_current_employeeis strictly True — company + role from the person's live LinkedIn current position; end-dated roles rejected → no stale / no namesake (e.g. someone who moved to another company is dropped).- Bare "Director"/"Manager"/"Head"/"VP" with no function-anchor → rejected.
- Sorted seniority-primary (Founder > CEO > CXO > VP/Director > Head > Manager); India-location is a tiebreaker only.
- No hard cap — returns all who pass.
Input
{ "company_name": "Zoho", "apifyToken": "<full-permission token>" }
The runtime token has limited permissions and cannot start the SERP/LinkedIn child actors, so the caller passes
apifyToken. Falls back to envAPIFY_TOKENfor local runs.
Output (dataset item[0])
{"company_name": "Zoho","count": 6,"key_people": [{ "name": "...", "designation": "...", "company": "...","linkedin": "...", "image": "...", "location": "...","is_current_employee": true, "seniority_score": 90 }],"_kp_source": "serp"}
How the portal should call it (reliable — avoids HTTP-0)
Do not use run-sync (long-held connection → HTTP-0 under load). Use async run + poll + fetch:
POST /v2/acts/etb2b-keypeople-refresh/runs?token=<TOKEN>body{"company_name":"X","apifyToken":"<TOKEN>"}→run.id,defaultDatasetIdGET /v2/actor-runs/<run.id>?token=...— poll every 3–5s until status ∈ SUCCEEDED/FAILED/ABORTED/TIMED-OUTGET /v2/datasets/<defaultDatasetId>/items?token=...&clean=true→[ { company_name, key_people[] } ]- Retry 2–3× on HTTP 0 / 5xx / timeout at each step.
Notes
- Key-people logic (
sponsor_enrichment.py,speaker_enrich.py) is copied from the bulk SponsorScope actor. Any future key-people fix must be synced to both. - Cascade-ready: when the Mongo → B2B/Solar → SERP source-cascade is added inside
_fetch_key_people_one, this actor picks it up automatically.
By RS Niraj, ETB2B (Times Internet).