Find Customers of Products

Use AI to quickly discover companies that likely use a product or stack from a natural-language prompt.
Ideal for hypothesis generation (prospecting) — then verify deterministically via standard endpoints.

Base URL: https://api.salescaddy.ai/api


Endpoint

POST /ai/find-customers-of-products

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 question/instruction
sizeintNo10Max number of suggested companies to return

Response (trimmed, illustrative)

[
  { "companyDomain": "acme.com", "companyName": "Acme Inc.", "confidence": 0.82 },
  { "companyDomain": "example.org", "companyName": "Example Org", "confidence": 0.77 }
]
⚠️

AI results are probabilistic. Always validate with deterministic endpoints:

  • POST /companies/{domain}/products-in-use — verify specific productIds.
  • GET /companies/{domain}/products/paged — fetch installed products.
  • GET /companies/{domain}/cohort/{cohort}/metrics/usage — benchmark adoption.

Example — Basic query

curl -sS -X POST "https://api.salescaddy.ai/api/ai/find-customers-of-products?prompt=Who%20uses%20Snowflake%3F&size=10"   -H "Authorization: Bearer $TOKEN"   -H "X-On-Behalf-Of-User: [email protected]"
const url = "https://api.salescaddy.ai/api/ai/find-customers-of-products?prompt=Who%20uses%20Snowflake%3F&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-customers-of-products",
                  params={"prompt":"Who uses Snowflake?","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-customers-of-products?prompt=Who%20uses%20Snowflake%3F&size=10", null);
Console.WriteLine(await res.Content.ReadAsStringAsync());

Example — Multi-product or stack query

curl -sS -X POST "https://api.salescaddy.ai/api/ai/find-customers-of-products?prompt=Which%20companies%20use%20Datadog%2C%20Kubernetes%2C%20and%20AWS%20together%3F&size=15"   -H "Authorization: Bearer $TOKEN"   -H "X-On-Behalf-Of-User: [email protected]"
const url = "https://api.salescaddy.ai/api/ai/find-customers-of-products?prompt=Which%20companies%20use%20Datadog%2C%20Kubernetes%2C%20and%20AWS%20together%3F&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-customers-of-products",
                  params={"prompt":"Which companies use Datadog, Kubernetes, and AWS together?","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-customers-of-products?prompt=Which%20companies%20use%20Datadog%2C%20Kubernetes%2C%20and%20AWS%20together%3F&size=15";
var res2 = await http.PostAsync(url, null);
Console.WriteLine(await res2.Content.ReadAsStringAsync());

Prompting tips (high signal)

  • Be specific: name products and context (e.g., segment, region, size).
  • Add constraints: “public companies”, “in EMEA”, “>1k employees”.
  • Prefer questions that expect company lists (e.g., “Who uses …?”).
  • For vendor-oriented prospecting, include vendor domains (e.g., microsoft.com).

Examples

  • “Who uses Snowflake in EMEA among hospitality companies?”
  • “Which US public companies use Datadog and Kubernetes?”
  • “Find Europe-based enterprises using Salesforce and Slack.”

Post-processing (verification & ranking)

  1. Verify suggested domains deterministically:

    • POST /companies/{domain}/products-in-use with productIds you care about.
    • Or fetch GET /companies/{domain}/products/paged and check presence.
  2. Score/rank by AI confidence, then by deterministic signals (e.g., intensity from Usage Metrics).

  3. Track outcomes: persist accepted/rejected suggestions to continuously improve your pipeline.


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.