University of Zurich website screenshot

University of Zurich

The University of Zurich (UZH) is Switzerland's largest university, founded in 1833, with roughly 28,000 students across seven faculties. UZH operates no central developer portal, publishes no OpenAPI description of its own, and offers no API key or self-service onboarding of any kind. Its real programmable footprint is four institution-run endpoints that speak someone else's contract: the ZORA repository's OAI-PMH 2.0 interface and DSpace 8 REST API at www.zora.uzh.ch, the KlickerUZH audience-response GraphQL API at api.klicker.uzh.ch built and run by the Department of Banking and Finance, and a self-hosted GitLab at gitlab.uzh.ch whose v4 REST API answers unauthenticated reads of public projects. Federated identity is a tenancy, not an operation: the UZH SAML entity aai-idp.uzh.ch is UZH's namespace but its SSO endpoints run on SWITCH's hosted edu-ID platform at uzh.login.eduid.ch. The course catalogue, the OLAT learning platform and swisscovery library discovery are web and SSO surfaces with no documented public API.

University of Zurich publishes 5 APIs on the APIs.io network. Tagged areas include Education, Higher Education, University, Public Research University, and Switzerland.

University of Zurich’s developer surface includes engineering blog, support, GitHub presence, authentication, and 19 more developer resources.

30.1/100 thin ▬ flat Agent 5/100 human only saas Full breakdown ↓
scored 2026-09-08 · rubric v0.20.0
AccessFreeSelf serve⚡ Free to try
5 APIs
EducationHigher EducationUniversityPublic Research UniversitySwitzerlandEuropeLeague of European Research UniversitiesOpen AccessResearch RepositoryOAI-PMHIdentity FederationGraphQLResearch Computing

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-09-08 · rubric v0.20.0
Regulatory Posture applies to this provider. Its tags matched the Education & Research regime, so Regulatory Posture carries 15 points of the composite. If this regime is wrong for your business, say so on your provider repo — the applicability map is public and we will correct it.
Create-or-Update Ergonomics could not be measured. We hold no machine-readable contract for this provider to read, so there is nothing to measure a write surface against. Excluded rather than scored zero: never-measured and measured-empty are different facts. Publishing an OpenAPI is what makes this facet — and several others — scorable at all.
The six quality facets above are damped to 85 points between them, because the conditional facet above carries the other 15. That is why each facet's contribution is shown against a damped maximum: raising a quality facet moves the composite by 85% of its nominal weight, not 100%. The full arithmetic is at apis.io/rating/.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. This rating is computed from github.com/api-evangelist/university-of-zurich: open an issue to ask a question, or submit a pull request to add artifacts. Submit an artifact on GitHub — free → Manage your own listing — the Influence plan, $499/mo →

APIs 5

Individual APIs this provider publishes, each with its own machine-readable definition.

ZORA Repository OAI-PMH

The Zurich Open Repository and Archive (ZORA) is UZH's institutional repository for the peer-reviewed research output of the university. Its OAI-PMH 2.0 interface serves metadat...

ZORA DSpace REST API

ZORA runs DSpace 8.0 and exposes the standard DSpace REST API (application/hal+json) for programmatic discovery of communities, collections and items representing UZH research o...

KlickerUZH GraphQL API

KlickerUZH is the university's open-source audience-response and interactive-learning platform, developed and hosted by the UZH Department of Banking and Finance. Its backend is...

UZH GitLab REST API

UZH self-hosts GitLab for research and teaching code. The GitLab v4 REST API is reachable without credentials for public resources — /api/v4/projects returns project metadata an...

University of Zurich Identity Provider (SWITCH edu-ID, tenant)

UZH's SAML 2.0 identity provider is delivered by SWITCH edu-ID as a hosted, UZH-scoped IdP and registered in the SWITCHaai federation with mdui:DisplayName "University of Zurich...

Pricing Plans 1

Published pricing tiers and plan structures.

Rate Limits 1

Documented rate limits and quota policies.

FinOps 1

Cost, billing, and metering signals for API financial operations.

Security Posture 1

Authentication, domain security, vulnerability disclosure, and trust-center signals.

University Of Zurich Domain Security

