Purdue University website screenshot

Purdue University

Purdue University is a public land-grant research university in West Lafayette, Indiana, United States, ranked #99 in the QS World University Rankings 2025. Its public, machine-readable developer footprint is limited and largely community- or service-specific rather than a single centralized developer portal. Confirmed public interfaces include the community-built Purdue.io OData course-catalog API and the Purdue University Research Repository (PURR) OAI-PMH metadata endpoint. A Purdue Libraries API host exists but currently serves only a placeholder page.

Purdue University publishes 10 APIs on the APIs.io network, including Buildings API, Campuses API, Classes API, and 7 more. Tagged areas include Education, Higher Education, University, Research, and Open Data.

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

Purdue University’s developer surface includes GitHub presence and 9 more developer resources.

36.8/100 thin ▬ flat Agent 22/100 agent aware Full breakdown ↓
scored 2026-07-28 · rubric v0.6
AccessFree
11 APIs
EducationHigher EducationUniversityResearchOpen DataUnited States

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-28 · rubric v0.6
Composite quality — 36.8/100 · thin
Contract Quality 16.1 / 25
Developer Ergonomics 0.0 / 20
Commercial Clarity 5.8 / 20
Operational Transparency 3.4 / 13
Governance 7.0 / 12
Discoverability 7.4 / 10
Agent readiness — 22/100 · agent aware
Machine-Readable Contract 18 / 18
Agentic Access Contract 10 / 10
MCP Server 0 / 12
Machine-Readable Auth 0 / 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/purdue: 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 11

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

PURR OAI-PMH Metadata API

