swisstopo Vocabularies API

Endpoints for listing vocabularies and their terms

Operations 9

GET /vocabularies Get the list of available vocabularies #
GET /vocabularies/chronostratigraphy/terms Get all Chronostratigraphy terms #
GET /vocabularies/tectonic-units/terms Get all Tectonic Units terms #
GET /vocabularies/lithostratigraphy/terms Get all Lithostratigraphy terms #
GET /vocabularies/lithology/terms Get all Lithology terms #
GET /vocabularies/chronostratigraphy/layers Get layers filterable by Chronostratigraphy vocabulary #
GET /vocabularies/tectonic-units/layers Get layers filterable by Tectonic Units vocabulary #
GET /vocabularies/lithostratigraphy/layers Get layers filterable by Lithostratigraphy vocabulary #
GET /vocabularies/lithology/layers Get layers filterable by Lithology vocabulary #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/swisstopo:swisstopo-vocabularies-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

swisstopo-vocabularies-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Swisstopo Vocabularies API
  version: 1.6.2
  description: 'Operations tagged Vocabularies across 2 of this provider''s published API definitions: swissgeol-lexic-webmap-api.yaml, swisstopo-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://webmap-api.swissgeol.ch
  description: Swisstopo Production Server
- url: https://int-webmap-api.swissgeol.ch
  description: Swisstopo INT Server
- url: https://dev-webmap-api.swissgeol.ch
  description: Swisstopo DEV Server
security:
- ApiKeyAuth: []
tags:
- name: Vocabularies
  description: Endpoints for listing vocabularies and their terms