TLSv1.3 · HSTS · DNSSEC · DMARC

SECURITY

Resources

Design & Contract 1

Pagination, idempotency, versioning, errors, and events

Build 2

SDKs, sample code, and the tooling you integrate with

Access & Security 2

Authentication, authorization, and security posture

Learn 1

Tutorials, courses, talks, and written guidance

Operate 2

Status, limits, changes, and where to get help

Commercial 5

Pricing, plans, and the legal terms of use

Company 5

The organization behind the API

Other 5

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: university-of-zurich
name: University of Zurich
x-type: university
x-category: Public Research University
description: 'The University of Zurich (UZH) is Switzerland''s largest university, founded in 1833, with roughly 28,000 students
  across seven faculties. UZH operates no central developer portal, publishes no OpenAPI description of its own, and offers
  no API key or self-service onboarding of any kind. Its real programmable footprint is four institution-run endpoints that
  speak someone else''s contract: the ZORA repository''s OAI-PMH 2.0 interface and DSpace 8 REST API at www.zora.uzh.ch, the
  KlickerUZH audience-response GraphQL API at api.klicker.uzh.ch built and run by the Department of Banking and Finance, and
  a self-hosted GitLab at gitlab.uzh.ch whose v4 REST API answers unauthenticated reads of public projects. Federated identity
  is a tenancy, not an operation: the UZH SAML entity aai-idp.uzh.ch is UZH''s namespace but its SSO endpoints run on SWITCH''s
  hosted edu-ID platform at uzh.login.eduid.ch. The course catalogue, the OLAT learning platform and swisscovery library discovery
  are web and SSO surfaces with no documented public API.'
type: Index
x-attribution:
  reviewed: '2026-08-30'
  pipeline: pipeline-university
  summary: 'Re-profiled under the operator axis. The three OpenAPI documents previously held here (discovery, oauth2, openid-connect)
    all described https://login.eduid.ch — the SWITCH edu-ID identity provider — and said so in their own info.title ("SWITCH
    edu-ID ...") and info.contact ("SWITCH edu-ID", https://login.eduid.ch/). login.eduid.ch is the shared national issuer
    every Swiss institution uses; the EPFL repo in this catalog points at the same host. That is a vendor surface, so the
    contract and everything derived from it was removed: 3 refined OpenAPIs, 1 _original source, 6 collections, 3 examples,
    2 json-schema, 2 json-structure, 2 rules, 1 vocabulary, 1 json-ld, 1 agentic-access, 1 authentication, 1 capabilities
    and 2 refine reports — 26 files. The relationship itself was kept and re-labelled as x-operator tenant, because a hosted
    IdP under a UZH-specific hostname is a real institutional fact. One dead pointer was repaired: the ZORA OAI-PMH base URL
    moved from /oai/request to /server/oai/request in the 2025 EPrints-to-DSpace migration.'
  files_removed: 26
  vendor_host_rejected: login.eduid.ch
deliveryModel:
  model: saas
  open_source: false
  commercial: false
  callable_host: true
  label: Hosted service · you call their endpoint
  confidence: medium
  source:
  - plans
  generated: '2026-08-30'
  method: derived
accessModel:
  pricing: free
  onboarding: self-serve
  trial: false
  try_now: true
  public: true
  label: Free · No signup required for public metadata endpoints
  confidence: high
  source:
  - plans
  - conformance
  generated: '2026-08-30'
  method: probed
