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 102M classified domains.
A lead from [email protected] could be a 12-person shop or a mid-market manufacturer. The decisions that depend on this data — scoring, routing, SLA assignment — happen in seconds after form submit, not at next month's data refresh.
Industry, size and business model are the inputs every routing rule needs, and the form gives you none of them. Reps research manually or work blind.
Per-record licensing punishes large databases, and static records drift: companies pivot, get acquired, change what they sell.
Speed-to-lead studies show conversion decaying within minutes. Enrichment arriving in tomorrow's batch job cannot influence which rep gets the lead now.
“Mid-market SaaS in logistics” is a fine ICP — but without a queryable dataset behind it, you cannot score against it or build lookalikes from it.
Instead of licensing aging records, classify the lead's actual website in real time. The categorization engine returns industry verticals with confidence, the enrichment layer adds company and tech attributes, and the offline database handles bulk workloads.
POST the lead's domain to the categorization API and get back IAB categories with confidence scores plus site language — inside the webhook.
For unlabeled accounts already in HubSpot or Salesforce, join against the 102M-domain database and the company database.
If your product integrates with Shopify, HubSpot or a specific analytics stack, the technology detector shows what a lead's site runs.
Turn the ICP slide into a dataset: the ICP prospecting database filters 102M domains by vertical.
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.
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"])
{
"classification": [
{"category": "Business and Industrial > Manufacturing", "confidence": 0.93},
{"category": "Business and Industrial > Metals", "confidence": 0.71}
],
"language": "en",
"status": 200
}
For high-value leads, a second call to POST /api/audience/segment.php reads the lead's site the way an analyst would:
{
"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.
Every field is machine-derived from the live web, so it does not decay the way scraped registries do.
| Field | Source | Example | Feeds |
|---|---|---|---|
| Industry vertical | Categorization API / IAB taxonomy | Business > Manufacturing (0.93) | Territory routing |
| Company profile | Company database | Size band, business model | Lead scoring |
| Technology stack | Technology slice | Shopify, HubSpot, GA4 | Fit & integration scoring |
| B2B signals | /api/audience/segment.php | Sells to enterprise IT | ICP match flag |
| Growth signals | Funding / hiring slices | Actively hiring engineers | Prioritization |
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.
Vertical, tech stack and B2B signals are strong, non-sparse features — the model has firmographics for every record, not just the fraction a vendor matched.
Feed your best customers' verticals into the ICP database, intersect with the SaaS or e-commerce slices, and export a net-new target list.
Standardize industry fields by re-deriving them from one classifier — a single taxonomy instead of five vendors' incompatible ones, reconciled with the taxonomy mapper.
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 is rebuilt from fresh crawls, priced for full-database joins, and on the same taxonomy as the real-time API.
Filter freemail domains before the call — there is no company site to classify. Parked or consent-walled sites surface through low-confidence scores, so your workflow falls back to the company database or manual review.
Yes. The real-time endpoint is built for webhook latencies. Asynchronous work — nightly backfills, list imports, CDP syncs — belongs on the offline database, where a 100k-row enrichment is a SQL join, not 100k API calls.
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