Insurers Global Insurers API

The Insurers API from Insurers Global — 4 operation(s) for insurers.

GitHub OpenAPI

Operations 4

GET /insurers/pages/{n}.json All licensed insurers, 25 a page #
GET /insurers/names.json Every insurer as a lean row (18180 rows, about 1.6 MB) #
GET /insurers/names/pages/{n}.json Every insurer as a lean row, 400 a page #
GET /insurers/{slug}.json One insurer with regulator detail and group siblings #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/insurers-global:insurers-global-insurers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

insurers-global-insurers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Global Insurers API
  version: 2026-09-08+97f331e66662
  summary: Static, read-only JSON API for the Insurers Global directory of licensed insurance companies.
  description: Every endpoint is a pre-rendered JSON file served from the Cloudflare edge with CORS enabled. There is no authentication and no rate limit beyond normal fair use. Slugs are stable lowercase identifiers used in page URLs. Attribute KAFS North America (Kenbright Actuarial and Financial Services North America) under CC BY 4.0.
  license:
    name: CC BY 4.0
    url: https://creativecommons.org/licenses/by/4.0/
  contact:
    name: Kenbright Actuarial and Financial Services North America
    url: https://www.kenbright.ai/
  termsOfService: https://insurers.global/terms/
  x-mcp:
    endpoint: https://insurers.global/mcp
    transport: streamable-http
    authentication: none
    health: https://insurers.global/mcp/health
    serverCard: https://insurers.global/.well-known/mcp/server-card.json
    configSchema: https://insurers.global/.well-known/mcp-config
servers:
- url: https://insurers.global/api/v1
tags:
- name: Insurers
paths:
  /insurers/pages/{n}.json:
    get:
      operationId: listInsurersPaged
      summary: All licensed insurers, 25 a page
      description: Compact JSON, 25 rows a page and every page under 96 KB, for clients whose fetch tool caps the text it returns. Same records and order as the unpaged file; the union of the pages is the file. Each page links first, prev, next and last.
      parameters:
      - name: n
        in: path
        required: true
        description: Page number, 1-based. Follow next until it is null.
        schema:
          type: integer
          minimum: 1
        example: 1
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  dataset:
                    type: string
                  version:
                    type: string
                  verified:
                    type: string
                    format: date
                  licence:
                    type: string
                  count:
                    type: integer
                    description: Rows across all pages
                  page:
                    type: integer
                    minimum: 1
                  pageSize:
                    type: integer
                  pageCount:
                    type: integer
                  all:
                    type: string
                    format: uri
                    description: The unpaged list file
                  first:
                    type: string
                    format: uri
                  prev:
                    type:
                    - string
                    - 'null'
                    format: uri
                    description: null on the first page
                  next:
                    type:
                    - string
                    - 'null'
                    format: uri
                    description: null on the last page
                  last:
                    type: string
                    format: uri
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Insurer'
                required:
                - count
                - page
                - pageSize
                - pageCount
                - first
                - prev
                - next
                - last
                - data
      tags:
      - Insurers
  /insurers/names.json:
    get:
      operationId: listInsurerNames
      summary: Every insurer as a lean row (18180 rows, about 1.6 MB)
      description: 'Slug, name, country, class code and verification for the whole register, compact JSON, for enumerating every insurer. The envelope carries url and record templates: substitute the slug to reach the page or the full record. Paged at /insurers/names/pages/{n}.json.'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  dataset:
                    type: string
                  version:
                    type: string
                  verified:
                    type: string
                    format: date
                  licence:
                    type: string
                  count:
                    type: integer
                  pages:
                    type: object
                    description: Where the paged series of this list starts. Placed before data so a client whose fetch was cut off still reads it.
                    properties:
                      pageSize:
                        type: integer
                      pageCount:
                        type: integer
                      first:
                        type: string
                        format: uri
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/InsurerName'
      tags:
      - Insurers
  /insurers/names/pages/{n}.json:
    get:
      operationId: listInsurerNamesPaged
      summary: Every insurer as a lean row, 400 a page
      description: Compact JSON, 400 rows a page and every page under 96 KB, for clients whose fetch tool caps the text it returns. Same records and order as the unpaged file; the union of the pages is the file. Each page links first, prev, next and last.
      parameters:
      - name: n
        in: path
        required: true
        description: Page number, 1-based. Follow next until it is null.
        schema:
          type: integer
          minimum: 1
        example: 1
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  dataset:
                    type: string
                  version:
                    type: string
                  verified:
                    type: string
                    format: date
                  licence:
                    type: string
                  count:
                    type: integer
                    description: Rows across all pages
                  page:
                    type: integer
                    minimum: 1
                  pageSize:
                    type: integer
                  pageCount:
                    type: integer
                  all:
                    type: string
                    format: uri
                    description: The unpaged list file
                  first:
                    type: string
                    format: uri
                  prev:
                    type:
                    - string
                    - 'null'
                    format: uri
                    description: null on the first page
                  next:
                    type:
                    - string
                    - 'null'
                    format: uri
                    description: null on the last page
                  last:
                    type: string
                    format: uri
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/InsurerName'
                required:
                - count
                - page
                - pageSize
                - pageCount
                - first
                - prev
                - next
                - last
                - data
      tags:
      - Insurers
  /insurers/{slug}.json:
    get:
      operationId: getInsurer
      summary: One insurer with regulator detail and group siblings
      parameters:
      - name: slug
        in: path
        required: true
        description: Insurer slug
        schema:
          type: string
          pattern: ^[a-z0-9-]+$
        example: micronesia-century-insurance-company-ltd
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  dataset:
                    type: string
                  version:
                    type: string
                  verified:
                    type: string
                    format: date
                  licence:
                    type: string
                  count:
                    type: integer
                  data:
                    $ref: '#/components/schemas/Insurer'
      tags:
      - Insurers
