Migration from ZUERST to Ginto

Last update:
25/7/2026
API
app
Web
Before you start

The ZUERST API from Pro Infirmis will be decommissioned at the end of 2026. It is therefore necessary to migrate to the Ginto API in good time. The Ginto API provides the same data as the previous ZUERST API, albeit in a slightly different structure. Ginto also offers additional accessibility information, for example on hotels or museums that have recorded their own details as part of the OK:GO initiative. This guide explains the step-by-step process for migrating from ZUERST to Ginto.

note

Ginto brings together leading software solutions and existing data on a central platform. Ginto is backed by the Sitios association, which was founded in 2022 by the Association for Accessible Switzerland, Pro Infirmis and the AccessibilityGuide association. Its aim is to coordinate and further develop the provision of information on accessibility in Switzerland.

Professional tip

ZUERST will be phased out according to the following schedule:

  • Effective immediately: Accessibility information that is still being recorded by Pro Infirmis via ZUERST remains available via the ZUERST API, but is also fully integrated into Ginto and can be accessed directly via the Ginto API. The majority of professional data entries by Pro Infirmis are already being made using Ginto.
  • 31 December 2026: Pro Infirmis’ ZUERST API will be placed in standby mode. POI enquiries will be redirected to the relevant Ginto URL. ZUERST will no longer be used to record accessibility information.
  • 31 December 2027: Complete shutdown of ZUERST, including the API.

That's what you'll find in this guide:

Apply for OK:GO proof for ‘Swisstainable’
Frequently asked questions

