Princeton University website screenshot

Princeton University

Princeton University is a private Ivy League research university in Princeton, New Jersey. Its programmable footprint is real but almost entirely the work of one unit — Princeton University Library — and it is one of the few institutions in this cohort that operates its own machine-readable contract rather than a vendor's. The Library publishes an OpenAPI 3.1.1 document for its Allsearch API at allsearch-api.princeton.edu, serves a Swagger UI alongside it, open-sources the application behind it, and runs a family of unauthenticated Blacklight JSON endpoints across the catalog, digital collections, finding aids, maps and the Princeton Data Commons research-data portal. The Art Museum runs a separate open, no-authentication collections API documented in prose on GitHub. Princeton also operates its own Shibboleth identity provider with published SAML 2.0 metadata, an OAI-PMH 2.0 endpoint on Figgy, and DataCite DOI registration under three of its own repository clients. Everything outside the Library is gated: the OIT enterprise gateway at api.princeton.edu runs WSO2 API Manager behind NetID or service-account OAuth2, and the developer portal that used to front it, api-store.princeton.edu, no longer resolves at all. Course, registrar, dining and directory data exist as APIs but are not reachable by anyone without a Princeton credential, so no public course-catalog surface is claimed here. Princeton's teaching and library-discovery layers are vendor tenancies — Canvas and Ex Libris Alma/Primo — and are recorded as relationships, not as Princeton contracts.

Princeton University publishes 18 APIs on the APIs.io network, including Art Museum API, Article API, Banner API, and 15 more. Tagged areas include University, Higher Education, Education, Ivy League, and United States.

The Princeton University catalog on APIs.io includes 1 JSON-LD context and 1 Spectral governance ruleset.

Princeton University’s developer surface includes API reference, authentication, and 22 more developer resources.

42.1/100 developing ▬ flat Agent 30/100 agent ready Full breakdown ↓
scored 2026-09-08 · rubric v0.20.0
AccessFree⚡ Free to try
2 APIs
UniversityHigher EducationEducationIvy LeagueUnited StatesNew JerseyResearch LibraryResearch DataOpen DataDigital CollectionsIdentity FederationMuseum

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 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/.
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/princeton: 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 30

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

Princeton University Art Museum API

