Generate Insights
Get detailed insights on any professional contact using just their email address or LinkedIn URL. Consumes 1 credit.
Do you plan on writing sales content using these insights?If so, we suggest you use our generate-content endpoint (which performs the same insight resolution then writes the content, and let's you pass in your own data).
Use the generate-insights
API to pull rich, research-grade insights on any prospect and company using just their email address or LinkedIn URL. You'll get up to 350+ insights including work history, social media activity, news, podcast mentions, and much more (full list here).
🔝 Generate Top 20 Ranked Insights
To retrieve the top 20 insights on a prospect, ranked by relevance, all you need to pass in is one of the following.
contactEmail
contactLinkedinUrl
contactCompanyUrl
Optional user-level fields can be added as well, which improves the ranking of the output
userEmail
userLinkedinUrl
userCompanyUrl
When user-level context is provided, our LLM-powered engine analyzes ~100 variables across both the prospect and user (titles, product fit, shared experience, industry context, etc.) to rank insights most relevant to your outreach.
If user context is omitted, ranking will default to the company your API key is associated with.
Example
import requests
url = 'https://api.autobound.ai/api/external/generate-insights/v1.4'
headers = {
'X-API-KEY': 'YOUR-API-KEY-HERE',
'Content-Type': 'application/json'
}
data = {
"contactEmail": "[email protected]", # Returns both contact and company-level insights
"userEmail": "[email protected]" # Adds seller context to improve ranking relevance - enables unique insights like shared experiences
}
response = requests.post(url, headers=headers, json=data)
print(response.text)
Sample Response (Top 20 Ranked)
{
"success": true,
"details": {
"prospect": {
"contactResolved": true, // Specifies if LinkedIn or email was found on prospect
"contactCompanyResolved": true, // Prospect’s company domain successfully resolved
"contactCompanyUrl": "zoominfo.com", // Normalized company domain
"contactLinkedinUrl": "linkedin.com/in/hschuck=2", // contact's LinkedIn URL
"contactEmail": "[email protected]" // contact's email
},
"user": {
"userResolved": true, // Specifies if LinkedIn or email was found on user
"userCompanyResolved": true, // User’s company domain resolved
"userCompanyUrl": "verifiable.com",
"userLinkedinUrl": "linkedin.com/in/ryanbasch", // user's LinkedIn URL
"userEmail": "[email protected]" // user's email
}
},
// Array of top-ranked insights, tailored to prospect + user
"insights": [
{
"id": "db939e19-e8c2-454d-8c69-5f8d3c1e9953",
"insightId": "5edc7112-2569-45c8-ae19-a5f315768b1f",
"name": "10K: Moving upmarket from SMB to enterprise clients",
"type": "10-K: Industry & Competition",
"subType": "Moving upmarket from SMB to enterprise clients",
"association": "company"
// ... other variables and metadata
},
"id": "db34219-e8c2-4533d-8c69-5f531c1e9953",
"insightId": "543512-3269-428-ae19-a5f3254768b1f",
"name": "10K: Moving upmarket from SMB to enterprise cl
"name": "Appeared in podcast",
// ...up to 20 total
]
}
🎯 Generate Insights by Specific Subtype(s)
To return only specific types of insights, use the insightSubtype
parameter.
Supported:
- Single string
- Array of strings (up to 10 subtypes)
Example: One Subtype
data = {
"contactEmail": "[email protected]",
"insightSubtype": "socialMediaProspectRecentLinkedInPosts"
}
Example: Multiple Subtypes
data = {
"contactEmail": "[email protected]",
"insightSubtype": ["socialMediaLinkedinAboutMe", "socialMediaProspectRecentLinkedInPosts", "newsNewCustomer"]
}
Sample Response
{
"insights": {
"socialMediaLinkedinAboutMe": [
{
"name": "LinkedIn About Me",
"subType": "socialMediaLinkedinAboutMe",
"variables": {
"aboutMe": "Henry Schuck is the founder and CEO of ZoomInfo, a go-to-market intelligence platform used by 30,000+ companies."
}
}
],
"socialMediaProspectRecentLinkedInPosts": [
{
"name": "LinkedIn Post",
"subType": "socialMediaProspectRecentLinkedInPosts",
"variables": {
"postUrl": "https://linkedin.com/posts/example1",
"first500CharactersOfPost": "It’s 1983. You’re Michael Dell. And you figured out Signal-Based Selling..."
}
},
{
"name": "LinkedIn Post",
"subType": "socialMediaProspectRecentLinkedInPosts",
"variables": {
"postUrl": "https://linkedin.com/posts/example2",
"first500CharactersOfPost": "Let’s say you only had 15 minutes to prepare for a customer meeting..."
}
}
],
"newsNewCustomer": [
{
"name": "New customer announcement",
"subType": "newsNewCustomer",
"variables": {
"insightTitle": "ZoomInfo Selected by Acme Corp",
"insightUrl": "https://news.example.com/zoominfo-acme",
"publishDate": "2024-08-01",
"insightBody": "ZoomInfo announced a new partnership with Acme Corp to power its global GTM strategy."
}
}
]
}
}
⚙️ Behavior Summary
Scenario | Behavior |
---|---|
No insightSubtype | Returns up to 20 ranked insights across all categories, prioritized by user & prospect context |
Single insightSubtype | Returns up to 5 insights for that subtype |
Array of insightSubtype s | Returns up to 2 insights per subtype, up to 10 subtypes total (max 20 insights total) |
User context provided | Insights are reranked using AI based on ~100 variables across user, prospect, and company |
No user context provided | Fallbacks to default ranking based on prospect/company data only |
Invalid subtype(s) | Request fails with an error listing invalid values |
No data for a valid subtype | Empty array returned for that subtype + explanation in errors block |
Updated 18 days ago