1. Why Domain-to-Company Enrichment Matters for B2B SaaS
Asking users to fill out 8-field signup forms kills conversion. By extracting the root domain from a work email address and calling GET /v1/company, your backend can auto-populate firmographics in under 15ms on cached domains.
| Dimension | LinkedInDataAPI (/v1/company) | Clearbit (HubSpot Breeze) | People Data Labs | DIY Scraper + Proxies |
|---|---|---|---|---|
| Cost per 1,000 companies | $0.40–$1.00 | $50.00–$120.00+ | $20.00–$80.00 | $15.00+ in proxy & CAPTCHA cost |
| Domain lookup (`?domain=stripe.com`) | Native synchronous GET | Requires HubSpot bundle | Supported | Requires custom DNS/search resolution |
| Hot cache latency (p50) | 14 ms (PostgreSQL 16 + Redis) | 120 ms | 180 ms | 4,500+ ms |
| Session cookies (`li_at`) required | Never (100% no-cookie) | No | No | Yes (high ban risk) |
2. Production Python & TypeScript Domain Enrichment Code
Below is a complete implementation that normalizes a work email domain, skips consumer email providers, and enriches the company via GET /v1/company.
Enrich Company Firmographics by Corporate Domain
Query GET /v1/company?domain=stripe.com with automatic retry and credit tracking:
curl "https://api.linkedindataapi.com/v1/company?domain=stripe.com" \
-H "x-api-key: b2b_live_your_api_key"Interactive Engineering Workbench · GET /v1/company
Verify real-time latency, enrichment unit math & JSON schema
Frequently Asked Questions
- What happens if a domain does not match any company?
- The gateway returns HTTP 404 with code !== 0 and deducts 0 Credits. Negative lookups are cached for 6 hours so repeated hits return immediately at zero cost.
- Can I also pass a company slug or full company URL?
- Yes. GET /v1/company accepts company=stripe, domain=stripe.com, or company=https://www.linkedin.com/company/stripe.