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.
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.
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, or POST the result to your callback_url when they finish. Machine-readable: openapi.json (OpenAPI 3.1).
| Endpoint | Returns | Cost |
|---|---|---|
GET /me | Plan, 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-list | Same 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 /contacts | Your 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. | metered on the work done, at most 5 per company |
GET /campaigns/{id} | Company statuses, draft / approved / sent counts, drafting progress. | free |
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. In Claude or ChatGPT, add a custom connector with https://app.lakewave.ai/mcp and sign in with Lakewave; there is no key to copy. Cursor, Claude Code and other clients connect by URL too:
# 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."
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}]}
Or skip the second column: add callback_url to the first body and the finished result is POSTed to a Clay webhook table, n8n, Zapier or Make. Every delivery is signed with the per-key secret shown by GET /me.
# same POST, one more field Body {..., "callback_url": "https://hooks.zapier.com/hooks/catch/..."} # when done you receive the GET /jobs/{id} JSON, plus headers X-Lakewave-Event: find.completed X-Lakewave-Signature: sha256=HMAC_SHA256(secret, ts + "." + body) # also on /emails/verify-list and /campaigns (draft: true)
| Capability | Lakewave API | Provider waterfall in a workflow tool |
|---|---|---|
| Billing unit | Verified person delivered | Each provider attempt, hit or miss |
| Find by title at an account (no name) | Yes | Usually needs a name or a LinkedIn URL first |
| Accept-all domains | Resolved and rated | Flagged; your decision |
| Still at the company | Checked before delivery | Depends on provider freshness |
| Public-sector contract and rebid signals | Included, free | Not available as a provider |
| From list to drafted campaign | One call; human approves in app | Separate sequencer and hand-off |
| Orchestration you maintain | None | The workflow is yours to keep working |
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.
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.
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.
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.
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.
Yes. Point any MCP client that takes a URL at https://app.lakewave.ai/mcp. Apps like Claude and ChatGPT open a Lakewave sign-in and ask you to approve them; other clients 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.
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.
15 verified contacts free. No credit card. No sales call required.
Create free account →