Sygic Travel Places API

About

This API provides access to the Sygic Travel Places data.

Authentication

Each request must contain an authorization header x-api-key. To get the key please contact us.

Versioning

The latest API version is 1.0. See changelog.

This API always requires a version parameter in the URL. Changes made in new versions will be documented in changelogs. Old versions will be supported together with the new ones following end-of-life policies which will be specified in the future. While in beta, all versions will be in the 0.x format and these beta versions will be supported only for short periods of time.

GUIDs

All objects returned from the Places API have a GUID (globally unique identifier) stored in the guid property.

Place levels

Each place has a level property that describes the type of the place by administration level. Supported levels are:

  • continent
  • country
  • state
  • region
  • county
  • city
  • town
  • village
  • settlement
  • locality
  • neighbourhood
  • archipelago
  • island
  • poi

Place categories

Each place can have multiple categories assigned describing different kinds of visitor interest. Supported categories are:

  • discovering
  • eating
  • going_out
  • hiking
  • playing
  • relaxing
  • shopping
  • sightseeing
  • sleeping
  • doing_sports
  • traveling

Geographical attributes

Places and certain other objects can have geographical attributes describing their location and area. Supported attributes are:

  • location – Object with lat (latitude) and lng (longitude) in degrees.
  • bounding_box – Object with south, west, north, east in degrees. Specifies bounds of places that have an area.
  • quadkey – Map tile coordinate using Mercator (Google/Bing) projection. For details see Bing Maps docs or Maptiler.org.

Examples

Please notice examples don't work in browser. You must add the x-api-key header. You can use tools like Postman.

  • Top twenty restaurants in London: https://api.sygictravelapi.com/0.1/en/places?parents=city:1&categories=eating&limit=20
  • Top ten restaurants in an area: https://api.sygictravelapi.com/0.1/en/places?bounds=51.487744,-0.1879067,51.526849,-0.0464577&categories=eating
  • Top ten pois an area: https://api.sygictravelapi.com/0.1/en/places?bounds=51.487744,-0.1879067,51.526849,-0.0464577&levels=poi
  • Fulltext query search in an area: https://api.sygictravelapi.com/0.1/en/places?query=Tower&bounds=51.487744,-0.1879067,51.526849,-0.0464577
  • Detailed information about the Eiffel Tower: https://api.sygictravelapi.com/0.1/en/place-details/poi:530
  • Eiffel Tower media: https://api.sygictravelapi.com/0.1/en/places/poi:530/media

URL prefix

https://api.sygictravelapi.com/0.1/{lang}


Parameters

name type example description
lang inlined in path
enum["en", "fr", "de", "es", "nl", "pt", "it", "ru", "cs", "sk", "pl", "tr", "zh", "ko"]

Places #

#

This endpoint returns basic information about places. It is designed for fast performance for usecases such as fulltext search, place lists, map, etc.

Parameters

name type example description
query optional
string
"Eiffel Tower"

Fulltext search query. Supports partial prefix & fuzzy matching, matches also against names of parent places, and works in multiple languages.

levels optional
string
"city"

Limit results by levels. It is possible to pass multiple tags. Separator | is logical OR, separator , is logical AND. AND and OR logic cannot be mixed. See section Place levels.

categories optional
string
"sightseeing|restaurant"

Limit results by categories. It is possible to pass multiple categories. Separator | is logical OR, separator , is logical AND. AND and OR logic cannot be mixed. See section Place categories.

map_tile optional
string
"210313123"

Limit results to area defined by quadkey. See section Geographical attributes.

map_spread optional
int
1

Divide area to multiple subtiles to return places evenly spread on map. Possible values are <0-3> representing how many zoom levels forward will be used (1 subdivides area to 4 subareas, 2 to 16, and 3 to 64).

bounds optional
string
"48.858,2.294,48.860,2.296"

Limit results to area defined by bounds. Bounds are defined by string composed of four floats in format {south},{west},{north},{east}. The units are in degrees of latitude/logitude."

tags optional
string
"Restaurant|Bar"

Limit results by tags. It is possible to pass multiple tags. Separator | is logical OR, separator , is logical AND. AND and OR logic cannot be mixed.

parents optional
string
"city:14"

