Read-only European city sights: search, nearby, walking routes and itineraries in 6 languages.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional. 'Bearer ggk_...' free key from https://gingerguide.app/developers/#api-key raises the daily limit. The server works without it.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Compare two to four covered cities side by side, e.g. "Porto or Lisbon?" or "Seville vs Granada for Moorish history". Gives each city's sight count, days needed, strongest interests and historical periods, share of indoor sights and headline sights, says which city is stronger for each interest or period, and the distance between them. Based on the sight catalog only: not prices, weather, nightlife or beaches.
Two to four city ids or names, e.g. ["porto","lisbon"].
Historical periods to favour, e.g. ["byzantine"] or ["roman","renaissance"].
Language of names and descriptions: en, es, fr, de, tr or zh.
Traveler interests to favour, e.g. ["history","architecture"].
Days available; the answer says how much of each city fits.
Compare two to four covered cities side by side, e.g. "Porto or Lisbon?" or "Seville vs Granada for Moorish history". Gives each city's sight count, days needed, strongest interests and historical periods, share of indoor sights and headline sights, says which city is stronger for each interest or period, and the distance between them. Based on the sight catalog only: not prices, weather, nightlife or beaches.
| Argument | Type | Description |
|---|---|---|
| periods | array | Historical periods to favour, e.g. ["byzantine"] or ["roman","renaissance"]. |
| city_ids* | array | Two to four city ids or names, e.g. ["porto","lisbon"]. |
| language | string | Language of names and descriptions: en, es, fr, de, tr or zh. |
| interests | array | Traveler interests to favour, e.g. ["history","architecture"]. |
| trip_days | integer | Days available; the answer says how much of each city fits. |
{
"type": "object",
"required": [
"city_ids"
],
"properties": {
"periods": {
"type": "array",
"items": {
"enum": [
"prehistoric",
"ancient_greek",
"etruscan",
"roman",
"byzantine",
"medieval",
"gothic",
"moorish_islamic",
"ottoman",
"renaissance",
"baroque",
"georgian_neoclassical",
"nineteenth_century",
"art_nouveau",
"twentieth_century_modern",
"world_war_ii",
"cold_war"
],
"type": "string"
},
"description": "Historical periods to favour, e.g. [\"byzantine\"] or [\"roman\",\"renaissance\"]."
},
"city_ids": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 4,
"minItems": 2,
"description": "Two to four city ids or names, e.g. [\"porto\",\"lisbon\"]."
},
"language": {
"enum": [
"en",
"es",
"fr",
"de",
"tr",
"zh"
],
"type": "string",
"default": "en",
"description": "Language of names and descriptions: en, es, fr, de, tr or zh."
},
"interests": {
"type": "array",
"items": {
"enum": [
"history",
"architecture",
"art",
"museums",
"religious_sites",
"archaeology",
"nature",
"views",
"food",
"local_life",
"shopping",
"relaxing",
"royalty",
"military",
"music",
"literature",
"science",
"performing_arts",
"memorials"
],
"type": "string"
},
"description": "Traveler interests to favour, e.g. [\"history\",\"architecture\"]."
},
"trip_days": {
"type": "integer",
"maximum": 14,
"minimum": 1,
"description": "Days available; the answer says how much of each city fits."
}
}
}Day trips from a base city to other covered cities and towns nearby, e.g. "day trips from Florence" or "a day trip from Munich for castles". Ranks destinations by distance, fit with the traveler's interests and periods, and fame, and lists what to see there in one day. Distances are straight-line; travel times are not included because trains, mountains and ferries change them a lot. Only covered cities are listed.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| city_id* | string | Base city id, e.g. "florence". |
| periods | array | Historical periods to favour, e.g. ["byzantine"] or ["roman","renaissance"]. |
| language | string | Language of names and descriptions: en, es, fr, de, tr or zh. |
| interests | array | Traveler interests to favour, e.g. ["history","architecture"]. |
| hours_on_site | number | Hours to spend at the destination; sets how many highlights are listed. |
| max_distance_km | integer | Furthest straight-line distance to consider. Default 250. |
Sights closest to a latitude/longitude (for example the traveler's hotel or current position), sorted by walking time, optionally filtered by interests or category. If nothing is within the radius, returns the nearest covered city.
| Argument | Type | Description |
|---|---|---|
| lat* | number | |
| lng* | number | |
| pace | string | Walking pace: relaxed (3.5 km/h), normal (4.5 km/h) or brisk (5.5 km/h). |
| limit | integer | |
| language | string | Language of names and descriptions: en, es, fr, de, tr or zh. |
| interests | array | Traveler interests to favour, e.g. ["history","architecture"]. |
| radius_km | number | |
| categories | array |
{
"type": "object",
"required": [
"lat",
"lng"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"lng": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"pace": {
"enum": [
"relaxed",
"normal",
"brisk"
],
"type": "string",
"default": "normal",
"description": "Walking pace: relaxed (3.5 km/h), normal (4.5 km/h) or brisk (5.5 km/h)."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 30,
"minimum": 1
},
"language": {
"enum": [
"en",
"es",
"fr",
"de",
"tr",
"zh"
],
"type": "string",
"default": "en",
"description": "Language of names and descriptions: en, es, fr, de, tr or zh."
},
"interests": {
"type": "array",
"items": {
"enum": [
"history",
"architecture",
"art",
"museums",
"religious_sites",
"archaeology",
"nature",
"views",
"food",
"local_life",
"shopping",
"relaxing",
"royalty",
"military",
"music",
"literature",
"science",
"performing_arts",
"memorials"
],
"type": "string"
},
"description": "Traveler interests to favour, e.g. [\"history\",\"architecture\"]."
},
"radius_km": {
"type": "number",
"default": 2,
"maximum": 50,
"minimum": 0.1
},
"categories": {
"type": "array",
"items": {
"enum": [
"historic",
"religious",
"park",
"museum",
"landmark",
"bridge",
"palace",
"market",
"university",
"village",
"distillery",
"ruins",
"garden",
"castle",
"nature",
"monument",
"square",
"theater"
],
"type": "string"
}
}
}
}Full details for one sight: long description, a notable fact, photo, coordinates, map links, visit minutes, and the nearest other sights with walking minutes. Use the attraction id from search_attractions or get_city_guide.
| Argument | Type | Description |
|---|---|---|
| language | string | Language of names and descriptions: en, es, fr, de, tr or zh. |
| attraction_id* | string | Sight id, e.g. "rome-colosseum". |
{
"type": "object",
"required": [
"attraction_id"
],
"properties": {
"language": {
"enum": [
"en",
"es",
"fr",
"de",
"tr",
"zh"
],
"type": "string",
"default": "en",
"description": "Language of names and descriptions: en, es, fr, de, tr or zh."
},
"attraction_id": {
"type": "string",
"description": "Sight id, e.g. \"rome-colosseum\"."
}
}
}Coverage of the Gingerguide catalog: number of cities, sights and countries, supported languages, and the exact values accepted by the category, interests and periods filters of the other tools. Call it first when unsure whether a city or filter value is supported.
No arguments.
{
"type": "object",
"properties": {}
}One city's guide: overview, headline sights, lesser-known sights, and every sight with category, coordinates, visit minutes and a one-line description. Set detail to "full" to add the long description of every sight (large response).
| Argument | Type | Description |
|---|---|---|
| detail | string | |
| city_id* | string | Gingerguide city id, e.g. "rome" or "istanbul" (from search_cities). |
| language | string | Language of names and descriptions: en, es, fr, de, tr or zh. |
{
"type": "object",
"required": [
"city_id"
],
"properties": {
"detail": {
"enum": [
"summary",
"full"
],
"type": "string",
"default": "summary"
},
"city_id": {
"type": "string",
"description": "Gingerguide city id, e.g. \"rome\" or \"istanbul\" (from search_cities)."
},
"language": {
"enum": [
"en",
"es",
"fr",
"de",
"tr",
"zh"
],
"type": "string",
"default": "en",
"description": "Language of names and descriptions: en, es, fr, de, tr or zh."
}
}
}Practical facts for visiting one city: best months and crowd seasons, climate, annual events that change a visit, how to get from the airport, main station or cruise port to the centre (typical minutes), city passes, which sights are free, which need booking ahead, weekly closing days and dress codes. Every fact has a source and a check date. No prices or opening hours. Researched for some cities only; the answer says when a city is not covered yet.
| Argument | Type | Description |
|---|---|---|
| topics | array | Sections to return; default all. |
| city_id* | string | Gingerguide city id, e.g. "rome" or "istanbul" (from search_cities). |
| language | string | Language of names and descriptions: en, es, fr, de, tr or zh. |
{
"type": "object",
"required": [
"city_id"
],
"properties": {
"topics": {
"type": "array",
"items": {
"enum": [
"best_time",
"getting_there",
"city_passes",
"free_sights",
"book_ahead",
"closed_days",
"dress_codes"
],
"type": "string"
},
"description": "Sections to return; default all."
},
"city_id": {
"type": "string",
"description": "Gingerguide city id, e.g. \"rome\" or \"istanbul\" (from search_cities)."
},
"language": {
"enum": [
"en",
"es",
"fr",
"de",
"tr",
"zh"
],
"type": "string",
"default": "en",
"description": "Language of names and descriptions: en, es, fr, de, tr or zh."
}
}
}List covered countries with the ids of their cities.
No arguments.
{
"type": "object",
"properties": {}
}Multi-day plan for one city: each day covers one or two walkable areas (with a public-transport hop between them), ordered as walking routes, plus sights that did not fit. Example: "three days in Vienna for art and music lovers".
| Argument | Type | Description |
|---|---|---|
| days | integer | |
| pace | string | Walking pace: relaxed (3.5 km/h), normal (4.5 km/h) or brisk (5.5 km/h). |
| style | string | must_see favours each city's headline sights, hidden_gems favours lesser-known ones, balanced mixes both. |
| city_id* | string | Gingerguide city id, e.g. "rome" or "istanbul" (from search_cities). |
| periods | array | Historical periods to favour, e.g. ["byzantine"] or ["roman","renaissance"]. |
| language | string | Language of names and descriptions: en, es, fr, de, tr or zh. |
| interests | array | Traveler interests to favour, e.g. ["history","architecture"]. |
| start_time | string | |
Build an ordered self-guided walking route in one city that fits a time budget, e.g. "a two-hour historical walk in Rome". Picks sights by interests, periods and style, orders them to keep walking short, and returns each stop with walking minutes, suggested time on site, clock times and a Google Maps walking link.
| Argument | Type | Description |
|---|---|---|
| pace | string | Walking pace: relaxed (3.5 km/h), normal (4.5 km/h) or brisk (5.5 km/h). |
| style | string | must_see favours each city's headline sights, hidden_gems favours lesser-known ones, balanced mixes both. |
| city_id* | string | Gingerguide city id, e.g. "rome" or "istanbul" (from search_cities). |
| periods | array | Historical periods to favour, e.g. ["byzantine"] or ["roman","renaissance"]. |
| setting | string | |
| weekday | string | Day of the week of the visit. Sights known to be closed that day are left out (closing days are researched for some cities only). |
| language | string | Language of names and descriptions: en, es, fr, de, tr or zh. |
| interests |
Personalized picks in one city for a traveler's interests, favourite periods, preference for headline sights or hidden gems, indoor or outdoor, and time available. Each pick says why it was chosen. Use plan_walking_tour instead when the traveler wants an ordered route.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| style | string | must_see favours each city's headline sights, hidden_gems favours lesser-known ones, balanced mixes both. |
| city_id* | string | Gingerguide city id, e.g. "rome" or "istanbul" (from search_cities). |
| periods | array | Historical periods to favour, e.g. ["byzantine"] or ["roman","renaissance"]. |
| setting | string | |
| language | string | Language of names and descriptions: en, es, fr, de, tr or zh. |
| interests | array | Traveler interests to favour, e.g. ["history","architecture"]. |
| exclude_ids | array | Sights already seen. |
Suggest covered European cities that fit a traveler's interests or favourite historical periods, e.g. "best cities for Byzantine history" or "a city break for art and food in Spain". Ranks cities by how many of their sights match, and says why.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| country | string | Restrict to one country. |
| periods | array | Historical periods to favour, e.g. ["byzantine"] or ["roman","renaissance"]. |
| interests | array | Traveler interests to favour, e.g. ["history","architecture"]. |
| trip_days | integer | Days available; cities with far more or far fewer sights rank lower. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 5,
"maximum": 20,
"minimum": 1
},
"country": {
"type": "string",
"description": "Restrict to one country."
},
"periods": {
"type": "array",
"items": {
"enum": [
"prehistoric",
"ancient_greek",
"etruscan",
"roman",
"byzantine",
"medieval",
"gothic",
"moorish_islamic",
"ottoman",
"renaissance",
"baroque",
"georgian_neoclassical",
"nineteenth_century",
"art_nouveau",
"twentieth_century_modern",
"world_war_ii",
"cold_war"
],
"type": "string"
},
"description": "Historical periods to favour, e.g. [\"byzantine\"] or [\"roman\",\"renaissance\"]."
},
"interests": {
"type": "array",
"items": {
"enum": [
"history",
"architecture",
"art",
"museums",
"religious_sites",
"archaeology",
"nature",
"views",
"food",
"local_life",
"shopping",
"relaxing",
"royalty",
"military",
"music",
"literature",
"science",
"performing_arts",
"memorials"
],
"type": "string"
},
"description": "Traveler interests to favour, e.g. [\"history\",\"architecture\"]."
},
"trip_days": {
"type": "integer",
"maximum": 14,
"minimum": 1,
"description": "Days available; cities with far more or far fewer sights rank lower."
}
}
}Search individual sights across all cities or within one city, by free text, category, interests, historical period, indoor/outdoor, visit length, free entry or distance from a point. Example: five Byzantine sights in Istanbul, Gothic churches in Spain, or free things to do in Rome. Returns name, description, coordinates, visit minutes and page URL for each match.
| Argument | Type | Description |
|---|---|---|
| sort | string | |
| limit | integer | |
| query | string | Free text, e.g. "mosaics", "Gothic cathedral", "Hagia Sophia". |
| city_id | string | Gingerguide city id, e.g. "rome" or "istanbul" (from search_cities). |
| country | string | Restrict to one country. |
| periods | array | Historical periods to favour, e.g. ["byzantine"] or ["roman","renaissance"]. |
| setting | string | indoor suits rainy or hot days. |
| language | string | Language of names and descriptions: en, es, fr, de, tr or zh. |
Find covered European cities by name (in any of the six languages), country or region. Returns the city id needed by the other tools, sight count, summary and web guide URL. Omit query to list all cities.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query | string | City, country or region text, e.g. "Seville" or "Portugal". |
| country | string | Restrict to this country, e.g. "Italy". |
| language | string | Language of names and descriptions: en, es, fr, de, tr or zh. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 200,
"minimum": 1
},
"query": {
"type": "string",
"description": "City, country or region text, e.g. \"Seville\" or \"Portugal\"."
},
"country": {
"type": "string",
"description": "Restrict to this country, e.g. \"Italy\"."
},
"language": {
"enum": [
"en",
"es",
"fr",
"de",
"tr",
"zh"
],
"type": "string",
"default": "en",
"description": "Language of names and descriptions: en, es, fr, de, tr or zh."
}
}
}{
"type": "object",
"required": [
"city_id"
],
"properties": {
"limit": {
"type": "integer",
"default": 6,
"maximum": 12,
"minimum": 1
},
"city_id": {
"type": "string",
"description": "Base city id, e.g. \"florence\"."
},
"periods": {
"type": "array",
"items": {
"enum": [
"prehistoric",
"ancient_greek",
"etruscan",
"roman",
"byzantine",
"medieval",
"gothic",
"moorish_islamic",
"ottoman",
"renaissance",
"baroque",
"georgian_neoclassical",
"nineteenth_century",
"art_nouveau",
"twentieth_century_modern",
"world_war_ii",
"cold_war"
],
"type": "string"
},
"description": "Historical periods to favour, e.g. [\"byzantine\"] or [\"roman\",\"renaissance\"]."
},
"language": {
"enum": [
"en",
"es",
"fr",
"de",
"tr",
"zh"
],
"type": "string",
"default": "en",
"description": "Language of names and descriptions: en, es, fr, de, tr or zh."
},
"interests": {
"type": "array",
"items": {
"enum": [
"history",
"architecture",
"art",
"museums",
"religious_sites",
"archaeology",
"nature",
"views",
"food",
"local_life",
"shopping",
"relaxing",
"royalty",
"military",
"music",
"literature",
"science",
"performing_arts",
"memorials"
],
"type": "string"
},
"description": "Traveler interests to favour, e.g. [\"history\",\"architecture\"]."
},
"hours_on_site": {
"type": "number",
"default": 5,
"maximum": 10,
"minimum": 2,
"description": "Hours to spend at the destination; sets how many highlights are listed."
},
"max_distance_km": {
"type": "integer",
"default": 250,
"maximum": 400,
"minimum": 10,
"description": "Furthest straight-line distance to consider. Default 250."
}
}
}| hours_per_day |
| number |
| start_weekday | string | Day of the week of day 1. Each day leaves out sights known to be closed that day. |
{
"type": "object",
"required": [
"city_id"
],
"properties": {
"days": {
"type": "integer",
"default": 2,
"maximum": 7,
"minimum": 1
},
"pace": {
"enum": [
"relaxed",
"normal",
"brisk"
],
"type": "string",
"default": "normal",
"description": "Walking pace: relaxed (3.5 km/h), normal (4.5 km/h) or brisk (5.5 km/h)."
},
"style": {
"enum": [
"must_see",
"balanced",
"hidden_gems"
],
"type": "string",
"default": "balanced",
"description": "must_see favours each city's headline sights, hidden_gems favours lesser-known ones, balanced mixes both."
},
"city_id": {
"type": "string",
"description": "Gingerguide city id, e.g. \"rome\" or \"istanbul\" (from search_cities)."
},
"periods": {
"type": "array",
"items": {
"enum": [
"prehistoric",
"ancient_greek",
"etruscan",
"roman",
"byzantine",
"medieval",
"gothic",
"moorish_islamic",
"ottoman",
"renaissance",
"baroque",
"georgian_neoclassical",
"nineteenth_century",
"art_nouveau",
"twentieth_century_modern",
"world_war_ii",
"cold_war"
],
"type": "string"
},
"description": "Historical periods to favour, e.g. [\"byzantine\"] or [\"roman\",\"renaissance\"]."
},
"language": {
"enum": [
"en",
"es",
"fr",
"de",
"tr",
"zh"
],
"type": "string",
"default": "en",
"description": "Language of names and descriptions: en, es, fr, de, tr or zh."
},
"interests": {
"type": "array",
"items": {
"enum": [
"history",
"architecture",
"art",
"museums",
"religious_sites",
"archaeology",
"nature",
"views",
"food",
"local_life",
"shopping",
"relaxing",
"royalty",
"military",
"music",
"literature",
"science",
"performing_arts",
"memorials"
],
"type": "string"
},
"description": "Traveler interests to favour, e.g. [\"history\",\"architecture\"]."
},
"start_time": {
"type": "string",
"default": "09:30",
"pattern": "^([01]?\\d|2[0-3]):[0-5]\\d$"
},
"hours_per_day": {
"type": "number",
"default": 6,
"maximum": 12,
"minimum": 2
},
"start_weekday": {
"enum": [
"mon",
"tue",
"wed",
"thu",
"fri",
"sat",
"sun"
],
"type": "string",
"description": "Day of the week of day 1. Each day leaves out sights known to be closed that day."
}
}
}| array |
| Traveler interests to favour, e.g. ["history","architecture"]. |
| start_lat | number |
| start_lng | number |
| start_time | string | Local start time, HH:MM. |
| exclude_ids | array |
| must_include | array | Sight ids that must be on the route. |
| duration_minutes | integer |
| start_attraction_id | string | Start at this sight instead of a coordinate. |
{
"type": "object",
"required": [
"city_id"
],
"properties": {
"pace": {
"enum": [
"relaxed",
"normal",
"brisk"
],
"type": "string",
"default": "normal",
"description": "Walking pace: relaxed (3.5 km/h), normal (4.5 km/h) or brisk (5.5 km/h)."
},
"style": {
"enum": [
"must_see",
"balanced",
"hidden_gems"
],
"type": "string",
"default": "balanced",
"description": "must_see favours each city's headline sights, hidden_gems favours lesser-known ones, balanced mixes both."
},
"city_id": {
"type": "string",
"description": "Gingerguide city id, e.g. \"rome\" or \"istanbul\" (from search_cities)."
},
"periods": {
"type": "array",
"items": {
"enum": [
"prehistoric",
"ancient_greek",
"etruscan",
"roman",
"byzantine",
"medieval",
"gothic",
"moorish_islamic",
"ottoman",
"renaissance",
"baroque",
"georgian_neoclassical",
"nineteenth_century",
"art_nouveau",
"twentieth_century_modern",
"world_war_ii",
"cold_war"
],
"type": "string"
},
"description": "Historical periods to favour, e.g. [\"byzantine\"] or [\"roman\",\"renaissance\"]."
},
"setting": {
"enum": [
"indoor",
"outdoor",
"any"
],
"type": "string",
"default": "any"
},
"weekday": {
"enum": [
"mon",
"tue",
"wed",
"thu",
"fri",
"sat",
"sun"
],
"type": "string",
"description": "Day of the week of the visit. Sights known to be closed that day are left out (closing days are researched for some cities only)."
},
"language": {
"enum": [
"en",
"es",
"fr",
"de",
"tr",
"zh"
],
"type": "string",
"default": "en",
"description": "Language of names and descriptions: en, es, fr, de, tr or zh."
},
"interests": {
"type": "array",
"items": {
"enum": [
"history",
"architecture",
"art",
"museums",
"religious_sites",
"archaeology",
"nature",
"views",
"food",
"local_life",
"shopping",
"relaxing",
"royalty",
"military",
"music",
"literature",
"science",
"performing_arts",
"memorials"
],
"type": "string"
},
"description": "Traveler interests to favour, e.g. [\"history\",\"architecture\"]."
},
"start_lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"start_lng": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"start_time": {
"type": "string",
"pattern": "^([01]?\\d|2[0-3]):[0-5]\\d$",
"description": "Local start time, HH:MM."
},
"exclude_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"must_include": {
"type": "array",
"items": {
"type": "string"
},
"description": "Sight ids that must be on the route."
},
"duration_minutes": {
"type": "integer",
"default": 180,
"maximum": 720,
"minimum": 30
},
"start_attraction_id": {
"type": "string",
"description": "Start at this sight instead of a coordinate."
}
}
}| available_minutes |
| integer |
| Total visit time available; picks stop when it is used up. |
{
"type": "object",
"required": [
"city_id"
],
"properties": {
"limit": {
"type": "integer",
"default": 6,
"maximum": 20,
"minimum": 1
},
"style": {
"enum": [
"must_see",
"balanced",
"hidden_gems"
],
"type": "string",
"default": "balanced",
"description": "must_see favours each city's headline sights, hidden_gems favours lesser-known ones, balanced mixes both."
},
"city_id": {
"type": "string",
"description": "Gingerguide city id, e.g. \"rome\" or \"istanbul\" (from search_cities)."
},
"periods": {
"type": "array",
"items": {
"enum": [
"prehistoric",
"ancient_greek",
"etruscan",
"roman",
"byzantine",
"medieval",
"gothic",
"moorish_islamic",
"ottoman",
"renaissance",
"baroque",
"georgian_neoclassical",
"nineteenth_century",
"art_nouveau",
"twentieth_century_modern",
"world_war_ii",
"cold_war"
],
"type": "string"
},
"description": "Historical periods to favour, e.g. [\"byzantine\"] or [\"roman\",\"renaissance\"]."
},
"setting": {
"enum": [
"indoor",
"outdoor",
"any"
],
"type": "string",
"default": "any"
},
"language": {
"enum": [
"en",
"es",
"fr",
"de",
"tr",
"zh"
],
"type": "string",
"default": "en",
"description": "Language of names and descriptions: en, es, fr, de, tr or zh."
},
"interests": {
"type": "array",
"items": {
"enum": [
"history",
"architecture",
"art",
"museums",
"religious_sites",
"archaeology",
"nature",
"views",
"food",
"local_life",
"shopping",
"relaxing",
"royalty",
"military",
"music",
"literature",
"science",
"performing_arts",
"memorials"
],
"type": "string"
},
"description": "Traveler interests to favour, e.g. [\"history\",\"architecture\"]."
},
"exclude_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Sights already seen."
},
"available_minutes": {
"type": "integer",
"maximum": 2880,
"minimum": 30,
"description": "Total visit time available; picks stop when it is used up."
}
}
}| near_lat |
| number |
| near_lng | number |
| free_only | boolean | Only sights that are free to enter (squares, parks, free churches). Needs visit info, which some cities do not have yet. |
| interests | array | Traveler interests to favour, e.g. ["history","architecture"]. |
| radius_km | number | Used with near_lat/near_lng. Default 3. |
| categories | array |
| max_visit_minutes | integer |
{
"type": "object",
"properties": {
"sort": {
"enum": [
"relevance",
"must_see",
"hidden_gems",
"distance"
],
"type": "string",
"default": "relevance"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1
},
"query": {
"type": "string",
"description": "Free text, e.g. \"mosaics\", \"Gothic cathedral\", \"Hagia Sophia\"."
},
"city_id": {
"type": "string",
"description": "Gingerguide city id, e.g. \"rome\" or \"istanbul\" (from search_cities)."
},
"country": {
"type": "string",
"description": "Restrict to one country."
},
"periods": {
"type": "array",
"items": {
"enum": [
"prehistoric",
"ancient_greek",
"etruscan",
"roman",
"byzantine",
"medieval",
"gothic",
"moorish_islamic",
"ottoman",
"renaissance",
"baroque",
"georgian_neoclassical",
"nineteenth_century",
"art_nouveau",
"twentieth_century_modern",
"world_war_ii",
"cold_war"
],
"type": "string"
},
"description": "Historical periods to favour, e.g. [\"byzantine\"] or [\"roman\",\"renaissance\"]."
},
"setting": {
"enum": [
"indoor",
"outdoor",
"any"
],
"type": "string",
"default": "any",
"description": "indoor suits rainy or hot days."
},
"language": {
"enum": [
"en",
"es",
"fr",
"de",
"tr",
"zh"
],
"type": "string",
"default": "en",
"description": "Language of names and descriptions: en, es, fr, de, tr or zh."
},
"near_lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"near_lng": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"free_only": {
"type": "boolean",
"default": false,
"description": "Only sights that are free to enter (squares, parks, free churches). Needs visit info, which some cities do not have yet."
},
"interests": {
"type": "array",
"items": {
"enum": [
"history",
"architecture",
"art",
"museums",
"religious_sites",
"archaeology",
"nature",
"views",
"food",
"local_life",
"shopping",
"relaxing",
"royalty",
"military",
"music",
"literature",
"science",
"performing_arts",
"memorials"
],
"type": "string"
},
"description": "Traveler interests to favour, e.g. [\"history\",\"architecture\"]."
},
"radius_km": {
"type": "number",
"maximum": 100,
"minimum": 0.1,
"description": "Used with near_lat/near_lng. Default 3."
},
"categories": {
"type": "array",
"items": {
"enum": [
"historic",
"religious",
"park",
"museum",
"landmark",
"bridge",
"palace",
"market",
"university",
"village",
"distillery",
"ruins",
"garden",
"castle",
"nature",
"monument",
"square",
"theater"
],
"type": "string"
}
},
"max_visit_minutes": {
"type": "integer",
"maximum": 600,
"minimum": 5
}
}
}