The Ginto API

Last update:
31/10/2026
API
app
Web
Before you start

The API is protected and can only be accessed if the request is authenticated using an API key. This must be included as a Bearer token in the Authorization header for every request. Please contact support@ginto.guide to obtain an API key for API authorization.

note

Do you already have an interface with one of our partner organizations, such as the AccommoDataHub from HotellerieSuisse? If so, you can also obtain some accessibility information, such as Ginto web links or pictograms, directly from there.

Professional tip

Use our Ginto test workspace in Postman to test the various queries.

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

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

API Introduction

    Learn more about GraphQL.

    Find out more about GraphQL.

    API - Send request

      Requests are sent as JSON with the following structure in the request body:

      {
        "query": "{ allEntries(first: 10) { nodes { id name } } }",
        "variables": {}
      }

      ‍

      The request must be sent to the endpoint URL https://api.ginto.guide/graphql and must include the following information:

      • Content-Type: application/json (header)
      • Accept: application/graphql-response+json, application/json (header)
      • Authorization: Bearer {apiKey} (header with your API key)
      • Optional: Accept-Language (header to specify the desired language: de, en, fr or it)

      For successful operations, the server responds with a JSON object containing the data object. If an error occurs, the response may contain an errors array. In this case, the data object is either null or only partially present.

      Example using cURL

      curl -X POST https://api.ginto.guide/graphql \
        -H "Content-Type: application/json" \
        -H "Accept: application/graphql-response+json, application/json" \
        -H "Authorization: Bearer YOUR_API_KEY" \
        -H "Accept-Language: de" \
        -d '{"query":"{ allEntries(first: 10) { nodes { id name } } }","variables":{}}'

      ‍

      Replace YOUR_API_KEY with your actual API key. The Accept-Language header is optional. Remove it or change de (German) as needed to en (English), fr (French), or it (Italian).

      API Authorization

        The API key must be provided with every request as a Bearer token in the Authorization header:

        Authorization: Bearer {apiKey}

        ‍

        Replace {apiKey} with your personal key, excluding the curly brackets.

        Replace {apiKey} with your own key, without the curly brackets.

        API testing with Postman

          By clicking on this link, the Ginto request collection will be automatically cloned, and you can begin exploring the Ginto API.

          To set the API key in Postman, open the production environment and create the variable apiKey with your actual API key. Then, activate the environment. You are now ready to send a request.

          Postman can be used online or downloaded for free. You can find a detailed guide on creating GraphQL queries in Postman here.

          API - Set language

            The default language for returned data can be selected by setting the Accept-Language HTTP header. Currently, the options de (German), en (English), fr (French), and it (Italian) are supported.

            You can find more information about the Accept-Language HTTP header here.

            For content available in multiple languages, a specific language can also be set using the Argument field.

            API - Request Overview

              Anfrage Beschreibung
              allEntries Ruft eine Liste aller Einträge in Ginto ab.
              entriesByFilter Ruft eine Liste aller Einträge innerhalb eines vordefinierten Publikationsfilters ab. Ein Publikationsfilter kann Einträge nach verschiedenen Kriterien filtern und muss beim Ginto-Support-Team angefordert werden.
              entriesBySearch Sucht nach Einträgen in der Nähe einer Koordinate und/oder über einen Suchtext.
              entry Ruft Daten für einen spezifischen Eintrag ab, der durch seine ID definiert ist.
              deletedEntries Ruft eine Liste aller IDs von Einträgen ab, die gelöscht wurden.
              availableCategories Ruft eine Liste aller verfügbaren Kategorien ab.
              availableDefaultRatings Ruft eine Liste aller verfügbaren Standardbewertungen ab, die jeweils ein Piktogramm und eine kurze Zusammenfassung der Zugänglichkeit dieses Eintrags enthalten. Die Standardbewertungen eines Eintrags sollten für die Veröffentlichung der Barrierefreiheit auf externen Webseiten verwendet werden.
              availableFilterTags Ruft eine Liste aller verfügbaren Filter-Tags ab. Ein Filter-Tag ist ein vordefiniertes Schlüsselwort, das Einträgen zugewiesen werden kann und hilft, nach spezifischen Merkmalen zu filtern.
              availablePublicationFilters Ruft eine Liste aller Publikationsfilter ab, für die der Benutzer Berechtigungen besitzt. Ein Publikationsfilter muss beim Ginto-Support-Team angefordert werden.
              availableRatingProfiles Ruft eine Liste aller vordefinierten Bewertungsprofile ab. Im Gegensatz zu den Standardbewertungen kann ein Bewertungsprofil (z. B. „Rollstuhl“) verwendet werden, um eine Bewertung basierend auf diesem Profil zu berechnen, während die Standardbewertungen mögliche Bewertungsergebnisse definieren (z. B. „Teilweise rollstuhlgerecht“).
              availableSources Ruft eine Liste aller externen Quellen ab, die mit Einträgen in Ginto verknüpft sind.

              API Data Schema

                Most GraphQL applications can automatically retrieve the schema via introspection and offer the following features:

                • Automatic completion for fields and arguments
                • Inline documentation for all available queries and fields
                • Validation of queries before requests are sent

                Tools such as Postman, Bruno, Insomnia, and many GraphQL IDEs support this by default and display the schema documentation directly within their interfaces.

                API - Pagination

                  The concept is based on Connections and Edges, which is effectively the standard for pagination in GraphQL. Pagination uses a cursor-based model with the following arguments:

                  • first: Number of items to return (maximum: 50)
                  • after: Cursor of the last item from the previous page (omit for the first page)

                  Paginated queries return the following:

                  • nodes: the actual items
                  • pageInfo.endCursor: cursor for the last item on the current page
                  • pageInfo.hasNextPage: indicates whether another page exists
                  • totalCount: total number of items (if supported by the query)

                  Example

                  No after argument needs to be set for the first page. The following request returns the first 50 entries along with a pageInfo object containing the endCursor for the page.

                  {
                      allEntries(first: 50) {
                          totalCount
                          pageInfo {
                              hasNextPage
                              endCursor
                          }
                          edges {
                              node {
                                  id
                                  name
                              }
                          }
                      }
                  }

                  ‍

                  To request the next 50 entries, use the endCursor from the previous response and set it as the after argument for the next request as follows:

                  {
                      allEntries(first: 50, after: "NTA") {
                          totalCount
                          pageInfo {
                              hasNextPage
                              endCursor
                          }
                          edges {
                              node {
                                  id
                                  name
                              }
                          }
                      }
                  }

                  API Example

                    Use this query to retrieve information such as Ginto web links and standard ratings for specific locations. Integrate it with other data, such as opening hours, on your website. You can find an application example here.

                    To achieve efficient filtering, the Ginto support team can configure a publication filter for you with various filter parameters (category, source, postal code, verification status, level of detail). If you enter the filterId of this publication filter into the query, the API request will only return entries that match the publication filter.

                    ‍

                    Variant without sub-areas

                    Using the following query, you can retrieve all entries that match a publication filter. You will receive information on the name, position, address, standard ratings, and the Ginto web link for each entry.

                    {
                        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
                                }
                            }
                        }
                    }

                    ‍

                    ‍accessibilityInfo.defaultRatings: Contains a list of all standard ratings calculated for the entry. A standard rating includes a pictogram and a brief summary of a specific aspect of the accessibility of the respective Ginto entry. Use the standard ratings of a Ginto entry to publish the accessibility of a location on your website.

                    publication.linkUrl: Contains a URL to the Ginto web link for the respective entry, where all detailed accessibility information can be found. Always include this link when publishing the accessibility of locations on your website.

                    ‍

                    Variant with sub-areas

                    If standard ratings and the Ginto web link need to be retrieved for every area within an entry, the query above can be extended as follows:

                    {
                        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
                                        }
                                    }
                                }
                            }
                        }
                    }
                    

                    ‍

                    ‍

                    ‍

                    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

                    The Ginto API is a paid service. Is there a way to access the data for free?

                    Yes, that is possible. We provide a free weekly data export at https://assets.ginto.guide/snapshots/entries.json.gz.

                    Our tip for more flexibility: With a Ginto Studio+ subscription, you can use our powerful GraphQL API. This allows you to access all changes or additions in real time and filter your queries precisely. Additionally, Ginto Studio+ lets you store your own proprietary IDs and retrieve them via the GraphQL API. This makes it easy to map Ginto's accessibility information within your own systems.

                    You might also be interested in this