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.
The University's central web authentication service. Raven OAuth2 conforms to OpenID Connect; applications register client credentials to authenticate Cambridge users. An identi...
UIS API Gateway (ALPHA) publishing read-oriented REST APIs — University Card, University Student (CamSIS-sourced), and University Human Resources (CHRIS-sourced). Interactive "t...
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 ...
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...
Methods for querying and manipulating institutions. #### The fetch parameter for institutions All methods that return institutions also accept an optional `fetch` parameter that...
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 ...
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