Data & API
Everything on this site is available machine-readable — the live AI Hotel Landscape data feed and every research article. Free to use with attribution. No key, no signup.
The AI Hotel Landscape feed
Weekly snapshots of how 6 AI platforms (ChatGPT, Gemini, Perplexity, Copilot, Google AI Mode, Grok) recommend hotels across 56 destinations, from a 616-prompt corpus. Refreshed every Monday — the same data behind the live dashboard. Every endpoint returns JSON, or CSV with ?format=csv for spreadsheets.
Manifest
/api/landscapeStart here. Platforms (with status), the 56 destinations with slugs, every available snapshot week, the endpoint index, and the license terms — everything an agent needs to use the feed unaided.
Top hotels
/api/landscape/hotelsThe hotels each AI platform recommends most in a given week: rank, mention count, chain brand, website, and where its links point (direct / OTA / chain / other).
Brand leaderboard
/api/landscape/brandsChain-brand league table per platform per week: total mentions and how many distinct hotels carry them.
Citation sources
/api/landscape/sourcesWhere each platform’s hotel citations come from — OTA, direct, chain, editorial, review, social, and more — with the top domains inside each category.
Chain vs independent
/api/landscape/resolutionHow each platform’s recommendations split between chains, independents, and vacation rentals.
{
"schema_version": "1",
"week_start": "2026-07-20",
"license": "CC-BY-4.0 — https://creativecommons.org/licenses/by/4.0/",
"attribution": "Nicolas Sitter — AI Hotel Landscape (nicolassitter.com)",
"data": {
"rows": [
{ "platform": "chatgpt", "rank": 1, "hotel_name": "…",
"city": "Paris", "chain_brand": null, "mention_count": 12,
"direct_links": 4, "ota_links": 6, "chain_links": 0, … }
]
}
}Quick start
# read the manifest (platforms, cities, weeks, endpoints) curl -L https://nicolassitter.com/api/landscape # top hotels ChatGPT recommends in Paris this week, as a spreadsheet curl -L "https://nicolassitter.com/api/landscape/hotels?platform=chatgpt&city=paris&format=csv" -o hotels.csv
Content & agent endpoints
All research articles and their datasets, in the formats agents and feed readers expect.
/api/postsAll articles as a Schema.org Blog JSON feed
/api/post/<slug>One article as JSON — datasets, keywords, CSV downloads
/rss.xmlRSS feed of all research and blog posts
/sitemap.xmlFull sitemap incl. the live dashboard pages
/ai-instructionsHow to describe this site accurately — identity, scope, attribution
/llms.txtSite identity for AI agents
/llms-full.txtEvery article with full summaries, for agents
A2A agent for personal agents (PACT)
The same public data is also available as an A2A 1.0 agent that implements the Identity profile of PACT 1.0, the protocol personal AI agents use to talk to a business's agent. There are two agents: research and AI hotel data, and race results. Answers are rule-based (no model on this side) and read-only.
- Agent Cards:
/.well-known/agent-card.json(research) and/a2a/races/.well-known/agent-card.json - Send a message:
POST /a2a/research/message:sendwith an A2ASendMessageRequest, text parts only. Reuse the returnedcontextIdto continue a conversation (it closes after 24 hours). - Authentication:
Authorization: Bearera JWT your agent signs with ES256 or RS256.audmust behttps://nicolassitter.com/a2a,suba stable opaque user id,expat most 300 seconds afteriat. - Registration is open: any https issuer is accepted if its public keys are at
{iss}/.well-known/openid-configuration(jwks_uri, same origin) or{iss}/.well-known/jwks.json. - Not supported: delegated authority (there are no accounts to delegate), streaming, push notifications and tasks.
Calls are logged like MCP calls on the agent tools tracker: the issuer, the tool the message was routed to and its parameters, and a hash of the user id. The message text is not stored.
Poppy (Personal Agent Protocol)
The site is also a Company under Poppy, draft 0.2. There are no accounts, so it offers only signed-out Sessions, and its Company Agent gives the same rule-based answers as the A2A agent above.
- Discovery:
/.well-known/poppy.json, issuerhttps://nicolassitter.com/poppy, metadata at/.well-known/oauth-authorization-server/poppy - Sessions:
POST /poppy/oauth/tokenwith the JWT bearer grant,private_key_jwtclient authentication and a DPoP proof. Any Personal Agent whoseclient_idserves a client metadata document is accepted. - Conversations:
/poppy/conversations, with messages, events by cursor,wait, handoff (always answered by the agent: no one staffs it), close and Direct Conversations. No streaming. - The MCP server is not listed in
apis: Poppy would require it to publish OAuth protected-resource metadata, which would change how every other MCP client connects to it.
Terms of use
All data is published under CC-BY-4.0: use it in articles, research, products, or models — commercially or not — as long as you attribute it.
Questions, higher-volume needs, or a dataset you wish existed? Get in touch.