25% off forever · our first sale ever
Ends July 31, 11:59 PM ETRedeem
Developer Platform

One API for B2B data enrichment.

Search, enrich, verify, and sync contacts programmatically. Around 30 REST endpoints, a consistent JSON envelope, and a quote model built for AI agents and MCP.

Quick answer

The Cleanlist API is a REST data enrichment API at api.cleanlist.ai/api/v2. Authenticate with a clapi_ Bearer token, then search B2B contacts, enrich people and companies through a 15-provider waterfall (98% verified emails, 85% phones), run AI smart agents, and sync to your CRM. Reads and search are free; you pay only for results.

Evaluating your options? See how our API compares to the market, or connect the MCP server to Claude.

Used by 1,500+ GTM teams

How It Works

Up and Running in

Three steps from signup to enriched data. No complex setup, no long onboarding.

01

Get Your API Key

The public API is on Pro plans and above. Generate a clapi_ key from your dashboard. No sales call, no approval queue.

  • Pro plan or AppSumo Tier 5+
  • clapi_ Bearer token, rotate anytime
  • 14 granular OAuth scopes
  • 30 free credits to start
02

Call an Endpoint

Search is free. Pre-flight paid work with a signed quote, then enrich people and companies, run AI agents, or sync to your CRM.

  • REST/JSON, any language
  • Per-endpoint OAuth scope
  • Signed quote caps every paid call
  • 60 requests/min per org
03

Get Structured Results

Synchronous calls return inline. Async enrichment returns a workflow_id you poll until it settles. Every response uses one consistent envelope.

  • Consistent JSON envelope
  • Confidence + status per field
  • Credits reserved, then refunded
  • Poll to completion, no webhooks needed
Live Example

Simple, Powerful,

One request, one credit, structured data back. Every response uses the same envelope.

