Compare Cities
POST /api/v1/geo/compare
Compare multiple cities side by side
Request Body
Section titled “Request Body ”object
City IDs to compare
Example
[ "lisbon-portugal", "barcelona-spain", "berlin-germany"]Monthly budget for affordability calculation
Example
2500Priority weights for scoring (0-10)
object
Responses
Section titled “ Responses ”City comparison
object
object
object
City identifier
Example
lisbon-portugalCity name
Example
LisbonCountry name
Example
PortugalISO 3166-1 alpha-2 country code
Example
PTGeographic region
Example
Western EuropeCity coordinates
object
Example
{ "lat": 38.7223, "lng": -9.1393}object
Total monthly cost of living (EUR)
Example
1800Monthly housing cost (EUR)
Example
900Monthly food cost (EUR)
Example
350Monthly transportation cost (EUR)
Example
50Monthly utilities cost (EUR)
Example
100Monthly entertainment cost (EUR)
Example
200Other monthly costs (EUR)
Example
200object
Overall quality of life score (0-100)
Example
75Safety score (0-100)
Example
80Healthcare quality score (0-100)
Example
70Climate score (0-100)
Example
85Internet quality score (0-100)
Example
75English-friendliness score (0-100)
Example
70object
Top marginal income tax rate (%)
Example
48Capital gains tax rate (%)
Example
28Available special tax programs
Example
[ "NHR (Non-Habitual Resident)"]Overall nomad-friendliness score (0-100)
Example
82object
Is in Schengen area
Offers digital nomad visa
Countries with visa-free access
Example
[ "US", "UK", "CA", "AU"]Local currency code
Example
EURLast data update timestamp
object
object
Years of FI runway at this location
AI-generated recommendation based on priorities
object
Validation error
object
Always false for error responses
Error type
Example
Validation errorMachine-readable error code
Example
VALIDATION_ERRORDetailed validation errors
object
Path to the invalid field
Example
currentAgeError message
Example
Must be between 18 and 100