Pharo

Pharo saves you time and money

Route to the best data provider for each request in seconds.

One endpoint, one bill, every provider — pay only for what you consume, and only consume the credits that give you results.

01Every provider behind a key
02Every request benchmarked
03Scale your cold calling efforts

ONE KEY, EVERY PROVIDER | ONE BILL

Pharo was built to cut enrichment spend by routing every request to the provider most likely to return the field.

What a request looks like

find_phone {"name":"Sarah Lane","company":"halcyon.com"}

Built for sales and loved by RevOps.

Reps get the number that connects.
RevOps gets one bill and a ledger that explains it.

See every endpointBrowse the catalogue

Answers not raw responses

Benchmarked on what actually lands

Benchmark · mobileverified hit rate
Apollo 64% · tried first
Prospeo 58%
LeadMagic 51%
People Data Labs 47%
Graded on answered requests, not the vendor’s claim Order re-derived on every request

One record from every provider

One recordmobile returned
Prospeo +1 415 ••• 2214
People Data Labs +1 415 ••• 2214
Apollo no direct line
Two sources agreed · verified hlr_live The odd one out · never billed twice Written once, with its receipt

Routing that changes at the border

A ledger for every credit spent

Three steps from a blank key to a routed request.

  1. 01

    Connect the brain

    Pharo reads your CRM and your closed-won, so the router knows what a good record looks like for your team before it spends a credit.

  2. 02

    Provide evals

    Hand it a few contacts you already know the truth on — numbers that rang, emails that landed. Every provider is benchmarked against them, on your data, not the vendor’s claims.

  3. 03

    Start using it through the key

    One key. Call it from Claude over MCP, from a workflow tool, or from a script — the route and the bill are the same whichever door you use.

Every endpoint behind the key.

What each provider’s key can actually do, endpoint by endpoint — every one of them behind the same key.

Apollo

People enrichment

Contact data
/people/match

Enrich one person with verified contact and profile data — email, profile, and optionally a mobile number.

Apollo

Organization enrichment

Company data
/organizations/enrich

Enrich one company by domain, LinkedIn URL, name or website with full firmographics, funding and technology data.

Apollo

People search

Lead gen
/mixed_people/api_search

Find new people and prospects by job title, seniority, location, employer and technology.

Apollo

Organization search

Lead gen
/mixed_companies/search

Find companies by headcount, location, revenue, funding, keywords and technology.

Apollo

Organization job postings

Signals
/organizations/{id}/job_postings

Retrieve a company’s active job postings by its Apollo organization id.

Apollo

News articles search

Signals
/news_articles/search

Search news articles about companies by organization, category and date.

Apollo

Complete person info

Contact data
/people/{id}

Get the complete record for a person by their Apollo person id.

Apollo

Complete organization info

Company data
/organizations/{id}

Get the complete record for a company by its Apollo organization id.

People Data Labs

Person enrichment

Contact data
/v5/person/enrich

Enrich one person from an email, profile URL, phone or name + company into a full professional record.

People Data Labs

Person search

Lead gen
/v5/person/search

Query the person dataset with SQL or Elasticsearch filters on title, company, location, skills and seniority.

People Data Labs

Person identify

Contact data
/v5/person/identify

Return every candidate profile that could match the identifiers you hold, with a likelihood score for each.

People Data Labs

Company enrichment

Company data
/v5/company/enrich

Enrich a company by domain, name or profile with size, industry, location, funding and headcount.

People Data Labs

Company search

Lead gen
/v5/company/search

Query the company dataset by industry, size, location, founding year and more.

People Data Labs

Job title enrichment

Company data
/v5/job_title/enrich

Standardise a raw job title into a canonical role, level and function.

People Data Labs

IP enrichment

Signals
/v5/ip/enrich

Resolve a visitor IP to the company behind it, with location and firmographics.

LeadMagic

Email finder

Contact data
/people/email-finder

Find a professional work email from a name and company.

LeadMagic

Mobile finder

Contact data
/people/mobile-finder

Return a direct mobile number for a person from their profile.

LeadMagic

Email validation

Contact data
/people/email-validation

Real-time check that an address exists and accepts mail before a rep dials or writes.

LeadMagic

Profile search

Contact data
/people/profile-search

Enrich a contact with employment history, education and skills from a profile URL.

LeadMagic

Role finder

Lead gen
/people/role-finder

Locate the person holding a given job title at a target company.

LeadMagic

Employee finder

Lead gen
/people/employee-finder

List the people working at a specified company.

LeadMagic

Job change detector

Signals
/people/job-change-detector

Flag contacts who have moved role or company since you last held them.

LeadMagic

Personal email finder

Contact data
/people/personal-email-finder

Find a personal address as a second route to a contact.

LeadMagic

Company search

Company data
/companies/company-search

Find a company by domain, name or profile and return its record.

LeadMagic

Company funding

Signals
/companies/company-funding

Funding rounds and investors for a company.

LeadMagic

