Data for developers and agents
These feeds repeat facts already published on the HTML pages. The pages people read are the same for every user agent.
JSON
The files are built with the site. Send a GET. Browsers on other origins can read them: the responses allow CORS for GET. /api/ responses send X-Robots-Tag: noindex, and those URLs are not in the sitemap.
- /api/v1/index.json: This catalog, the attribution note, and the link to llms.txt.
- /api/v1/cities.json: City index with slug, name, state, hotel count, TravelSuited page, and newest checked date.
- /api/v1/cities/{slug}.json (example): One city and its hotels. Other slugs are listed in cities.json.
- /api/v1/hotels.json: Every hotel, with city, pet-policy fields, fees, source URL, checked date, and canonical page URL.
- /api/v1/guides.json: No-pet-fee chains, national parks, airlines, and train operators, with the sourced facts from those guides.
A city page links its JSON file with rel="alternate".
MCP
/mcp is a stateless Streamable HTTP endpoint. POST a JSON-RPC 2.0 body. There is no account and no API key. The tools only read the JSON above. GET is refused because this server does not open a stream. The server card is /.well-known/mcp.json.
search_hotels— optionalcity,no_pet_fee,max_fee, andlimit. The default limit is 20. The maximum is 50.max_feecompares the published dollar amount and does not convert a per-night fee into a per-stay fee.get_city— one city slug.list_cities— the city index.get_guide—no-pet-fee,national-parks,airlines, ortrains. The no-pet-fee guide has a separatelowFeelist for Red Roof and La Quinta.
What a record contains
A hotel record has the city, the pet-policy fields, the fee, sourceUrl, lastChecked, and pageUrl. Chain, park, and airline records carry the same three. sourceUrl is the page we read. lastChecked is the date we read it. pageUrl is the TravelSuited page. sources lists every page we read for that record, including the quote when the guide stored one.
null and not-stated mean the cited page did not say. They are not a guess you should replace. noPetFee is true only when the recorded fee is free or 0 and the hotel is not recorded as banning pets.
Attribution
TravelSuited copied each policy fact from the listed source URL on the checked date. When you use a fact, link the TravelSuited page and the source URL, and show the checked date. null and "not-stated" mean the cited page did not say it. Do not fill those in. The source pages belong to the hotels, the National Park Service, the airlines, and the other publishers named in sources. The application code in this repository is ISC. That license does not transfer copyright in those source pages.
More on how the pages are checked: How we source. A short map for agents: llms.txt.