position: Consuming
access: 3rd-Party
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/university-of-zurich.png
url: https://raw.githubusercontent.com/api-evangelist/university-of-zurich/refs/heads/main/apis.yml
tags:
- Education
- Higher Education
- University
- Public Research University
- Switzerland
- Europe
- League of European Research Universities
- Open Access
- Research Repository
- OAI-PMH
- Identity Federation
- GraphQL
- Research Computing
created: '2026-06-03'
modified: '2026-08-30'
specificationVersion: '0.23'
x-coverage:
  state: covered
  reason: covered
  detail: Four institution-operated, publicly callable endpoints were reached and verified on 2026-08-30, so this is not a
    thin profile — but none of them is a UZH-authored contract. ZORA's OAI-PMH and DSpace REST interfaces are DSpace 8.0's
    shape running on UZH hardware under a uzh.ch host with a uzh.ch admin contact; gitlab.uzh.ch is GitLab's v4 REST API self-hosted
    by UZH; KlickerUZH is UZH-built open source but ships no published schema (Apollo introspection is disabled in production).
    No OpenAPI, no developer portal, no API keys, no rate-limit table, no status page. www.zora.uzh.ch sits behind an Anubis
    bot challenge on some paths (/server/opensearch/service served the challenge page) while /server/api and /server/oai answered
    normally. api.uzh.ch, data.uzh.ch, opendata.uzh.ch and developer.uzh.ch do not resolve. The German-language surface was
    checked alongside the English one; the AI recommendations exist in both.
  generated: '2026-08-30'
  method: probed
  evidence:
  - url: https://www.zora.uzh.ch/server/oai/request?verb=Identify
    status: 200
  - url: https://www.zora.uzh.ch/server/api
    status: 200
  - url: https://www.zora.uzh.ch/server/api/core/communities?size=2
    status: 200
  - url: https://api.klicker.uzh.ch/graphql
    status: 400
  - url: https://gitlab.uzh.ch/api/v4/projects?per_page=2
    status: 200
  - url: https://gitlab.uzh.ch/api/v4/version
    status: 401
  - url: https://metadata.aai.switch.ch/metadata.switchaai.xml
    status: 200
  - url: https://www.zora.uzh.ch/oai/request?verb=Identify
    status: 404
  - url: https://www.zora.uzh.ch/server/opensearch/service
    status: 200
  - url: https://api.uzh.ch/
    status: 0
  - url: https://developer.uzh.ch/
    status: 0
  - url: https://www.uzh.ch/llms.txt
    status: 404
  - url: https://www.uzh.ch/.well-known/security.txt
    status: 404
apis:
- aid: university-of-zurich:zora-oai
  name: ZORA Repository OAI-PMH
  x-operator: institution
  x-operator-basis: Host www.zora.uzh.ch is under UZH's own registrable domain, and the Identify response names adminEmail
    martin.braendle@uzh.ch and repositoryIdentifier www.zora.uzh.ch. UZH's Central IT runs the service. The protocol is OAI-PMH
    2.0 and the software is DSpace 8.0 — the contract is the community's, the deployment is UZH's.
  description: The Zurich Open Repository and Archive (ZORA) is UZH's institutional repository for the peer-reviewed research
    output of the university. Its OAI-PMH 2.0 interface serves metadata for harvesting with no authentication and no signup,
    disseminating mods, oai_dc, oai_datacite, marc and akaber. ZORA migrated from EPrints to DSpace in October 2025 and the
    legacy /cgi/oai2 and /oai/request base URLs are dead; the live base URL is /server/oai/request. A second OAI-PMH context
    for OpenAIRE is served at /server/oai/openaire and the Identify response embeds an OpenAIRE CERIF 1.1 Service compatibility
    declaration. Earliest datestamp is 2008-02-11.
  humanURL: https://www.zora.uzh.ch/
  baseURL: https://www.zora.uzh.ch/server/oai/request
  tags:
  - Research Repository
  - Open Access
  - OAI-PMH
  - DSpace
  - Metadata
  properties:
  - type: Documentation
    url: https://www.zora.uzh.ch/
  - type: x-conformance
    url: conformance/university-of-zurich-conformance.yml
- aid: university-of-zurich:zora-rest
  name: ZORA DSpace REST API
  x-operator: institution
  x-operator-basis: Host www.zora.uzh.ch is UZH's; the API root reports dspaceName "ZORA" and dspaceUI https://www.zora.uzh.ch.
    The HAL+JSON contract is DSpace 8.0's, shipped by the DSpace project and identical at every DSpace installation, so no
    generic DSpace specification is saved under this institution — the deployment is recorded, the product's contract is not.
  description: ZORA runs DSpace 8.0 and exposes the standard DSpace REST API (application/hal+json) for programmatic discovery
    of communities, collections and items representing UZH research output. Community and collection reads are open — /server/api/core/communities
    and /server/api/core/collections return data with no credentials — while /server/api/core/items returns 401 without an
    authenticated session. The root document advertises around fifty HAL link relations including discover, browses, identifiers,
    entitytypes and contentreport.
  humanURL: https://www.zora.uzh.ch/
  baseURL: https://www.zora.uzh.ch/server/api
  tags:
  - Research Repository
  - Open Access
  - DSpace
  - REST
  - HAL
  properties:
  - type: Documentation
    url: https://www.zora.uzh.ch/
