Use AI to suggest relevant people (names/titles/companies) from a natural‑language prompt.
Perfect for quick prospecting; then confirm deterministically with Profiles APIs.
Base URL: https://api.salescaddy.ai/api
Endpoint
POST /ai/find-people-profiles
Headers
Authorization: Bearer <token>
— requiredX-On-Behalf-Of-User: [email protected]
— required (AI actions are attributed to a user)
Query parameters
Name | Type | Required | Default | Description |
---|---|---|---|---|
prompt | string | Yes | — | Natural-language description of target people |
size | int | No | 10 | Max number of suggested profiles |
Response (illustrative, trimmed)
[
{
"id": "prof_001",
"fullName": "Alex Johnson",
"title": "VP Data Platform",
"companyName": "Hilton",
"companyDomain": "hilton.com",
"country": "US",
"city": "McLean",
"confidence": 0.84
},
{
"id": "prof_002",
"fullName": "Maria Schmidt",
"title": "Head of Data Engineering",
"companyName": "Marriott International",
"companyDomain": "marriott.com",
"country": "DE",
"city": "Frankfurt",
"confidence": 0.79
}
]
AI output is probabilistic. Verify and enrich via deterministic endpoints:
POST /profiles/search
— reproduce candidates with explicit filters.GET /profiles/{profileId}
— details; purchase if needed for contact data.POST /profiles/purchase
— buy contacts for selected IDs.
Example — Basic prompt
curl -sS -X POST "https://api.salescaddy.ai/api/ai/find-people-profiles?prompt=VPs%20of%20Data%20Platform%20at%20large%20hospitality%20companies&size=10" -H "Authorization: Bearer $TOKEN" -H "X-On-Behalf-Of-User: [email protected]"
const url = "https://api.salescaddy.ai/api/ai/find-people-profiles?prompt=VPs%20of%20Data%20Platform%20at%20large%20hospitality%20companies&size=10";
const res = await fetch(url, { method: "POST", headers: {
Authorization: `Bearer ${process.env.TOKEN}`,
"X-On-Behalf-Of-User": "[email protected]"
}});
console.log(await res.json());
import os, requests
r = requests.post("https://api.salescaddy.ai/api/ai/find-people-profiles",
params={"prompt":"VPs of Data Platform at large hospitality companies","size":10},
headers={"Authorization": f"Bearer {os.environ['TOKEN']}",
"X-On-Behalf-Of-User": "[email protected]"})
print(r.json())
using System.Net.Http.Headers;
var http = new HttpClient();
http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", TOKEN);
http.DefaultRequestHeaders.Add("X-On-Behalf-Of-User","[email protected]");
var res = await http.PostAsync("https://api.salescaddy.ai/api/ai/find-people-profiles?prompt=VPs%20of%20Data%20Platform%20at%20large%20hospitality%20companies&size=10", null);
Console.WriteLine(await res.Content.ReadAsStringAsync());
Example — Region & seniority constraints
curl -sS -X POST "https://api.salescaddy.ai/api/ai/find-people-profiles?prompt=Directors%20or%20VPs%20of%20Data%20Engineering%20in%20EMEA%20at%20enterprises&size=15" -H "Authorization: Bearer $TOKEN" -H "X-On-Behalf-Of-User: [email protected]"
const url = "https://api.salescaddy.ai/api/ai/find-people-profiles?prompt=Directors%20or%20VPs%20of%20Data%20Engineering%20in%20EMEA%20at%20enterprises&size=15";
const res = await fetch(url, { method: "POST", headers: {
Authorization: `Bearer ${process.env.TOKEN}`,
"X-On-Behalf-Of-User": "[email protected]"
}});
console.log(await res.json());
r = requests.post("https://api.salescaddy.ai/api/ai/find-people-profiles",
params={"prompt":"Directors or VPs of Data Engineering in EMEA at enterprises","size":15},
headers={"Authorization": f"Bearer {os.environ['TOKEN']}",
"X-On-Behalf-Of-User": "[email protected]"})
print(r.json())
var url = "https://api.salescaddy.ai/api/ai/find-people-profiles?prompt=Directors%20or%20VPs%20of%20Data%20Engineering%20in%20EMEA%20at%20enterprises&size=15";
var res2 = await http.PostAsync(url, null);
Console.WriteLine(await res2.Content.ReadAsStringAsync());
Prompting tips
- Be explicit: titles, functions, regions, industry, company size.
- Include companyDomains or vendors in the prompt if helpful.
- Use verbs that imply people lists: “Find …”, “Who leads …”, “Which VPs of …”.
Good prompts
- “Find Heads of Data in EMEA at hotel chains with >5k employees.”
- “Who are the VPs of IT in US airlines?”
- “Directors of Data Engineering at companies using Snowflake.”
Post‑processing (verification & outreach)
- Mirror search with
POST /profiles/search
using titles/countries/companyDomains from the AI suggestions. - Hydrate via
GET /profiles/{id}
(andPOST /profiles/purchase
if you need contact info). - Score by AI
confidence
, then prioritize accounts with higher Usage Metrics or confirmed Products‑in‑Use. - Compliance: respect opt‑out policies; store purchase/usage audit fields.
Errors
Code | Meaning | How to fix |
---|---|---|
400 | Bad request | Provide a non-empty prompt ; validate size (positive int). |
401 | Unauthorized | Provide/refresh Bearer token. |
403 | Forbidden | Include X-On-Behalf-Of-User ; ensure your plan permits AI usage. |
404 | Not found | No candidates matched the prompt (try broadening). |
429 | Rate limit exceeded | Retry with exponential backoff; respect Retry-After . |
500 | Internal server error | Retry later; contact support if persistent. |