Get an API key

    The API is secure and can only be accessed if the request is authenticated using an API key. Please contact support@ginto.guide to obtain such a key for API authorisation. You can then use this key to retrieve all data from the Ginto API. The API key must be specified as a bearer token in the Authorization header for every request.

    To ensure that you receive exactly the same information when querying Ginto as you previously did with the ZUERST query, the Ginto support team will be happy to create a publication filter for you and send you the corresponding filter ID. Please let us know which query you have been using to retrieve the data so far.

    Alternatively, the Ginto API offers various options for filtering the data yourself directly according to different criteria when making a query. You can find further information on this in our API documentation.

    Request data

      {
          entriesByFilter(filterId: "0ace704e-db54-41c1-aa45-8f5d1e45cc27") {
              totalCount
              pageInfo {
                  endCursor
                  hasNextPage
                  hasPreviousPage
                  startCursor
              }
              nodes {
                  entryId
                  name
                  createdAt
                  updatedAt
                  categories {
                      groupKey
                      groupName
                      key
                      name
                  }
                  position {
                      street
                      housenumber
                      postcode
                      city
                      countryCode
                      lat
                      lng
                  }
                  accessibilityInfo {
                      defaultRatings {
                          descriptionDE: description(locale: DE)
                          descriptionEN: description(locale: EN)
                          descriptionFR: description(locale: FR)
                          descriptionIT: description(locale: IT)
                          iconUrl
                          key
                      }
                  }
                  publication {
                      linkTextDE: linkText(locale: DE)
                      linkTextEN: linkText(locale: EN)
                      linkTextFR: linkText(locale: FR)
                      linkTextIT: linkText(locale: IT)
                      linkUrl
                  }
                  licenseInfo {
                      attribution
                      isOpenData
                      license
                  }
                  sources {
                      originIds
                      sourceKey
                      sourceName
                  }
                  areas {
                      areaTemplateKey
                      id
                      name
                      accessibilityInfo {
                          defaultRatings {
                              descriptionDE: description(locale: DE)
                              descriptionEN: description(locale: EN)
                              descriptionFR: description(locale: FR)
                              descriptionIT: description(locale: IT)
                              iconUrl
                              key
                          }
                      }
                      publication {
                          linkTextDE: linkText(locale: DE)
                          linkTextEN: linkText(locale: EN)
                          linkTextFR: linkText(locale: FR)
                          linkTextIT: linkText(locale: IT)
                          linkUrl
                      }
                      subAreas {
                          areaTemplateKey
                          id
                          name
                          accessibilityInfo {
                              defaultRatings {
                                  descriptionDE: description(locale: DE)
                                  descriptionEN: description(locale: EN)
                                  descriptionFR: description(locale: FR)
                                  descriptionIT: description(locale: IT)
                                  iconUrl
                                  key
                              }
                          }
                          publication {
                              linkTextDE: linkText(locale: DE)
                              linkTextEN: linkText(locale: EN)
                              linkTextFR: linkText(locale: FR)
                              linkTextIT: linkText(locale: IT)
                              linkUrl
                          }
                      }
                  }
              }
          }
      }
      

      Adapt your code

        ZUERST (Source) Ginto
        Pois.[].Id data.entriesByFilter.nodes.[].zuerst.originIds
        Pois.[].IdSource
        Used in v1 of the ZUERST API
        data.entriesByFilter.nodes.[].sources.[].originIds
        In Ginto, source IDs are always assigned to a specific source. Select the correct source and check whether the IdSource from ZUERST is included in Ginto's originIds.
        Pois.[].Sources.[].SourceName
        Used in v2 of the ZUERST API
        data.entriesByFilter.nodes.[].sources.[].sourceKey
        Pois.[].Sources.[].SourcePoiId
        Used in v2 of the ZUERST API
        data.entriesByFilter.nodes.[].sources.[].originIds
        In Ginto, one entry can represent multiple source POIs, even though originIds is an array.
        Pois.[].Name data.entriesByFilter.nodes.[].name
        Pois.[].EntryDate data.entriesByFilter.nodes.[].updatedAt
        Pois.[].Coordinates.Lat data.entriesByFilter.nodes.[].position.lat
        Pois.[].Coordinates.Lng data.entriesByFilter.nodes.[].position.lng
        Pois.[].Address.Street data.entriesByFilter.nodes.[].position.street
        Pois.[].Address.Number data.entriesByFilter.nodes.[].position.housenumber
        Pois.[].Address.ZipCode data.entriesByFilter.nodes.[].position.postcode
        Pois.[].Address.City data.entriesByFilter.nodes.[].position.city
        Pois.[].Category data.entriesByFilter.nodes.[].categories
        See chapter "Mapping Categories"
        Pois.[].MainEnquiryCategory data.entriesByFilter.nodes.[].categories
        See chapter "Mapping Categories"
        Pois.[].PictogramIds data.entriesByFilter.nodes.[].categories
        See Pois.[].accessibilityInfo.defaultRatings
        Pois.[].MainComment Not available
        Pois.[].MainCommentFr Not available
        Pois.[].MainCommentIt Not available
        Pois.[].MainCommentEn Not available
        Pois.[].LinkToDetailView data.entriesByFilter.nodes.[].publication.linkUrl
        Pois.[].AdditionalInformation Not available
        Pois.[].SubPois Not available

        Assign categories

          ZUERST (Source) Ginto
          Pharmacy or Drugstore drugstore
          Doctor's or Dentist's Surgery doctors_practice
          Lookout / Viewpoint lookout
          Car Rental services_other
          Train Station train_station
          Bank bank
          Mountain Railways mountain_railway_station
          Library library
          Botanical Garden park
          Campsite camping
          Club club
          Shopping Mall mall
          Ice Rink sports_facility
          Eurokey Facility nil
          Holiday Home or Apartment holiday_home
          Airport nil
          ATM atm
          Shops shopping_other
          School (Primary, Secondary, Vocational, College, University) education_other
          Group Accommodations group_house
          Hotel, Guesthouse, Bed & Breakfast hotel
          Hut / Cabin group_house
          Childcare childcare
          Cinema cinema
          Congress Hall congress_center
          Concert Hall, Opera, or Theater theatre
          Landing Stage / Pier ship_landing
          Museum or Gallery museum
          Public Toilets public_toilets
          Public Elevator or Lifting Platform nil
          Park or Cemetery park
          Multi-storey Car Park multi_storey_car_park
          Parking Lot parking_lot
          Post Office post
          Rest Area (with Playground) playground
          Rest Area (other) park
          Recycling Collection Point services_other
          Religious Institution religious_institution
          Restaurant, Café, or Bar restaurant
          Ship ship
          School education_other
          Swimming Pool, Lido, or Lake swimming_pool
          Sight / Attraction sight
          Cable Car mountain_railway_station
          Seminar Center congress_center
          Senior Center / Nursing Home nursing_home
          Sports Center or Gym sports_facility
          Stadium sports_facility
          Taxi services_other
          Tourist Office tourist_information
          Tram, Bus, or Postbus Station bus_stop
          Accommodation (other) hotel
          Event Room (other) congress_center
          Association / Club services_other
          Administration Building administration
          Wellness Center sports_facility
          Zoo or Wildlife Park park

          Apply for OK:GO proof for ‘Swisstainable’

          OK:GO is recognised as proof within the ‘Swisstainable’ sustainability programme at Level II – engaged (in combination). An overview of all recognised sustainability certificates can be found here.

          An OK:GO certificate for participation in ‘Swisstainable’ can be applied for using this web form. A certificate will be issued once the conditions of participation have been met. The OK:GO certificate is valid for two years from the date of issue.
          Thank you, we've received your request and will get back to you in the coming days.
          Oh, something didn't work out there. Please try again

          Frequently asked questions

          There are currently no frequently asked questions about this guide.

          You might also be interested in this