Find People Profiles

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> — required
  • X-On-Behalf-Of-User: [email protected]required (AI actions are attributed to a user)

Query parameters

NameTypeRequiredDefaultDescription
promptstringYesNatural-language description of target people
sizeintNo10Max 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)

  1. Mirror search with POST /profiles/search using titles/countries/companyDomains from the AI suggestions.
  2. Hydrate via GET /profiles/{id} (and POST /profiles/purchase if you need contact info).
  3. Score by AI confidence, then prioritize accounts with higher Usage Metrics or confirmed Products‑in‑Use.
  4. Compliance: respect opt‑out policies; store purchase/usage audit fields.

Errors

CodeMeaningHow to fix
400Bad requestProvide a non-empty prompt; validate size (positive int).
401UnauthorizedProvide/refresh Bearer token.
403ForbiddenInclude X-On-Behalf-Of-User; ensure your plan permits AI usage.
404Not foundNo candidates matched the prompt (try broadening).
429Rate limit exceededRetry with exponential backoff; respect Retry-After.
500Internal server errorRetry later; contact support if persistent.