WebsiteCategorizationAPI
Home
Demo Tools - Categorization
Website Categorization Text Classification URL Database Taxonomy Mapper
Demo Tools - Website Intel
Technology Detector Quality Score Competitor Finder
Demo Tools - Brand Safety
Brand Safety Checker Brand Suitability Quality Checker
Demo Tools - Content
Sentiment Analyzer Context Aware Ads
Resources
API Documentation Pricing Login
Try Categorization

Lead Enrichment: From a Bare Domain to a Routable Lead

Every inbound form gives you one reliable field: the email domain. One API call turns it into industry vertical, company profile, technology stack and B2B audience signals — fast enough for the form-submit webhook, deep enough to backfill an entire CRM against 102 million classified domains.

102M
classified domains for batch backfill
Real time
enrichment at form-submit, inside the webhook
1,667+
buyer personas mapped from content
1 call
industry + confidence + language per domain
Try the Live Demo Request a Sample API Documentation

The problem: your CRM is full of domains that tell you nothing

A lead from [email protected] could be a 12-person machine shop or a mid-market manufacturer evaluating a six-figure deal — and nothing in the form submission tells you which. The traditional fix, licensing a firmographic data vendor, trades one problem for two: contract cost that scales with your database, and records last verified quarters ago. Meanwhile the decisions that depend on this data — scoring, routing, SLA assignment — happen in the seconds after the form is submitted, not at next month's data refresh.

A bare domain is not a segment

Industry, size and business model are the inputs every routing rule needs, and the form gives you none of them. Reps research each lead manually or work blind.

Firmographic vendors are expensive and stale

Per-record licensing punishes large databases, and static records drift: companies pivot, get acquired, change what they sell.

Scoring needs the answer at submit time

Speed-to-lead studies show conversion decaying within minutes. Enrichment arriving in tomorrow's batch job cannot influence which rep gets the lead right now.

Your ICP exists only as a slide

"Mid-market SaaS in logistics" is a fine ICP definition — but without a queryable dataset behind it, you cannot score against it or build lookalikes from it.

The solution: classify the domain, don't buy the record

Instead of licensing a warehouse of aging records, classify the lead's actual website. The real-time categorization engine classifies the live site into industry verticals with a confidence score, the enrichment layer adds company and technology attributes, and the offline database covers bulk workloads where a per-call API would be the wrong shape.

Real-time industry classification

POST the lead's domain to the categorization API and get back IAB categories with confidence scores, plus the site language — inside the webhook, so the lead lands already labeled. An expanded taxonomy covers cases where IAB tiers are too coarse for routing.

Batch backfill at CRM scale

For the 40,000 unlabeled accounts already in HubSpot or Salesforce, join against the 102M-domain classified database and the company database — flat files you can load in an afternoon, refreshed on a schedule.

Technology-stack scoring

If your product integrates with Shopify, HubSpot or a specific analytics stack, the technology detector and the technology database slice show what a lead's site actually runs — a fit signal far stronger than self-reported employee count.

ICP slices and lookalikes

Turn the ICP slide into a dataset: the ICP prospecting database filters 102M domains by vertical, narrowed further by company size, funding and hiring slices — so every closed-won account seeds a workable lookalike list.

Wire it into the form-submit webhook

This pattern runs in a HubSpot workflow webhook or a Salesforce Apex callout: classify the email domain with data_type=url, write the vertical and confidence back to the lead, and let your existing assignment rules do the rest.

Request — enrich on form submit (Python)
import requests

def enrich_lead(email):
    domain = email.split("@")[1]          # acmefabrication.com
    resp = requests.post(
        "https://www.websitecategorizationapi.com/api/iab/iab_web_content_filtering.php",
        data={"query": domain, "api_key": API_KEY, "data_type": "url"},
        timeout=30,
    )
    result = resp.json()
    top = result["classification"][0]
    crm.update_lead(email, {
        "industry_vertical": top["category"],
        "vertical_confidence": top["confidence"],
        "site_language": result["language"],
    })
    if top["confidence"] >= 0.85:
        router.assign_by_vertical(email, top["category"])
Response
{
  "classification": [
    {"category": "Business and Industrial > Manufacturing", "confidence": 0.93},
    {"category": "Business and Industrial > Metals", "confidence": 0.71}
  ],
  "language": "en",
  "status": 200
}
Go deeper — B2B signals from the audience API

For high-value leads, a second call to POST /api/audience/segment.php reads the lead's site the way an analyst would — a real (trimmed) response for a data-platform vendor's blog:

{
  "url": "https://www.snowflake.com/en/blog/",
  "audience_segmentation": {
    "b2b_signals": {
      "is_b2b_content": true,
      "confidence": 0.9,
      "target_role": ["data scientist", "IT manager",
                      "business analyst"],
      "target_company_size": "enterprise",
      "industry_focus": ["technology", "finance",
                         "healthcare"]
    },
    "content_context": {
      "content_type": "blog_article",
      "writing_style": "technical",
      "reading_level": "advanced"
    }
  },
  "status": 200
}

Whether a company sells to enterprises is a firmographic fact no employee-count field captures. Persona mappings come from the 1,667+ buyer-persona taxonomy.

What lands on the lead record

A practical enrichment schema assembled from the API and database layers — every field machine-derived from the live web, so it does not decay the way scraped registries do.

FieldSourceExampleFeeds
Industry verticalCategorization API / IAB taxonomyBusiness > Manufacturing (0.93)Territory routing
Company profileCompany databaseSize band, business modelLead scoring
Technology stackTechnology sliceShopify, HubSpot, GA4Fit & integration scoring
B2B signals/api/audience/segment.phpSells to enterprise ITICP match flag
Growth signalsFunding / hiring slicesActively hiring engineersPrioritization

Where teams put it to work

Lead routing and SLAs

Vertical and size decide the queue: enterprise manufacturing to the strategic team, self-serve e-commerce to nurture — applied before the lead is ten seconds old.

Scoring models with real features

Vertical, tech stack and B2B signals are strong, non-sparse features — the model finally has firmographics for every record, not the fraction a vendor could match.

Lookalike prospecting

Feed your best customers' verticals into the ICP database, intersect with the SaaS or e-commerce slices, and export a net-new target list.

CDP hygiene

Standardize industry fields by re-deriving them from one classifier — a single taxonomy instead of five vendors' incompatible ones, reconciled with the taxonomy mapper.

Frequently asked

How is this different from a firmographic data vendor?

Vendors sell stored records; we classify the live website on demand, so the answer reflects what the company is now. For bulk needs the 102M-domain database plays the vendor role — rebuilt from fresh crawls, priced for full-database joins, and on the same taxonomy as the real-time API, so batch and webhook enrichment never disagree.

What about personal email domains and unreachable sites?

Filter freemail domains before the call — there is no company site to classify. Parked, dead or consent-walled sites surface through status and low-confidence classifications, so your workflow falls back to the company database or manual review instead of writing garbage into the CRM.

Can it keep up with our form volume?

Yes. The real-time endpoint is built for webhook latencies, and anything asynchronous — nightly backfills, list imports, CDP syncs — belongs on the offline database, where a 100,000-row enrichment is a SQL join, not 100,000 API calls.

Related resources

Enrich a sample of your own leads

Send us a CSV of domains from your CRM and get back the enriched file — verticals, confidence scores and firmographic attributes — so you can judge accuracy on your data, not ours.

Try the Live Demo Request a Sample Read the API Docs
Stay in the loop

You are on the list!

We will send you updates that matter — no spam.