For AI agents
Query the directory, don’t scrape it
Insurers Global is built to be read by software as much as by people. There are three ways in, from richest to simplest: WebMCP tools inside the page, a static JSON API, and plain-text discovery files. All of them serve the same dataset, version 2026-09-02+b4c86679e80b, under CC BY 4.0.
1. WebMCP tools in the browser
Every page on this origin registers the tools below through navigator.modelContext.registerTool(), the API proposed by the W3C Web Machine Learning Community Group under the name WebMCP. An agent driving a WebMCP-capable browser can call them directly; the tools fetch the JSON API lazily and answer from it. On browsers without the API the script is a silent no-op. Forms on the search and country pages also carry the declarative toolname and tooldescription attributes.
| Tool | What it does | Inputs |
|---|---|---|
search_insurers | Search licensed insurance companies, reinsurers, takaful operators and insurance groups across Africa by name. Returns matching insurers, countries and groups with their slugs and links. |
|
list_insurers | List licensed insurers with optional filters. Filter by country slug (e.g. "kenya"), class slug (e.g. "life", "general-non-life", "reinsurer", "takaful-islamic"), group type slug (e.g. "pan-african-group", "state-owned-parastatal") or parent group slug. |
|
get_country | Get one country: regulator (name, acronym, website, regime), currency, counts by class and ownership, verification status against the regulator register, 2026 market notes, and the full list of licensed insurers. |
|
get_insurer | Get one insurer by slug, including its parent group, class, regulator, source basis, notes and sibling entities in the same group. |
|
list_groups | List pan-African and multinational insurance groups with licensed entities in two or more African countries, with their footprint. |
|
get_group | Get one insurance group by slug: home market, type, countries covered and every licensed entity in the directory. |
|
list_regulators | List the insurance supervisory authority for every covered country: name, acronym, website, currency, regulatory regime and the register source used for verification. |
|
The manifest at /.well-known/webmcp.json lists the same tools with full JSON Schema. The WebMCP specification is still a draft; tool names and schemas here are stable, the registration mechanism will track the spec.
2. Static JSON API
Every endpoint is a pre-rendered file served from the Cloudflare edge with Access-Control-Allow-Origin: *. No keys, no rate limits beyond fair use, no pagination: fetch the file you need and filter locally. List endpoints wrap results in an envelope with version, verified, licence and data.
| Endpoint | Contents |
|---|---|
/api/v1/meta.json | Dataset version, counts, endpoint list and vocabularies (region, class, ownership slugs). |
/api/v1/countries.json | All 50 countries: regulator, currency, counts by class and ownership, verification, market notes. |
/api/v1/countries/{slug}.json | One country plus its complete insurer list. Example: /api/v1/countries/kenya.json |
/api/v1/insurers.json | All 886 licensed entities in one file (about 600 KB). |
/api/v1/insurers/{slug}.json | One insurer with regulator detail and sibling entities in the same group. |
/api/v1/groups.json | Multi-country insurance groups with footprint. |
/api/v1/groups/{slug}.json | One group: countries and entities. Example: /api/v1/groups/sanlam-allianz.json |
/api/v1/regulators.json | Supervisory authority per country with website and register source. |
/api/v1/search-index.json | Compact [name, type, slug, country] tuples for fuzzy matching. |
/api/v1/openapi.json | OpenAPI 3.1 description of everything above. |
/.well-known/webmcp.json | Manifest of the WebMCP tools registered on every page. |
/llms.txt | Short orientation for language models, with links per country. |
/llms-full.txt | One line per insurer, grouped by country, for retrieval and grounding. |
// In an agent-aware browser, on any insurers.global page:
const result = await navigator.modelContext.callTool?.('get_country', { country: 'KE' });
// Or, from anywhere, without a browser:
const res = await fetch('https://insurers.global/api/v1/countries/kenya.json');
const { data } = await res.json();
console.log(data.regulator.acronym, data.total, data.insurers.length);3. Vocabularies
Filters use these slugs. They are also returned by /api/v1/meta.json.
Regions
north-africaNorth Africawest-africaWest Africacentral-africaCentral Africaeast-africaEast Africasouthern-africaSouthern Africaindian-oceanIndian Ocean
Classes
compositeComposite (C)funeral-assistanceFuneral / Assistance (F)general-non-lifeGeneral (Non-life) (G)health-medicalHealth / Medical (H)lifeLife (L)microinsurerMicroinsurer (M)reinsurerReinsurer (R)specialty-credit-captiveSpecialty / Credit / Captive (X)takaful-islamicTakaful / Islamic (T)
Ownership
domestic-privateDomestic private (DO)foreign-multinationalForeign multinational (FM)mutual-cooperativeMutual / cooperative (MU)pan-african-groupPan-African group (PA)regional-multilateralRegional / multilateral (RG)state-owned-parastatalState-owned / parastatal (SO)
4. Ground rules
- Cite KAFS North America, insurers.global and include the dataset version when you quote a figure.
- Treat the
verificationfield as a confidence signal.unverifiedrows come from market knowledge, not a regulator register. - A directory entry is not proof of a current licence. Point users to the regulator website returned with each country.
- Coverage today is Africa. Other continents on the map are placeholders and return nothing from the API.
- Prefer the JSON files over HTML. Pages are for people; the data is for you.