POSTbudgetatlas/v1/compare_city_costsverifiedsync

Compare covered cities for a stay of N days, or for exact dates. Returns per-city lodging and meal components, a lodging + meals subtotal, the assumptions and formulas used, observed ranges, sample sizes, source coverage, freshness, and the categories that are explicitly NOT included. This is not a cost-of-living total. A priced call is settled only when the response contains observations; a no-data answer (`no_data_reason` set) is returned unbilled, marked by the `X-BUDGETATLAS-BILLED` response header.

Provider rate: $0.005 per call
Billed: $0.0055 per call ($0.005 + 10% fee)

Call get_dataset_coverage first. It is free and lists the cities and cohorts that exist.

An answer with no data (no_data_reason set) is not settled upstream. OpenTools bills zero for it.

Provider documentation →

Input schema

citiesarray

City IDs such as 'th-bangkok'. Call get_dataset_coverage for the covered list.

countriesarray

ISO 3166-1 alpha-2 country codes, e.g. ['TH','VN'].

daysinteger

Number of days/nights to price. Ignored in exact mode.

checkinstring

Exact mode: use with checkout.

checkoutstring
peopleinteger
roomsinteger
lodging_typesarray
min_rating_fractionnumber
min_review_countinteger
componentsarray

Which components the subtotal covers. Pass ['meals'] to get a complete meals-only answer for cities that have meal prices but no lodging price, instead of a null lodging+meals subtotal. The returned subtotal_label always names exactly what the figure contains.

meals_per_person_per_daynumber

Caller's assumption. BudgetAtlas does not infer how often someone eats out.

freshness_daysinteger

Only use observations collected within this many days.

Use this exact tool

Every snippet below names budgetatlas/v1/compare_city_costs, so an agent runs this endpoint instead of searching for something similar.

Paste into your agent
Use the OpenTools tool budgetatlas/v1/compare_city_costs (https://opentools.fulinlabs.com/tools/budgetatlas/v1/compare_city_costs?method=POST). Connect to the OpenTools MCP server at https://opentools.fulinlabs.com/mcp (or install the CLI with `npm i -g @aeither/opentools`). Do not search the catalog — call `inspect` with provider "budgetatlas" and endpoint "/v1/compare_city_costs" and method "POST" for the input schema, then `run` with the same provider and endpoint.
CLI
opentools run -p budgetatlas -e /v1/compare_city_costs --method POST -i '{"body":{"cities":[],"countries":[],"days":0,"checkin":"","checkout":"","people":0,"rooms":0,"lodging_types":[],"min_rating_fraction":0,"min_review_count":0,"components":[],"meals_per_person_per_day":0,"freshness_days":0}}' -w
HTTP
curl -X POST https://opentools.fulinlabs.com/v1/run \
  -H "Authorization: Bearer opentools_live_..." \
  -H "content-type: application/json" \
  -d '{"provider":"budgetatlas","endpoint":"/v1/compare_city_costs","method":"POST","input":{"body":{"cities":[],"countries":[],"days":0,"checkin":"","checkout":"","people":0,"rooms":0,"lodging_types":[],"min_rating_fraction":0,"min_review_count":0,"components":[],"meals_per_person_per_day":0,"freshness_days":0}}}'

Connect

Skill
set up https://opentools.fulinlabs.com/SKILL.md
MCP
https://opentools.fulinlabs.com/mcp
CLI
npm i -g @aeither/opentools

Share this tool

Send this link to whoever should use it. It carries the schema, the price, and the snippets above — they need an OpenTools key and a balance, nothing from you.

https://opentools.fulinlabs.com/tools/budgetatlas/v1/compare_city_costs?method=POST