EntityIndex.ai Entities API
Lists and records of verified businesses.
Lists and records of verified businesses.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/entityindex-ai:entityindex-ai-entities-api"
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.
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: 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