The Purdue University Research Repository (PURR) exposes an OAI-PMH endpoint for harvesting research dataset metadata, supporting standard verbs (Identify, ListSets, ListMetadat...

Purdue University Buildings API

The Buildings API from Purdue University — 2 operation(s) for buildings.

Purdue University Campuses API

The Campuses API from Purdue University — 2 operation(s) for campuses.

Purdue University Classes API

The Classes API from Purdue University — 2 operation(s) for classes.

Purdue University Courses API

The Courses API from Purdue University — 2 operation(s) for courses.

Purdue University Instructors API

The Instructors API from Purdue University — 2 operation(s) for instructors.

Purdue University Meetings API

The Meetings API from Purdue University — 2 operation(s) for meetings.

Purdue University Rooms API

The Rooms API from Purdue University — 2 operation(s) for rooms.

Purdue University Sections API

The Sections API from Purdue University — 2 operation(s) for sections.

Purdue University Subjects API

The Subjects API from Purdue University — 2 operation(s) for subjects.

Purdue University Terms API

The Terms API from Purdue University — 2 operation(s) for terms.

Scroll for all 11

Pricing Plans 1

Published pricing tiers and plan structures.

Purdue Plans Pricing

2 plans

PLANS

Rate Limits 1

Documented rate limits and quota policies.

Purdue 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.

Purdue Context

34 classes · 3 properties

JSON-LD

Spectral Rules 2

Spectral governance rulesets for linting and validating these APIs.

Purdue University API Rules

5 rules · 4 warnings 1 info

SPECTRAL

Purdue University API Rules

6 rules · 3 errors 3 warnings

SPECTRAL

JSON Schema 4

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

Course

6 properties

JSON SCHEMA

Meeting

9 properties

JSON SCHEMA

Section

6 properties

JSON SCHEMA

Subject

3 properties

JSON SCHEMA

JSON Structure 2

JSON Structure definitions describing this provider's data shapes.

Purdue Course Structure

6 properties

JSON STRUCTURE

Purdue Section Structure

6 properties

JSON STRUCTURE

Examples 3

Example request and response payloads for these APIs.

Security Posture 1

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

Purdue Domain Security

TLSv1.3 · HSTS · DMARC

SECURITY

Agentic Access 1

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

Purdue Agentic Access

20 operations

20 operations · 0 acting

AGENTIC

Resources

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 1

Pagination, idempotency, versioning, errors, and events

Build 1

SDKs, sample code, and the tooling you integrate with

Access & Security 1

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 2

The organization behind the API

Other 1

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: purdue
name: Purdue University
description: 'Purdue University is a public land-grant research university in West Lafayette, Indiana, United States, ranked
  #99 in the QS World University Rankings 2025. Its public, machine-readable developer footprint is limited and largely community-
  or service-specific rather than a single centralized developer portal. Confirmed public interfaces include the community-built
  Purdue.io OData course-catalog API and the Purdue University Research Repository (PURR) OAI-PMH metadata endpoint. A Purdue
  Libraries API host exists but currently serves only a placeholder page.'
type: Index
accessModel:
  pricing: free
  onboarding: unknown
  trial: false
  try_now: false
  public: false
  label: Free
  confidence: medium
  source:
  - plans
  generated: '2026-07-22'
  method: derived
position: Consumer
access: 3rd-Party
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/purdue.png
url: https://raw.githubusercontent.com/api-evangelist/purdue/refs/heads/main/apis.yml
tags:
- Education
- Higher Education
- University
- Research
- Open Data
- United States
created: '2026-06-03'
modified: '2026-06-03'
specificationVersion: '0.19'
apis:
- aid: purdue:purr-oaipmh
  name: PURR OAI-PMH Metadata API
  description: The Purdue University Research Repository (PURR) exposes an OAI-PMH endpoint for harvesting research dataset
    metadata, supporting standard verbs (Identify, ListSets, ListMetadataFormats, ListIdentifiers, ListRecords, GetRecord)
    with the oai_dc (Dublin Core) metadata prefix. Confirmed live via the Identify verb.
  humanURL: https://purr.purdue.edu/kb/finduse/oaipmh
  baseURL: https://purr.purdue.edu/oaipmh
  tags:
  - Research
  - Repository
  - OAI-PMH
  - Metadata
  - Open Data
  properties:
  - type: Documentation
    url: https://purr.purdue.edu/kb/finduse/oaipmh
- aid: purdue:purdue-buildings-api
  name: Purdue University Buildings API
  description: The Buildings API from Purdue University — 2 operation(s) for buildings.
  humanURL: https://github.com/Purdue-io/PurdueApi
  baseURL: https://api.purdue.io/odata/
  tags:
  - Buildings
  properties:
  - type: OpenAPI
    url: openapi/purdue-buildings-api-openapi.yml
  - type: Documentation
    url: https://github.com/Purdue-io/PurdueApi
  - type: GitHub
    url: https://github.com/Purdue-io
  - type: JSONSchema
    url: json-schema/purdue-course-schema.json
  - type: JSONSchema
    url: json-schema/purdue-subject-schema.json
  - type: JSONSchema
    url: json-schema/purdue-section-schema.json
  - type: JSONSchema
    url: json-schema/purdue-meeting-schema.json
  - type: JSONStructure
    url: json-structure/purdue-course-structure.json
  - type: JSONStructure
    url: json-structure/purdue-section-structure.json
  - type: Examples
    url: examples/purdue-listCourses-example.json
  - type: Examples
    url: examples/purdue-listSubjects-example.json
  - type: Examples
    url: examples/purdue-listCampuses-example.json
  - type: Rules
    url: rules/purdue-rules.yml
  - type: Vocabulary
    url: vocabulary/purdue-vocabulary.yml
  - type: JSONLD
    url: json-ld/purdue-context.jsonld
- aid: purdue:purdue-campuses-api
  name: Purdue University Campuses API
  description: The Campuses API from Purdue University — 2 operation(s) for campuses.
  humanURL: https://github.com/Purdue-io/PurdueApi
  baseURL: https://api.purdue.io/odata/
  tags:
  - Campuses
  properties:
  - type: OpenAPI
    url: openapi/purdue-campuses-api-openapi.yml
  - type: Documentation
    url: https://github.com/Purdue-io/PurdueApi
  - type: GitHub
    url: https://github.com/Purdue-io
  - type: JSONSchema
    url: json-schema/purdue-course-schema.json
  - type: JSONSchema
    url: json-schema/purdue-subject-schema.json
  - type: JSONSchema
    url: json-schema/purdue-section-schema.json
  - type: JSONSchema
    url: json-schema/purdue-meeting-schema.json
  - type: JSONStructure
    url: json-structure/purdue-course-structure.json
  - type: JSONStructure
    url: json-structure/purdue-section-structure.json
  - type: Examples
    url: examples/purdue-listCourses-example.json
  - type: Examples
    url: examples/purdue-listSubjects-example.json
  - type: Examples
    url: examples/purdue-listCampuses-example.json
  - type: Rules
    url: rules/purdue-rules.yml
  - type: Vocabulary
    url: vocabulary/purdue-vocabulary.yml
  - type: JSONLD
    url: json-ld/purdue-context.jsonld
- aid: purdue:purdue-classes-api
  name: Purdue University Classes API
  description: The Classes API from Purdue University — 2 operation(s) for classes.
  humanURL: https://github.com/Purdue-io/PurdueApi
  baseURL: https://api.purdue.io/odata/
  tags:
  - Classes
  properties:
  - type: OpenAPI
    url: openapi/purdue-classes-api-openapi.yml
  - type: Documentation
    url: https://github.com/Purdue-io/PurdueApi
  - type: GitHub
    url: https://github.com/Purdue-io
  - type: JSONSchema
    url: json-schema/purdue-course-schema.json
  - type: JSONSchema
    url: json-schema/purdue-subject-schema.json
  - type: JSONSchema
    url: json-schema/purdue-section-schema.json
  - type: JSONSchema
    url: json-schema/purdue-meeting-schema.json
  - type: JSONStructure
    url: json-structure/purdue-course-structure.json
  - type: JSONStructure
    url: json-structure/purdue-section-structure.json
  - type: Examples
    url: examples/purdue-listCourses-example.json
  - type: Examples
    url: examples/purdue-listSubjects-example.json
  - type: Examples
    url: examples/purdue-listCampuses-example.json
  - type: Rules
    url: rules/purdue-rules.yml
  - type: Vocabulary
    url: vocabulary/purdue-vocabulary.yml
  - type: JSONLD
    url: json-ld/purdue-context.jsonld
- aid: purdue:purdue-courses-api
  name: Purdue University Courses API
  description: The Courses API from Purdue University — 2 operation(s) for courses.
  humanURL: https://github.com/Purdue-io/PurdueApi
  baseURL: https://api.purdue.io/odata/
  tags:
  - Courses
  properties:
  - type: OpenAPI
    url: openapi/purdue-courses-api-openapi.yml
  - type: Documentation
    url: https://github.com/Purdue-io/PurdueApi
  - type: GitHub
    url: https://github.com/Purdue-io
  - type: JSONSchema
    url: json-schema/purdue-course-schema.json
  - type: JSONSchema
    url: json-schema/purdue-subject-schema.json
  - type: JSONSchema
    url: json-schema/purdue-section-schema.json
  - type: JSONSchema
    url: json-schema/purdue-meeting-schema.json
  - type: JSONStructure
    url: json-structure/purdue-course-structure.json
  - type: JSONStructure
    url: json-structure/purdue-section-structure.json
  - type: Examples
    url: examples/purdue-listCourses-example.json
  - type: Examples
    url: examples/purdue-listSubjects-example.json
  - type: Examples
    url: examples/purdue-listCampuses-example.json
  - type: Rules
    url: rules/purdue-rules.yml
  - type: Vocabulary
    url: vocabulary/purdue-vocabulary.yml
  - type: JSONLD
    url: json-ld/purdue-context.jsonld
- aid: purdue:purdue-instructors-api
  name: Purdue University Instructors API
  description: The Instructors API from Purdue University — 2 operation(s) for instructors.
  humanURL: https://github.com/Purdue-io/PurdueApi
  baseURL: https://api.purdue.io/odata/
  tags:
  - Instructors
  properties:
  - type: OpenAPI
    url: openapi/purdue-instructors-api-openapi.yml
  - type: Documentation
    url: https://github.com/Purdue-io/PurdueApi
  - type: GitHub
    url: https://github.com/Purdue-io
  - type: JSONSchema
    url: json-schema/purdue-course-schema.json
  - type: JSONSchema
    url: json-schema/purdue-subject-schema.json
  - type: JSONSchema
    url: json-schema/purdue-section-schema.json
  - type: JSONSchema
    url: json-schema/purdue-meeting-schema.json
  - type: JSONStructure
    url: json-structure/purdue-course-structure.json
  - type: JSONStructure
    url: json-structure/purdue-section-structure.json
  - type: Examples
    url: examples/purdue-listCourses-example.json
  - type: Examples
    url: examples/purdue-listSubjects-example.json
  - type: Examples
    url: examples/purdue-listCampuses-example.json
  - type: Rules
    url: rules/purdue-rules.yml
  - type: Vocabulary
    url: vocabulary/purdue-vocabulary.yml
  - type: JSONLD
    url: json-ld/purdue-context.jsonld
- aid: purdue:purdue-meetings-api
  name: Purdue University Meetings API
  description: The Meetings API from Purdue University — 2 operation(s) for meetings.
  humanURL: https://github.com/Purdue-io/PurdueApi
  baseURL: https://api.purdue.io/odata/
  tags:
  - Meetings
  properties:
  - type: OpenAPI
    url: openapi/purdue-meetings-api-openapi.yml
  - type: Documentation
    url: https://github.com/Purdue-io/PurdueApi
  - type: GitHub
    url: https://github.com/Purdue-io
  - type: JSONSchema
    url: json-schema/purdue-course-schema.json
  - type: JSONSchema
    url: json-schema/purdue-subject-schema.json
  - type: JSONSchema
    url: json-schema/purdue-section-schema.json
  - type: JSONSchema
    url: json-schema/purdue-meeting-schema.json
  - type: JSONStructure
    url: json-structure/purdue-course-structure.json
  - type: JSONStructure
    url: json-structure/purdue-section-structure.json
  - type: Examples
    url: examples/purdue-listCourses-example.json
  - type: Examples
    url: examples/purdue-listSubjects-example.json
  - type: Examples
    url: examples/purdue-listCampuses-example.json
  - type: Rules
    url: rules/purdue-rules.yml
  - type: Vocabulary
    url: vocabulary/purdue-vocabulary.yml
  - type: JSONLD
    url: json-ld/purdue-context.jsonld
- aid: purdue:purdue-rooms-api
  name: Purdue University Rooms API
  description: The Rooms API from Purdue University — 2 operation(s) for rooms.
  humanURL: https://github.com/Purdue-io/PurdueApi
  baseURL: https://api.purdue.io/odata/
  tags:
  - Rooms
  properties:
  - type: OpenAPI
    url: openapi/purdue-rooms-api-openapi.yml
  - type: Documentation
    url: https://github.com/Purdue-io/PurdueApi
  - type: GitHub
    url: https://github.com/Purdue-io
  - type: JSONSchema
    url: json-schema/purdue-course-schema.json
  - type: JSONSchema
    url: json-schema/purdue-subject-schema.json
  - type: JSONSchema
    url: json-schema/purdue-section-schema.json
  - type: JSONSchema
    url: json-schema/purdue-meeting-schema.json
  - type: JSONStructure
    url: json-structure/purdue-course-structure.json
  - type: JSONStructure
    url: json-structure/purdue-section-structure.json
  - type: Examples
    url: examples/purdue-listCourses-example.json
  - type: Examples
    url: examples/purdue-listSubjects-example.json
  - type: Examples
    url: examples/purdue-listCampuses-example.json
  - type: Rules
    url: rules/purdue-rules.yml
  - type: Vocabulary
    url: vocabulary/purdue-vocabulary.yml
  - type: JSONLD
    url: json-ld/purdue-context.jsonld
- aid: purdue:purdue-sections-api
  name: Purdue University Sections API
  description: The Sections API from Purdue University — 2 operation(s) for sections.
  humanURL: https://github.com/Purdue-io/PurdueApi
  baseURL: https://api.purdue.io/odata/
  tags:
  - Sections
  properties:
  - type: OpenAPI
    url: openapi/purdue-sections-api-openapi.yml
  - type: Documentation
    url: https://github.com/Purdue-io/PurdueApi
  - type: GitHub
    url: https://github.com/Purdue-io
  - type: JSONSchema
    url: json-schema/purdue-course-schema.json
  - type: JSONSchema
    url: json-schema/purdue-subject-schema.json
  - type: JSONSchema
    url: json-schema/purdue-section-schema.json
  - type: JSONSchema
    url: json-schema/purdue-meeting-schema.json
  - type: JSONStructure
    url: json-structure/purdue-course-structure.json
  - type: JSONStructure
    url: json-structure/purdue-section-structure.json
  - type: Examples
    url: examples/purdue-listCourses-example.json
  - type: Examples
    url: examples/purdue-listSubjects-example.json
  - type: Examples
    url: examples/purdue-listCampuses-example.json
  - type: Rules
    url: rules/purdue-rules.yml
  - type: Vocabulary
    url: vocabulary/purdue-vocabulary.yml
  - type: JSONLD
    url: json-ld/purdue-context.jsonld
- aid: purdue:purdue-subjects-api
  name: Purdue University Subjects API
  description: The Subjects API from Purdue University — 2 operation(s) for subjects.
  humanURL: https://github.com/Purdue-io/PurdueApi
  baseURL: https://api.purdue.io/odata/
  tags:
  - Subjects
  properties:
  - type: OpenAPI
    url: openapi/purdue-subjects-api-openapi.yml
  - type: Documentation
    url: https://github.com/Purdue-io/PurdueApi
  - type: GitHub
    url: https://github.com/Purdue-io
  - type: JSONSchema
    url: json-schema/purdue-course-schema.json
  - type: JSONSchema
    url: json-schema/purdue-subject-schema.json
  - type: JSONSchema
    url: json-schema/purdue-section-schema.json
  - type: JSONSchema
    url: json-schema/purdue-meeting-schema.json
  - type: JSONStructure
    url: json-structure/purdue-course-structure.json
  - type: JSONStructure
    url: json-structure/purdue-section-structure.json
  - type: Examples
    url: examples/purdue-listCourses-example.json
  - type: Examples
    url: examples/purdue-listSubjects-example.json
  - type: Examples
    url: examples/purdue-listCampuses-example.json
  - type: Rules
    url: rules/purdue-rules.yml
  - type: Vocabulary
    url: vocabulary/purdue-vocabulary.yml
  - type: JSONLD
    url: json-ld/purdue-context.jsonld
- aid: purdue:purdue-terms-api
  name: Purdue University Terms API
  description: The Terms API from Purdue University — 2 operation(s) for terms.
  humanURL: https://github.com/Purdue-io/PurdueApi
  baseURL: https://api.purdue.io/odata/
  tags:
  - Terms
  properties:
  - type: OpenAPI
    url: openapi/purdue-terms-api-openapi.yml
  - type: Documentation
    url: https://github.com/Purdue-io/PurdueApi
  - type: GitHub
    url: https://github.com/Purdue-io
  - type: JSONSchema
    url: json-schema/purdue-course-schema.json
  - type: JSONSchema
    url: json-schema/purdue-subject-schema.json
  - type: JSONSchema
    url: json-schema/purdue-section-schema.json
  - type: JSONSchema
    url: json-schema/purdue-meeting-schema.json
  - type: JSONStructure
    url: json-structure/purdue-course-structure.json
  - type: JSONStructure
    url: json-structure/purdue-section-structure.json
  - type: Examples
    url: examples/purdue-listCourses-example.json
  - type: Examples
    url: examples/purdue-listSubjects-example.json
  - type: Examples
    url: examples/purdue-listCampuses-example.json
  - type: Rules
    url: rules/purdue-rules.yml
  - type: Vocabulary
    url: vocabulary/purdue-vocabulary.yml
  - type: JSONLD
    url: json-ld/purdue-context.jsonld
common:
- type: AgenticAccess
  url: agentic-access/purdue-agentic-access.yml
- type: DomainSecurity
  url: security/purdue-domain-security.yml
- type: Website
  url: https://www.purdue.edu/
- type: GitHub
  url: https://github.com/Purdue
- type: LinkedIn
  url: https://www.linkedin.com/school/purdue-university/
- type: Plans
  url: plans/purdue-plans-pricing.yml
- type: RateLimits
  url: rate-limits/purdue-rate-limits.yml
- type: FinOps
  url: finops/purdue-finops.yml
- type: Review
  url: review.yml
- type: JSONLD
  url: json-ld/purdue-context.jsonld
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com