- aid: university-of-zurich:klicker-graphql
  name: KlickerUZH GraphQL API
  x-operator: institution
  x-operator-basis: api.klicker.uzh.ch is under UZH's own registrable domain and KlickerUZH is built, maintained and operated
    by the UZH Department of Banking and Finance as open source (github.com/uzh-bf/klicker-uzh). This is the one surface in
    this profile that UZH both wrote and runs.
  description: KlickerUZH is the university's open-source audience-response and interactive-learning platform, developed and
    hosted by the UZH Department of Banking and Finance. Its backend is a single Apollo GraphQL endpoint. The endpoint is
    live and validating — an unknown field returns a GRAPHQL_VALIDATION_FAILED error rather than a transport failure — but
    schema introspection is disabled in production, so no machine-readable schema could be retrieved and none is published
    on the documentation site. No SDL, no OpenAPI, no public playground.
  humanURL: https://www.klicker.uzh.ch/
  baseURL: https://api.klicker.uzh.ch/graphql
  x-liveness: GET returns 400; POST with a GraphQL document returns a GRAPHQL_VALIDATION_FAILED error from Apollo Server,
    which is a live, schema-validating endpoint. Introspection is disabled in production, so the schema itself is not retrievable.
  tags:
  - GraphQL
  - Education Technology
  - Audience Response
  - Open-Source
  tags_raw:
  - GraphQL
  - Education Technology
  - Audience Response
  - Open Source
  properties:
  - type: Documentation
    url: https://www.klicker.uzh.ch/
  - type: DeveloperDocumentation
    url: https://www.klicker.uzh.ch/development/
  - type: SourceCode
    url: https://github.com/uzh-bf/klicker-uzh
- aid: university-of-zurich:gitlab-api
  name: UZH GitLab REST API
  x-operator: institution
  x-operator-basis: gitlab.uzh.ch is UZH's own host, registered as a service provider in the SWITCHaai federation under entityID
    https://gitlab.uzh.ch/shibboleth, and the instance is self-hosted by UZH rather than a gitlab.com group. The v4 REST contract
    is GitLab's, so no GitLab specification is saved here — only the fact that UZH runs an instance and leaves public project
    metadata readable.
  description: UZH self-hosts GitLab for research and teaching code. The GitLab v4 REST API is reachable without credentials
    for public resources — /api/v4/projects returns project metadata anonymously — while /api/v4/version requires a token
    and returns 401. Sign-in is SWITCHaai/Shibboleth-federated. There is no UZH-authored documentation for this surface; it
    is GitLab's stock API on a UZH deployment.
  humanURL: https://gitlab.uzh.ch/
  baseURL: https://gitlab.uzh.ch/api/v4
  x-liveness: 'GET on the bare base https://gitlab.uzh.ch/api/v4 returns 404 because GitLab mounts no handler at the API root.
    The surface is live: /api/v4/projects?per_page=2 returned 200 with real project JSON on 2026-08-30, and /api/v4/version
    returned 401. Do not read the root 404 as a dead pointer.'
  tags:
  - Source Control
  - Research Computing
  - REST
  properties:
  - type: Documentation
    url: https://gitlab.uzh.ch/