paths:
  /vocabularies:
    get:
      tags:
      - Vocabularies
      summary: Get the list of available vocabularies
      parameters:
      - name: lang
        in: query
        required: false
        schema:
          type: string
          enum:
          - en
          - it
          - de
          - fr
          default: en
        description: Language for vocabulary labels
      responses:
        '200':
          description: List of vocabularies
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VocabulariesList'
              example:
                vocabularies:
                - id: chronostratigraphy
                  name: Chronostratigraphy
                - id: tectonic-units
                  name: Tectonic Units
                - id: lithostratigraphy
                  name: Lithostratigraphy
                - id: lithology
                  name: Lithology
      operationId: getVocabularies
      x-operation-id-source: derived
    servers:
    - url: https://webmap-api.swissgeol.ch
      description: Swisstopo Production Server
    - url: https://int-webmap-api.swissgeol.ch
      description: Swisstopo INT Server
    - url: https://dev-webmap-api.swissgeol.ch
      description: Swisstopo DEV Server
  /vocabularies/chronostratigraphy/terms:
    get:
      tags:
      - Vocabularies
      summary: Get all Chronostratigraphy terms
      parameters:
      - name: lang
        in: query
        required: false
        schema:
          type: string
          enum:
          - en
          - it
          - de
          - fr
          default: en
        description: Language for vocabulary related data
      responses:
        '200':
          description: List of Chronostratigraphy terms
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VocabularyTerms'
              example:
                terms:
                - term: https://dev-lexic.swissgeol.ch/Chronostratigraphy/Phanerozoic
                  label: Phanerozoic
                  description: Mock description for the Phanerozoic chronostratigraphy term.
                  breadcrumbs:
                    '0': Chronostratigraphy
                    '1': Phanerozoic
                - term: https://dev-lexic.swissgeol.ch/Chronostratigraphy/Paleozoic
                  label: Paleozoic
                  description: Mock description for the Paleozoic chronostratigraphy term.
                  breadcrumbs:
                    '0': Chronostratigraphy
                    '1': Paleozoic
                - term: https://dev-lexic.swissgeol.ch/Chronostratigraphy/Cenozoic
                  label: Cenozoic
                  description: Mock description for the Cenozoic chronostratigraphy term.
                  breadcrumbs:
                    '0': Chronostratigraphy
                    '1': Cenozoic
                - term: https://dev-lexic.swissgeol.ch/Chronostratigraphy/Mesozoic
                  label: Mesozoic
                  description: Mock description for the Mesozoic chronostratigraphy term.
                  breadcrumbs:
                    '0': Chronostratigraphy
                    '1': Mesozoic
                - term: https://dev-lexic.swissgeol.ch/Chronostratigraphy/Proterozoic
                  label: Proterozoic
                  description: Mock description for the Proterozoic chronostratigraphy term.
                  breadcrumbs:
                    '0': Chronostratigraphy
                    '1': Proterozoic
                - term: https://dev-lexic.swissgeol.ch/Chronostratigraphy/Paleogene
                  label: Paleogene
                  description: Mock description for the Paleogene chronostratigraphy term.
                  breadcrumbs:
                    '0': Chronostratigraphy
                    '1': Paleogene
                - term: https://dev-lexic.swissgeol.ch/Chronostratigraphy/Quaternary
                  label: Quaternary
                  description: Mock description for the Quaternary chronostratigraphy term.
                  breadcrumbs:
                    '0': Chronostratigraphy
                    '1': Quaternary
                - term: https://dev-lexic.swissgeol.ch/Chronostratigraphy/Neogene
                  label: Neogene
                  description: Mock description for the Neogene chronostratigraphy term.
                  breadcrumbs:
                    '0': Chronostratigraphy
                    '1': Neogene
                - term: https://dev-lexic.swissgeol.ch/Chronostratigraphy/Tertiary
                  label: Tertiary
                  description: Mock description for the Tertiary chronostratigraphy term.
                  breadcrumbs:
                    '0': Chronostratigraphy
                    '1': Tertiary
                - term: https://dev-lexic.swissgeol.ch/Chronostratigraphy/Cretaceous
                  label: Cretaceous
                  description: Mock description for the Cretaceous chronostratigraphy term.
                  breadcrumbs:
                    '0': Chronostratigraphy
                    '1': Cretaceous
      operationId: getVocabulariesChronostratigraphyTerms
      x-operation-id-source: derived
    servers:
    - url: https://webmap-api.swissgeol.ch
      description: Swisstopo Production Server
    - url: https://int-webmap-api.swissgeol.ch
      description: Swisstopo INT Server
    - url: https://dev-webmap-api.swissgeol.ch
      description: Swisstopo DEV Server
  /vocabularies/tectonic-units/terms:
    get:
      tags:
      - Vocabularies
      summary: Get all Tectonic Units terms
      parameters:
      - name: lang
        in: query
        required: false
        schema:
          type: string
          enum:
          - en
          - it
          - de
          - fr
          default: en
        description: Language for vocabulary related data
      responses:
        '200':
          description: List of Tectonic Units terms
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VocabularyTerms'
              example:
                terms:
                - term: https://dev-lexic.swissgeol.ch/TectonicUnits/AutochthonousNorthAlpineForeland
                  label: AutochthonousNorthAlpineForeland
                  description: Mock description for the AutochthonousNorthAlpineForeland tectonic units term.
                  breadcrumbs:
                    '0': Tectonic Units
                    '1': AutochthonousNorthAlpineForeland
                - term: https://dev-lexic.swissgeol.ch/TectonicUnits/BresseGraben
                  label: BresseGraben
                  description: Mock description for the BresseGraben tectonic units term.
                  breadcrumbs:
                    '0': Tectonic Units
                    '1': BresseGraben
                - term: https://dev-lexic.swissgeol.ch/TectonicUnits/UpperRhineGraben
                  label: UpperRhineGraben
                  description: Mock description for the UpperRhineGraben tectonic units term.
                  breadcrumbs:
                    '0': Tectonic Units
                    '1': UpperRhineGraben
                - term: https://dev-lexic.swissgeol.ch/TectonicUnits/SouthGermanPlatform
                  label: SouthGermanPlatform
                  description: Mock description for the SouthGermanPlatform tectonic units term.
                  breadcrumbs:
                    '0': Tectonic Units
                    '1': SouthGermanPlatform
                - term: https://dev-lexic.swissgeol.ch/TectonicUnits/TransitionZoneBetweenDetachedAndAutochthonousNorthAlpineForeland
                  label: TransitionZoneBetweenDetachedAndAutochthonousNorthAlpineForeland
                  description: Mock description for the TransitionZoneBetweenDetachedAndAutochthonousNorthAlpineForeland tectonic units term.
                  breadcrumbs:
                    '0': Tectonic Units
                    '1': TransitionZoneBetweenDetachedAndAutochthonousNorthAlpineForeland
                - term: https://dev-lexic.swissgeol.ch/TectonicUnits/DetachedNorthAlpineForeland
                  label: DetachedNorthAlpineForeland
                  description: Mock description for the DetachedNorthAlpineForeland tectonic units term.
                  breadcrumbs:
                    '0': Tectonic Units
                    '1': DetachedNorthAlpineForeland
                - term: https://dev-lexic.swissgeol.ch/TectonicUnits/ExternalFoldedJura
                  label: ExternalFoldedJura
                  description: Mock description for the ExternalFoldedJura tectonic units term.
                  breadcrumbs:
                    '0': Tectonic Units
                    '1': ExternalFoldedJura
                - term: https://dev-lexic.swissgeol.ch/TectonicUnits/SubalpineMolasse
                  label: SubalpineMolasse
                  description: Mock description for the SubalpineMolasse tectonic units term.
                  breadcrumbs:
                    '0': Tectonic Units
                    '1': SubalpineMolasse
                - term: https://dev-lexic.swissgeol.ch/TectonicUnits/InternalFoldedJuraAndForelandPlateau
                  label: InternalFoldedJuraAndForelandPlateau
                  description: Mock description for the InternalFoldedJuraAndForelandPlateau tectonic units term.
                  breadcrumbs:
                    '0': Tectonic Units
                    '1': InternalFoldedJuraAndForelandPlateau
                - term: https://dev-lexic.swissgeol.ch/TectonicUnits/HegauVolcanicSuite
                  label: HegauVolcanicSuite
                  description: Mock description for the HegauVolcanicSuite tectonic units term.
                  breadcrumbs:
                    '0': Tectonic Units
                    '1': HegauVolcanicSuite
      operationId: getVocabulariesTectonicUnitsTerms
      x-operation-id-source: derived
    servers:
    - url: https://webmap-api.swissgeol.ch
      description: Swisstopo Production Server
    - url: https://int-webmap-api.swissgeol.ch
      description: Swisstopo INT Server
    - url: https://dev-webmap-api.swissgeol.ch
      description: Swisstopo DEV Server
  /vocabularies/lithostratigraphy/terms:
    get:
      tags:
      - Vocabularies
      summary: Get all Lithostratigraphy terms
      parameters:
      - name: lang
        in: query
        required: false
        schema:
          type: string
          enum:
          - en
          - it
          - de
          - fr
          default: en
        description: Language for vocabulary related data
      responses:
        '200':
          description: List of Lithostratigraphy terms
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VocabularyTerms'
              example:
                terms:
                - term: https://dev-lexic.swissgeol.ch/Lithostratigraphy/Servino
                  label: Servino
                  description: Mock description for the Servino lithostratigraphy term.
                  breadcrumbs:
                    '0': Lithostratigraphy
                    '1': Servino
                - term: https://dev-lexic.swissgeol.ch/Lithostratigraphy/Grenzposidonienschichten
                  label: Grenzposidonienschichten
                  description: Mock description for the Grenzposidonienschichten lithostratigraphy term.
                  breadcrumbs:
                    '0': Lithostratigraphy
                    '1': Grenzposidonienschichten
                - term: https://dev-lexic.swissgeol.ch/Lithostratigraphy/Flysch2
                  label: Flysch2
                  description: Mock description for the Flysch2 lithostratigraphy term.
                  breadcrumbs:
                    '0': Lithostratigraphy
                    '1': Flysch2
                - term: https://dev-lexic.swissgeol.ch/Lithostratigraphy/Flysch3
                  label: Flysch3
                  description: Mock description for the Flysch3 lithostratigraphy term.
                  breadcrumbs:
                    '0': Lithostratigraphy
                    '1': Flysch3
                - term: https://dev-lexic.swissgeol.ch/Lithostratigraphy/Flysch4
                  label: Flysch4
                  description: Mock description for the Flysch4 lithostratigraphy term.
                  breadcrumbs:
                    '0': Lithostratigraphy
                    '1': Flysch4
                - term: https://dev-lexic.swissgeol.ch/Lithostratigraphy/Flysch5
                  label: Flysch5
                  description: Mock description for the Flysch5 lithostratigraphy term.
                  breadcrumbs:
                    '0': Lithostratigraphy
                    '1': Flysch5
                - term: https://dev-lexic.swissgeol.ch/Lithostratigraphy/Flysch2a
                  label: Flysch2a
                  description: Mock description for the Flysch2a lithostratigraphy term.
                  breadcrumbs:
                    '0': Lithostratigraphy
                    '1': Flysch2a
                - term: https://dev-lexic.swissgeol.ch/Lithostratigraphy/Flysch2b
                  label: Flysch2b
                  description: Mock description for the Flysch2b lithostratigraphy term.
                  breadcrumbs:
                    '0': Lithostratigraphy
                    '1': Flysch2b
                - term: https://dev-lexic.swissgeol.ch/Lithostratigraphy/Flysch3a
                  label: Flysch3a
                  description: Mock description for the Flysch3a lithostratigraphy term.
                  breadcrumbs:
                    '0': Lithostratigraphy
                    '1': Flysch3a
                - term: https://dev-lexic.swissgeol.ch/Lithostratigraphy/Flysch3b
                  label: Flysch3b
                  description: Mock description for the Flysch3b lithostratigraphy term.
                  breadcrumbs:
                    '0': Lithostratigraphy
                    '1': Flysch3b
      operationId: getVocabulariesLithostratigraphyTerms
      x-operation-id-source: derived
    servers:
    - url: https://webmap-api.swissgeol.ch
      description: Swisstopo Production Server
    - url: https://int-webmap-api.swissgeol.ch
      description: Swisstopo INT Server
    - url: https://dev-webmap-api.swissgeol.ch
      description: Swisstopo DEV Server
  /vocabularies/lithology/terms:
    get:
      tags:
      - Vocabularies
      summary: Get all Lithology terms
      parameters:
      - name: lang
        in: query
        required: false
        schema:
          type: string
          enum:
          - en
          - it
          - de
          - fr
          default: en
        description: Language for vocabulary related data
      responses:
        '200':
          description: List of Lithology terms
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VocabularyTerms'
              example:
                terms:
                - term: https://dev-lexic.swissgeol.ch/Lithology/Amphibolite
                  label: Amphibolite
                  description: Mock description for the Amphibolite lithology term.
                  breadcrumbs:
                    '0': Lithology
                    '1': Amphibolite
                - term: https://dev-lexic.swissgeol.ch/Lithology/RockMafic
                  label: RockMafic
                  description: Mock description for the RockMafic lithology term.
                  breadcrumbs:
                    '0': Lithology
                    '1': RockMafic
                - term: https://dev-lexic.swissgeol.ch/Lithology/AmphiboliteBanded
                  label: AmphiboliteBanded
                  description: Mock description for the AmphiboliteBanded lithology term.
                  breadcrumbs:
                    '0': Lithology
                    '1': AmphiboliteBanded
                - term: https://dev-lexic.swissgeol.ch/Lithology/AmphiboliteGarnet
                  label: AmphiboliteGarnet
                  description: Mock description for the AmphiboliteGarnet lithology term.
                  breadcrumbs:
                    '0': Lithology
                    '1': AmphiboliteGarnet
                - term: https://dev-lexic.swissgeol.ch/Lithology/AmphiboliteHornblende
                  label: AmphiboliteHornblende
                  description: Mock description for the AmphiboliteHornblende lithology term.
                  breadcrumbs:
                    '0': Lithology
                    '1': AmphiboliteHornblende
                - term: https://dev-lexic.swissgeol.ch/Lithology/AmphiboliteMigmatitic
                  label: AmphiboliteMigmatitic
                  description: Mock description for the AmphiboliteMigmatitic lithology term.
                  breadcrumbs:
                    '0': Lithology
                    '1': AmphiboliteMigmatitic
                - term: https://dev-lexic.swissgeol.ch/Lithology/RockCrystalline
                  label: RockCrystalline
                  description: Mock description for the RockCrystalline lithology term.
                  breadcrumbs:
                    '0': Lithology
                    '1': RockCrystalline
                - term: https://dev-lexic.swissgeol.ch/Lithology/Eclogite
                  label: Eclogite
                  description: Mock description for the Eclogite lithology term.
                  breadcrumbs:
                    '0': Lithology
                    '1': Eclogite
                - term: https://dev-lexic.swissgeol.ch/Lithology/Serpentinite
                  label: Serpentinite
                  description: Mock description for the Serpentinite lithology term.
                  breadcrumbs:
                    '0': Lithology
                    '1': Serpentinite
                - term: https://dev-lexic.swissgeol.ch/Lithology/Prasinite
                  label: Prasinite
                  description: Mock description for the Prasinite lithology term.
                  breadcrumbs:
                    '0': Lithology
                    '1': Prasinite
      operationId: getVocabulariesLithologyTerms
      x-operation-id-source: derived
    servers:
    - url: https://webmap-api.swissgeol.ch
      description: Swisstopo Production Server
    - url: https://int-webmap-api.swissgeol.ch
      description: Swisstopo INT Server
    - url: https://dev-webmap-api.swissgeol.ch
      description: Swisstopo DEV Server
  /vocabularies/chronostratigraphy/layers:
    get:
      tags:
      - Vocabularies
      summary: Get layers filterable by Chronostratigraphy vocabulary
      responses:
        '200':
          description: List of layers with filters on Chronostratigraphy vocabulary
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VocabularyLayersResponse'
              example:
                layers:
                - id: tecto_units_augm
                  name: Tectonic Units
                - id: gc_bedrock
                  name: GC_BEDROCK
                - id: gc_unco_deposits
                  name: GC_UNCO_DEPOSITS
      operationId: getVocabulariesChronostratigraphyLayers
      x-operation-id-source: derived
    servers:
    - url: https://webmap-api.swissgeol.ch
      description: Swisstopo Production Server
    - url: https://int-webmap-api.swissgeol.ch
      description: Swisstopo INT Server
    - url: https://dev-webmap-api.swissgeol.ch
      description: Swisstopo DEV Server
  /vocabularies/tectonic-units/layers:
    get:
      tags:
      - Vocabularies
      summary: Get layers filterable by Tectonic Units vocabulary
      responses:
        '200':
          description: List of layers with filters on Tectonic Units vocabulary
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VocabularyLayersResponse'
              example:
                layers:
                - id: tecto_units_augm
                  name: Tectonic Units
                - id: gc_bedrock
                  name: GC_BEDROCK
      operationId: getVocabulariesTectonicUnitsLayers
      x-operation-id-source: derived
    servers:
    - url: https://webmap-api.swissgeol.ch
      description: Swisstopo Production Server
    - url: https://int-webmap-api.swissgeol.ch
      description: Swisstopo INT Server
    - url: https://dev-webmap-api.swissgeol.ch
      description: Swisstopo DEV Server
  /vocabularies/lithostratigraphy/layers:
    get:
      tags:
      - Vocabularies
      summary: Get layers filterable by Lithostratigraphy vocabulary
      responses:
        '200':
          description: List of layers with filters on Lithostratigraphy vocabulary
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VocabularyLayersResponse'
              example:
                layers:
                - id: gc_bedrock
                  name: GC_BEDROCK
      operationId: getVocabulariesLithostratigraphyLayers
      x-operation-id-source: derived
    servers:
    - url: https://webmap-api.swissgeol.ch
      description: Swisstopo Production Server
    - url: https://int-webmap-api.swissgeol.ch
      description: Swisstopo INT Server
    - url: https://dev-webmap-api.swissgeol.ch
      description: Swisstopo DEV Server
  /vocabularies/lithology/layers:
    get:
      tags:
      - Vocabularies
      summary: Get layers filterable by Lithology vocabulary
      responses:
        '200':
          description: List of layers with filters on Lithology vocabulary
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VocabularyLayersResponse'
              example:
                layers:
                - id: gc_bedrock
                  name: GC_BEDROCK
      operationId: getVocabulariesLithologyLayers
      x-operation-id-source: derived
    servers:
    - url: https://webmap-api.swissgeol.ch
      description: Swisstopo Production Server
    - url: https://int-webmap-api.swissgeol.ch
      description: Swisstopo INT Server
    - url: https://dev-webmap-api.swissgeol.ch
      description: Swisstopo DEV Server
