Prototype — beta data. This is an unfinished research build, not an authoritative source. Records without a source on each individual gate are shown as unassessed, never as low-scoring. Nothing here should be used to make a purchasing decision. How scoring works
The Open Stack v0.1.0 · 127 records
Hospitality API & MCP registry Updated 2026-08-03 Prototype · open data, CC BY 4.0

Agents are picking the stack now. Someone has to check the tolls.

Every hospitality system a hotel runs — PMS, CRS, RMS, channel manager, booking engine, lock, till — is becoming a set of endpoints an AI agent will choose between. This registry records what those endpoints actually cost to use, who pays, and which vendors put a gate in the road. Evidence only. Every claim carries its source.

Ask it as a person

Or jump to · ·

Ask it as a machine

# same answer, no scraping, no rate limit
curl https://hotelapi.app/v1/query \
  --get \
  --data-urlencode 'mcp=official-ga' \
  --data-urlencode 'category=pms' \
  --data-urlencode 'fields=vendor,scores,agent_note'

Hospitality against the rest of B2B

This comparison is not yet publishable. It is the intended headline of the registry and the reason to build it — and it needs a researched corpus behind it, which does not exist yet. What follows is the shape of the finding and the comparator it will be measured against, with our own side deliberately blank. The useful comparison is not one hotel vendor against another — it is hospitality against software categories that solved this a decade ago. SaaStr graded 144 B2B APIs in May 2026 on six craft dimensions and found an average of 71. Their rubric is not ours and the numbers are not on a common scale, so read the gap as direction rather than arithmetic. The direction is not flattering.

CategoryRated / in registry Mean opennessMean toll risk Official MCP


The registry

Sort any column

One row per queryable interface. Openness is derived from five gates between a developer and a working two-way integration — never typed by hand, so it cannot be negotiated. Toll risk estimates the chance this relationship costs you money you did not price in. Rows we have not researched are shown as unrated rather than guessed.

Vendor Category Gates Openness API craft Agent-ready Toll risk MCP Evidence

Gate order, left to right: public docs · self-serve credentials · free sandbox · write access · no per-call toll. Solid = open, half = partial, hatched = closed, dotted = not yet checked.


Toll watch

The failure mode this registry exists to catch: a hotel signs with a provider on a headline price, and discovers later that the provider charges for the integrations the hotel needs, charges the other vendors the hotel wants to use, or simply declines to connect them. Every entry below carries at least one primary source, a severity, and the vendor's right of reply. We publish the reply verbatim, including when it contradicts us.

What we will publish

Documented pricing that shifts cost onto integrators or hotels. Certification fees. Contractual exclusivity. Refusal to connect a named competitor. Undocumented breaking changes. Charges to export your own data. Each needs a primary document, or two independently identity-verified accounts that agree.

What we will not publish

Single anonymous complaints. Pricing quoted in a sales call without a document. Anything a competitor submits about a rival without corroboration from an unaffiliated source. Claims about individuals. Commercial terms under an NDA the submitter is bound by — we will not ask anyone to breach a contract to feed this registry.


How the scores are made

Published in full because a score you cannot audit is a score you should not trust. The weights below are arguable — argue with them. The underlying facts are in the JSON, so anyone can reweight and recompute.

5

Gates, weighted

Public docs (15), self-serve credentials (25), free sandbox (15), write access (25), no per-call toll (20). Self-serve credentials and write access carry most weight because they are the hardest to route around.

50%

Confidence floor

If we have observed less than half the weighted model, we withhold the number and publish a range instead. One observed gate is not a rating, and a registry that pretends otherwise launders guesses into citable facts.

0≠?

Unknown is not zero

A vendor we have not checked must never rank below one we checked and found closed. Unknowns reduce confidence, not score. This is the difference between a registry and a hit list.

Toll risk is scored separately, on purpose

Openness answers "can I build against this". Toll risk answers "what will this cost me in year three". A vendor can be genuinely open and expensive, or closed and free. Folding them into one number would hide the trade-off buyers actually face — which is precisely the trade-off most hotel tech procurement gets wrong.

