EntityIndex.ai Entities API

Lists and records of verified businesses.

GitHub OpenAPI

Operations 2

GET /api/entities/{country}/{vertical}.json List the entities of a vertical in a country #
GET /api/entities/{country}/{vertical}/{slug}.json Get one entity record #

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/entityindex-ai:entityindex-ai-entities-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

entityindex-ai-entities-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: entityindex.ai Entities API
  version: 1.0.0
  summary: Read-only index of verified businesses for AI agents (today, hotels in Andorra).
  description: 'Public, read-only JSON API of entityindex.ai, an index of verified businesses

    built for AI agents. The first vertical is hotels and accommodation in Andorra;

    more verticals (e.g. restaurants) will follow the same entity schema.


    - Every verified fact comes from the business''s official website and carries

    its source URL and check date.

    - entityindex.ai does not book, sell or charge anything. `action_url` points to

    the official website or booking engine with `src=entityindex`.

    - No authentication, no API key, no cookies. CORS is open (`Access-Control-Allow-Origin: *`).

    - Responses are static JSON files; data is regenerated periodically (see `generated`).

    - A Model Context Protocol (MCP) server with the same data is available at `/mcp`.


    Data license: CC BY 4.0. Attribution: "entityindex.ai — MERX TECHNOLOGIES, SLU".'
  contact:
    name: entityindex.ai
    url: https://entityindex.ai/legal/en/
  license:
    name: CC BY 4.0
    identifier: CC-BY-4.0
    url: https://creativecommons.org/licenses/by/4.0/
  x-logo:
    url: https://entityindex.ai/badge/verified.svg
servers:
- url: https://entityindex.ai
  description: Production
security: []
tags:
- name: Entities
  description: Lists and records of verified businesses.
paths:
  /api/entities/{country}/{vertical}.json:
    get:
      tags:
      - Entities
      operationId: listEntities
      summary: List the entities of a vertical in a country
      description: Returns every entity of one vertical in one country, with location, links and the verified facts in short form.
      parameters:
      - $ref: '#/components/parameters/Country'
      - $ref: '#/components/parameters/Vertical'
      responses:
        '200':
          description: List of entities.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityList'
        4XX:
          $ref: '#/components/responses/ClientError'
  /api/entities/{country}/{vertical}/{slug}.json:
    get:
      tags:
      - Entities
      operationId: getEntity
      summary: Get one entity record
      description: Full record of one business, with every verified fact, its source URL and check date, contact data and pages in each language.
      parameters:
      - $ref: '#/components/parameters/Country'
      - $ref: '#/components/parameters/Vertical'
      - name: slug
        in: path
        required: true
        description: Entity slug, as listed in `listEntities`.
        schema:
          type: string
          pattern: ^[a-z0-9-]+$
          example: hotel-nordic
      responses:
        '200':
          description: Entity record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
        4XX:
          $ref: '#/components/responses/ClientError'