components:
  schemas:
    Insurer:
      type: object
      properties:
        id:
          type:
          - integer
          - 'null'
          description: Workbook row number; null for a row the daily register watch added, which was never a workbook row.
        slug:
          type: string
        name:
          type: string
        continent:
          type: string
          enum:
          - africa
          - europe
          - asia-pacific
          - south-america
          - north-america
        country:
          type: string
          description: Country slug
        countryName:
          type: string
        countryIso2:
          type:
          - string
          - 'null'
          description: null for composite markets
        region:
          type: string
          description: Region slug
        class:
          type: string
          description: Class of business slug
        classCode:
          type: string
          enum:
          - G
          - L
          - C
          - R
          - T
          - M
          - X
          - F
          - H
          - U
          description: U = class not stated in the source register
        group:
          type: string
          description: Parent / group text as the register records it. "Independent" when the register records no parent company. Read it as a parent organisation only when groupPlaceholder is false.
        groupSlug:
          type:
          - string
          - 'null'
        groupPlaceholder:
          type: boolean
          description: 'True when group does not name a parent organisation: the register recorded none and the value is an ownership style, a status, a NAIC group code, a domicile or a description of the entity. Absence of a parent is not evidence of independence.'
        groupType:
          type: string
        groupTypeCode:
          type: string
          enum:
          - DO
          - PA
          - EU
          - FM
          - SO
          - MU
          - RG
          - CP
        regulator:
          type: string
        regulatorAcronym:
          type: string
        currency:
          type: string
          description: ISO 4217
        sourceBasis:
          type: string
        notes:
          type:
          - string
          - 'null'
        verification:
          type: string
          enum:
          - verified
          - partial
          - unverified
        lei:
          type:
          - string
          - 'null'
          description: Legal Entity Identifier where the register carries it
        nationalId:
          type:
          - string
          - 'null'
        registeredSince:
          type:
          - string
          - 'null'
          format: date
        city:
          type:
          - string
          - 'null'
        domicile:
          type:
          - string
          - 'null'
          description: 'United States rows only (absent elsewhere): USPS code of the state or territory of domicile, from the register row. Null for a Lloyd’s syndicate or alien reinsurer. See /countries/united-states/states.json.'
        website:
          type:
          - string
          - 'null'
          format: uri
        classBasis:
          type:
          - string
          - 'null'
          description: How the class was determined, e.g. "Register category" or "Inferred from name"
        groupBasis:
          type:
          - string
          - 'null'
        iaig:
          type:
          - string
          - 'null'
          description: Slug of the Internationally Active Insurance Group (IAIS register) that ultimately controls the parent, see /iaigs.json
        iaigUrl:
          type:
          - string
          - 'null'
          format: uri
        url:
          type: string
          format: uri
        identity:
          type:
          - object
          - 'null'
          description: GLEIF LEI record fields (legalName, legalAddress, headOfficeAddress, legalForm, registration, status, category), each as { value, source, seen }; null when the row has no LEI or was not yet collected
          additionalProperties:
            type: object
            properties:
              value: {}
              source:
                type: string
                format: uri
                description: Record the value was read from
              seen:
                type: string
                format: date
                description: Date the source was last read
        footprint:
          type:
          - object
          - 'null'
          description: Licensed footprint derived from GLEIF and the EIOPA register; null when not yet collected
          properties:
            parent:
              type:
              - object
              - 'null'
              description: A related legal entity from GLEIF Level 2 data
              properties:
                lei:
                  type: string
                name:
                  type:
                  - string
                  - 'null'
                country:
                  type:
                  - string
                  - 'null'
                  description: ISO alpha-2 of the legal address
                slug:
                  type:
                  - string
                  - 'null'
                  description: Directory insurer slug when the LEI is listed
                source:
                  type: string
                  format: uri
                  description: Record the value was read from
                seen:
                  type: string
                  format: date
                  description: Date the source was last read
            ultimateParent:
              type:
              - object
              - 'null'
              description: A related legal entity from GLEIF Level 2 data
              properties:
                lei:
                  type: string
                name:
                  type:
                  - string
                  - 'null'
                country:
                  type:
                  - string
                  - 'null'
                  description: ISO alpha-2 of the legal address
                slug:
                  type:
                  - string
                  - 'null'
                  description: Directory insurer slug when the LEI is listed
                source:
                  type: string
                  format: uri
                  description: Record the value was read from
                seen:
                  type: string
                  format: date
                  description: Date the source was last read
            branchOf:
              type:
              - object
              - 'null'
              description: A related legal entity from GLEIF Level 2 data
              properties:
                lei:
                  type: string
                name:
                  type:
                  - string
                  - 'null'
                country:
                  type:
                  - string
                  - 'null'
                  description: ISO alpha-2 of the legal address
                slug:
                  type:
                  - string
                  - 'null'
                  description: Directory insurer slug when the LEI is listed
                source:
                  type: string
                  format: uri
                  description: Record the value was read from
                seen:
                  type: string
                  format: date
                  description: Date the source was last read
            passportsTo:
              type:
              - object
              - 'null'
              properties:
                entries:
                  type: array
                  items:
                    type: object
                    properties:
                      country:
                        type: string
                        description: Host state, ISO alpha-2
                      basis:
                        type: string
                        enum:
                        - FoS
                        - FoE
                        description: Freedom of services, or an EEA branch
                      name:
                        type:
                        - string
                        - 'null'
                        description: Branch name when it differs
                source:
                  type: string
                  format: uri
                  description: Record the value was read from
                seen:
                  type: string
                  format: date
                  description: Date the source was last read
            subsidiaries:
              type: array
              items:
                type: string
            controlled:
              type: array
              items:
                type: string
            branches:
              type: array
              items:
                type: string
            groupConflict:
              type: boolean
              description: The workbook group and the GLEIF parent point at different directory groups
      required:
      - slug
      - name
      - continent
      - country
      - class
      - classCode
      - regulatorAcronym
      - verification
    InsurerName:
      type: object
      description: 'The lean row of /insurers/names.json: enough to enumerate the register. The verification level is kept so an unverified row is never read as authoritative; the full record is at /insurers/{slug}.json.'
      properties:
        slug:
          type: string
        name:
          type: string
        country:
          type: string
          description: Country slug
        classCode:
          type: string
          enum:
          - G
          - L
          - C
          - R
          - T
          - M
          - X
          - F
          - H
          - U
          description: U = class not stated in the source register
        verification:
          type: string
          enum:
          - verified
          - partial
          - unverified
      required:
      - slug
      - name
      - country
      - classCode
      - verification
externalDocs:
  description: 'Agent guide: MCP server, WebMCP tools and this API'
  url: https://insurers.global/ai/