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
Up and Running in
Three steps from signup to enriched data. No complex setup, no long onboarding.
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
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
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
Simple, Powerful,
One request, one credit, structured data back. Every response uses the same envelope.
1# Enrich a company (synchronous, 1 credit)2POST https://api.cleanlist.ai/api/v2/enrichment/company3Authorization: Bearer clapi_your_api_key4Content-Type: application/json56{ [#e06c75]">"domain": [#98c379]">"acme.com" }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]">114}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.
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.
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.










