← all tools
Enrichment

Prospeo

Emails and mobiles, with a searchable database behind them.

Cost per call0.4–3.4 cr / result
Your own keyoptional
CategoryEnrichment

Prospeo does two jobs. It finds and verifies contact details for people you name, and it searches its own database of 200 million contacts when you do not have a list yet. Both run in bulk.

Prospeo can start a list or finish one. In the default hyreflow waterfall it is among the first enrichers tried.

things you can ask for

  • Take this job brief url and build a first longlist using Prospeo and AI Ark
  • Find verified emails for these 50, then check deliverability with Enrichley
  • Search operations managers at logistics firms in the Midlands and file them in Recruiterflow
  • Get a mobile for this candidate profile before I call

works well with Prospeo

  • AI Ark

    run both databases and merge, the coverage rarely overlaps completely

  • Enrichley

    clear the addresses before outreach

  • FullEnrich

    the waterfall for whatever Prospeo could not find

  • Recruiterflow

    file the longlist against the role it was built for

Skills that use Prospeo

A skill is a whole pipeline your agent already knows. These ones call Prospeo as part of the run.

signal5 steps

Layoff signal → poach displaced talent

Sweep Layoff Signal news, source displaced talent via GitHub + Apollo, enrich via Prospeo, push to outreach.

view skill →
signal5 steps

GitHub signal → senior eng pipeline

Top GitHub contributors at top companies. Enrich via Prospeo for a never-resting senior engineering pipeline.

coming soon
compose5 steps

Candidate on the desk → 15-company spec campaign

Read the CV with claude, map who would actually want them via TheirStack + Apollo, name the hiring manager via Prospeo, send the anonymized profile through Instantly. Stops at the reply.

coming soon

What your agent reads before it touches Prospeo

Every tool ships with a written playbook, and the agent loads it before the first call. Auth, rate limits, what each call costs, which actions need your approval, and the mistakes worth avoiding. It is the difference between an agent that knows the tool and one that guesses at it.

Read the Prospeo docs →
Show the raw playbookwritten for the agent

HOW in lib/prospeo.py. Docs cached at reference/docs/prospeo/raw/.

Auth & config

  • Base URL: https://api.prospeo.io · Auth: header X-KEY (env PROSPEO_API_KEY; never hardcode). All endpoints POST + JSON; consume credits on a found result.

Operations (ALL CONFIRMED from prospeo.io/api-docs, 2026-06-01)

Live: enrich_person (/enrich-persondata{first_name,last_name,full_name,linkedin_url,email,company_name,company_website,company_linkedin_url,person_id} + only_verified_email/enrich_mobile/only_verified_mobile), bulk_enrich_person (≤50), enrich_company, bulk_enrich_company (≤50), search_person (200M+ contacts, 30+ filters), search_company (30M+), search_suggestions, account_information (safe pilot). Endpoint index: reference/docs/prospeo/raw/endpoints.md.

⚠️ Deprecation

email_finder, domain_search, mobile_finder, social_url_enrichment, email_verifier, linkedin_email_finder are deprecated (sunset 2026-03-01) — kept as thin wrappers but migrate to enrich_person/search_person. enrich_person(enrich_mobile=True) = 3.4 credits (vs 0.4 for email).

Handoff

Enrichment layer: shortlist → Prospeo for emails/phones → validate → ATS/sequencer.

Field notes (production experience)

Field-shape note: these are vendor-native operational notes. The client returns the raw vendor JSON and uses the method names in this file — read field shapes accordingly (no normalized-wrapper / result.data. prefix).

  • Flow: search_person/search_company to build lists -> enrich_person/enrich_company for detail.
  • Search cost: search_person is a free masked preview; search_company bills 0.4 credits per result. Person search supports job-title boolean operators, department, seniority, industry, headcount, technology, location.
  • Mobile reveal is expensive: enrich_mobile: true costs 3.4 credits (vs 0.4 for email-only) - only when phone outreach is explicitly requested.
  • Do NOT use Prospeo for job-change detection/filters - the live job-change filter has schema drift; use FullEnrich for job-change workflows.

Callable surface — lib/prospeo.py

Import: from lib.prospeo import Prospeo → instantiate Prospeo() (reads key from env). Base: https://api.prospeo.io. Generic passthrough: request(method, path, *, params, json).

  • account_information(payload: dict | None = None) -> dict — POST /account-information — usage/renewal/credits (safe read-only pilot).
  • bulk_enrich_company(payload: dict) -> dict — POST /bulk-enrich-company — up to 50 companies per call.
  • bulk_enrich_person(payload: dict) -> dict — POST /bulk-enrich-person — up to 50 people per call.
  • domain_search(payload: dict) -> dict — DEPRECATED → search_person/search_company. POST /domain-search.
  • email_finder(payload: dict) -> dict — DEPRECATED → enrich_person. POST /email-finder (legacy work-email finder).
  • email_verifier(payload: dict) -> dict — DEPRECATED. POST /email-verifier — verify an email address.
  • enrich_company(payload: dict) -> dict — POST /enrich-company — company data enrichment.
  • enrich_person(data: dict, *, only_verified_email: bool | None = None, enrich_mobile: bool | None = None, only_verified_mobile: bool | None = None) -> dict — POST /enrich-person — enrich one person (replaces email-finder/mobile-finder/social).
  • linkedin_email_finder(payload: dict) -> dict — DEPRECATED → enrich_person. POST /linkedin-email-finder.
  • mobile_finder(payload: dict) -> dict — DEPRECATED → enrich_person(enrich_mobile=True). POST /mobile-finder.
  • search_company(payload: dict) -> dict — POST /search-company — query 30M+ companies.
  • search_person(payload: dict) -> dict — POST /search-person — query 200M+ contacts with 30+ filters.
  • search_suggestions(payload: dict) -> dict — POST /search-suggestions — canonical filter-value autocomplete before a search.
  • social_url_enrichment(payload: dict) -> dict — DEPRECATED → enrich_person(data={'linkedin_url': ...}). POST /social-url-enrichment.