- aid: university-of-zurich:eduid-idp
  name: University of Zurich Identity Provider (SWITCH edu-ID, tenant)
  x-operator: tenant
  x-operator-basis: The entityID https://aai-idp.uzh.ch/idp/shibboleth is UZH's namespace and the shibmd:Scope is uzh.ch,
    but every SingleSignOnService and SingleLogoutService Location in the SWITCHaai federation metadata points at https://uzh.login.eduid.ch/idp/profile/SAML2/...
    — a UZH-specific hostname on SWITCH's hosted edu-ID platform. UZH's users and UZH's attribute policy; SWITCH's running
    IdP. The generic OIDC issuer at login.eduid.ch is shared by every Swiss institution and uzh.login.eduid.ch/.well-known/openid-configuration
    simply returns login.eduid.ch endpoints, so no SWITCH contract is saved under this slug.
  description: 'UZH''s SAML 2.0 identity provider is delivered by SWITCH edu-ID as a hosted, UZH-scoped IdP and registered
    in the SWITCHaai federation with mdui:DisplayName "University of Zurich". The federation metadata aggregate is the machine-readable
    artifact: it carries the UZH IdP entity plus more than two hundred uzh.ch service-provider entities covering gitlab.uzh.ch,
    ezproxy.uzh.ch, the olat.uzh.ch learning platform, the exam.uzh.ch assessment estate and eduid.uzh.ch. This is UZH''s
    largest genuinely machine-readable identity surface, and it is a tenancy rather than an operation.'
  humanURL: https://www.zi.uzh.ch/en/support/identity-access/eduid-faq.html
  baseURL: https://uzh.login.eduid.ch/idp/profile/SAML2/Redirect/SSO
  x-liveness: GET without a SAMLRequest returns 400 by design; a SAML 2.0 HTTP-Redirect SSO endpoint has no meaningful bare-GET
    response. The endpoint is published in the live SWITCHaai federation metadata aggregate (200 on 2026-08-30). Do not read
    the 400 as a dead pointer.
  tags:
  - Identity Federation
  - SAML
  - Shibboleth
  - SWITCH edu-ID
  properties:
  - type: Documentation
    url: https://www.zi.uzh.ch/en/support/identity-access/eduid-faq.html
  - type: IdentityFederation
    url: https://metadata.aai.switch.ch/metadata.switchaai.xml
  - type: x-conformance
    url: conformance/university-of-zurich-conformance.yml
common:
- type: License
  name: AGPL-3.0
  url: https://github.com/uzh-bf/klicker-uzh/blob/v3/LICENSE
- type: Website
  url: https://www.uzh.ch/en.html
- type: About
  url: https://www.uzh.ch/en/about.html
- type: Blog
  url: https://www.news.uzh.ch/en.html
- type: Support
  url: https://www.zi.uzh.ch/en/support.html
- type: PrivacyPolicy
  url: https://www.uzh.ch/en/privacy.html
- type: TermsOfService
  url: https://www.uzh.ch/en/impressum.html
- type: GitHubOrganization
  url: https://github.com/uzh
- type: GitHub
  url: https://github.com/uzh
- type: LinkedIn
  url: https://www.linkedin.com/school/uzh
- type: Twitter
  url: https://x.com/UZH_en
- type: ResearchRepository
  url: https://www.zora.uzh.ch/
- type: IdentityFederation
  url: https://metadata.aai.switch.ch/metadata.switchaai.xml
- type: CourseCatalog
  url: https://courses.uzh.ch/
- type: ResearchComputing
  url: https://www.zi.uzh.ch/en/teaching-and-research/science-it/computing/sciencecluster.html
- type: AIPolicy
  url: https://www.uzh.ch/en/explore/basics/ai/recommendations.html
- type: Authentication
  url: https://www.zi.uzh.ch/en/support/identity-access/eduid-faq.html
- type: Conformance
  url: conformance/university-of-zurich-conformance.yml
- type: DomainSecurity
  url: security/university-of-zurich-domain-security.yml
- type: Plans
  url: plans/university-of-zurich-plans-pricing.yml
- type: RateLimits
  url: rate-limits/university-of-zurich-rate-limits.yml
- type: FinOps
  url: finops/university-of-zurich-finops.yml
- type: Review
  url: review.yml
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com

Work with this as data

Every provider 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 providers

9 MCP tools reach this
  • find_providersBrowse and filter every provider in the catalog.
  • get_provider_artifactsEvery artifact this provider publishes, grouped by type.
  • get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
  • get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
  • get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
  • get_provider_ratingPRO — composite, band, trend and facet scores.
  • 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 provider
curl "https://apis.io/api/v1/providers/university-of-zurich"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/university-of-zurich/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/university-of-zurich/evidence"

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.