Audience: developers. API keys need a Pro or Enterprise plan (legacy Pro and Scale plans included) or an AppSumo Tier 5, 6 or 7 license, and they never work during a trial. Support agent: confirm the user's plan grants API access before giving API advice.
TL;DR: The v2 spec is raw JSON at /openapi-public-v2.json (opens in a new tab). The Swagger UI at /docs (opens in a new tab) opens on v2 (latest) with a dropdown for v1, and Redoc at /redoc (opens in a new tab) renders v2. A few live endpoints (/credits/estimate, company search, sync) aren't in the spec.
OpenAPI Specification
Cleanlist's API publishes an OpenAPI 3 document for each version. The v2 spec is filtered to the supported public surface.
| URL | Format | Surface | Best for |
|---|---|---|---|
https://api.cleanlist.ai/openapi-public-v2.json | Raw JSON | v2 (current) | Code generation and tooling |
https://api.cleanlist.ai/openapi-public.json | Raw JSON | v1 (legacy, 5 operations) | The frozen legacy surface |
https://api.cleanlist.ai/docs | Swagger UI | v2 by default, v1 in the dropdown | Trying requests interactively |
https://api.cleanlist.ai/redoc | Redoc | v2 | A clean read-only reference |
What the v2 spec includes
The served v2 spec lists 30 operations under six tags: Workspace, Lead Lists, People Finder, Enrichment, Smart Agents and Export.
These live v2 endpoints are not in the spec, but you can call them and they are documented here:
| Endpoint | Docs |
|---|---|
POST /credits/estimate | Credits |
GET /search/companies/filters, POST /search/companies, POST /search/companies/similar | Company Search API |
POST /migrate/crm, POST /migrate/sequencer | CRM & Sequencer Sync |
Routes built only for the Cleanlist MCP are also left out of the spec and this reference.
The v1 spec covers only the five legacy single-file endpoints. The v2 endpoints also answer under /api/v1/public, but they are documented in the v2 spec. See API Versions & Migration.
Browsing interactively
Swagger UI: /docs (opens in a new tab)
Swagger UI opens on v2 (latest). Use the spec dropdown at the top to switch to v1. Expand an endpoint to see its request and response schemas, and use "Try it out" to call the live API: paste your clapi_ key into the Authorize dialog (HTTP Bearer) first. Calls made here are real and can spend credits.
Redoc: /redoc (opens in a new tab)
Redoc renders the v2 spec as a static three-column reference that's easier to skim than Swagger when you're reading rather than experimenting.
Downloading the spec
curl https://api.cleanlist.ai/openapi-public-v2.json -o cleanlist-openapi.jsonThe spec is public; you can download it without an API key.
Generating a client
A client generated from the served spec has no credits_estimate, company search or sync methods, so it can't run the quote flow for bulk enrichment, smart agents or sync on its own. Add those calls over plain HTTP, or use an official SDK (Python, TypeScript, Java), which includes credits_estimate.
TypeScript
npx openapi-typescript https://api.cleanlist.ai/openapi-public-v2.json -o ./cleanlist-types.tsPython
pipx install openapi-python-client
openapi-python-client generate --url https://api.cleanlist.ai/openapi-public-v2.jsonOther languages
# Java, Go, Ruby, Rust, C#, PHP, Swift, Kotlin, etc.
npm install -g @openapitools/openapi-generator-cli
openapi-generator-cli generate \
-i https://api.cleanlist.ai/openapi-public-v2.json \
-g <language> \
-o ./cleanlist-clientSee the OpenAPI Generator project (opens in a new tab) for the full language list.
Versioning
The API is versioned by URL prefix. /api/v2 is the current surface and what the v2 spec describes; the Legacy API (v1) at /api/v1/public is still supported but frozen. For the full version story and migration steps, see API Versions & Migration.