33% off, foreverNew customers · code · ends Aug 31
Claim

Prospect Data You Can Wire Into Your Own Pipeline

GTM engineers automate the list-building job instead of running it by hand. Cleanlist exposes structured search, waterfall enrichment, and CRM sync through a documented REST API and an MCP server, with rate limits published up front, signed spend quotes, and search that costs 0 credits.

TL;DR

A GTM engineer evaluates a data vendor on mechanics: what the endpoints return, what the limits are, what a half-failed job does, and what a miss costs. Cleanlist publishes all four. REST API v2 lives at https://api.cleanlist.ai/api/v2 with around 30 endpoints, clapi_ Bearer auth, 14 granular OAuth scopes and a published OpenAPI 3.x spec, available on Pro at $229/month and above. The Cleanlist MCP server at https://mcp.cleanlist.ai/v1/mcp is in beta and exposes 30+ tools over OAuth, so an agent can run the same jobs your scripts run against the same credit wallet. Structured people and company search costs 0 credits, so you size a segment before you spend anything, and paid bulk work runs behind a signed quote from POST /credits/estimate with a 5 minute TTL.

Why GTM Engineers Need Different Enrichment

Why a tool priced and shaped for a rep in a browser breaks the moment the work runs unattended.

Per-Seat Pricing Bills the Wrong Thing

The work a GTM engineer ships runs unattended: a scheduled job, a worker, an agent session. Per-seat data tools price for humans logging into a browser, so an automated pipeline either gets billed against seats nobody uses or gets throttled by an export limit written for a rep doing manual research.

Evaluation Costs Money Before It Proves Anything

Most vendors meter search, so answering the first question (does a segment of this shape even exist in your data) burns credits before a single record is enriched. That turns a two-hour spike into a procurement conversation, and it is the reason a lot of promising integrations never get prototyped.

Undocumented Limits Surface in Production

Rate ceilings, daily caps and retry semantics are usually discovered at 2am when a batch job starts returning 429s with no Retry-After header. Without published numbers you cannot size concurrency, choose a backoff, or tell your on-call whether a stalled run is a bug or a limit doing its job.

Agent Spend Is Unbounded by Default

Handing a model a credit-spending API with no pre-flight quote is how a test run becomes a bill. An agent that retries a failed batch, or reads a list larger than you expected, can burn a month of credits in one session unless the spend is capped server side rather than in your prompt.

How Cleanlist Fits

The mechanics a GTM engineer checks before writing the first line: endpoints, limits, cost per record, and failure behavior.

REST API v2 With the Limits Published Up Front

Base https://api.cleanlist.ai/api/v2, clapi_ Bearer auth, 14 OAuth scopes checked per endpoint, and around 30 endpoints across workspace and identity, search, lead lists, enrichment, smart agents, and sync and export. Cleanlist publishes the ceilings rather than making you find them: 60 requests per minute per organization, 30 per key, and a hard cap of 60 People Searches per UTC day per key. A 429 returns a Retry-After header and a rate_limited error body so a worker can back off without guessing. Access starts at Pro, $229/month.

The Same Jobs Exposed as MCP Tools for Your Agent

Cleanlist runs a remote MCP server at https://mcp.cleanlist.ai/v1/mcp with 30+ tools, connected over OAuth from Claude Settings, then Connectors, as a custom connector. There is no key to paste into a config file. It draws on the same credit wallet and the same signed-quote caps as the REST API, so an agent session and a cron job spend from one balance you can watch in one place. It is in beta, and Cleanlist is not in Anthropic's connector directory yet, so treat it as a working integration you install by hand.

Search Costs 0 Credits, So Qualifying Is Free

POST /search/people and POST /search/companies cost nothing, and so does every read: list reads, status polls, GET /whoami, GET /credits/balance, and CSV or JSON export. Size a segment, check what the filters actually return, and throw the result away without touching your balance. Cleanlist charges when data is created rather than when it is read. A free Cleanlist account is $0 with no card, 30 credits a month and up to 100 leads per list, which is enough to see exactly which fields come back before you commit engineering time.

Pay-for-Results Enrichment, Round-Tripped Through CSV or the CRM

Enrichment runs as a multi-provider waterfall, so a miss at one provider falls through to the next instead of ending the job. A verified email is 1 credit, a direct dial is 10, both together are 11, a company enrichment is 1, saving a newly discovered lead to a list is 0.5, and POST /sync/crm to HubSpot, Salesforce or Outreach is 0.2 per lead. Records the waterfall cannot resolve settle their reserved credits back. Cleanlist works to 98% verified emails and 85% direct dials on its 500-lead enrichment benchmark.

Why teams like yours choose Cleanlist

Used by GTM teams including Warp, Kindsight, BuildZoom, Reply.io, Upfluence.

0M+
Contacts
0+
Data Providers
0%
Email Accuracy
0min
To First Enrichment

Our entire GTM team lives off Cleanlist now. We replaced 5+ tools, deals are 30% bigger, and reps are doing 50% more volume.

Ruslan Valeev

Ruslan Valeev

Senior Director, Revenue Operations, Float

5+

Tools replaced

Speed to lead is now minutes with perfect data quality. We doubled inbound deals and convert 30% better.

Evan Santa

Evan Santa

VP of Sales, Proposify

2x

Inbound deals

0
Credits Per Search

POST /search/people and POST /search/companies cost nothing on the Cleanlist API, and so does every read. You qualify a segment before you spend, within a cap of 60 People Searches per UTC day per key.

How Alternatives Compare

Clay, Apollo, and rolling your own on a raw data API, with where each one honestly fits.

Clay

Strength: A deep workflow surface for teams happy to assemble and run the pipeline inside a vendor UI, with a large catalogue of integrations to chain

