- contact@verticalserve.com
Profiles, corporate hierarchies, industries, leadership and AI insights — through a single REST API. Look a company up by domain, ticker or LEI. No prior lookup step, no sales call to get started.
$ curl "https://api.insightpulse360.com/v1/companies/marshmclennan.com" \ -H "X-API-Key: ip_sk_live_..." { "id": "cmp_9a1f22e0-3b7c-4d21-9a44-0f2c8e51b6aa", "name": "Marsh McLennan", "legal_name": "Marsh & McLennan Companies, Inc.", "domain": "marshmclennan.com", "hq": { "city": "New York", "country": "US" }, "industry": { "code": "524210", "name": "Insurance Agencies and Brokerages" }, "identifiers": { "ticker": "MMC", "lei": "549300XSM..." }, "metrics": { "employee_count": 90000, "founded_year": 1871 } }
No lookup step
Most company APIs make you search first, then fetch. Ours resolves whatever you are holding — so mapping an existing list onto our IDs is one call, not two.
/v1/companies/aon.com
Web domain
/v1/companies/MMC
Stock ticker
/v1/companies/lei:5493...
LEI, DUNS, NAICS
/v1/companies/cmp_9a1f...
InsightPulse ID
The APIs
Every object shares one ID space, so a company, its parent, its industry and its people all connect without a join on your side.
Map a messy company name to a canonical record with a confidence score. Single or batch, up to 1,000 per call.
GET /v1/resolve?query=Marsh+USA+Inc
POST /v1/resolve/batch
Typo-tolerant search across companies and industries. CORS-enabled, so it powers a company picker inside your own app.
GET /v1/search?q=marsh&type=company
The full profile in one call — identity, HQ, industry codes,
identifiers and size. Add sub-resources with expand
instead of an N+1 walk.
GET /v1/companies/{identifier}
?expand=hierarchy,leadership,insights
Walk the ownership tree: immediate parent, full ancestor chain, ultimate parent and direct subsidiaries. Roll exposure up a corporate family in one request.
GET /v1/companies/{id}/hierarchy
Executives and board members with normalised roles, plus NAICS and GICS industry nodes with their own parent/child structure.
GET /v1/companies/{id}/leadership
GET /v1/industries/{code}
AI-generated insight cards and notable events — leadership changes, M&A, ratings actions. Every item carries a confidence score and its sources.
GET /v1/companies/{id}/insights
GET /v1/companies/{id}/events
On the roadmap Brand assets · Webhooks & watchlists · Insurance directory (carriers, brokers, MGAs) · Lines of business · MCP server
Why InsightPulse
General-purpose company APIs return one row per company. We model the ownership graph — which is what you actually need for credit exposure, KYC and UBO, vendor consolidation, and account mapping.
Companies, industries and people are nodes in the same graph, joined by typed edges.
Derived fields carry a source and a confidence score. Estimates are never presented as facts.
Carrier, broker and MGA roles with NAIC identifiers — not a generic firmographics feed.
Versioned, additive-only, with RFC 9457 errors and a request ID on every response.
{
"parent": {
"id": "cmp_4c81...",
"name": "Marsh & McLennan Agency LLC"
},
"ultimate_parent": {
"id": "cmp_9a1f...",
"name": "Marsh McLennan"
},
"ancestors": [ /* nearest first */ ],
"children": [ /* direct subsidiaries */ ],
"subsidiary_count": 214,
"depth": 2
}
Pricing
You are billed on distinct companies resolved per month. Cache freely, batch
freely, use expand freely — none of it costs you extra.
For prototypes and company pickers in your own app.
For products that need full company profiles and hierarchy.
For teams acting on change, not just looking companies up.
For private deployment and bulk data delivery.
curl.Get a key, resolve your first company, and see whether the data holds up against your own list. No sales call required.
Get an API key See Insurance 360