Skip to content
14 days of Pro, free.Sign up with your work email for 100 extra credits.Start free trial

Enrich Notion databases via API

Enrich rows in a Notion CRM-style database via the Notion API bridge.

An example call: POST to the notion_page endpoint with a work email, the waterfall tries providers in cost order, and the response returns 4 fields.

  • 1 creditA verified work email, however many providers it took to find it.
  • 11 creditsEmail and phone number together, on the same call.
  • 25+ providersQueried in cost order. The waterfall stops at the first deliverable result.
  • 98% / 85%Verified work emails and phone numbers found on our 500-lead benchmark.

10,000+ users, from founders to full sales teams

  • Switched fromZoomInfo
  • Case study
  • HackerOneSwitched fromApollo
  • Switched fromClay
  • Case study
  • Sumo LogicSwitched fromClay
  • Switched fromApollo
  • Case study
  • Switched fromZoomInfo
  • Switched fromZoomInfo

What one call returns. Up to 4 fields.

A sample response for one notion page lookup, beside every field the record can carry.

Response200 OK · notion_page
{
  "id": "ev_abc123",
  "notion_page": {
    "notion_page_id": "<notion_page_id>",
    "email": "<email>",
    "enriched_title": "<enriched_title>",
    "enriched_company": "<enriched_company>"
  },
  "meta": {
    "credits_used": 11,
    "providers_queried": 25
  }
}
Field reference4 fields
  • notion_page_idstring
  • emailstring
  • enriched_titlestring
  • enriched_companystring

Call it from curl, Node or Python. Pay for what comes back.

It's one POST request. Credits come out of one wallet the whole team shares, and a call that finds nothing costs nothing.

RequestPOST · notion_page

curl

curl -X POST https://api.cleanlist.ai/v1/enrich/notion_page \
  -H "Authorization: Bearer $CLEANLIST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email": "jane@acme.com"}'

Node.js

const response = await fetch("https://api.cleanlist.ai/v1/enrich/notion_page", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.CLEANLIST_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ email: "jane@acme.com" }),
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.json());

Python

import os
import requests

response = requests.post(
    "https://api.cleanlist.ai/v1/enrich/notion_page",
    headers={"Authorization": f"Bearer {os.environ['CLEANLIST_API_KEY']}"},
    json={"email": "jane@acme.com"},
)
response.raise_for_status()
print(response.json())
What a call costsper notion_page
  • SearchFree, unlimited
  • Verified work email1 credit
  • Phone number10 credits
  • Email and phone number11 credits
  • Validation0.5 credits
  • AI qualification5 credits
  • A call that finds nothing0

Enrich Notion databases in production.

The public API starts on Pro, and a call that returns nothing is never charged.

14 days of Pro, free.