Limitation: The pipeline lives in Clay tables rather than in your repo, so it is harder to review, version and hand to an agent, and per-run credit consumption is difficult to forecast before a table executes

Compare

Apollo

Strength: An all-in-one where prospecting, sequences and an API sit behind one login, already familiar to most GTM teams

Limitation: Pricing is per seat, so an unattended workload is still billed against human seats, and enrichment reads a single first-party database rather than a multi-provider waterfall

Compare

Build it yourself on a raw data API

Strength: Maximum control and the lowest per-record cost once volume is genuinely high and your schema has stopped moving

Limitation: You become the maintainer of the waterfall: provider fallbacks, verification, retries, dedupe, credit accounting and coverage gaps all turn into code you own and get paged on

Frequently Asked Questions

Does Cleanlist have an API a GTM engineer can build on?

+

Yes. Cleanlist REST API v2 sits at https://api.cleanlist.ai/api/v2 with around 30 endpoints grouped into workspace and identity, search, lead lists, enrichment, smart agents, and sync and export. Authentication is a clapi_ Bearer token minted from the dashboard with no approval queue and no sales call, and every endpoint checks one of 14 granular OAuth scopes, so a key issued for reads cannot start a paid enrichment. There is a published OpenAPI 3.x spec. Programmatic access requires Pro at $229/month or above, or an AppSumo Tier 5+ license. Call GET /whoami first to confirm the identity, scopes, plan tier and organization a key resolves to before wiring it into a job.

What are the Cleanlist API rate limits?

+

Cleanlist allows 60 requests per minute per organization and 30 requests per minute per API key. People Search carries a separate hard cap of 60 searches per UTC day per API key, and that is the limit most agent workloads hit first, so plan pagination and caching around it rather than around the per-minute number. Exceeding any limit returns HTTP 429 with a Retry-After header and a rate_limited error body, which is enough for a worker to back off deterministically. AppSumo lifetime licenses without a paid plan are held to 30 requests per minute per organization. Cleanlist publishes these numbers rather than leaving you to discover them in production.

Does the Cleanlist API support webhooks?

+

No. The current v2 Cleanlist API is poll-based. Asynchronous enrichment returns a workflow_id and you poll it until the status is terminal, with exponential backoff as the recommended pattern. Synchronous operations (company enrichment, search, CRM sync, exports) answer in the same request and need no polling at all. There are no v2 webhooks, so a scheduled job that enriches a list needs a second scheduled step that polls for completion rather than a listener waiting on a callback. Older Cleanlist tutorials that describe receiving a webhook are documenting the frozen v1 surface, not v2.

Can I call Cleanlist from n8n, Make or Zapier?

+

Yes, through a generic HTTP node. There is no native Cleanlist app in the n8n, Make or Zapier directories. Point an HTTP step at https://api.cleanlist.ai/api/v2, send your clapi_ Bearer token, and handle completion in a second scheduled step, because the API has no v2 webhooks to call your workflow back. For HubSpot, Salesforce and Outreach you can often skip the automation platform entirely: POST /sync/crm pushes leads directly at 0.2 credits per lead, and POST /sync/sequencer pushes to Lemlist. Cleanlist does not send email, run sequences or dial numbers itself, it hands the record to the tool that does.

How do I stop an AI agent from spending more credits than I expect?

+

Cleanlist gates paid bulk work behind a signed quote. You call POST /credits/estimate, get back an HMAC-signed quote_id with a 5 minute TTL, and pass that quote_id on the request that actually spends, so a run cannot exceed the quote it was signed against and a stalled agent simply lets the quote expire. Search costing 0 credits means the exploratory half of an agent session is free by construction, and pay-for-results billing settles reserved credits back on records the waterfall cannot resolve. The Cleanlist MCP server enforces the same quote mechanism against the same wallet, so the cap holds whether the caller is your code or Claude.

Can I send a natural-language query to the Cleanlist API?

+

No. The Cleanlist REST API takes structured filters (job title, seniority, department, headcount, industry, location and similar), not a free-text prompt, and there is no natural-language search endpoint on it. Natural language lives one layer up: the Copilot inside the Cleanlist app, and the MCP server, where the model turns your instruction into the same structured filter payload a script would send. If you want an agent that accepts plain-English list requests, connect the MCP server and let it compose the filters. If you are writing a script, build the filter object yourself against the published OpenAPI spec.

What does it cost to enrich 10,000 leads with Cleanlist?

+

A verified email is 1 credit, so 10,000 leads is 10,000 credits, which sits inside Scale at $599/month for 15,000 credits. Adding a direct dial takes each record to 11 credits, or 110,000 credits for the same file, which is past any published plan allowance, so scope the phone pass to the accounts you will actually dial rather than the whole list. Cleanlist bills for results, so records the waterfall cannot resolve settle their reserved credits back and real spend usually lands below the worst case. Quote the job with POST /credits/estimate before dispatching it and the returned quote_id caps what that run can spend.

Which filters does Cleanlist not support?

+

Cleanlist people and company search runs on firmographic and role attributes: job title, seniority, department, headcount, industry, location and similar, 20+ filters in total. There are no intent-data, technographic, revenue-range or funding-stage filters, and no job-change detection or alerting. If your scoring model depends on one of those signals, source it separately and join on the company domain, or narrow the segment with the filters Cleanlist does expose and let a smart agent (0.5 to 3 credits per lead) research the rest on only the records that survive the filter pass. Naming the gap up front is cheaper than discovering it after you have written the integration.

Want to see the response shape before you write the integration?

A free Cleanlist account is $0 with no card and 30 credits a month, and structured search costs 0 credits, so you can size a segment first.

No credit card required

30 credits included. No credit card required. Set up in 5 minutes.