Create a minimal Juicebox people search example. Trigger: "juicebox hello world", "first people search", "test juicebox".
Three examples: natural language people search, profile enrichment, and contact data from 800M+ profiles.
import { JuiceboxClient } from '@juicebox/sdk';
const client = new JuiceboxClient({ apiKey: process.env.JUICEBOX_API_KEY });
const results = await client.search({
query: 'senior ML engineer at FAANG with PhD in Bay Area',
limit: 10,
filters: { experience_years: { min: 5 } }
});
results.profiles.forEach(p =>
console.log(`${p.name} | ${p.title} at ${p.company} | ${p.location}`)
);const enriched = await client.enrich({
linkedin_url: 'https://linkedin.com/in/example',
fields: ['skills', 'experience', 'education', 'contact']
});
console.log(`Skills: ${enriched.skills.join(', ')}`);
if (enriched.tech_profile?.github) {
console.log(`GitHub: ${enriched.tech_profile.github.repos} repos`);
}results = client.search(query='PM fintech NYC', limit=5, include_contact=True)
for p in results.profiles:
email = p.contact.email if p.contact else 'N/A'
print(f"{p.name} | {p.title} | {email}")| Error | Cause | Solution |
|---|---|---|
| Empty results | Query too narrow | Broaden terms or remove filters |
| Partial contact | Limited coverage | Not all profiles have contact data |
Return an onboarding receipt with workspace, source-authority result, input/accepted/quarantined counts, suppression result, destination, export-count assertion, retention date, and cleanup state. Do not include names, contact details, enrichment values, or credentials.
Run a synthetic prospect fixture and record workspace=hello-sandbox; source=approved; accepted=2; quarantined=0; suppression=pass; contacts_exported=0; cleanup=complete.
Explore juicebox-sdk-patterns for production code.
88dcf65
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.