Prerequisites
- A Kernel API key — create one in Settings > API keys
curlin your terminal (or use the examples below in any HTTP client)
1. Start entity resolution
Send aPOST request with a company name:
curl
curl -X POST https://api.kernel.ai/rest/v1/entity-resolution \
-H "x-api-key: $KERNEL_API_KEY" \
-H "Content-Type: application/json" \
-d '{"legal_name": "Stripe"}'
202 with an id:
Response (202)
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"status": "processing"
}
2. Get the result
Poll the job endpoint with theid from step 1:
curl
curl https://api.kernel.ai/rest/v1/entity-resolution/550e8400-e29b-41d4-a716-446655440000 \
-H "x-api-key: $KERNEL_API_KEY"
Response (200)
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"status": "completed",
"created_at": "2025-06-05T12:00:00Z",
"completed_at": "2025-06-05T12:00:05Z",
"record": {
"kernel_id": "2532551796",
"company_registration": null,
"company_registration_number": null,
"identity_type": "legal_entity",
"identity_resolution_confidence": "HIGH",
"identity_resolution_reasoning": "Company identified as Stripe, Inc. via legal name, website, and country alignment.",
"legal_info": {
"country": "US",
"reasoning": "Confirmed via terms of service page.",
"trading_name": "Stripe",
"confidence": "HIGH",
"legal_name": "Stripe, Inc.",
"website": "https://stripe.com"
},
"trading_info": {
"country": "US",
"website": "https://stripe.com",
"reasoning": "Primary brand site confirmed via domain ownership.",
"trading_name": "Stripe",
"confidence": "HIGH"
},
"entity_classification": {
"type": "Company",
"subtype": "Operating",
"reasoning": "Classified as an operating company based on commercial activity."
}
}
}
3. Start firmographic enrichment
Use thekernel_id from the resolved entity to start a firmographic enrichment job:
curl
curl -X POST https://api.kernel.ai/rest/v1/firmographics \
-H "x-api-key: $KERNEL_API_KEY" \
-H "Content-Type: application/json" \
-d '{"kernel_id": "2532551796"}'
202 with a firmographic enrichment id:
Response (202)
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "processing"
}
4. Get firmographic data
Poll the firmographic enrichment job endpoint with theid from step 3:
curl
curl https://api.kernel.ai/rest/v1/firmographics/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
-H "x-api-key: $KERNEL_API_KEY"
record object:
Response (200)
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "completed",
"created_at": "2025-06-05T12:01:00Z",
"completed_at": "2025-06-05T12:02:00Z",
"record": {
"kernel_id": "2532551796",
"op_status": {
"operational_status": "Active",
"reasoning": "Entity is actively operating."
},
"location": {
"operating": {
"street": "354 Oyster Point Blvd",
"city": "South San Francisco",
"state": "California",
"country": "United States",
"postcode": null,
"reasoning": null
},
"registered": {
"street": null,
"city": null,
"state": null,
"country": null,
"postcode": null,
"reasoning": null
}
},
"headcount": {
"count": 5300,
"count_entity": 5300,
"count_consolidated": 8150,
"confidence": "HIGH",
"reasoning": null
},
"revenue": {
"usd": null,
"consolidated_usd": null,
"confidence": null,
"local_currency": null,
"consolidated_local": null,
"consolidated_currency": null,
"local": null,
"reasoning": null,
"source": null
},
"industry": {
"naics": {
"version": "NAICS 2022",
"sector": {
"value": "52 - Finance and Insurance",
"code": "52",
"label": "Finance and Insurance"
},
"subsector": {
"value": "522 - Credit Intermediation and Related Activities",
"code": "522",
"label": "Credit Intermediation and Related Activities"
},
"industry_group": {
"value": "5223 - Activities Related to Credit Intermediation",
"code": "5223",
"label": "Activities Related to Credit Intermediation"
},
"industry": {
"value": "52232 - Financial Transactions Processing, Reserve, and Clearinghouse Activities",
"code": "52232",
"label": "Financial Transactions Processing, Reserve, and Clearinghouse Activities"
},
"national_industry": {
"value": "522320 - Financial Transactions Processing, Reserve, and Clearinghouse Activities",
"code": "522320",
"label": "Financial Transactions Processing, Reserve, and Clearinghouse Activities"
},
"reasoning": "- Payment processing and related financial tools are provided to businesses through online and in-person checkout products.\n- The activity is classified under 522320: Financial Transactions Processing, Reserve, and Clearinghouse Activities, because transaction processing is delivered as a financial service.\n- Reusable software publishing is not established as the principal offering, since payment acceptance and financial services are emphasized."
},
"sic": {
"version": "SIC 1987",
"division": {
"value": "H - Finance, Insurance, and Real Estate",
"code": "H",
"label": "Finance, Insurance, and Real Estate"
},
"major_group": {
"value": "60 - Depository Institutions",
"code": "60",
"label": "Depository Institutions"
},
"industry_group": {
"value": "609 - Functions Related To Depository Banking",
"code": "609",
"label": "Functions Related To Depository Banking"
},
"industry": {
"value": "6099 - Functions Related To Depository Banking, Not Elsewhere Classified",
"code": "6099",
"label": "Functions Related To Depository Banking, Not Elsewhere Classified"
},
"reasoning": "- Payment processing and financial tools are presented as the principal activity, with businesses offered services to accept and optimize payments online and in person.\n- The activity is classified under 6099: Functions Related To Depository Banking, Not Elsewhere Classified, as payment services are delivered to merchants.\n- Computer software is used to support payment services, but reusable software is not presented as the principal product sold."
},
"nace": {
"version": "NACE Rev. 2.1",
"section": {
"value": "L - Financial and insurance activities",
"code": "L",
"label": "Financial and insurance activities"
},
"division": {
"value": "66 - Activities auxiliary to financial services and insurance activities",
"code": "66",
"label": "Activities auxiliary to financial services and insurance activities"
},
"group": {
"value": "66.1 - Activities auxiliary to financial services, except insurance and pension funding",
"code": "66.1",
"label": "Activities auxiliary to financial services, except insurance and pension funding"
},
"class": {
"value": "66.19 - Other activities auxiliary to financial services, except insurance and pension funding",
"code": "66.19",
"label": "Other activities auxiliary to financial services, except insurance and pension funding"
},
"reasoning": "- Payment processing and related financial services are presented as Stripe’s principal offerings, enabling businesses to accept payments online and in person.\n- These transaction services are classified under 66.19 as activities auxiliary to financial services, rather than as monetary intermediation.\n- The software-services alternative is less suitable because payment acceptance and financial transactions are presented as the customer-facing service."
}
}
}
}
Firmographic enrichment is asynchronous. Use exponential backoff while polling, starting at 2 seconds and capping at 30 seconds.
Next steps
API reference
Full endpoint documentation, authentication, and error handling.
Firmographic result
Full schema for the firmographic response object.

