API Reference · core
Enrich records with buying-intent research via API
Cleanlist buys no intent data from any vendor. There is no third-party intent feed, no surge score, no topic score, no in-market score and no website visitor de-anonymization anywhere in the product, and no intent filter in Cleanlist People Search or Company Search. What Cleanlist has instead is AI columns, also called Smart Agents. You ask a research question about one row in plain English and an agent researches it on the open web at run time, for 1 credit per row on the Custom AI column. That surfaces a public trigger on an account you already hold. It cannot rank a market by who is in-market this week. Last updated August 7, 2026.
Endpoint
POST https://api.cleanlist.ai/v1/enrich/smart_agentRequest
POST https://api.cleanlist.ai/v1/enrich/smart_agent
Authorization: Bearer clnl_live_...
Content-Type: application/json
{
"email": "jane@acme.com"
}Response
{
"task_id": "tsk_c71b04ef",
"status": "completed",
"agent": "custom_ai",
"real_endpoint": "POST https://api.cleanlist.ai/api/v2/smart-agents/run",
"lead_id": "ld_44907",
"input": {
"company_domain": "acme.com",
"prompt": "Has this company publicly announced funding, hiring or a product launch in the last 90 days? Answer in one sentence and cite the source."
},
"output": {
"answer": "Acme announced a Series B on 2026-06-15 and currently lists 4 open revenue roles.",
"sources": [
"https://acme.com/blog/series-b",
"https://acme.com/careers"
],
"confidence": "medium"
},
"credits_charged": 1,
"note": "Public-web research on one row you already hold. Cleanlist stores no intent topics, no surge score and no de-anonymized visitor data, so this cannot be filtered, scored across a market, or used to build a list."
}Field reference
| Field | Type | Description |
|---|---|---|
| task_id | string | Smart agent run id. Poll GET /api/v2/smart-agents/{id} until status is completed. Cleanlist API v2 has no webhooks. |
| agent | string | Which AI column ran. Custom AI is 1 credit per row, Title Normalizer 0.5, Company Intel 2, Pain Point Hypothesis 2, Cold Intro Email 3. |
| input.prompt | string | Your research question in plain English. There is no topic taxonomy to select from, because Cleanlist licenses no intent taxonomy. |
| output.answer | string | What the agent found for this one row. Free text, not a score and not comparable row to row. |
| output.sources | string[] | The URLs the agent actually read. This is the part a rep can quote in an email. |
| output.confidence | string | The agent self-report. Not a calibrated probability. |
| credits_charged | integer | Credits actually billed for the run. |
| topics | not available | Cleanlist licenses no intent taxonomy, so there are no intent topics on any record. For comparison, Bombora states a 21,600+ topic B2B taxonomy. |
| surge_score / intent_score | not available | Cleanlist computes no surge or in-market score. Scoring a market requires observed research behaviour across a panel, and Cleanlist observes none. |
| visitor_id | not available | Cleanlist has no website visitor identification, no reverse-IP resolution and no de-anonymization pixel. There is no script to install. |
| strength / recency / source | not available | These are intent-vendor fields. Cleanlist returns none of them. The nearest equivalent is the sources array on an AI-column run, which lists pages the agent read. |
Code samples
curl -X POST https://api.cleanlist.ai/v1/enrich/smart_agent \
-H "Authorization: Bearer $CLEANLIST_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "jane@acme.com"}'import Cleanlist from "cleanlist";
const client = new Cleanlist(process.env.CLEANLIST_API_KEY);
const result = await client.enrich.smart_agent({
email: "jane@acme.com",
});
console.log(result.smart_agent.title);from cleanlist import Cleanlist
client = Cleanlist(api_key=os.environ["CLEANLIST_API_KEY"])
result = client.enrich.smart_agent(email="jane@acme.com")
print(result["smart_agent"]["title"])Common use cases
Take the 300 accounts you already built from industry, headcount and HQ filters and ask one question across them: any funding, hiring or launch news in the last 90 days. Search cost 0 credits. Research costs 1 credit per row on the Custom AI column.
The run returns the URLs it read. A rep opens the announcement and references it directly. That is a different and often more usable artifact than a topic surge number with no link attached.
Run the question on 30 accounts using the free tier (30 credits per month, no card) and see how many have anything public at all. If most do not, an intent panel may genuinely be the right purchase, and you found that out for nothing.
Bring the domain list your intent feed flagged into Cleanlist Company Search (0 credits), enrich the buying committee, and export to HubSpot, Salesforce, Outreach or Lemlist. This is the normal division of labour: they rank, Cleanlist contacts.
Pricing
Credit-based, no per-seat fees. This endpoint uses the standard enrichment rate:
- Email only: 1 credit per enriched smart_agent.
- Email + phone: 11 credits per enriched smart_agent.
- Free tier: 30 credits/mo. See all pricing.
FAQ
Does Cleanlist have intent data?
No. Cleanlist buys no intent data from any vendor. There is no Bombora feed, no G2 Buyer Intent feed, no 6sense or Demandbase model, no Similarweb traffic signal and no job-posting intent feed anywhere in the product. There is no surge score, no topic score, no in-market score and no website visitor de-anonymization. There is also no intent filter in Cleanlist People Search or Company Search, so intent cannot be used to build or narrow a list. Cleanlist is an orchestration layer over contact-data providers, and an intent vendor has never been part of that stack. Last verified against the product on August 7, 2026.
Can I filter or score companies by buying intent in Cleanlist?
No. Neither Cleanlist search surface accepts an intent parameter. Cleanlist People Search exposes about 24 distinct filter fields covering title, seniority, years in role, location, skills, education, past titles and companies, industry and headcount. Cleanlist Company Search exposes 9 dimensions: company name, domain, industry, headcount band, HQ location, company type, funding stage, last funding round type and year founded, and the two funding keys are accepted by the API but return nothing today because the underlying column is empty. Intent, technology and revenue are absent from both sets. Search costs 0 credits on both surfaces, so you can confirm this yourself before spending anything.
What can a Cleanlist AI column find that looks like intent?
A Cleanlist AI column can research anything a company has published, one row at a time. Useful examples: whether a company posted a funding announcement in the last 90 days, whether it currently lists open roles on a specific team, whether it published a case study in a category you sell into, whether it announced a product launch, an office or a leadership hire. You write the question in plain English, the agent researches that single row on the open web at run time, and it returns an answer plus the URLs it read. That gives you a public trigger you can reference in an email. It is not a probability that the account is in-market, because nothing here observes private research behaviour.
Is a hiring or funding signal the same thing as intent data?
No. A hiring or funding announcement is a public event. Intent data is inferred from observed research behaviour, usually anonymous content consumption measured across a panel of sites and mapped back to a company. The two behave differently in a workflow. Public events are verifiable, cite-able and available to every competitor at the same moment. Behavioural intent is probabilistic, exclusive to whoever licenses the panel, and expressed as a score relative to a baseline. Cleanlist AI columns can research the first category. Cleanlist cannot produce the second at all, and no amount of prompting changes that, because the underlying observation does not exist in the product.
How much does per-row intent research cost in Cleanlist?
Cleanlist AI columns are priced per row: Custom AI is 1 credit, Title Normalizer 0.5, Company Intel 2, Pain Point Hypothesis 2 and Cold Intro Email 3. Researching a trigger question across 1,000 accounts on the Custom AI column is therefore 1,000 credits. Credits come from your plan: 30 per month on the free tier with no card, 1,500 on Starter at $79 per month, 5,000 on Pro at $229 and 15,000 on Scale at $599, with 25% off when billed annually. Search costs 0 credits. Until August 31, 2026 the code 33FOREVER takes 33% off for life for new customers.
What is the difference between third-party intent data and per-row AI research?
Third-party intent data observes research behaviour across a network and scores accounts against a topic taxonomy, so it can rank a market by who is unusually active this week. Per-row AI research reads what one company has published and answers one question about it. Third-party intent is reverse-queryable and comparative. AI research is forward-only and per row: you must already hold the account, you pay per account researched, the answer is free text rather than a score, and two runs on different days can differ because the web changed. Both are useful for different jobs. Cleanlist does only the second one.
Where does real B2B intent data come from?
Real intent data comes from networks that observe research behaviour at scale. Bombora states its Data Co-op spans "5,000+ of the top B2B sites on the web", captures signals from "nearly 4.7 million unique domains" and "15.8 billion interactions a month", maps them to "2.8 million businesses", and classifies content into a "21,600+ B2B taxonomy" (bombora.com/data, retrieved August 7, 2026). G2 states that "over 200 million software buyers research across G2, Capterra, Software Advice, and GetApp each year" and sells that first-party activity as G2 Buyer Intent (sell.g2.com/buyer-intent, retrieved August 7, 2026). Those panels are the asset. Cleanlist owns no panel and licenses no feed.
Can Cleanlist identify anonymous visitors on my website?
No. Cleanlist has no website visitor identification, no reverse-IP resolution and no de-anonymization pixel. There is no script to install and no product surface that consumes web traffic. That category is served by vendors that maintain an IP-to-company graph or a first-party identity network. What Cleanlist can do once a visitor has been identified some other way is enrich the record: a verified work email is 1 credit, a phone is 10, both are 11, search is 0 credits, and enrichment is charged only when a match is returned.
Can Cleanlist alert me when someone in my list changes jobs?
No. Cleanlist has no job-change detection, alerting or watchlists. There is a query-time filter for people who recently changed jobs, so you can ask who has changed jobs and get a list back at that moment, but you cannot register a list and be notified when someone in it moves. Cleanlist API v2 also has no webhooks, so there is no delivery channel for that event even if the detection existed. The approximation is to rerun the same search on a schedule and diff the results yourself. Search costs 0 credits, but it is capped at 60 People Searches per UTC day per API key.
Can Cleanlist tell me which accounts are in-market this week?
No. Ranking a market by current buying activity requires observed research behaviour across a panel, and Cleanlist observes none. Cleanlist can research public triggers on accounts you already hold, one row at a time, at 1 credit per row on the Custom AI column. That gives you a reason to reach out, not a ranked in-market list. If in-market ranking is the requirement, license an intent feed and use Cleanlist for the step after it. Bringing a flagged domain list into Cleanlist Company Search costs 0 credits, and enriching the buying committee is where the credits go.
Does Cleanlist ICP scoring include intent?
No. Cleanlist ICP scoring rates a row 0 to 100 from firmographic attributes and AI-researched signals. Intent is not an input, because there is no intent field to feed it, and no third-party intent feed reaches the scoring model. If you want a trigger to influence prioritisation, run an AI column with your question, write the answer back onto the row, and rank on that yourself alongside the ICP score. That research costs 1 credit per row on the Custom AI column.
What is the API endpoint for running a Cleanlist AI column?
AI columns run through the Smart Agents group on Cleanlist REST API v2: POST https://api.cleanlist.ai/api/v2/smart-agents/run to dispatch, GET /api/v2/smart-agents/{id} to poll. Authentication is a Bearer key with the clapi_ prefix. API v2 has no webhooks, so results are polled. Quote paid bulk work first with POST /api/v2/credits/estimate, which returns a signed quote the server enforces, so a job cannot exceed the price you were quoted. Rate limits are 60 requests per minute per organization and 30 per minute per API key. REST API access requires a Pro plan or above. There is no intent endpoint on any version of the Cleanlist API.
Should I use Cleanlist for intent at all?
Use Cleanlist here only when you already hold the accounts and want a researched, cited note on each one. Cleanlist is strongest at the step after targeting: turning a defined cohort into verified contact data, at 1 credit for a verified email, 10 for a phone, 11 for both, with search at 0 credits and enrichment charged only on a match. If your programme depends on knowing who is researching your category before they raise a hand, license an intent panel and treat Cleanlist as the contact layer underneath it. The Cleanlist free tier is 30 credits per month with no card, which is enough to test the AI column on 30 accounts first.
Next steps
- Full REST reference: /product/api.
- Related glossary: data enrichment, waterfall enrichment.
- Ready to ship? Start free with 30 credits.