Limit results by GUID of parent place. It is possible to pass multiple parents. Separator | is logical OR, separator , is logical AND. AND and OR logic cannot be mixed.

limit optional
int
200

Limit the number of returned results. Default value is 10, max value is 512. With map_spread the value must be divisible by 4map_spread.

Body

{ status: string|null status_code: 200 int status_message: string|null data: { places: [ { guid: "poi:530" string level: "poi" string

See section Place levels.

categories: [ "sightseeing" string 0…∞ ]

See section Place categories.

rating: 9.555 float

Popularity rating of the place in range <0-10>. Higher rating means higher popularity.

quadkey: "120212302033313333" string

See section Geographical attributes.

location: { lat: 45.456 float lng: 2.456 float }

See section Geographical attributes.

bounding_box: { south: 50.076 float west: 14.412 float north: 50.078 float east: 14.414 float }|null

See section Geographical attributes.

name: "Eiffel Tower" string name_suffix: "Paris, France" string|null perex: "The most iconic sight in all of Paris. Do not miss this iron lady known all around the world. The views from the top are..." string|null

Beginning of place description, up to 160 characters.

url: "https://travel.sygic.com/go/poi:530" string

URL of place overview on Sygic Travel.

thumbnail_url: "https://media-cdn.sygictraveldata.com/media/poi:530" string|null

Image of place in dimensions 150×150 pixels.

marker: "sightseeing:tower:lookout" string

Name of the suggested marker icon. Each part after ‚:‘ character makes it more specific. You can use only prefix of the name with more common icon.

price: { value: 123.456 float

Approximate minimal price for places where fees are applicable. For hotels this represents price per person per night.

savings: 12.345 float

Represents how much value is cheaper compared to standard price when discount is active.

}
|null
parent_guids: [ "city:14" string 0…∞ ]

Array of GUIDs of parent places.

}
0…∞
]
}
}
#

This endpoint returns complete information about place. The response includes also basic information from /places endpoint.

Parameters

name type example description
places_guid optional
string
"poi:530"

Body

{ status: string|null status_code: 200 int status_message: string|null data: { place: { guid: "poi:530" string level: "poi" string

See section Place levels.

categories: [ "sightseeing" string 0…∞ ]

See section Place categories.

rating: 9.555 float

Popularity rating of the place in range <0-10>. Higher rating means higher popularity.

quadkey: "120212302033313333" string

See section Geographical attributes.

location: { lat: 45.456 float lng: 2.456 float }

See section Geographical attributes.

bounding_box: { south: 50.076 float west: 14.412 float north: 50.078 float east: 14.414 float }|null

See section Geographical attributes.

name: "Eiffel Tower" string name_suffix: "Paris, France" string|null is_deleted: false bool

Some place can be no longer available for various reasons. The API still returns such a place when it is requested by id.

perex: "The most iconic sight in all of Paris. Do not miss this iron lady known all around the world. The views from the top are..." string|null

Beginning of place description, up to 160 characters.

url: "https://travel.sygic.com/go/poi:530" string

URL of place overview on Sygic Travel.

thumbnail_url: "https://media-cdn.sygictraveldata.com/media/poi:530" string|null

Image of place in dimensions 150×150 pixels.

marker: "sightseeing:tower:lookout" string

Name of the suggested marker icon. Each part after ‚:‘ character makes it more specific. You can use only prefix of the name with more common icon.

price: { value: 123.456 float

Approximate minimal price for places where fees are applicable. For hotels this represents price per person per night.

savings: 12.345 float

Represents how much value is cheaper compared to standard price when discount is active.

}
|null
parent_guids: [ "city:14" string 0…∞ ]

Array of GUIDs of parent places.

tags: [ { key: "Restaurant" string name: "Ristorante" string } 0…∞ ] description: { text: "The most iconic sight in all of Paris. Do not miss this iron lady known all around the world. The views from the top are breath-taking." string provider: string|null

Description has to be attributed. Display provider whenever you display description and provider is specified.

translation_provider: string|null

Description translation has to be attributed. Display translation provider whenever you display description and translation_pro­vider is specified.

}
|null
address: "Purkyňova 649/127" string|null admission: "Adults: €11" string|null duration: 3600 int|null

Expected duration of visit in seconds.

email: "email@example.com" string|null opening_hours: "Open daily: Mid-June - early Sep: 9 a.m. - 12:45" string|null phone: "+33 892 70 12 39" string|null main_media: { usage: { square: "m:62951" string landscape: "m:62951" string portrait: "m:62951" string video_preview: "m:62951" string|null }

Recommended media for specific display cases

media: [ { guid: "m:1234" string type: enum["photo", "photo360", "video", "video360"] url_template: "https://media-cdn.sygictraveldata.com/media/{size}/612664395a40232133447d33247d383235343637373932.jpg" string

{size} has to be relpaced i.e. by 400x300. For full description of size see media endpoint description.

url: "https://media-cdn.sygictraveldata.com/media/612664395a40232133447d33247d383235343637373932.jpg" string

Path to original.

original: { size: 1017931 int|null

Size of original media file

width: 1024 int|null

Width of original media

height: 768 int|null

Height of original media

}
suitability: [ enum["portrait", "landscape", "square", "video_preview"] 0…∞ ]

List of preferred suitability

created_at: "2016-07-10T12:47:51+0000" string source: { provider: "user_upload" string name: "Fotolia" string|null external_id: 123456 string|null } created_by: "55963aff54537" string|null quadkey: 12000123102300213 string|null attribution: { title_url: "Nice tower" string|null license: "CC-BY-SA" string|null other: string|null author_url: "http://www.example.com/author" string|null author: "Lojza Bojza" string|null title: "Eiffel Tower" string|null license_url: "http://creativecommons.org/licenses/by/4.0/" string|null } location: { lat: 10.51 float lng: 20.52 float }|null
}
0…∞
]
}
|null
references: [ { id: 123 int title: "Official website" string type: "link:official" string language_id: "en" string|null url: "http://www.tour-eiffel.com/" string supplier: "Wikipedia" string|null priority: 0 int

Use for ordering (the higher value the higher priority).

currency: "EUR" string|null price: 99.9 float|null flags: [ "top_seller" string 0…∞ ]
}
0…∞
]
}
}
}

