Lakewave for agents and workflows

Call Lakewave from Clay, Claude, Cursor or a script. One request returns verified people at named accounts, verdicts on a list, contracts ending in a territory, or a campaign filled with drafts. Priced on outcomes. Nothing sends without a person.

Get an API key free See the endpoints →
The idea

Outcomes as tools, not enrichment as cells

Workflow tools are good at moving data between columns. They are not good at finishing the job: the rep still gets a spreadsheet of inputs and a bill for every attempt. Lakewave exposes the job itself. Ask for the IT directors at forty accounts and you get back the ones that are real, verified and still there, charged per person delivered. Ask for a campaign and you get drafts waiting for approval, not a template.

Underneath, Lakewave's Supervisor runs the search, the verification, the accept-all resolution and the prioritizing. The agent or workflow that called never orchestrates any of it, and never sees a bill for the attempts that did not land.

REST API v1

What you call, what you get, what it costs

Base URL https://app.lakewave.ai/api/v1. Header Authorization: Bearer lw_live_…. JSON in, JSON out. Long jobs return 202 and a poll path.

EndpointReturnsCost
GET /mePlan, credits, prices, limits.free
POST /people/find
{companies[], titles[], location?}
A job; when done, the people at the 4-star verified bar: name, title, company, email, stars, LinkedIn.4 per verified person; nothing if nobody is found
GET /jobs/{id}Job status, progress, people.free
POST /emails/verify
{emails[] ≤25}
A verdict per address, synchronous: valid, invalid, catch_all, unknown, dead_domain, bad_syntax, each with a reason and stars.1 per definitive verdict
POST /emails/verify-listSame verdicts for up to 5,000 addresses, as a job. Poll GET /lists/{id}.1 per definitive verdict
GET /emails/format
?domain=&first=&last=
The company's email convention, labelled confirmed, evidence or guess, with rendered candidates.free
GET /contactsYour own verified contacts, searchable by name, title, company or domain.free
GET /signals/contracts
?states=CA,TX&months=6&terms=
Public-sector contracts ending in the window: agency, incumbent vendor, title, end date, amount, source link.free
POST /campaigns
{name, companies[], titles[], draft}
A campaign with its target set. With draft: true, the best person per company is found and a personalized draft written, then held for approval in the app.4 per verified person + 1 per draft
GET /campaigns/{id}Company statuses, draft / approved / sent counts, drafting progress.free
Not in the API, on purpose: sending. Drafts an agent creates are approved and scheduled by a person inside Lakewave, where warmup, pacing, pre-send verification and the one-conversation-per-person rule apply. Keys are scoped (read, find, verify, campaign), rate limited, shown once and revocable.

Claude Desktop, Cursor, Claude Code

One package, eleven tools, listed in the official MCP Registry as ai.lakewave/lakewave-mcp. The agent asks for an outcome and waits for it.

Add to Claude Desktop (one-click install)

Double-click the downloaded file, paste your API key when Claude Desktop asks, done. Nothing else to install. Cursor, Claude Code and other clients connect by URL:

# Claude Code
claude mcp add --transport http lakewave \
  https://app.lakewave.ai/mcp \
  --header "Authorization: Bearer lw_live_..."

# Cursor and others: MCP config
{"mcpServers": {"lakewave": {
  "url": "https://app.lakewave.ai/mcp",
  "headers": {"Authorization": "Bearer lw_live_..."}}}}

# prefer it local? uvx lakewave-mcp (PyPI)

# then ask
"Find the directors of IT at these eight
 accounts in Texas and verify them."

An HTTP API column, two steps

Start the job from the company column, then read the result. Lakewave charges per verified person, so an empty result costs the row nothing.

# Column 1: HTTP API, POST
URL   https://app.lakewave.ai/api/v1/people/find
Head  Authorization: Bearer lw_live_...
Body  {"companies": ["{{Company}}"],
       "titles": ["Director of IT", "VP Infrastructure"],
       "location": "{{State}}"}
# returns {"job_id": "...", "poll": "/api/v1/jobs/..."}

# Column 2: HTTP API, GET (run after a delay)
URL   https://app.lakewave.ai/api/v1/jobs/{{job_id}}
# returns {"status":"done","people":[{name,title,email,stars}]}
Where it differs

Compared with wiring providers together yourself

CapabilityLakewave APIProvider waterfall in a workflow tool
Billing unitVerified person deliveredEach provider attempt, hit or miss
Find by title at an account (no name)YesUsually needs a name or a LinkedIn URL first
Accept-all domainsResolved and ratedFlagged; your decision
Still at the companyChecked before deliveryDepends on provider freshness
Public-sector contract and rebid signalsIncluded, freeNot available as a provider
From list to drafted campaignOne call; human approves in appSeparate sequencer and hand-off
Orchestration you maintainNoneThe workflow is yours to keep working
FAQ

Questions, answered

What is the difference between this and an enrichment provider in Clay?

An enrichment provider fills a cell and bills the attempt. A Lakewave call returns a finished outcome and bills the outcome: verified people at the accounts you named, a verdict per address, or a campaign with drafts in it. Lakewave does the searching, verifying and prioritizing on its own account, so a hard account costs Lakewave, not you.

Can an agent send email through Lakewave?

No, by design. An agent can find people, verify, pull signals and fill a campaign with drafts. A person approves and schedules those drafts inside Lakewave, where the warmup, pacing, pre-send verification and one-conversation rules apply. That is the line that keeps your domain and your reputation yours.

How is it priced?

The same as the app, on the key owner's credits: 4 credits per verified person, 1 per definitive email verdict. Convention lookups, your own contacts and contract signals are free. A search that finds nobody costs nothing.

How do I add Lakewave to Claude Desktop?

Download the one-click extension from this page, double-click it, and paste your API key when Claude Desktop asks. It runs on the Node.js that ships inside Claude Desktop, so there is nothing else to install, on Mac or Windows.

What does the MCP server expose?

Eleven tools: account, find_people, get_job, verify_emails, verify_list, get_list, email_format, my_contacts, contracts_ending, create_campaign and get_campaign. It is the lakewave-mcp package on PyPI, listed in the official MCP Registry as ai.lakewave/lakewave-mcp, and it wraps the REST API, so an agent and a Clay workflow see the same behavior.

Can I connect by URL instead of installing anything?

Yes. Point any MCP client that takes a URL at https://app.lakewave.ai/mcp and send your key as a bearer token. It is the same eleven tools, the same prices and the same key controls as the extension and the package. Longer searches come back as a job the agent checks a minute later, so nothing sits waiting.

How do I get a key?

In the Lakewave app, Integrations, API keys. Keys are shown once, stored only as a hash, scoped, rate limited, and revocable in one click. Any plan, trial included.

See the difference yourself.

15 verified contacts free. No credit card. No sales call required.

Create free account →