Company enrichment from any domain. Firmographics, socials, tech stack, contact info, address. Built for sales prospecting and CRM.
Single tool 'company_enrich_from_domain' has a well-structured input schema with proper type definition and description. The tool description is comprehensive (380+ chars) and includes usage guidance, comparison to Apollo, and explicit non-use cases. However, the output schema is documented only in prose within the description rather than as a formal JSON Schema structure. Parameter descriptions are minimal (domain parameter has only 'Domain to enrich (e.g. stripe.com, shopify.com)'). No error handling guidance, no output schema validation, and no tool annotations (readOnlyHint, idempotentHint) are present. The tool follows a clear verb_noun pattern (company_enrich_from_domain) and accepts human-friendly input (domain names), which is good. Missing formal output schema definition and error recovery guidance are the main gaps.
Enrich an organization's profile by domain. Alternative to Apollo org-enrich at 5x lower cost. Returns structured JSON with firmographic data, socials, tech stack, and contact info scraped from the website. 1. name (string) -- company name 2. description (string) -- company description / tagline 3. socials (object) -- LinkedIn, Twitter, Facebook, GitHub, Instagram URLs 4. techStack (array) -- detected CMS, frameworks, analytics tools 5. contactEmail (string) -- primary contact email from mailto: links 6. phone (string) -- phone number from tel: links 7. address (string) -- physical address from schema.org structured data 8. industry (string) -- detected industry vertical 9. logo (string) -- logo URL if found Example output: {"name":"Stripe","description":"Financial infrastructure for the internet","socials":{"linkedin":"https://linkedin.com/company/stripe","twitter":"https://twitter.com/stripe"},"contactEmail":"[email protected]","techStack":["React","Next.js","Cloudflare"],"address":"354 Oyster Point Blvd, South San Francisco, CA"} Use this BEFORE sales outreach, CRM enrichment, competitive research, or account-based marketing. Essential for qualifying leads and enriching organization profiles from just a domain. Drop-in replacement for Apollo company enrichment. Do NOT use for tech stack only -- use website_detect_tech_stack instead. Do NOT use for SEO data -- use seo_audit_page instead. Do NOT use for person data -- use person_enrich_from_email instead. Do NOT use for domain WHOIS/DNS -- use domain_lookup_intelligence instead.
Output schema not formally defined in JSON Schema. Tool description lists expected fields (name, description, socials, techStack, contactEmail, phone, address, industry, logo) in prose and example, but no structured schema is provided for LLM to validate or plan downstream tool calls.
Parameter description for 'domain' is minimal (13 chars: 'Domain to enrich (e.g. stripe.com, shopify.com)'). Does not specify format constraints, valid TLD requirements, or handling of subdomains vs root domains. LLM may pass invalid domains without guidance.
No error handling guidance. Tool description does not explain what happens if domain is invalid, unreachable, or returns no enrichment data. LLM has no recovery path if the tool fails.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2025-06-18+ | v2 |
No tool annotations present. Tool should declare readOnlyHint=true (it does not modify state) and idempotentHint=true (repeated calls with same domain return same result). These hints help LLMs reason about retry safety and caching.
Example values embedded in description ('stripe.com, shopify.com'). LLMs may reuse these literally in test calls or assume they are the only valid domains. Use format constraints instead.