Media #

#

Value of property url_template returned within the response contains {size} placeholder which has to be replaced by valid size value.

Supported size values are ({W} – width in pixels, {H} – height in pixels):

  • {W}x{H} – Image is resized to match exactly the requested size. If one edge overlaps, image is cropped.
  • {W}x{H}nc (no-crop) One edge matches the requested size, other may be smaller according to the aspect ratio.
  • {W}x{H}ncfill (no-crop-fill) One edge matches the requested size, other may be bigger according to the aspect ratio.

For videos the above values will generate thumbnails using the same rules as for photos.

For videos supported size values are ({H} – height in pixels):

  • {H}p – Supported values are 1080p and 720p. A 1080p video may redirect to lower quality if 1080p not present.
  • fullsize – Original size.

If you omit the size parameter, you'll get the original size.

No request data.

Body

{ status: string|null status_code: 200 int status_message: string|null data: { media: [ { guid: "m:1234" string type: enum["photo", "photo360", "video", "video360"] url_template: "https://media-cdn.sygictraveldata.com/media/{size}/612664395a40232133447d33247d383235343637373932.jpg" string

{size} has to be relpaced i.e. by 400x300. For full description of size see media endpoint description.

url: "https://media-cdn.sygictraveldata.com/media/612664395a40232133447d33247d383235343637373932.jpg" string

Path to original.

original: { size: 1017931 int|null

Size of original media file

width: 1024 int|null

Width of original media

height: 768 int|null

Height of original media

}
suitability: [ enum["portrait", "landscape", "square", "video_preview"] 0…∞ ]

List of preferred suitability

created_at: "2016-07-10T12:47:51+0000" string source: { provider: "user_upload" string name: "Fotolia" string|null external_id: 123456 string|null } created_by: "55963aff54537" string|null quadkey: 12000123102300213 string|null attribution: { title_url: "Nice tower" string|null license: "CC-BY-SA" string|null other: string|null author_url: "http://www.example.com/author" string|null author: "Lojza Bojza" string|null title: "Eiffel Tower" string|null license_url: "http://creativecommons.org/licenses/by/4.0/" string|null } location: { lat: 10.51 float lng: 20.52 float }|null
}
0…∞
]
}
}