Lead enrichment pipeline
Enrich a list of leads, skipping invalid emails to save credits:import requests
API_KEY = "YOUR_API_KEY"
HEADERS = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
leads = ["ceo@stripe.com", "fake@nonexistent.xyz", "satya@microsoft.com"]
for email in leads:
# Validate first (1 credit) - skip dead addresses before the expensive lookup
resp = requests.post(
"https://encrata.com/api/agent/validate",
headers=HEADERS,
json={"email": email},
)
if resp.json().get("validity") != "valid":
print(f"⏭ Skipping {email} ({resp.json().get('validity')})")
continue
# Paid enrichment only for valid emails
resp = requests.post(
"https://encrata.com/api/agent/lookup",
headers=HEADERS,
json={"email": email},
)
person = resp.json()
print(f"✓ {person.get('name')} {person.get('company')} ({person.get('role')})")
Security audit breach check
Scan your user base for compromised accounts:import requests
API_KEY = "YOUR_API_KEY"
emails = ["user1@company.com", "user2@company.com", "user3@company.com"]
compromised = []
for email in emails:
resp = requests.post(
"https://encrata.com/api/agent/breaches",
headers={"Authorization": f"Bearer {API_KEY}"},
json={"email": email},
)
data = resp.json()
if data.get("count", 0) > 0:
compromised.append({"email": email, "breaches": data["count"]})
print(f"Found {len(compromised)} compromised accounts")
Monitor job changes
Track when key contacts change roles:# Create a monitor
curl -X POST https://encrata.com/api/agent/monitors \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Key Prospects",
"monitor_type": "email",
"emails": ["ceo@example.com", "cto@startup.io"],
"frequency": "weekly",
"tracked_fields": ["company", "job_role", "city"]
}'
# Trigger a run manually
curl -X POST https://encrata.com/api/agent/monitors/mon_abc123/run \
-H "Authorization: Bearer YOUR_API_KEY"
# Check results with changes only
curl "https://encrata.com/api/agent/monitors/mon_abc123/runs/run_xyz/results?changes_only=true" \
-H "Authorization: Bearer YOUR_API_KEY"
Webhook receiver (Node.js)
Verify and process Encrata webhook deliveries:const express = require("express");
const crypto = require("crypto");
const app = express();
const WEBHOOK_SECRET = "your_webhook_secret";
app.post("/webhooks/encrata", express.raw({ type: "application/json" }), (req, res) => {
// Verify signature
const signature = req.headers["x-encrata-signature"];
const expected = crypto.createHmac("sha256", WEBHOOK_SECRET).update(req.body).digest("hex");
if (!crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected))) {
return res.status(401).send("Invalid signature");
}
const event = JSON.parse(req.body);
switch (event.event) {
case "lookup.completed":
console.log(`Lookup done: ${event.data.email}`);
break;
case "monitor.run.completed":
console.log(`Monitor run finished: ${event.data.changes_detected} changes`);
break;
case "credits.low":
console.log("⚠️ Credits running low!");
break;
}
res.status(200).send("ok");
});
app.listen(3000);