Open, REST-style API providing developer access to data about the Princeton University Art Museum and its collections. Four surfaces: objects (with a label-level /tombstone sub-...

Princeton OIT API Gateway

Princeton's Office of Information Technology enterprise API gateway, running WSO2 API Manager. Fronts institutional APIs — ActiveDirectory user and group lookups, PrincetonInfo ...

Princeton University Library Catalog (Orangelight)

Princeton's library catalog at catalog.princeton.edu, a Blacklight application the Library writes and maintains itself as pulibrary/orangelight. Every route answers to a .json s...

PUL Bibliographic Data Web Service (Bibdata)

Princeton University Library's own bibliographic data service at bibdata.princeton.edu. A Rails application (pulibrary/bibdata) that reads from Alma and re-serves bibliographic ...

Figgy Digital Repository — OAI-PMH and IIIF

Figgy is Princeton University Library's Valkyrie-based digital repository backend (pulibrary/figgy). It serves IIIF manifests for digitised material and exposes an OAI-PMH 2.0 m...

Princeton Data Commons — Discovery

Princeton's research data repository, split into pdc_describe for deposit and description and pdc_discovery for the public portal at datacommons.princeton.edu/discovery. Both ar...

DataSpace Institutional Repository — OAI-PMH

DataSpace is Princeton's older DSpace-based institutional repository for theses, dissertations and archived research output, with an OAI-PMH metadata-harvesting endpoint and con...

Princeton University Library Finding Aids (PULFAlight)

Archival finding aids for Princeton's special collections and the Mudd Manuscript Library, served by an ArcLight application the Library maintains as pulibrary/pulfalight. The B...

Princeton University Library Maps and Geospatial Data (PUL Map)

GeoBlacklight application at maps.princeton.edu (pulibrary/pulmap) serving Princeton's geospatial data catalog. The .json surface is anonymously readable and the records follow ...

Digital PUL (DPUL)

Princeton's public digital collections site at dpul.princeton.edu (pulibrary/dpul), the presentation layer over Figgy. Blacklight .json endpoints return collection and item reco...

Princeton Shibboleth Identity Provider — SAML 2.0 Metadata

Princeton's campus identity provider publishes signed SAML 2.0 metadata at idp.princeton.edu/idp/shibboleth. The EntityDescriptor names Princeton University, carries administrat...

Ex Libris Alma / Primo VE — Princeton tenancy (01PRI_INST)

Princeton's library management and discovery layer runs on Ex Libris, with institution code 01PRI_INST: Alma at na05.alma.exlibrisgroup.com and a Primo VE instance at princeton....

Canvas LMS — Princeton tenancy

Princeton's learning management system is Instructure Canvas at princeton.instructure.com. The host is live behind a Cloudflare interstitial (403 to non-browser clients). Any Ca...

Princeton University Article API

The Article API from Princeton University — 1 operation(s) for article.

Princeton University Banner API

The Banner API from Princeton University — 1 operation(s) for banner.

Princeton University Best Bets API

The Best Bets API from Princeton University — 1 operation(s) for best bets.

Princeton University Catalog API

The Catalog API from Princeton University — 1 operation(s) for catalog.

Princeton University Dpul API

The Dpul API from Princeton University — 1 operation(s) for dpul.

Princeton University Findingaids API

The Findingaids API from Princeton University — 1 operation(s) for findingaids.

Princeton University Journals API

The Journals API from Princeton University — 1 operation(s) for journals.

Princeton University Libanswers API

The Libanswers API from Princeton University — 1 operation(s) for libanswers.

Princeton University Libguides API

The Libguides API from Princeton University — 1 operation(s) for libguides.

Princeton University Library Databases API

The Library Databases API from Princeton University — 1 operation(s) for library databases.

Princeton University Library Staff API

The Library Staff API from Princeton University — 1 operation(s) for library staff.

Princeton University Library Website API

The Library Website API from Princeton University — 1 operation(s) for library website.

Princeton University Makers API

Artists, cultural groups and other makers.

Princeton University Objects API

Art objects in the Museum's collection.

Princeton University Packages API

Curated groupings of collection material.

Princeton University Pulmap API

The Pulmap API from Princeton University — 1 operation(s) for pulmap.

Princeton University Search API

Full-text search across all collection data types.

Scroll for all 30

Pricing Plans 1

Published pricing tiers and plan structures.

Rate Limits 1

Documented rate limits and quota policies.

Princeton Rate Limits

1 limits

RATE LIMITS

FinOps 1

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

Semantic Vocabularies 1

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

Princeton Context

25 classes · 0 properties

JSON-LD

Spectral Rules 1

Spectral governance rulesets for linting and validating these APIs.

Princeton University API Rules

9 rules · 2 errors 7 warnings

SPECTRAL

JSON Schema 3

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

Princeton Allsearch error envelope

1 properties

JSON SCHEMA

Princeton Allsearch search response

3 properties

JSON SCHEMA

Examples 5

Example request and response payloads for these APIs.

Security Posture 2

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

Princeton Authentication

none/oauth2/saml · 4 schemes

SECURITY

Princeton Domain Security

TLSv1.3 · DMARC

SECURITY

Scopes 1

OAuth scopes governing access to this provider's APIs.

Princeton Scopes

OAuth 2.0 · no documented scopes

0 scopes

SCOPES

Resources

Documentation 1

Reference material describing how the API behaves

Design & Contract 6

Pagination, idempotency, versioning, errors, and events

Build 4

SDKs, sample code, and the tooling you integrate with

Access & Security 3

Authentication, authorization, and security posture

Operate 1

Status, limits, changes, and where to get help

Commercial 3

Pricing, plans, and the legal terms of use

Company 2

The organization behind the API

Other 4

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: princeton
name: Princeton University
description: 'Princeton University is a private Ivy League research university in Princeton, New Jersey. Its programmable
  footprint is real but almost entirely the work of one unit — Princeton University Library — and it is one of the few institutions
  in this cohort that operates its own machine-readable contract rather than a vendor''s. The Library publishes an OpenAPI
  3.1.1 document for its Allsearch API at allsearch-api.princeton.edu, serves a Swagger UI alongside it, open-sources the
  application behind it, and runs a family of unauthenticated Blacklight JSON endpoints across the catalog, digital collections,
  finding aids, maps and the Princeton Data Commons research-data portal. The Art Museum runs a separate open, no-authentication
  collections API documented in prose on GitHub. Princeton also operates its own Shibboleth identity provider with published
  SAML 2.0 metadata, an OAI-PMH 2.0 endpoint on Figgy, and DataCite DOI registration under three of its own repository clients.
  Everything outside the Library is gated: the OIT enterprise gateway at api.princeton.edu runs WSO2 API Manager behind NetID
  or service-account OAuth2, and the developer portal that used to front it, api-store.princeton.edu, no longer resolves at
  all. Course, registrar, dining and directory data exist as APIs but are not reachable by anyone without a Princeton credential,
  so no public course-catalog surface is claimed here. Princeton''s teaching and library-discovery layers are vendor tenancies
  — Canvas and Ex Libris Alma/Primo — and are recorded as relationships, not as Princeton contracts.'
x-type: university
x-category: Private Research University
x-operator-summary:
  institution: 12
  tenant: 2
  vendor: 0
  placeholder: 0
x-enrichment:
  date: '2026-08-19'
  status: enriched
  pass: university-pipeline-v1
  artifacts_added: 16
  note: Re-profiled under the university pipeline after the June 2026 cohort pass. The June profile missed Princeton's only
    published OpenAPI (the Library's Allsearch API), missed the Shibboleth IdP metadata, missed the Figgy OAI-PMH endpoint
    and the Princeton Data Commons portal, recorded a DeveloperPortal host that no longer resolves, and misread Princeton's
    own ALTCHA bot challenge on DataSpace as an authentication requirement. All four are corrected here.
x-coverage:
  state: covered
  reason: null
  detail: 'Twelve institution-operated surfaces were reached and confirmed with real probes, including a live OpenAPI 3.1.1
    document, a SAML 2.0 EntityDescriptor and an OAI-PMH 2.0 Identify response. Two areas were NOT readable and are declared
    rather than guessed at. First, every Drupal-hosted princeton.edu marketing site — library.princeton.edu, oit.princeton.edu,
    ai.princeton.edu, researchcomputing.princeton.edu — sits behind a Cloudflare JS interstitial that returns 403 to every
    non-browser client, including with full browser headers, so no AIPolicy or ResearchComputing pointer is emitted even though
    those programmes plainly exist. Second, dataspace.princeton.edu answers 401 with Princeton''s own in-house ALTCHA proof-of-work
    challenge; the repository and its OAI-PMH endpoint are live behind it and the June 2026 note calling this "requires authentication"
    was wrong. Both are blocks on our side, not gaps in Princeton''s publishing. The OIT gateway''s 401 IS a real institutional
    gate and is recorded as such. princeton.figshare.com was probed and rejected: a nonsense subdomain returns the same empty
    202 from the same load balancer, so there is no Figshare tenancy to record here.'
  evidence:
  - url: https://allsearch-api.princeton.edu/api-docs/v1/swagger.yaml
    status: 200
  - url: https://idp.princeton.edu/idp/shibboleth
    status: 200
  - url: https://figgy.princeton.edu/oai?verb=Identify
    status: 200
  - url: https://catalog.princeton.edu/catalog.json?q=climate
    status: 200
  - url: https://data.artmuseum.princeton.edu/objects/9449
    status: 200
  - url: https://api.princeton.edu/active-directory/1.0.6/users
    status: 401
  - url: https://api-store.princeton.edu/store/
    status: 0
  - url: https://dataspace.princeton.edu/server/oai/request?verb=Identify
    status: 401
  - url: https://ai.princeton.edu/
    status: 403
  - url: https://library.princeton.edu/
    status: 403
  - url: https://allsearch-api.princeton.edu/llms.txt
    status: 200
    note: FALSE CREDIT, ruled out. The Allsearch API has a catch-all that answers any unknown path with its root identity
      document, so llms.txt and .well-known/api-catalog both return 200 without existing. A control probe of /totally-fake-xyz789
      returns the identical body. No agent-surface artifact is claimed for this provider.
  - url: https://princeton.figshare.com/
    status: 202
    note: FALSE CREDIT, ruled out. nosuchschool-xyz123.figshare.com returns the same empty 202 from the same awselb/2.0 load
      balancer. Not a Princeton Figshare tenancy.
  checked: '2026-08-19'
type: Index
deliveryModel:
  model: unknown
  open_source: unknown
  commercial: true
  callable_host: true
  label: Delivery model not determined — needs a product licence on record
  confidence: low
  source:
  - openapi
  - pricing
  - repository-unlicensed
  generated: '2026-08-28'
  method: derived
accessModel:
  pricing: free
  onboarding: unknown
  trial: false
  try_now: true
  public: true
  label: Free
  confidence: high
  source:
  - probed
  generated: '2026-08-19'
  method: probed
  note: 'Upgraded from `public: false` after probing. The Library''s APIs are anonymously callable with no key, no registration
    and no rate-limit challenge; the OIT gateway remains NetID-gated.'
position: Producing
access: 3rd-Party
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/princeton.png
url: https://raw.githubusercontent.com/api-evangelist/princeton/refs/heads/main/apis.yml
tags:
- University
- Higher Education
- Education
- Ivy League
- United States
- New Jersey
- Research Library
- Research Data
- Open Data
- Digital Collections
- Identity Federation
- Museum
created: '2026-06-03'
modified: '2026-08-19'
specificationVersion: '0.23'
apis:
- aid: princeton:art-museum-api
  name: Princeton University Art Museum API
  x-operator: institution
  description: 'Open, REST-style API providing developer access to data about the Princeton University Art Museum and its
    collections. Four surfaces: objects (with a label-level /tombstone sub-resource and filtering by maker, department, term
    and on-view status), makers, packages, and a full-text search endpoint that returns the raw Elasticsearch envelope. Pagination
    and incremental harvesting are supported via size, from, sort, sortorder and lastupdated. No authentication is currently
    required, though the Museum documents that this may change. Weekly-refreshed static JSON dumps of the whole collection
    are offered alongside the API for bulk and machine-learning use. The Museum publishes prose documentation, not a contract;
    the OpenAPI in this repo is DERIVED from that documentation and verified against live responses, and is not Princeton''s
    own artifact.'
  humanURL: https://github.com/Princeton-University-Art-Museum/puam-api-docs
  baseURL: https://data.artmuseum.princeton.edu
  tags:
  - Museum
  - Collection
  - Open Data
  - IIIF
  - JSON
  tags_raw:
  - Museum
  - Collections
  - Open Data
  - IIIF
  - JSON
  properties:
  - type: OpenAPI
    url: openapi/princeton-art-museum-api-openapi.yml
  - type: Documentation
    url: https://github.com/Princeton-University-Art-Museum/puam-api-docs
  - type: GitHubOrganization
    url: https://github.com/Princeton-University-Art-Museum
  - type: JSONSchema
    url: json-schema/princeton-art-museum-object.json
  - type: Examples
    url: examples/princeton-art-museum-tombstone-200.json
  - type: Authentication
    url: authentication/princeton-authentication.yml
  - type: ErrorCatalog
    url: errors/princeton-errors.yml
- aid: princeton:oit-api-gateway
  name: Princeton OIT API Gateway
  x-operator: institution
  description: 'Princeton''s Office of Information Technology enterprise API gateway, running WSO2 API Manager. Fronts institutional
    APIs — ActiveDirectory user and group lookups, PrincetonInfo departmental data, a MobileApp surface carrying course, dining
    and campus places data, and the LibAlma patron feed the Library consumes. Every call requires a bearer token obtained
    through a NetID or departmental service-account subscription, so the surface is real but invisible to the public: anonymous
    requests return 401 with an empty body. The API Store developer portal that used to front it, api-store.princeton.edu,
    no longer resolves (NXDOMAIN, 2026-08-19), and no successor portal is published, so the gateway currently has no discoverable
    documentation of any kind. This is the course-catalog and registrar surface the university pipeline hunts for — it exists,
    and it is closed.'
  baseURL: https://api.princeton.edu
  tags:
  - Identity
  - Directory
  - Courses
  - Gated
  - Authentication
  - Gateway
  tags_raw:
  - Identity
  - Directory
  - Courses
  - Gated
  - OAuth2
  - Gateway
  properties:
  - type: Authentication
    url: authentication/princeton-authentication.yml
  - type: ErrorCatalog
    url: errors/princeton-errors.yml
  - type: Lifecycle
    url: lifecycle/princeton-lifecycle.yml
- aid: princeton:catalog
  name: Princeton University Library Catalog (Orangelight)
  x-operator: institution
  description: Princeton's library catalog at catalog.princeton.edu, a Blacklight application the Library writes and maintains
    itself as pulibrary/orangelight. Every route answers to a .json suffix, so catalog.princeton.edu/catalog.json is an unauthenticated
    search API returning a JSON:API-shaped envelope with self/next/last/prev links, facets and full record documents. Records
    carry Alma MMS IDs; the underlying library system is an Ex Libris tenancy, but this contract and this application are
    Princeton's own code.
  humanURL: https://catalog.princeton.edu/
  baseURL: https://catalog.princeton.edu
  tags:
  - Library
  - Catalog
  - Discovery
  - Blacklight
  - JSON
  properties:
  - type: Documentation
    url: https://github.com/pulibrary/orangelight
  - type: GitHubRepository
    url: https://github.com/pulibrary/orangelight
  - type: Website
    url: https://catalog.princeton.edu/
- aid: princeton:bibdata
  name: PUL Bibliographic Data Web Service (Bibdata)
  x-operator: institution
  description: Princeton University Library's own bibliographic data service at bibdata.princeton.edu. A Rails application
    (pulibrary/bibdata) that reads from Alma and re-serves bibliographic records, holdings, delivery and holding locations,
    libraries and events as JSON, plus periodic full dumps used to rebuild the Solr indexes behind the catalog. Location endpoints
    such as /locations/libraries.json are anonymously readable; staff operations sit behind Princeton CAS. The service prints
    its own deployed commit, deploy date and live index timestamps on its home page — more operational transparency than most
    of this cohort offers.
  humanURL: https://bibdata.princeton.edu/
  baseURL: https://bibdata.princeton.edu
  tags:
  - Library
  - Metadata
  - JSON
  - Open Data
  properties:
  - type: Documentation
    url: https://github.com/pulibrary/bibdata
  - type: GitHubRepository
    url: https://github.com/pulibrary/bibdata
  - type: Website
    url: https://bibdata.princeton.edu/
- aid: princeton:figgy-oai
  name: Figgy Digital Repository — OAI-PMH and IIIF
  x-operator: institution
  description: Figgy is Princeton University Library's Valkyrie-based digital repository backend (pulibrary/figgy). It serves
    IIIF manifests for digitised material and exposes an OAI-PMH 2.0 metadata-harvesting endpoint at /oai whose Identify response
    names "Princeton University Library", with an earliest datestamp of 2017-10-06 and transient deleted-record support. This
    is Princeton's verified oai-pmh conformance under the education regime, and unlike most of the cohort the endpoint is
    on the institution's own host running the institution's own code.
  humanURL: https://figgy.princeton.edu/
  baseURL: https://figgy.princeton.edu/oai
  tags:
  - Repository
  - OAI-PMH
  - IIIF
  - Digital Collections
  - Library
  properties:
  - type: Documentation
    url: https://github.com/pulibrary/figgy
  - type: GitHubRepository
    url: https://github.com/pulibrary/figgy
  - type: Examples
    url: examples/princeton-figgy-oai-identify.xml
  - type: Conformance
    url: conformance/princeton-conformance.yml
- aid: princeton:data-commons
  name: Princeton Data Commons — Discovery
  x-operator: institution
  description: Princeton's research data repository, split into pdc_describe for deposit and description and pdc_discovery
    for the public portal at datacommons.princeton.edu/discovery. Both are Princeton-written (pulibrary/pdc_discovery, pulibrary/pdc_describe),
    and the discovery portal exposes an unauthenticated Blacklight JSON API. Datasets are addressed by DataCite DOIs under
    Princeton's own 10.34770 prefix and records carry ORCID identifiers. This is the slot most universities in this cohort
    fill with a Figshare or Dataverse tenancy; Princeton operates it themselves.
  humanURL: https://datacommons.princeton.edu/discovery
  baseURL: https://datacommons.princeton.edu/discovery
  tags:
  - Research Data
  - Repository
  - DataCite
  - ORCID
  - Open Data
  properties:
  - type: Documentation
    url: https://github.com/pulibrary/pdc_discovery
  - type: GitHubRepository
    url: https://github.com/pulibrary/pdc_discovery
  - type: Conformance
    url: conformance/princeton-conformance.yml
  - type: Website
    url: https://datacommons.princeton.edu/discovery
- aid: princeton:dataspace-oai
  name: DataSpace Institutional Repository — OAI-PMH
  x-operator: institution
  description: DataSpace is Princeton's older DSpace-based institutional repository for theses, dissertations and archived
    research output, with an OAI-PMH metadata-harvesting endpoint and content migrating to Princeton Data Commons. Registered
    with DataCite as client pu.dataspace, which has minted 399 DOIs under the 10.34770 prefix. The host CNAMEs to dataspace.pulcloud.io
    — pulcloud.io is Princeton University Library's own Google Cloud estate, documented throughout pulibrary/princeton_ansible
    — so this is Princeton infrastructure running open-source software, not a hosted vendor tenancy. Every request currently
    returns 401 from Princeton's in-house ALTCHA proof-of-work bot challenge (pulibrary/altcha_rust_server); that is a client-verification
    gate, not authentication, and the June 2026 profile of this repo recorded it wrongly.
  humanURL: https://dataspace.princeton.edu/about
  baseURL: https://dataspace.princeton.edu/server/oai/request
  tags:
  - Repository
  - OAI-PMH
  - DSpace
  - Research Data
  - Theses
  properties:
  - type: Conformance
    url: conformance/princeton-conformance.yml
  - type: Lifecycle
    url: lifecycle/princeton-lifecycle.yml
- aid: princeton:finding-aids
  name: Princeton University Library Finding Aids (PULFAlight)
  x-operator: institution
  description: Archival finding aids for Princeton's special collections and the Mudd Manuscript Library, served by an ArcLight
    application the Library maintains as pulibrary/pulfalight. The Blacklight .json surface returns collection and component
    records with facets and paging links, anonymously.
  humanURL: https://findingaids.princeton.edu/
  baseURL: https://findingaids.princeton.edu
  tags:
  - Library
  - Archives
  - Finding Aids
  - Discovery
  - JSON
  properties:
  - type: GitHubRepository
    url: https://github.com/pulibrary/pulfalight
  - type: Website
    url: https://findingaids.princeton.edu/
- aid: princeton:maps
  name: Princeton University Library Maps and Geospatial Data (PUL Map)
  x-operator: institution
  description: GeoBlacklight application at maps.princeton.edu (pulibrary/pulmap) serving Princeton's geospatial data catalog.
    The .json surface is anonymously readable and the records follow the OpenGeoMetadata conventions GeoBlacklight is built
    around.
  humanURL: https://maps.princeton.edu/
  baseURL: https://maps.princeton.edu
  tags:
  - Library
  - Geospatial
  - Open Data
  - Discovery
  - JSON
  properties:
  - type: GitHubRepository
    url: https://github.com/pulibrary/pulmap
  - type: Website
    url: https://maps.princeton.edu/
- aid: princeton:digital-pul
  name: Digital PUL (DPUL)
  x-operator: institution
  description: Princeton's public digital collections site at dpul.princeton.edu (pulibrary/dpul), the presentation layer
    over Figgy. Blacklight .json endpoints return collection and item records anonymously; the same content is also reachable
    through Allsearch's /search/dpul operation.
  humanURL: https://dpul.princeton.edu/
  baseURL: https://dpul.princeton.edu
  tags:
  - Digital Collections
  - Library
  - Discovery
  - JSON
  properties:
  - type: GitHubRepository
    url: https://github.com/pulibrary/dpul
  - type: Website
    url: https://dpul.princeton.edu/
- aid: princeton:shibboleth-idp
  name: Princeton Shibboleth Identity Provider — SAML 2.0 Metadata
  x-operator: institution
  description: Princeton's campus identity provider publishes signed SAML 2.0 metadata at idp.princeton.edu/idp/shibboleth.
    The EntityDescriptor names Princeton University, carries administrative, support and technical contacts at princeton.edu,
    declares protocolSupportEnumeration for Shibboleth 1.0, SAML 1.1 and SAML 2.0, and publishes signing and encryption key
    descriptors plus shibmd:Scope elements. This is a machine-readable contract that is institution-operated by definition,
    it is the university pipeline's IdentityFederation class, and it is Princeton's verified shibboleth and saml conformance
    under the education regime. It is also almost never catalogued anywhere.
  humanURL: https://idp.princeton.edu/idp/shibboleth
  baseURL: https://idp.princeton.edu/idp
  tags:
  - Identity Federation
  - Shibboleth
  - SAML
  - InCommon
  - Authentication
  properties:
  - type: Examples
    url: examples/princeton-shibboleth-idp-metadata.xml
  - type: Conformance
    url: conformance/princeton-conformance.yml
  - type: Authentication
    url: authentication/princeton-authentication.yml
- aid: princeton:exlibris-tenancy
  name: Ex Libris Alma / Primo VE — Princeton tenancy (01PRI_INST)
  x-operator: tenant
  description: 'Princeton''s library management and discovery layer runs on Ex Libris, with institution code 01PRI_INST: Alma
    at na05.alma.exlibrisgroup.com and a Primo VE instance at princeton.primo.exlibrisgroup.com. Both returned 200. The data
    is Princeton''s — its holdings, its patrons, its link resolver targets, which surface in Allsearch results as resource_url
    values — but the API contract belongs to Ex Libris and is scored against Ex Libris, not Princeton. Recorded as a relationship
    because it is a real institutional fact and because Princeton''s own bibdata service is built on top of it. No vendor
    spec is saved under this slug.'
  humanURL: https://princeton.primo.exlibrisgroup.com/
  tags:
  - Library
  - Vendor Tenancy
  - Discovery
  - Ex Libris
  properties:
  - type: Website
    url: https://princeton.primo.exlibrisgroup.com/
- aid: princeton:canvas-tenancy
  name: Canvas LMS — Princeton tenancy
  x-operator: tenant
  description: Princeton's learning management system is Instructure Canvas at princeton.instructure.com. The host is live
    behind a Cloudflare interstitial (403 to non-browser clients). Any Canvas REST API, LTI conformance or Caliper eventing
    available there is Instructure's contract running under Princeton's name, not Princeton engineering, so nothing is saved
    under this slug. Recorded because the LMS tenancy is the single most consequential programmable relationship a university
    has and leaving it out would misrepresent the footprint.
  humanURL: https://princeton.instructure.com/
  tags:
  - LMS
  - Vendor Tenancy
  - Teaching
  - Canvas
  properties:
  - type: Website
    url: https://princeton.instructure.com/
- aid: princeton:princeton-article-api
  name: Princeton University Article API
  description: The Article API from Princeton University — 1 operation(s) for article.
  humanURL: https://allsearch-api.princeton.edu/api-docs
  baseURL: https://allsearch-api.princeton.edu
  tags:
  - Article
  properties:
  - type: OpenAPI
    url: openapi/princeton-article-api-openapi.yml
  - type: APIReference
    url: https://allsearch-api.princeton.edu/api-docs
  - type: Documentation
    url: https://github.com/pulibrary/allsearch_api
  - type: GitHubRepository
    url: https://github.com/pulibrary/allsearch_api
  - type: JSONSchema
    url: json-schema/princeton-allsearch-search-response.json
  - type: JSONSchema
    url: json-schema/princeton-allsearch-error.json
  - type: Examples
    url: examples/princeton-allsearch-catalog-search-200.json
  - type: Authentication
    url: authentication/princeton-authentication.yml
  - type: ErrorCatalog
    url: errors/princeton-errors.yml
  - type: SpectralRules
    url: rules/princeton-openapi-spectral-rules.yml
  - type: Conformance
    url: conformance/princeton-conformance.yml
  - type: Website
    url: https://allsearch.princeton.edu/
- aid: princeton:princeton-banner-api
  name: Princeton University Banner API
  description: The Banner API from Princeton University — 1 operation(s) for banner.
  humanURL: https://allsearch-api.princeton.edu/api-docs
  baseURL: https://allsearch-api.princeton.edu
  tags:
  - Banner
  properties:
  - type: OpenAPI
    url: openapi/princeton-banner-api-openapi.yml
  - type: APIReference
    url: https://allsearch-api.princeton.edu/api-docs
  - type: Documentation
    url: https://github.com/pulibrary/allsearch_api
  - type: GitHubRepository
    url: https://github.com/pulibrary/allsearch_api
  - type: JSONSchema
    url: json-schema/princeton-allsearch-search-response.json
  - type: JSONSchema
    url: json-schema/princeton-allsearch-error.json
  - type: Examples
    url: examples/princeton-allsearch-catalog-search-200.json
  - type: Authentication
    url: authentication/princeton-authentication.yml
  - type: ErrorCatalog
    url: errors/princeton-errors.yml
  - type: SpectralRules
    url: rules/princeton-openapi-spectral-rules.yml
  - type: Conformance
    url: conformance/princeton-conformance.yml
  - type: Website
    url: https://allsearch.princeton.edu/
- aid: princeton:princeton-best-bets-api
  name: Princeton University Best Bets API
  description: The Best Bets API from Princeton University — 1 operation(s) for best bets.
  humanURL: https://allsearch-api.princeton.edu/api-docs
  baseURL: https://allsearch-api.princeton.edu
  tags:
  - Best Bets
  properties:
  - type: OpenAPI
    url: openapi/princeton-best-bets-api-openapi.yml
  - type: APIReference
    url: https://allsearch-api.princeton.edu/api-docs
  - type: Documentation
    url: https://github.com/pulibrary/allsearch_api
  - type: GitHubRepository
    url: https://github.com/pulibrary/allsearch_api
  - type: JSONSchema
    url: json-schema/princeton-allsearch-search-response.json
  - type: JSONSchema
    url: json-schema/princeton-allsearch-error.json
  - type: Examples
    url: examples/princeton-allsearch-catalog-search-200.json
  - type: Authentication
    url: authentication/princeton-authentication.yml
  - type: ErrorCatalog
    url: errors/princeton-errors.yml
  - type: SpectralRules
    url: rules/princeton-openapi-spectral-rules.yml
  - type: Conformance
    url: conformance/princeton-conformance.yml
  - type: Website
    url: https://allsearch.princeton.edu/
- aid: princeton:princeton-catalog-api
  name: Princeton University Catalog API
  description: The Catalog API from Princeton University — 1 operation(s) for catalog.
  humanURL: https://allsearch-api.princeton.edu/api-docs
  baseURL: https://allsearch-api.princeton.edu
  tags:
  - Catalog
  properties:
  - type: OpenAPI
    url: openapi/princeton-catalog-api-openapi.yml
  - type: APIReference
    url: https://allsearch-api.princeton.edu/api-docs
  - type: Documentation
    url: https://github.com/pulibrary/allsearch_api
  - type: GitHubRepository
    url: https://github.com/pulibrary/allsearch_api
  - type: JSONSchema
    url: json-schema/princeton-allsearch-search-response.json
  - type: JSONSchema
    url: json-schema/princeton-allsearch-error.json
  - type: Examples
    url: examples/princeton-allsearch-catalog-search-200.json
  - type: Authentication
    url: authentication/princeton-authentication.yml
  - type: ErrorCatalog
    url: errors/princeton-errors.yml
  - type: SpectralRules
    url: rules/princeton-openapi-spectral-rules.yml
  - type: Conformance
    url: conformance/princeton-conformance.yml
  - type: Website
    url: https://allsearch.princeton.edu/
- aid: princeton:princeton-dpul-api
  name: Princeton University Dpul API
  description: The Dpul API from Princeton University — 1 operation(s) for dpul.
  humanURL: https://allsearch-api.princeton.edu/api-docs
  baseURL: https://allsearch-api.princeton.edu
  tags:
  - Dpul
  properties:
  - type: OpenAPI
    url: openapi/princeton-dpul-api-openapi.yml
  - type: APIReference
    url: https://allsearch-api.princeton.edu/api-docs
  - type: Documentation
    url: https://github.com/pulibrary/allsearch_api
  - type: GitHubRepository
    url: https://github.com/pulibrary/allsearch_api
  - type: JSONSchema
    url: json-schema/princeton-allsearch-search-response.json
  - type: JSONSchema
    url: json-schema/princeton-allsearch-error.json
  - type: Examples
    url: examples/princeton-allsearch-catalog-search-200.json
  - type: Authentication
    url: authentication/princeton-authentication.yml
  - type: ErrorCatalog
    url: errors/princeton-errors.yml
  - type: SpectralRules
    url: rules/princeton-openapi-spectral-rules.yml
  - type: Conformance
    url: conformance/princeton-conformance.yml
  - type: Website
    url: https://allsearch.princeton.edu/
- aid: princeton:princeton-findingaids-api
  name: Princeton University Findingaids API
  description: The Findingaids API from Princeton University — 1 operation(s) for findingaids.
  humanURL: https://allsearch-api.princeton.edu/api-docs
  baseURL: https://allsearch-api.princeton.edu
  tags:
  - Finding Aids
  tags_raw:
  - Findingaids
  properties:
  - type: OpenAPI
    url: openapi/princeton-findingaids-api-openapi.yml
  - type: APIReference
    url: https://allsearch-api.princeton.edu/api-docs
  - type: Documentation
    url: https://github.com/pulibrary/allsearch_api
  - type: GitHubRepository
    url: https://github.com/pulibrary/allsearch_api
  - type: JSONSchema
    url: json-schema/princeton-allsearch-search-response.json
  - type: JSONSchema
    url: json-schema/princeton-allsearch-error.json
  - type: Examples
    url: examples/princeton-allsearch-catalog-search-200.json
  - type: Authentication
    url: authentication/princeton-authentication.yml
  - type: ErrorCatalog
    url: errors/princeton-errors.yml
  - type: SpectralRules
    url: rules/princeton-openapi-spectral-rules.yml
  - type: Conformance
    url: conformance/princeton-conformance.yml
  - type: Website
    url: https://allsearch.princeton.edu/
- aid: princeton:princeton-journals-api
  name: Princeton University Journals API
  description: The Journals API from Princeton University — 1 operation(s) for journals.
  humanURL: https://allsearch-api.princeton.edu/api-docs
  baseURL: https://allsearch-api.princeton.edu
  tags:
  - Journals
  properties:
  - type: OpenAPI
    url: openapi/princeton-journals-api-openapi.yml
  - type: APIReference
    url: https://allsearch-api.princeton.edu/api-docs
  - type: Documentation
    url: https://github.com/pulibrary/allsearch_api
  - type: GitHubRepository
    url: https://github.com/pulibrary/allsearch_api
  - type: JSONSchema
    url: json-schema/princeton-allsearch-search-response.json
  - type: JSONSchema
    url: json-schema/princeton-allsearch-error.json
  - type: Examples
    url: examples/princeton-allsearch-catalog-search-200.json
  - type: Authentication
    url: authentication/princeton-authentication.yml
  - type: ErrorCatalog
    url: errors/princeton-errors.yml
  - type: SpectralRules
    url: rules/princeton-openapi-spectral-rules.yml
  - type: Conformance
    url: conformance/princeton-conformance.yml
  - type: Website
    url: https://allsearch.princeton.edu/
- aid: princeton:princeton-libanswers-api
  name: Princeton University Libanswers API
  description: The Libanswers API from Princeton University — 1 operation(s) for libanswers.
  humanURL: https://allsearch-api.princeton.edu/api-docs
  baseURL: https://allsearch-api.princeton.edu
  tags:
  - Libanswers
  properties:
  - type: OpenAPI
    url: openapi/princeton-libanswers-api-openapi.yml
  - type: APIReference
    url: https://allsearch-api.princeton.edu/api-docs
  - type: Documentation
    url: https://github.com/pulibrary/allsearch_api
  - type: GitHubRepository
    url: https://github.com/pulibrary/allsearch_api
  - type: JSONSchema
    url: json-schema/princeton-allsearch-search-response.json
  - type: JSONSchema
    url: json-schema/princeton-allsearch-error.json
  - type: Examples
    url: examples/princeton-allsearch-catalog-search-200.json
  - type: Authentication
    url: authentication/princeton-authentication.yml
  - type: ErrorCatalog
    url: errors/princeton-errors.yml
  - type: SpectralRules
    url: rules/princeton-openapi-spectral-rules.yml
  - type: Conformance
    url: conformance/princeton-conformance.yml
  - type: Website
    url: https://allsearch.princeton.edu/
- aid: princeton:princeton-libguides-api
  name: Princeton University Libguides API
  description: The Libguides API from Princeton University — 1 operation(s) for libguides.
  humanURL: https://allsearch-api.princeton.edu/api-docs
  baseURL: https://allsearch-api.princeton.edu
  tags:
  - LibGuides
  tags_raw:
  - Libguides
  properties:
  - type: OpenAPI
    url: openapi/princeton-libguides-api-openapi.yml
  - type: APIReference
    url: https://allsearch-api.princeton.edu/api-docs
  - type: Documentation
    url: https://github.com/pulibrary/allsearch_api
  - type: GitHubRepository
    url: https://github.com/pulibrary/allsearch_api
  - type: JSONSchema
    url: json-schema/princeton-allsearch-search-response.json
  - type: JSONSchema
    url: json-schema/princeton-allsearch-error.json
  - type: Examples
    url: examples/princeton-allsearch-catalog-search-200.json
  - type: Authentication
    url: authentication/princeton-authentication.yml
  - type: ErrorCatalog
    url: errors/princeton-errors.yml
  - type: SpectralRules
    url: rules/princeton-openapi-spectral-rules.yml
  - type: Conformance
    url: conformance/princeton-conformance.yml
  - type: Website
    url: https://allsearch.princeton.edu/
- aid: princeton:princeton-library-databases-api
  name: Princeton University Library Databases API
  description: The Library Databases API from Princeton University — 1 operation(s) for library databases.
  humanURL: https://allsearch-api.princeton.edu/api-docs
  baseURL: https://allsearch-api.princeton.edu
  tags:
  - Library Databases
  properties:
  - type: OpenAPI
    url: openapi/princeton-library-databases-api-openapi.yml
  - type: APIReference
    url: https://allsearch-api.princeton.edu/api-docs
  - type: Documentation
    url: https://github.com/pulibrary/allsearch_api
  - type: GitHubRepository
    url: https://github.com/pulibrary/allsearch_api
  - type: JSONSchema
    url: json-schema/princeton-allsearch-search-response.json
  - type: JSONSchema
    url: json-schema/princeton-allsearch-error.json
  - type: Examples
    url: examples/princeton-allsearch-catalog-search-200.json
  - type: Authentication
    url: authentication/princeton-authentication.yml
  - type: ErrorCatalog
    url: errors/princeton-errors.yml
  - type: SpectralRules
    url: rules/princeton-openapi-spectral-rules.yml
  - type: Conformance
    url: conformance/princeton-conformance.yml
  - type: Website
    url: https://allsearch.princeton.edu/
- aid: princeton:princeton-library-staff-api
  name: Princeton University Library Staff API
  description: The Library Staff API from Princeton University — 1 operation(s) for library staff.
  humanURL: https://allsearch-api.princeton.edu/api-docs
  baseURL: https:

# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/princeton/refs/heads/main/apis.yml

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/princeton"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/princeton/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/princeton/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.