components:
  schemas:
    VocabularyTerm:
      type: object
      properties:
        term:
          type: string
          format: uri
        label:
          type: string
        description:
          type: string
        breadcrumbs:
          description: Ordered breadcrumb map. Keys represent numeric positions and are serialized as strings in JSON, for example "0", "1", "2".
          type: object
          additionalProperties:
            type: string
    VocabulariesList:
      type: object
      properties:
        vocabularies:
          type: array
          items:
            $ref: '#/components/schemas/VocabularyDescriptor'
    VocabularyLayersResponse:
      type: object
      properties:
        layers:
          type: array
          items:
            $ref: '#/components/schemas/VocabularyLayerRef'
    VocabularyLayerRef:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
    VocabularyDescriptor:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
    VocabularyTerms:
      type: object
      properties:
        terms:
          type: array
          items:
            $ref: '#/components/schemas/VocabularyTerm'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      name: X-API-Key
      in: header
      description: 'API key required to access all endpoints of the SwissTopo WebMap Semantic Filtering API.

        '
externalDocs:
  description: WebMap semantic filter architecture and usage
  url: https://virtserver.swaggerhub.com/epsilonitalia/SwissTopoWebmapAPI/1.0.1
x-refined-from:
- swissgeol-lexic-webmap-api.yaml
- swisstopo-openapi.yml