components:
  schemas:
    EntityList:
      type: object
      properties:
        generated:
          type: string
          format: date
        country:
          type: string
          example: AD
        sector:
          type: string
          example: hotels
        count:
          type: integer
          example: 72
        entities:
          type: array
          items:
            $ref: '#/components/schemas/EntitySummary'
        license:
          $ref: '#/components/schemas/License'
    VerifiedFact:
      type: object
      required:
      - value
      - source
      - checked
      properties:
        value:
          description: Fact value (boolean, number or string)
        source:
          type: string
          format: uri
          description: Official page where the fact was read
        evidence:
          type: string
          description: Literal excerpt from the source
        checked:
          type: string
          format: date
        status:
          type: string
    EntitySummary:
      type: object
      required:
      - id
      - name
      - official_url
      properties:
        id:
          type: string
          example: ad-hotels-hotel-nordic
        name:
          type: string
          example: Hotel Nòrdic
        sector:
          type: string
          example: hotels
        subtype:
          type: string
          example: hotel
        location:
          $ref: '#/components/schemas/Location'
        official_url:
          type: string
          format: uri
        action_url:
          type: string
          format: uri
          description: Official website with src=entityindex
        url:
          type: string
          format: uri
          description: Public record page
        api:
          type: string
          description: Path of the full JSON record
        verified:
          type: object
          description: Verified facts in short form (field -> value).
          additionalProperties: true
    Error:
      type: object
      required:
      - error
      - status
      - message
      properties:
        error:
          type: string
          description: Machine-readable error code
          example: not_found
        status:
          type: integer
          description: HTTP status code
          example: 404
        message:
          type: string
          description: Human-readable explanation
        docs:
          type: string
          format: uri
          description: Link to the documentation
    License:
      type: object
      properties:
        name:
          type: string
          example: CC BY 4.0
        url:
          type: string
          format: uri
          example: https://creativecommons.org/licenses/by/4.0/
        attribution:
          type: string
          example: entityindex.ai — MERX TECHNOLOGIES, SLU
    Location:
      type: object
      properties:
        locality:
          type: string
          example: El Tarter
        region:
          type: string
          example: Canillo
        country:
          type: string
          description: ISO 3166-1 alpha-2
          example: AD
    Entity:
      type: object
      description: Common record for any business (full schema at /api/schema/entity.json).
      required:
      - id
      - entity_type
      - vertical
      - country
      - name
      - official_url
      properties:
        id:
          type: string
          description: '{country_code}-{vertical}-{slug}'
          example: ad-hotels-hotel-nordic
        entity_type:
          type: string
          const: business
        vertical:
          type: string
          example: hotels
        sector:
          type: string
          description: Legacy alias of vertical
          example: hotels
        subtype:
          type: string
          example: hotel
        schema_type:
          type: string
          description: schema.org type
          example: Hotel
        country:
          type: string
          description: ISO 3166-1 alpha-2
          example: AD
        country_slug:
          type: string
          example: andorra
        name:
          type: string
          example: Hotel Nòrdic
        location:
          $ref: '#/components/schemas/Location'
        official_url:
          type: string
          format: uri
        action_url:
          type: string
          format: uri
          description: Official website or booking engine with src=entityindex
        action_type:
          type: string
          example: book
        booking_engine_detected:
          type: array
          items:
            type: string
        contact:
          type: object
          properties:
            email:
              type: array
              items:
                type: string
            phone:
              type: array
              items:
                type: string
        attributes:
          type: object
          description: Vertical-specific attributes
          additionalProperties: true
        verified:
          type: object
          description: Verified facts keyed by field name (e.g. spa, pool, parking, ski_in_out).
          additionalProperties:
            $ref: '#/components/schemas/VerifiedFact'
        verification:
          type: object
          properties:
            status:
              type: string
              enum:
              - auto
              - manual
              - owner
            method:
              type: string
            checked:
              type: string
              format: date
            note:
              type: string
        url:
          type: string
          format: uri
        api:
          type: string
        pages:
          type: object
          description: Record page per language
          additionalProperties:
            type: string
            format: uri
        i18n:
          type: object
          description: Translated labels and notes per language
          additionalProperties: true
        license:
          $ref: '#/components/schemas/License'
  parameters:
    Vertical:
      name: vertical
      in: path
      required: true
      description: Vertical slug (see `listVerticals`).
      schema:
        type: string
        example: hotels
    Country:
      name: country
      in: path
      required: true
      description: Country slug (see `getEntityIndex`).
      schema:
        type: string
        example: andorra
  responses:
    ClientError:
      description: Client error, e.g. 404 when the country, vertical or entity does not exist.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: not_found
            status: 404
            message: No resource at /api/entities/andorra/hotels/unknown.json
            docs: https://entityindex.ai/openapi.yaml
externalDocs:
  description: Guide for LLMs and agents (llms.txt)
  url: https://entityindex.ai/en/llms.txt