Technographics

Company data
/companies/technographics

The platforms and software a company runs.

LeadMagic

Competitors search

Lead gen
/companies/competitors-search

Companies competing with a given company — a lookalike list from one seed.

LeadMagic

Jobs finder

Signals
/jobs/jobs-finder

Open positions filtered by occupation, company and location.

LeadMagic

Google Ads search

Signals
/ads/google-ads-search

What a company is running in search advertising right now.

LeadMagic

Meta Ads search

Signals
/ads/meta-ads-search

What a company is running on Meta right now.

Prospeo

Enrich person

Contact data
/enrich-person

Verified email, mobile and B2B profile data for one lead.

Prospeo

Bulk enrich person

Contact data
/bulk-enrich-person

The same enrichment for up to 50 contacts in one request.

Prospeo

Enrich company

Company data
/enrich-company

Funding, technology stack and 50+ organisational data points for one company.

Prospeo

Search person

Lead gen
/search-person

Search the contact database with 30+ filters on title, company, location and seniority.

Prospeo

Search company

Lead gen
/search-company

Search the company database by industry, size, location and technology.

Crustdata

Company enrich

Company data
/company/enrich

Firmographics, headcount, funding, web traffic, employee reviews, people and news for one company.

Crustdata

Company search

Lead gen
/company/search

Search the company database with AND/OR filter conditions.

Crustdata

Company identify

Company data
/company/identify

Match a company by name, domain, profile URL or id and return confidence-ranked candidates.

Crustdata

Person enrich

Contact data
/person/enrich

Employment history, education, skills and developer-platform data for a person.

Crustdata

Person contact

Contact data
/person/contact

Business email, personal email and phone numbers for a person.

Crustdata

Person search

Lead gen
/person/search

Search profiles by title, company, location, seniority, industry and education.

Crustdata

Job search

Signals
/job/search

Indexed job listings with title, openings, location, description and the hiring company’s firmographics.

Crustdata

Web search

Web & scrape
/web/search

Search across web, news, academic and social sources in one call.

Crustdata

Web fetch

Web & scrape
/web/fetch

HTML and page title for up to 10 URLs per request.

Exa

Search

Web & scrape
/search

Neural or keyword search over the web, returning results with highlights, summaries or structured output.

Exa

Contents

Web & scrape
/contents

Full page contents, summaries and metadata for a list of URLs.

Exa

Answer

Web & scrape
/answer

A cited answer to a question, grounded in live search results.

Exa

Websets

Lead gen
/websets

Build a list from a natural-language search, then enrich every row against the web.

Exa

Monitors

Signals
/monitors

A recurring search delivered to your webhook whenever something new matches.

Parallel

Search

Web & scrape
/search

Web search returning excerpts optimised for a model to read.

Parallel

Extract

Web & scrape
/extract

Relevant content from specific URLs, returned as cleaned markdown.

Parallel

Task runs

Web & scrape
/tasks/runs

A research task against a schema you define — one company, one question, structured back.

Parallel

FindAll runs

Lead gen
/findall/runs

Discover every entity matching a natural-language objective, with candidates and evidence.

Parallel

Monitors

Signals
/monitors

Scheduled tracking of a page or query with webhook notification on change.

Bright Data

LinkedIn profiles

Contact data
/datasets/v3/scrape

Structured profile records from LinkedIn URLs through the pre-built scraper, in one synchronous call.

Bright Data

LinkedIn companies

Company data
/datasets/v3/scrape

Structured company pages — about, size, industry, locations — through the pre-built scraper.

Bright Data

LinkedIn jobs

Signals
/datasets/v3/scrape

Job listings by company or search through the pre-built scraper.

Bright Data

SERP

Web & scrape
/request

Structured results from Google, Bing, Yandex and DuckDuckGo as JSON.

Bright Data

Web Unlocker

Web & scrape
/request

The content of any URL, past anti-bot protection, in real time.

Common questions

How the key works, what a request costs, and what happens when a provider comes up empty.

Do I need API keys for each provider?

No. One Pharo key covers every provider on this page — we hold the vendor accounts; you hold one credential and one bill. And if you already hold your own provider keys, bring them: Pharo routes through your contracts instead of ours.

How is pricing structured?

One bill, metered in credits, and you only consume credits on results — a call that returns nothing costs nothing. There is no plan tier that unlocks a provider; full pricing lands with the public launch.

A provider failed. Do I get charged?

No. A call that returns nothing costs nothing. The router moves to the next provider in the order, and you pay for the one that landed the field.

Which agent frameworks are supported?

The tools are plain HTTPS and JSON — find_phone, find_email and their siblings — so anything that can make a request can use them: a workflow tool, a script, or an agent over MCP. Nothing to rewrite when a provider changes underneath.

What about rate limits?

Each vendor’s limit applies to that vendor. Because the router spreads requests across providers, one vendor’s ceiling is not your ceiling — when one is throttled the next in order takes the request.

One key, every provider, one bill.