The University of Groningen (Rijksuniversiteit Groningen, RUG/UG) is a public research university in Groningen, the Netherlands, founded in 1614. Measured honestly, it runs no API programme: there is no developer portal, no api.rug.nl, no status page, no published versioning or deprecation policy, and no first-party OpenAPI anywhere on its estate — api.rug.nl, data.rug.nl, developer.rug.nl and status.rug.nl do not resolve at all. What it does operate, on its own domain, is a small set of real programmable surfaces: the Ocasys course and degree-programme catalog, whose JSON backend at ocasys.rug.nl/api answers unauthenticated course search, full course records, programme search, faculties and controlled option lists, and emits RFC 9457 problem details on error; a keyless OAI-PMH 2.0 endpoint at pure.rug.nl/ws/oai serving 1,521,703 identifiers across six metadata profiles including OpenAIRE CERIF 1.2 with resolvable ORCID iDs; and its own SAML 2.0 identity provider at signon.rug.nl, registered in eduGAIN through SURFconext. Everything else that looks like a University of Groningen API is a purchase. The CRIS is Elsevier Pure, research data lives in a collection inside the shared national DataverseNL installation that DANS and SURF operate, and library discovery is OCLC WorldCat. Those are recorded here as tenant relationships, not as the University's engineering.
University of Groningen publishes 2 APIs on the APIs.io network: Ocasys Course Catalog API and Research Database OAI-PMH. Tagged areas include Education, Higher Education, University, Netherlands, and Europe.
The University of Groningen catalog on APIs.io includes 1 JSON-LD context and 1 Spectral governance ruleset.
University of Groningen’s developer surface includes documentation, GitHub presence, engineering blog, support, authentication, and 25 more developer resources.
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 does not apply to this provider. The published contracts declare
no write operations, and a read-only API cannot create-or-update. The facet is excluded from this provider's
denominator entirely — not scored zero. A reference or data API is not deficient for being unable to
upsert.
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/.
The JSON backend behind Ocasys, the University's own course and degree-programme catalog. Verified live 2026-08-30 with no credentials: course search, full course records, the c...
Keyless OAI-PMH 2.0 metadata-harvesting endpoint operated by the University on its own domain. Verified live 2026-08-30: Identify reports protocolVersion 2.0, repositoryName "Un...
The University runs its own SAML 2.0 identity provider and publishes signed federation metadata at signon.rug.nl for entityID https://signon.rug.nl/nidp/saml2/metadata. Verified...
The Elsevier Pure web service deployed on the University's CRIS host. Probed 2026-08-30: pure.rug.nl/ws/api redirects to /ws/api/documentation/index.html, whose rel=canonical is...
The University's default repository for research data and software is a collection inside DataverseNL, the shared national Dataverse installation that DANS and SURF operate at d...
Library discovery runs on OCLC WorldCat Discovery at rug.on.worldcat.org, a tenant instance on OCLC's platform rather than a catalog interface the University operates. Verified ...
aid: university-of-groningen
name: University of Groningen
description: 'The University of Groningen (Rijksuniversiteit Groningen, RUG/UG) is a public research university in Groningen,
the Netherlands, founded in 1614. Measured honestly, it runs no API programme: there is no developer portal, no api.rug.nl,
no status page, no published versioning or deprecation policy, and no first-party OpenAPI anywhere on its estate — api.rug.nl,
data.rug.nl, developer.rug.nl and status.rug.nl do not resolve at all. What it does operate, on its own domain, is a small
set of real programmable surfaces: the Ocasys course and degree-programme catalog, whose JSON backend at ocasys.rug.nl/api
answers unauthenticated course search, full course records, programme search, faculties and controlled option lists, and
emits RFC 9457 problem details on error; a keyless OAI-PMH 2.0 endpoint at pure.rug.nl/ws/oai serving 1,521,703 identifiers
across six metadata profiles including OpenAIRE CERIF 1.2 with resolvable ORCID iDs; and its own SAML 2.0 identity provider
at signon.rug.nl, registered in eduGAIN through SURFconext. Everything else that looks like a University of Groningen API
is a purchase. The CRIS is Elsevier Pure, research data lives in a collection inside the shared national DataverseNL installation
that DANS and SURF operate, and library discovery is OCLC WorldCat. Those are recorded here as tenant relationships, not
as the University''s engineering.'
type: Index
x-type: university
x-category: Public Research University
deliveryModel:
model: self-hosted
open_source: false
commercial: false
callable_host: true
label: Institution-operated endpoints · no commercial API product
confidence: high
source:
- probed
generated: '2026-08-30'
method: probed
accessModel:
pricing: free
onboarding: none
trial: false
try_now: true
public: true
label: Free and keyless where public; institutional affiliation where not
confidence: high
source:
- probed
generated: '2026-08-30'
method: probed
position: Consuming
access: Public
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/university-of-groningen.png
url: https://raw.githubusercontent.com/api-evangelist/university-of-groningen/refs/heads/main/apis.yml
tags:
- Education
- Higher Education
- University
- Netherlands
- Europe
- Research
- Research Data
- Course Catalog
- Identity Federation
- OAI-PMH
- Library
- Metadata
- Open Data
created: '2026-06-03'
modified: '2026-08-30'
specificationVersion: '0.23'
apis:
- aid: university-of-groningen:ocasys-course-catalog
name: University of Groningen Ocasys Course Catalog API
x-operator: institution
description: 'The JSON backend behind Ocasys, the University''s own course and degree-programme catalog. Verified live 2026-08-30
with no credentials: course search, full course records, the catalog page projection, programme search, faculties and
organizational units, controlled option lists and the academic-year list all return 200 to an anonymous GET. Course records
are bilingual and carry ECTS credits, study level, assessments, formats, prerequisites, offerings, ENLIGHT alliance status
and per-course UN Sustainable Development Goal flags. Enrollment, permission and course-offering paths in the same namespace
return 403 without an institutional SAML session and are documented as gated, not as callable. This is the one genuinely
institution-engineered API surface in the University''s footprint. The OpenAPI below is DERIVED by API Evangelist from
live probes — the University publishes none, and does not advertise this interface at all.'
humanURL: https://ocasys.rug.nl/
baseURL: https://ocasys.rug.nl/api
tags:
- Course Catalog
- Education
- Curriculum
- Registrar
- Open Data
properties:
- type: OpenAPI
url: openapi/university-of-groningen-course-catalog-api-openapi.yml
- type: x-openapi-original
url: openapi/_original/university-of-groningen-course-catalog-api.yaml
- type: Website
url: https://ocasys.rug.nl/
- type: x-json-schema
url: json-schema/university-of-groningen-ocasys-course-schema.json
- type: x-json-schema
url: json-schema/university-of-groningen-ocasys-program-schema.json
- type: x-json-ld
url: json-ld/university-of-groningen-course-context.jsonld
- type: x-rules
url: rules/university-of-groningen-course-catalog-rules.yml
- type: Vocabulary
url: vocabulary/university-of-groningen-course-catalog-vocabulary.yml
- type: Errors
url: errors/university-of-groningen-errors.yml
- type: Authentication
url: authentication/university-of-groningen-authentication.yml
- type: x-example
url: examples/university-of-groningen-ocasys-course-search-example.json
- type: x-example
url: examples/university-of-groningen-ocasys-get-course-example.json
- type: x-example
url: examples/university-of-groningen-ocasys-program-search-example.json
- type: x-example
url: examples/university-of-groningen-ocasys-faculties-example.json
- type: x-example
url: examples/university-of-groningen-ocasys-problem-detail-example.json
- aid: university-of-groningen:pure-oai-pmh
name: University of Groningen Research Database OAI-PMH
x-operator: institution
description: 'Keyless OAI-PMH 2.0 metadata-harvesting endpoint operated by the University on its own domain. Verified live
2026-08-30: Identify reports protocolVersion 2.0, repositoryName "University of Groningen Research Database", adminEmail
pure@rug.nl, earliest datestamp 2014-03-11, deletedRecord "no" and second-level granularity; ListIdentifiers over oai_dc
reports a completeListSize of 1,521,703. Six metadata prefixes are offered — oai_cerif_openaire, qdc, oai_dc, nl_didl,
mods, xmetadiss — and the set hierarchy follows the OpenAIRE CRIS entity model plus per-year publication sets reaching
back to 1770. Person records in the CERIF profile carry resolvable ORCID iDs. The CRIS software underneath is Elsevier
Pure, but this harvesting surface carries the University''s own repository name, sets, profiles and contact and is served
from rug.nl, so it is treated as institution-operated. The OpenAPI below is DERIVED from live probes.'
humanURL: https://www.rug.nl/library/support/pure/ug-research-portal/?lang=en
baseURL: https://pure.rug.nl/ws/oai
tags:
- OAI-PMH
- Research
- Metadata
- Repository
- CERIF
- ORCID
properties:
- type: OpenAPI
url: openapi/university-of-groningen-oai-pmh-openapi.yml
- type: x-openapi-original
url: openapi/_original/university-of-groningen-oai-pmh.yaml
- type: Documentation
url: https://www.openarchives.org/OAI/openarchivesprotocol.html
- type: Documentation
url: https://www.rug.nl/library/support/pure/ug-research-portal/?lang=en
- type: x-oai-pmh-identify
url: https://pure.rug.nl/ws/oai?verb=Identify
- type: Conformance
url: conformance/university-of-groningen-education-standards-conformance.yml
- type: Errors
url: errors/university-of-groningen-errors.yml
- type: x-example
url: examples/university-of-groningen-oai-identify-example.xml
- type: x-example
url: examples/university-of-groningen-oai-listmetadataformats-example.xml
- type: x-example
url: examples/university-of-groningen-oai-badverb-example.xml
- aid: university-of-groningen:identity-provider
name: University of Groningen Identity Provider (SURFconext / eduGAIN)
x-operator: institution
description: 'The University runs its own SAML 2.0 identity provider and publishes signed federation metadata at signon.rug.nl
for entityID https://signon.rug.nl/nidp/saml2/metadata. Verified live 2026-08-30: 25KB of XML carrying IDPSSODescriptor,
SPSSODescriptor and AttributeAuthorityDescriptor roles, HTTP-POST, HTTP-Redirect, HTTP-Artifact and SOAP bindings, OrganizationName
"Rijksuniversiteit Groningen" and technical contact cit-iam@list.rug.nl. The entity is registered in eduGAIN with SURFconext
as registration authority, alongside a second University-registered service provider at enlight.hpc.rug.nl. Machine-readable,
institution-operated by definition, and the surface class this cohort almost never has catalogued. The software is NetIQ
Access Manager, not Shibboleth.'
humanURL: https://www.rug.nl/society-business/center-for-information-technology/
baseURL: https://signon.rug.nl/nidp/saml2/metadata
tags:
- Identity Federation
- SAML
- eduGAIN
- SURFconext
- Single Sign-On
properties:
- type: IdentityFederation
url: https://signon.rug.nl/nidp/saml2/metadata
- type: Conformance
url: conformance/university-of-groningen-education-standards-conformance.yml
- type: Authentication
url: authentication/university-of-groningen-authentication.yml
- type: Documentation
url: https://wiki.surfnet.nl/display/surfconext/
- aid: university-of-groningen:pure-ws-api
name: University of Groningen Research Portal (Pure) REST API
x-operator: tenant
description: 'The Elsevier Pure web service deployed on the University''s CRIS host. Probed 2026-08-30: pure.rug.nl/ws/api
redirects to /ws/api/documentation/index.html, whose rel=canonical is https://api.elsevierpure.com/ws/api/documentation/index.html
— the contract, the version numbering, the documentation and the api-key scheme are all Elsevier''s, and the archived
source specification carried info.contact.email pure-support@elsevier.com. The University is the tenant and the data is
the University''s research record. Recorded here as a relationship; Elsevier''s specification is deliberately not saved
under this institution, and the thirty-seven per-tag splits of it that this repo carried until 2026-08-30 have been removed.'
humanURL: https://www.rug.nl/library/support/pure/?lang=en
baseURL: https://pure.rug.nl/ws/api
tags:
- CRIS
- Pure
- Elsevier
- Research
- Tenant
properties:
- type: Documentation
url: https://pure.rug.nl/ws/api
- type: Documentation
url: https://www.rug.nl/library/support/pure/?lang=en
- type: Website
url: https://research.rug.nl/
- type: Authentication
url: authentication/university-of-groningen-authentication.yml
- aid: university-of-groningen:dataversenl-collection
name: University of Groningen research data collection on DataverseNL
x-operator: tenant
description: 'The University''s default repository for research data and software is a collection inside DataverseNL, the
shared national Dataverse installation that DANS and SURF operate at dataverse.nl — a host the University does not own
and that at least seven other institutions in this catalog also point at. The data, the DOIs and the curation are the
University''s; the Dataverse Native API contract is the platform''s. Probed 2026-08-30: dataverse.nl and dataverse.nl/dataverse/rug
are live but sit behind a bot challenge, so no API response could be read. The thirty-six per-tag splits of the Dataverse
contract that this repo carried under the University''s name until 2026-08-30 have been removed.'
humanURL: https://www.rug.nl/digital-competence-centre/research-data/archive-and-publish/dataversenl
baseURL: https://dataverse.nl/api
tags:
- Research Data
- Dataverse
- Repository
- DANS
- Tenant
properties:
- type: Documentation
url: https://www.rug.nl/digital-competence-centre/research-data/archive-and-publish/dataversenl
- type: Documentation
url: https://guides.dataverse.org/en/latest/api/native-api.html
- type: ResearchRepository
url: https://dataverse.nl/dataverse/rug
- aid: university-of-groningen:worldcat-discovery
name: University of Groningen Library discovery (OCLC WorldCat)
x-operator: tenant
description: Library discovery runs on OCLC WorldCat Discovery at rug.on.worldcat.org, a tenant instance on OCLC's platform
rather than a catalog interface the University operates. Verified live 2026-08-30. Any WorldCat Search API contract belongs
to OCLC and is not saved here.
humanURL: https://www.rug.nl/library/
baseURL: https://rug.on.worldcat.org/discovery
tags:
- Library
- Discovery
- OCLC
- WorldCat
- Tenant
properties:
- type: LibraryCatalog
url: https://rug.on.worldcat.org/discovery
- type: Website
url: https://www.rug.nl/library/
common:
- type: Website
url: https://www.rug.nl/
- type: CourseCatalog
url: https://ocasys.rug.nl/
- type: IdentityFederation
url: https://signon.rug.nl/nidp/saml2/metadata
- type: ResearchRepository
url: https://research.rug.nl/
- type: ResearchRepository
url: https://www.rug.nl/digital-competence-centre/research-data/archive-and-publish/dataversenl
- type: LibraryCatalog
url: https://rug.on.worldcat.org/discovery
- type: ResearchComputing
url: https://www.rug.nl/society-business/center-for-information-technology/research/services/hpc/habrok
- type: Documentation
url: https://wiki.hpc.rug.nl/
- type: OpenData
url: https://www.rug.nl/digital-competence-centre/research-data/archive-and-publish/open-data
- type: AIPolicy
url: https://www.rug.nl/cit/services/ai-office/beleid-en-regelgeving/
- type: AITooling
url: https://www.rug.nl/cit/services/ai-office/ai-oplossingen/
- type: GitHubOrganization
url: https://github.com/rijksuniversiteit-groningen
- type: GitHub
url: https://github.com/rug-cit-hpc
- type: LinkedIn
url: https://www.linkedin.com/school/rijksuniversiteit-groningen/
- type: Twitter
url: https://twitter.com/univgroningen
- type: Blog
url: https://www.rug.nl/about-ug/latest-news/news/latest-rug-news!rss
- type: PrivacyPolicy
url: https://www.rug.nl/privacy
- type: TermsOfService
url: https://www.rug.nl/info/disclaimer-copyright
- type: Support
url: https://www.rug.nl/society-business/center-for-information-technology/support/
- type: SecurityDisclosure
url: https://www.rug.nl/.well-known/security.txt
- type: Authentication
url: authentication/university-of-groningen-authentication.yml
- type: Conformance
url: conformance/university-of-groningen-education-standards-conformance.yml
- type: Errors
url: errors/university-of-groningen-errors.yml
- type: Vocabulary
url: vocabulary/university-of-groningen-course-catalog-vocabulary.yml
- type: VulnerabilityDisclosure
url: security/university-of-groningen-vulnerability-disclosure.yml
- type: DomainSecurity
url: security/university-of-groningen-domain-security.yml
- type: Plans
url: plans/university-of-groningen-plans-pricing.yml
- type: RateLimits
url: rate-limits/university-of-groningen-rate-limits.yml
- type: FinOps
url: finops/university-of-groningen-finops.yml
- type: Review
url: review.yml
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com
x-coverage:
state: covered
reason: covered
detail: 'The University of Groningen operates no API programme and this profile now says so, while also naming the three
surfaces it genuinely does run. What was catalogued here on 2026-06-03 was two vendors'' contracts wearing the University''s
name: one Elsevier Pure REST specification and one DataverseNL Native API specification, split by refine-openapis into
seventy-three per-tag documents and registered as seventy-three separate "University of Groningen <tag> API" entries —
every one of them carrying the same fabricated baseURL, https://pure.rug.nl/ws/oai, which is the OAI-PMH endpoint and
serves none of those paths. Thirty-six of the specifications describe dataverse.nl, a host the University does not own.
The Pure specification''s own contact address was pure-support@elsevier.com; Dataverse titles in this repo are shipped
by up to eight other institutions in this catalog. All seventy-three specifications, their two source documents, 145 collections,
and every schema, structure, example, ruleset, vocabulary, JSON-LD context and agentic-access file derived from them were
removed on 2026-08-30 — 235 files. In their place: the Ocasys course-catalog API, found by reading the catalog application''s
own JavaScript bundle and confirmed keyless against live endpoints; the OAI-PMH endpoint, re-verified with all six verbs;
and the SAML identity provider, confirmed against its published metadata and its eduGAIN registration. The two OpenAPIs
now in this repo are DERIVED by API Evangelist from those probes and are labelled as such — the University publishes neither.
Institutional AI posture was found only on the Dutch-language surface, at the CIT AI Office pages.'
evidence:
- url: https://ocasys.rug.nl/api/year-status
status: 200
- url: https://ocasys.rug.nl/api/orgunit/faculties-and-universities
status: 200
- url: https://ocasys.rug.nl/api/2026-2027/course?searchTerm=biology
status: 200
- url: https://ocasys.rug.nl/api/2026-2027/course/WMMB015-05
status: 200
- url: https://ocasys.rug.nl/api/2026-2027/program?searchTerm=biology
status: 200
- url: https://ocasys.rug.nl/api/2026-2027/option-list
status: 200
- url: https://ocasys.rug.nl/api/2026-2027/program
status: 400
- url: https://ocasys.rug.nl/api/2026-2027/course-offering?permission=READ
status: 403
- url: https://ocasys.rug.nl/api/v3/api-docs
status: 404
- url: https://pure.rug.nl/ws/oai?verb=Identify
status: 200
- url: https://pure.rug.nl/ws/oai?verb=ListMetadataFormats
status: 200
- url: https://pure.rug.nl/ws/oai?verb=ListSets
status: 200
- url: https://pure.rug.nl/ws/oai?verb=ListIdentifiers&metadataPrefix=oai_dc
status: 200
- url: https://pure.rug.nl/ws/oai?verb=ListRecords&metadataPrefix=oai_cerif_openaire&set=openaire_cris_persons
status: 200
- url: https://pure.rug.nl/ws/oai?verb=Bogus
status: 200
- url: https://pure.rug.nl/ws/api
status: 200
- url: https://signon.rug.nl/nidp/saml2/metadata
status: 200
- url: https://technical.edugain.org/api.php?action=list_entities
status: 200
- url: https://rug.on.worldcat.org/discovery
status: 200
- url: https://dataverse.nl/dataverse/rug
status: 200
- url: https://research.rug.nl/
status: 200
- url: https://research.rug.nl/en/
status: 403
- url: https://wiki.hpc.rug.nl/
status: 200
- url: https://www.rug.nl/.well-known/security.txt
status: 200
- url: https://www.rug.nl/llms.txt
status: 404
- url: https://www.rug.nl/cit/services/ai-office/beleid-en-regelgeving/
status: 200
- url: https://www.rug.nl/cit/services/ai-office/ai-oplossingen/
status: 200
- url: https://api.rug.nl/
status: 0
- url: https://data.rug.nl/
status: 0
- url: https://developer.rug.nl/
status: 0
- url: https://status.rug.nl/
status: 0
generated: '2026-08-30'
method: probed
x-enrichment:
pipeline: pipeline-university.md
run: '2026-08-30'
previous_run: '2026-06-03'
operator_axis_applied: true
institution_surfaces: 3
tenant_surfaces: 3
vendor_contracts_removed: 2
files_removed: 235
apis_entries_before: 75
apis_entries_after: 6
contracts_saved: 2
note: 'A correct re-profile of a vendor-attributed institution LOWERS its score. Contract volume fell from seventy-three
specifications to two, and both that remain are DERIVED by API Evangelist from live probes rather than published by the
University of Groningen. That is the pipeline working. The net find is real, though: an undocumented but genuinely institution-engineered
course-catalog API that no one had catalogued.'
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.