API Reference · identifier
Enrich phone numbers via API
Find direct dial + mobile numbers for any B2B contact.
Endpoint
POST https://api.cleanlist.ai/v1/enrich/phoneRequest
POST https://api.cleanlist.ai/v1/enrich/phone
Authorization: Bearer clnl_live_...
Content-Type: application/json
{
"email": "jane@acme.com"
}Response
{
"id": "ev_abc123",
"phone": {
"phone": "<phone>",
"type": "<type>",
"country": "<country>",
"do_not_call": "<do_not_call>",
"source": "<source>",
"last_verified": "<last_verified>"
},
"meta": {
"credits_used": 11,
"providers_queried": 15
}
}Field reference
| Field | Type | Description |
|---|---|---|
| phone | string | — |
| type | string | — |
| country | string | — |
| do_not_call | string | — |
| source | string | — |
| last_verified | string | — |
Code samples
curl
curl -X POST https://api.cleanlist.ai/v1/enrich/phone \
-H "Authorization: Bearer $CLEANLIST_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "jane@acme.com"}'Node.js
import Cleanlist from "cleanlist";
const client = new Cleanlist(process.env.CLEANLIST_API_KEY);
const result = await client.enrich.phone({
email: "jane@acme.com",
});
console.log(result.phone.title);Python
from cleanlist import Cleanlist
client = Cleanlist(api_key=os.environ["CLEANLIST_API_KEY"])
result = client.enrich.phone(email="jane@acme.com")
print(result["phone"]["title"])Pricing
Credit-based, no per-seat fees. This endpoint uses the standard enrichment rate:
- Email only: 1 credit per enriched phone.
- Email + phone: 11 credits per enriched phone.
- Free tier: 30 credits/mo. See all pricing.
Next steps
- Full REST reference: /product/api.
- Related glossary: data enrichment, waterfall enrichment.
- Ready to ship? Start free with 30 credits.