University of Cambridge website screenshot

University of Cambridge

The University of Cambridge (founded 1209; QS World 2025 #5) is a public collegiate research university with a real, documented developer footprint operated mainly by University Information Services (UIS): a central API Gateway / developer portal (developer.api.apps.cam.ac.uk) fronting identity-oriented REST APIs, the long-standing Lookup/Ibis directory web service, the Raven central authentication service (OAuth2 / OpenID Connect), and the Apollo institutional repository (DSpace REST + OAI-PMH). UIS open-source code is published on a self-hosted GitLab.

University of Cambridge publishes 4 APIs on the APIs.io network, including group API, ibis API, institution API, and 1 more. Tagged areas include Education, Higher Education, University, Research, and United Kingdom.

The University of Cambridge catalog on APIs.io includes 1 JSON-LD context and 2 Spectral governance rulesets.

University of Cambridge’s developer surface includes authentication, engineering blog, and 11 more developer resources.

42.1/100 developing ▬ flat Agent 31/100 agent aware Full breakdown ↓
scored 2026-07-28 · rubric v0.6
AccessFreeSelf serve⚡ Free to try
7 APIs
EducationHigher EducationUniversityResearchUnited KingdomIdentityAPI GatewayDeveloper Portal

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-28 · rubric v0.6
Composite quality — 42.1/100 · developing
Contract Quality 15.8 / 25
Developer Ergonomics 4.3 / 20
Commercial Clarity 5.8 / 20
Operational Transparency 2.7 / 13
Governance 7.0 / 12
Discoverability 6.5 / 10
Agent readiness — 31/100 · agent aware
Machine-Readable Contract 18 / 18
Agentic Access Contract 10 / 10
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/university-of-cambridge: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 7

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

Raven Authentication (OAuth2 / OpenID Connect)

The University's central web authentication service. Raven OAuth2 conforms to OpenID Connect; applications register client credentials to authenticate Cambridge users. An identi...

Cambridge API Gateway (Card / Student / HR)

UIS API Gateway (ALPHA) publishing read-oriented REST APIs — University Card, University Student (CamSIS-sourced), and University Human Resources (CHRIS-sourced). Interactive "t...

Apollo Institutional Repository API (DSpace)

Cambridge's open-access research repository (Apollo) on the DSpace platform, exposing OAI-PMH metadata harvesting and a DSpace REST API. Managed by Cambridge University Library ...

University of Cambridge group API

Methods for querying and manipulating groups. #### The fetch parameter for groups All methods that return groups also accept an optional `fetch` parameter that may be used to re...

University of Cambridge ibis API

Common methods for searching for objects in the Lookup/Ibis database.

University of Cambridge institution API

Methods for querying and manipulating institutions. #### The fetch parameter for institutions All methods that return institutions also accept an optional `fetch` parameter that...

University of Cambridge person API

Methods for querying and manipulating people. #### Notes on the fetch parameter All methods that return people, institutions or groups also accept an optional `fetch` parameter ...

Scroll for all 7

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.

Semantic Vocabularies 1

JSON-LD contexts and semantic vocabularies used across these APIs.

University Of Cambridge Context

22 classes · 2 properties

JSON-LD

Spectral Rules 2

Spectral governance rulesets for linting and validating these APIs.

University of Cambridge API Rules

5 rules · 3 warnings 2 info

SPECTRAL

University of Cambridge API Rules

7 rules · 3 errors 3 warnings 1 info

SPECTRAL

JSON Schema 3

Standalone JSON Schema definitions for this provider's data models.

Group

7 properties

JSON SCHEMA

Institution

6 properties

JSON SCHEMA

Person

9 properties

JSON SCHEMA

JSON Structure 3

JSON Structure definitions describing this provider's data shapes.

University Of Cambridge Group Structure

6 properties

JSON STRUCTURE

University Of Cambridge Person Structure

8 properties

JSON STRUCTURE

Examples 3

Example request and response payloads for these APIs.

Security Posture 2

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

University Of Cambridge Authentication

http · 1 scheme

SECURITY

University Of Cambridge Domain Security

TLSv1.3 · HSTS · DNSSEC · DMARC

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

University Of Cambridge Agentic Access

39 operations

39 operations · 0 acting

AGENTIC

Resources

Get Started 1

Portal, sign-up, and the first successful call

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Build 1

SDKs, sample code, and the tooling you integrate with

Access & Security 2

Authentication, authorization, and security posture

Operate 1

Status, limits, changes, and where to get help

Commercial 2

Pricing, plans, and the legal terms of use

Company 4

The organization behind the API

Other 1

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: university-of-cambridge
name: University of Cambridge
description: 'The University of Cambridge (founded 1209; QS World 2025 #5) is a public collegiate research university with
  a real, documented developer footprint operated mainly by University Information Services (UIS): a central API Gateway /
  developer portal (developer.api.apps.cam.ac.uk) fronting identity-oriented REST APIs, the long-standing Lookup/Ibis directory
  web service, the Raven central authentication service (OAuth2 / OpenID Connect), and the Apollo institutional repository
  (DSpace REST + OAI-PMH). UIS open-source code is published on a self-hosted GitLab.'
type: Index
accessModel:
  pricing: free
  onboarding: self-serve
  trial: false
  try_now: true
  public: false
  label: Free · Self-serve signup
  confidence: high
  source:
  - plans
  - authentication
  generated: '2026-07-22'
  method: derived
position: Consumer
access: 3rd-Party
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/university-of-cambridge.png
url: https://raw.githubusercontent.com/api-evangelist/university-of-cambridge/refs/heads/main/apis.yml
tags:
- Education
- Higher Education
- University
- Research
- United Kingdom
- Identity
- API Gateway
- Developer Portal
created: '2026-06-03'
modified: '2026-06-03'
specificationVersion: '0.19'
apis:
- aid: university-of-cambridge:raven
  name: Raven Authentication (OAuth2 / OpenID Connect)
  description: The University's central web authentication service. Raven OAuth2 conforms to OpenID Connect; applications
    register client credentials to authenticate Cambridge users. An identity/SSO interface rather than a data REST API.
  humanURL: https://docs.raven.cam.ac.uk/
  tags:
  - Identity
  - Authentication
  - OAuth2
  - OpenID Connect
  - SSO
  properties:
  - type: Documentation
    url: https://docs.raven.cam.ac.uk/
  - type: Signup
    url: https://docs.raven.cam.ac.uk/en/latest/creating-oauth2-client-credentials/
- aid: university-of-cambridge:gateway
  name: Cambridge API Gateway (Card / Student / HR)
  description: UIS API Gateway (ALPHA) publishing read-oriented REST APIs — University Card, University Student (CamSIS-sourced),
    and University Human Resources (CHRIS-sourced). Interactive "try this API" docs on the developer portal. Student and HR
    APIs are documented as ALPHA and not under active development.
  humanURL: https://developer.api.apps.cam.ac.uk/
  baseURL: https://api.apps.cam.ac.uk/
  tags:
  - Identity
  - Students
  - Human Resources
  - REST
  - API Gateway
  properties:
  - type: Documentation
    url: https://developer.api.apps.cam.ac.uk/
  - type: DeveloperPortal
    url: https://guidebook.devops.uis.cam.ac.uk/services/api-gateway/
- aid: university-of-cambridge:apollo
  name: Apollo Institutional Repository API (DSpace)
  description: Cambridge's open-access research repository (Apollo) on the DSpace platform, exposing OAI-PMH metadata harvesting
    and a DSpace REST API. Managed by Cambridge University Library Open Research Systems.
  humanURL: https://www.repository.cam.ac.uk/
  baseURL: https://api.repository.cam.ac.uk/server/
  tags:
  - Repository
  - Open Access
  - DSpace
  - OAI-PMH
  properties:
  - type: Documentation
    url: https://www.re3data.org/repository/r3d100010620
  - type: Website
    url: https://www.repository.cam.ac.uk/
- aid: university-of-cambridge:university-of-cambridge-group-api
  name: University of Cambridge group API
  description: "Methods for querying and manipulating groups.\n\n#### The fetch parameter for groups\n\nAll methods that return\
    \ groups also accept an optional `fetch`\nparameter that may be used to request additional information about the\ngroups\
    \ returned. For more details about the general rules that apply to\nthe `fetch` parameter, refer to the `PersonMethods`\n\
    documentation.\n\nFor groups the `fetch` parameter may be used to fetch references\nto people, institutions or other groups.\
    \ In each case, only non-cancelled\npeople, institutions and groups will be included when fetching references.\nThe following\
    \ references are supported:\n\n* `\"all_members\"` - fetches all the people who are members of the\n  group, including\
    \ members of groups included by the group, and groups\n  included by those groups, and so on.\n\n* `\"direct_members\"\
    ` - fetches all the people who are direct\n  members of the group, not taking into account any included groups.\n\n* `\"\
    members_of_inst\"` - if the group is a membership group for an\n  institution, this fetches that institution.\n\n* `\"\
    owning_insts\"` - fetches all the institutions to which the\n  group belongs.\n\n* `\"manages_insts\"` - fetches all the\
    \ institutions that the group\n  manages. Typically this only applies to \"Editor\" groups.\n\n* `\"manages_groups\"`\
    \ - fetches all the groups that this group\n  manages. Note that some groups are self-managed, so this may be a\n  self-reference.\n\
    \n* `\"managed_by_groups\"` - fetches all the groups that manage this\n  group.\n\n* `\"reads_groups\"` - fetches all\
    \ the groups that this group has\n  privileged access to. This means that members of this group can see the\n  members\
    \ of the referenced groups regardless of the membership visibility\n  settings.\n\n* `\"read_by_groups\"` - fetches all\
    \ the groups that have privileged\n  access to this group.\n\n* `\"includes_groups\"` - fetches all the groups included\
    \ by this\n  group.\n\n* `\"included_by_groups\"` - fetches all the groups that include\n  this group.\n\nAs with person\
    \ `fetch` parameters, the references may be used\nin a chain by using the \"dot\" notation to fetch additional information\n\
    about referenced people, institutions or groups. For example\n`\"all_members.email\"` will fetch the email addresses of\
    \ all members\nof the group. For more information about what can be fetched from\nreferenced people and institutions,\
    \ refer to the documentation for\n`PersonMethods` and `InstitutionMethods`."
  humanURL: https://www.lookup.cam.ac.uk/doc/ws-doc/
  baseURL: https://www.lookup.cam.ac.uk/api/v1/
  tags:
  - group
  properties:
  - type: OpenAPI
    url: openapi/university-of-cambridge-group-api-openapi.yml
  - type: Documentation
    url: https://www.lookup.cam.ac.uk/doc/ws-doc/
  - type: JSONSchema
    url: json-schema/university-of-cambridge-person-schema.json
  - type: x-json-structure
    url: json-structure/university-of-cambridge-person-structure.json
  - type: x-examples
    url: examples/university-of-cambridge-person-example.json
  - type: x-spectral-rules
    url: rules/university-of-cambridge-rules.yml
  - type: x-vocabulary
    url: vocabulary/university-of-cambridge-vocabulary.yml
  - type: x-json-ld-context
    url: json-ld/university-of-cambridge-context.jsonld
- aid: university-of-cambridge:university-of-cambridge-ibis-api
  name: University of Cambridge ibis API
  description: Common methods for searching for objects in the Lookup/Ibis database.
  humanURL: https://www.lookup.cam.ac.uk/doc/ws-doc/
  baseURL: https://www.lookup.cam.ac.uk/api/v1/
  tags:
  - ibis
  properties:
  - type: OpenAPI
    url: openapi/university-of-cambridge-ibis-api-openapi.yml
  - type: Documentation
    url: https://www.lookup.cam.ac.uk/doc/ws-doc/
  - type: JSONSchema
    url: json-schema/university-of-cambridge-person-schema.json
  - type: x-json-structure
    url: json-structure/university-of-cambridge-person-structure.json
  - type: x-examples
    url: examples/university-of-cambridge-person-example.json
  - type: x-spectral-rules
    url: rules/university-of-cambridge-rules.yml
  - type: x-vocabulary
    url: vocabulary/university-of-cambridge-vocabulary.yml
  - type: x-json-ld-context
    url: json-ld/university-of-cambridge-context.jsonld
- aid: university-of-cambridge:university-of-cambridge-institution-api
  name: University of Cambridge institution API
  description: "Methods for querying and manipulating institutions.\n\n#### The fetch parameter for institutions\n\nAll methods\
    \ that return institutions also accept an optional\n`fetch` parameter that may be used to request additional\ninformation\
    \ about the institutions returned. For more details about\nthe general rules that apply to the `fetch` parameter,\nrefer\
    \ to the `PersonMethods` documentation.\n\nFor institutions the `fetch` parameter may be used to fetch\nany institution\
    \ attribute by specifying the `schemeid` of an\ninstitution attribute scheme. Examples include `\"address\"`,\n`\"jpegPhoto\"\
    `, `\"universityPhone\"`, `\"instPhone\"`,\n`\"landlinePhone\"`, `\"mobilePhone\"`, `\"faxNumber\"`,\n`\"email\"` and\
    \ `\"labeledURI\"`. The full list (which may be\nextended over time) may be obtained using `#allAttributeSchemes`.\n\n\
    In addition the following pseudo-attributes are supported:\n\n* `\"phone_numbers\"` - fetches all phone numbers. This\
    \ is\n  equivalent to\n  `\"universityPhone,instPhone,landlinePhone,mobilePhone\"`.\n\n* `\"all_attrs\"` - fetches all\
    \ attributes from all institution\n  attribute schemes. This does not include references.\n\n* `\"contact_rows\"` - fetches\
    \ all institution contact rows. Any\n  chained fetches from contact rows are used to fetch attributes from any\n  people\
    \ referred to by the contact rows.\n\nThe `fetch` parameter may also be used to fetch referenced\npeople, institutions\
    \ or groups. This will only include references to\nnon-cancelled entities. The following references are supported:\n\n\
    * `\"all_members\"` - fetches all the people who are members of the\n  institution.\n\n* `\"parent_insts\"` - fetches\
    \ all the parent institutions. Note\n  that currently all institutions have only one parent, but this may change\n  in\
    \ the future, and client applications should be prepared to handle\n  multiple parents.\n\n* `\"child_insts\"` - fetches\
    \ all the child institutions.\n\n* `\"inst_groups\"` - fetches all the groups that belong to the\n  institution.\n\n*\
    \ `\"members_groups\"` - fetches all the groups that form the\n  institution's membership list.\n\n* `\"managed_by_groups\"\
    ` - fetches all the groups that manage the\n  institution's data (commonly called \"Editor\" groups).\n\nAs with person\
    \ `fetch` parameters, the references may be used\nin a chain by using the \"dot\" notation to fetch additional information\n\
    about referenced people, institutions or groups. For example\n`\"all_members.email\"` will fetch the email addresses of\
    \ all members\nof the institution. For more information about what can be fetched from\nreferenced people and groups,\
    \ refer to the documentation for\n`PersonMethods` and `GroupMethods`."
  humanURL: https://www.lookup.cam.ac.uk/doc/ws-doc/
  baseURL: https://www.lookup.cam.ac.uk/api/v1/
  tags:
  - institution
  properties:
  - type: OpenAPI
    url: openapi/university-of-cambridge-institution-api-openapi.yml
  - type: Documentation
    url: https://www.lookup.cam.ac.uk/doc/ws-doc/
  - type: JSONSchema
    url: json-schema/university-of-cambridge-person-schema.json
  - type: x-json-structure
    url: json-structure/university-of-cambridge-person-structure.json
  - type: x-examples
    url: examples/university-of-cambridge-person-example.json
  - type: x-spectral-rules
    url: rules/university-of-cambridge-rules.yml
  - type: x-vocabulary
    url: vocabulary/university-of-cambridge-vocabulary.yml
  - type: x-json-ld-context
    url: json-ld/university-of-cambridge-context.jsonld
- aid: university-of-cambridge:university-of-cambridge-person-api
  name: University of Cambridge person API
  description: "Methods for querying and manipulating people.\n\n#### Notes on the fetch parameter\n\nAll methods that return\
    \ people, institutions or groups also accept an\noptional `fetch` parameter that may be used to request\nadditional information\
    \ about the entities returned. Without this\nparameter, only a few basic details about each person, institution or\ngroup\
    \ are returned. The `fetch` parameter is quite flexible,\nand may be used in a number of different ways:\n\n* **Attribute\
    \ fetching**. Attributes may be fetched by specifying the\n  `schemeid` of an attribute scheme. For example to fetch a\n\
    \  person's email addresses, use the value `\"email\"`. For people common\n  attribute schemes include `\"jpegPhoto\"\
    `, `\"misAffiliation\"`,\n  `\"title\"`, `\"universityPhone\"`, `\"landlinePhone\"`,\n  `\"mobilePhone\"`, `\"pager\"\
    `, `\"labeledURI\"` and `\"address\"`.\n  The full list of person attribute schemes may be obtained using `#allAttributeSchemes`.\n\
    \n* **Pseudo-attributes**. Certain special pseudo-attributes are defined\n  for convenience. For people, the following\
    \ pseudo-attributes are supported:\n\n  * `\"phone_numbers\"` - fetches all phone numbers. This is\n    equivalent to\n\
    \    `\"universityPhone,instPhone,landlinePhone,mobilePhone,pager\"`.\n\n  * `\"all_identifiers\"` - fetches all identifiers.\
    \ Currently people\n    only have CRSid identifiers, but in the future additional identifiers such\n    as USN or staffNumber\
    \ may be added.\n\n  * `\"all_attrs\"` - fetches all attributes from all person attribute\n    schemes. This does not\
    \ include identifiers or references.\n\n* **Reference fetching**. For people, the following references are\n  supported\
    \ (and will fetch only non-cancelled institutions and groups):\n\n  * `\"all_insts\"` - fetches all the institutions to\
    \ which the person\n    belongs (sorted in name order).\n\n  * `\"all_groups\"` - fetches all the groups that the person\
    \ is a\n    member of, including indirect group memberships, via groups that include\n    other groups.\n\n  * `\"direct_groups\"\
    ` - fetches all the groups that the person is\n    directly a member of. This does not include indirect group memberships\
    \ -\n    i.e., groups that include these groups.\n\n* **Chained reference fetching**. To fetch properties of referenced\n\
    \  objects, the \"dot\" notation may be used. For example, to fetch the email\n  addresses of all the institutions to\
    \ which a person belongs, use\n  `\"all_insts.email\"`. Chains may include a number of reference\n  following steps, for\
    \ example\n  `\"all_insts.managed_by_groups.all_members.email\"` will fetch all the\n  institutions to which the person\
    \ belongs, all the groups that manage those\n  institutions, all the visible members of those groups and all the email\n\
    \  addresses of those managing group members. For more information about what\n  can be fetched from referenced institutions\
    \ and groups, refer to the\n  documentation for `InstitutionMethods` and `GroupMethods`.\n\nMultiple values of the `fetch`\
    \ parameter should be separated\nby commas.\n\n#### Fetch parameter examples\n\n`fetch = \"email\"`\nThis fetches all\
    \ the person's email addresses.\n\n`fetch = \"title,address\"`\nThis fetches all the person's titles (roles) and addresses.\n\
    \n`fetch = \"all_attrs\"`\nThis fetches all the person's attributes.\n\n`fetch = \"all_groups,all_insts\"`\nThis fetches\
    \ all the groups and institutions to which the person belongs.\n\n`fetch = \"all_insts.parent_insts\"`\nThis fetches all\
    \ the person's institutions, and their parent institutions.\n\n`fetch = \"all_insts.email,all_insts.all_members.email\"\
    `\nThis fetches all the person's institutions and their email addresses, and\nall the members of those institutions, and\
    \ the email addresses of all\nthose members."
  humanURL: https://www.lookup.cam.ac.uk/doc/ws-doc/
  baseURL: https://www.lookup.cam.ac.uk/api/v1/
  tags:
  - person
  properties:
  - type: OpenAPI
    url: openapi/university-of-cambridge-person-api-openapi.yml
  - type: Documentation
    url: https://www.lookup.cam.ac.uk/doc/ws-doc/
  - type: JSONSchema
    url: json-schema/university-of-cambridge-person-schema.json
  - type: x-json-structure
    url: json-structure/university-of-cambridge-person-structure.json
  - type: x-examples
    url: examples/university-of-cambridge-person-example.json
  - type: x-spectral-rules
    url: rules/university-of-cambridge-rules.yml
  - type: x-vocabulary
    url: vocabulary/university-of-cambridge-vocabulary.yml
  - type: x-json-ld-context
    url: json-ld/university-of-cambridge-context.jsonld
common:
- type: AgenticAccess
  url: agentic-access/university-of-cambridge-agentic-access.yml
- type: DomainSecurity
  url: security/university-of-cambridge-domain-security.yml
- type: Authentication
  url: authentication/university-of-cambridge-authentication.yml
- type: Website
  url: https://www.cam.ac.uk/
- type: DeveloperPortal
  url: https://developer.api.apps.cam.ac.uk/
- type: SourceCode
  url: https://gitlab.developers.cam.ac.uk/
- type: Twitter
  url: https://x.com/Cambridge_Uni
- type: LinkedIn
  url: https://www.linkedin.com/school/university-of-cambridge/
- type: Plans
  url: plans/university-of-cambridge-plans-pricing.yml
- type: RateLimits
  url: rate-limits/university-of-cambridge-rate-limits.yml
- type: FinOps
  url: finops/university-of-cambridge-finops.yml
- type: Review
  url: review.yml
- url: https://www.cam.ac.uk/rss/
  type: Blog
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com