request.sh
1# Enrich a company (synchronous, 1 credit)
2POST https://api.cleanlist.ai/api/v2/enrichment/company
3Authorization: Bearer clapi_your_api_key
4Content-Type: application/json
5
6{ [#e06c75]">"domain": [#98c379]">"acme.com" }
REST/JSON. Works with any language or HTTP client
Bearer clapi_ auth with per-endpoint OAuth scopes
Synchronous and async modes from the same API
Consistent envelope with task_id and usage hints
response.json
1{
2 [#e06c75]">"company": {
3 [#e06c75]">"name": [#98c379]">"Acme Corp",
4 [#e06c75]">"domain": [#98c379]">"acme.com",
5 [#e06c75]">"industry": [#98c379]">"Software",
6 [#e06c75]">"employee_count_range": [#98c379]">"51-200",
7 [#e06c75]">"hq_location": [#98c379]">"San Francisco, US",
8 [#e06c75]">"linkedin_url": [#98c379]">"linkedin.com/company/acme"
9 },
10 [#e06c75]">"task_id": [#98c379]">"tsk_9f2c8a1b",
11 [#e06c75]">"timestamp_ms": [#d19a66]">1753372800000,
12 [#e06c75]">"usage": [#98c379]">"Enrich this company's people with POST /enrichment/by-task",
13 [#e06c75]">"credits_charged": [#d19a66]">1
14}
Endpoints

One Surface,

Search, enrichment, lead lists, smart agents, and sync, all under api.cleanlist.ai/api/v2 with a single Bearer token.

Search

Free reads
  • POST /search/people
  • POST /search/companies
  • POST /search/companies/similar
  • GET /search/people/filters

Enrichment

Pay per match
  • POST /enrichment/person
  • POST /enrichment/company
  • POST /enrichment/bulk
  • GET /enrichment/status/{workflow_id}

Lead lists

Organize
  • POST /lead-lists
  • GET /lead-lists/{id}/leads
  • POST /lead-lists/{id}/leads
  • POST /lead-lists/{id}/csv-import

Smart agents

AI columns
  • POST /smart-agents/run
  • GET /smart-agents/{id}

Sync & export

Push out
  • POST /sync/crm
  • POST /sync/sequencer
  • POST /export/csv/signed-url
  • GET /export/json

Workspace

Identity & credits
  • GET /whoami
  • GET /credits/balance
  • POST /credits/estimate
  • GET /usage

Full reference, scopes, and the OpenAPI spec live in the API documentation.

Use Cases

Built for Teams That

Whether you are shipping a product, automating a pipeline, or wiring up an AI agent, the API fits.

Agencies & Platforms

Build enrichment into your own product. White-label data quality for your clients without managing 15 separate provider contracts.

RevOps & Automation

Connect Zapier, Make, n8n, or your own pipeline. Trigger enrichment from form fills, CRM events, or scheduled jobs, then sync results back.

AI Agents & MCP

Give Claude and your agents a safe data tool. A consistent envelope plus signed-quote spend caps let agents search, enrich, and sync without overspending.

Capabilities

Everything You Need in

Search, enrichment, verification, AI agents, and sync, all through a single integration.

People & Company Search

Query B2B contacts and companies with 60+ filters. Search itself is free. You only pay when you save results to a list or enrich them.

Waterfall Enrichment

Person and company enrichment across 15+ providers, queried in sequence. 98% verified emails, 85% direct dials. Pay only for matches.

Email & Phone Verification

Every email is checked for deliverability: syntax, MX/DNS, and SMTP. Filter risky, catch-all, and disposable addresses before you send.

Smart Agents

Run AI over every lead in a list: custom prompts, cold-intro drafts, company intel, pain-point hypotheses, or title normalization.

Lead Lists & CRM Sync

Build lists via API, then push to HubSpot, Salesforce, Outreach, or Lemlist. CSV import and JSON/CSV export are built in.

Batch & Bulk

Bulk-enrich entire lists and run agents over thousands of rows. Signed quotes cap spend, so an automated job can never overspend your credits.

Prefer to let an AI agent drive?

Every endpoint on this page is exposed as a tool on the Cleanlist MCP server. Connect it to Claude in one click and let your agent search, enrich, and sync, with signed-quote spend caps so it can never overspend your credits.

~30

REST Endpoints

15+

Data Providers

98% / 85%

Email / Phone Accuracy

Free

Reads & Search

Frequently Asked Questions

What is the Cleanlist data enrichment API?

+

The Cleanlist API is a REST data enrichment API served at https://api.cleanlist.ai/api/v2. Authenticate with a clapi_ Bearer token, then search B2B contacts and companies, enrich people and companies through a 15-provider waterfall (98% verified emails, 85% direct phones), run AI smart agents, and sync results to HubSpot, Salesforce, Outreach, or Lemlist. Reads and search are free; you pay only for enriched results.

How do I authenticate with the API?

+

Send your API key as a Bearer token: 'Authorization: Bearer clapi_your_key'. You can also use a Clerk session JWT. Beyond the token, every endpoint requires a specific OAuth scope (for example enrich:write to run an enrichment). Call GET /whoami to confirm your identity, scopes, and plan tier. Keys can be rotated or revoked at any time from the dashboard.

What are the API rate limits?

+

60 requests per minute per organization and 30 requests per minute per API key. When you exceed a limit you get a 429 with a Retry-After header and a rate_limited error body. Async enrichment reserves credits up front and refunds the unused portion when the workflow settles.

How does API pricing and credits work?

+

API usage is billed with the same credit system as the dashboard. Reads and search are free. Person enrichment is 1 credit for email, 10 for phone, 11 for both. Single company enrichment is 1 credit. CRM and sequencer sync is 0.2 credits per lead, and smart agents run 0.5 to 3 credits per lead. Every account starts with 30 free credits; paid plans start at $79/month for 1,500 credits. Paid bulk operations require a signed quote so an automated job can never overspend.

Does the API support company and contact enrichment?

+

Yes. POST /enrichment/person enriches a contact from an email, LinkedIn URL, or name plus company (async, returns a workflow_id to poll). POST /enrichment/company enriches a company from a domain, name, or ticker (synchronous, returns the record inline). POST /enrichment/bulk enriches every lead in a list, and POST /enrichment/by-task enriches a search cohort. All enrichment runs through the same 15-provider waterfall.

Is there a people search API?

+

Yes. POST /search/people runs a structured people search with 60+ filters (title, seniority, department, location, company headcount, and more) and returns matching contacts plus a task_id you can enrich or save. POST /search/companies does the same for companies. Search itself is free; the 0.5 credit per-lead charge only applies when you save newly added leads to a list.

Does the API use webhooks?

+

The current v2 API is poll-based, not webhook-based. Asynchronous operations (person enrichment, bulk list enrichment, smart agents) return a workflow_id, and you poll GET /enrichment/status/{workflow_id} or GET /smart-agents/{id} until the status is terminal. Synchronous operations (company enrichment, CRM sync, exports) return results inline. Webhook delivery is available only on the frozen legacy v1 API.

Do you have SDKs or an OpenAPI spec?

+

The API is a plain REST/JSON interface that works with any HTTP client in any language, and we publish an OpenAPI 3.x spec (openapi-public-v2.json) you can point a code generator at to build a typed client. We provide copy-paste examples for cURL, Python, and JavaScript. No SDK installation is required.

Can AI agents and MCP clients use the API?

+

Yes. The API was designed to be agent- and MCP-friendly: every response carries a consistent envelope (task_id, agent_instructions, usage) so an LLM always knows where to look, and paid operations are gated behind a signed quote so an agent cannot accidentally overspend. Every endpoint is also exposed as a tool on the Cleanlist MCP server, which connects to Claude in one click.

Which plans include API access?

+

Programmatic API access and API-key creation require a Pro plan or above, or an AppSumo Tier 5+ license. You can still sign up free and explore the product in the dashboard with 30 credits before upgrading to unlock the API.

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