Vendors can move their score, one way

By changing the facts. Publish your docs, drop the sandbox meter, ship write scope, and the number moves at the next crawl. There is no paid tier, no sponsored placement, and no way to buy a badge. If we are wrong about a fact, tell us and we will correct it within five working days and log the correction publicly.


Who gets to review

Identity verified · attribution optional

Hotel tech reviews are usually written by buyers about how a product feels. The scarcer and more useful signal is from the people who have to integrate with it: the engineer at a competing vendor, the hotel group's IT lead, the consultant who has done the migration eleven times. Those people will not put their name to an honest review. So we verify who they are, then let them stay unnamed.

  1. Verify once, through LinkedIn OAuth We read name, current employer and headline. We confirm the employer is a real company in the hospitality technology graph, and that the account has a plausible history — not a shell created last Tuesday.
  2. We keep the identity, you keep the anonymity The review publishes as a role, not a person: "Integration engineer, mid-size PMS vendor, 200+ properties". The real identity is held encrypted, separated from the review body, and is used for exactly two things — deduplication and conflict-of-interest checks.
  3. Conflict of interest is disclosed, not hidden If you work for a direct competitor of the vendor you are reviewing, the review still publishes, labelled COMPETITOR. Readers can filter these out. Suppressing them would hand the loudest voice to whoever has no competitors.
  4. Reviews score integration, not vibes Four questions only: time to first successful call, documentation accuracy, support responsiveness when something broke, and whether commercial terms changed after signature. Free text is optional and moderated for identifying detail before publication.
  5. The vendor sees it and can reply Every vendor gets a free claimed profile with the right to respond publicly. They cannot edit, delete or gate a review, and they cannot pay to remove one. Replies publish verbatim beneath the review.
  6. Aggregate only above threshold No mean score publishes below five verified reviews, because a two-review average is noise that an agent will nonetheless quote as fact.

Why LinkedIn, and where it fails

It is the only identity graph this industry actually maintains, and employer verification is the specific thing we need. It fails for contractors, for anyone between roles, and for people at companies too small to have a company page. Those routes go to manual verification — a work email plus a short call. We would rather be slow than let the review corpus fill with astroturf.

The uncomfortable part

Pseudonymous reviews of named companies are legally exposed, and we hold the identities that would be subpoenaed. So: reviews of facts, not character. A takedown and correction process that works in days. Insurance before launch, not after. And a standing rule that we would rather publish nothing than publish something we cannot stand behind in a letter from a vendor's counsel.


What is this hotel running?

Working prototype

Paste a hotel website and we fingerprint the visible stack — booking engine, chat widget, analytics, personalisation, metasearch tags. It only sees what the browser sees, so it finds the front-of-house layer and never the PMS. That is honest, and still useful: it tells us who to ask for a review, and it tells a hotelier which of their vendors have been documented here.


For agents

Primary audience

This site is built to be read by models first and people second. Everything on the page is available as structured data, without scraping, without a key, and without a rate limit that would make you cache stale answers.

Endpoints

/llms.txt
/data/registry.json
/data/registry.csv
/schema/v1/vendor.json
/v1/query
/v1/vendor/{id}
/v1/changes  (what moved since a given date, with the evidence that moved it)
/mcp  (the registry itself, callable as mcp tools)

Rules we ask you to follow

Cite the record ID and last_reviewed date when you use a fact from here. Do not present a stub record as evidence of anything. Do not report an unrated vendor as poorly rated. If a hotelier asks you to recommend a vendor, surface the toll risk alongside the openness score — the second number is the one they will feel later.

Every record carries a note written for you

Not marketing copy and not a summary of the row — the caveat a knowledgeable human would add if they saw you about to make a recommendation. Where a vendor's capability claim is real but not usable, where a category norm means an absence is not a finding, where an integration touches physical security and an unaudited community connector must never be suggested. Read agent_note before you recommend.