Higher education data, shaped for analysis

Ask for a dataframe.
Get the grain you intended.

Higher Ed API organizes institutional data into governed analytical families: coherent tables with explicit dimensions, measures, years, quality, and lineage. Discover the family first, then request the exact slice your analysis needs through REST or MCP.

55
family contracts
2,074
distinct measures
2
DataFrame shapes: wide + tidy

Family first

A table is more than a bag of metrics.

01

Choose the subject and grain

Start with a family such as selected-major enrollment, finance, completions, or outcomes. Each family states what one row means before you query it.

02

Discover valid coordinates

Inspect available years, dimensions, members, and measures. The service rejects ambiguous or unsupported combinations instead of silently reshaping them.

03

Receive analysis-ready rows

Choose wide source-faithful rows or tidy measure observations. Every response remains bound to its release and family version.

Contract catalog

Start with the table you mean.

55 family dataframes · 2,074 distinct measures

Showing 8 of 55 matching families

Libraries

Academic Libraries

academic_libraries

one row per durable institution and collection year

Years
2016 · 2017 · 2018 · 2019 · 2020 · 2021 · 2022 · 2023 · 2024
Dimensions
18
Measures
32

Admissions And Outcomes

Admissions and Test Scores

admissions_and_test_scores

one row per durable institution and collection year

Years
2016 · 2017 · 2018 · 2019 · 2020 · 2021 · 2022 · 2023 · 2024
Dimensions
20
Measures
44

Reporting Quality

Branch Campus Locations

branch_campus_locations

one row per IPEDS parent institution, branch campus identifier, and collection year

Years
2021 · 2022 · 2023
Dimensions
49
Measures
100

Programs And Completions

Completion Recipients by Award Level

completion_recipients_by_award_level

one row per durable institution, completion award-level category, and collection year

Years
2016 · 2017 · 2018 · 2019 · 2020 · 2021 · 2022 · 2023 · 2024 · 2025
Dimensions
6
Measures
17

Programs And Completions

Completion Recipients by Race, Ethnicity, and Sex

completion_recipients_by_race_ethnicity_and_sex

one row per durable institution and collection year

Years
2016 · 2017 · 2018 · 2019 · 2020 · 2021 · 2022 · 2023 · 2024 · 2025
Dimensions
6
Measures
40

Aid And Net Price

Cost — Aid and Net Price

cost_aid_and_net_price

one row per durable institution and collection year

Years
2024
Dimensions
9
Measures
275

Prices And Cost

Cost — Institutional and Student Charges

cost_institutional_charges

one row per durable institution and collection year

Years
2024
Dimensions
39
Measures
198

Official Derived

NCES-Derived Academic Library Indicators

derived_academic_library_indicators

one row per durable institution and collection year

Years
2021 · 2022 · 2023 · 2024
Dimensions
11
Measures
19

First success

From credential to useful rows.

  1. Receive a managed credential.Private access is currently provisioned directly by Higher Ed API. Credentials carry explicit scopes and quotas; there is not yet a public self-service signup.
  2. Discover before querying.Use GET /api/v2/families, then request the compact family schema and only the dimension members or measures you need.
  3. Run the tested query.The example requests a bounded 2024 selected-major enrollment dataframe for one documented institution identifier.

REST basehttps://higheredapi.com/api/v2

MCP serverhttps://mcp.higheredapi.com/mcp

JavaScript · RESTBearer credential required
const response = await fetch(
  "https://higheredapi.com/api/v2/families/fall_enrollment_by_selected_major/query",
  {
    method: "POST",
    headers: {
      authorization: `Bearer ${process.env.HIGHER_ED_API_CLIENT_TOKEN}`,
      "content-type": "application/json"
    },
    body: JSON.stringify({
      institutions: ["hei_53dbb72e8fac1a81e058"],
      years: [2024],
      select: {
        dimensions: ["major_field", "student_level"],
        measures: ["measure.institutions.enrollment.headcount_us_nonresident_total"]
      },
      where: {
        attendance_status: ["all_students"],
        student_level: ["all_students_total", "all_students_first_professional"]
      },
      shape: "wide",
      aggregation: null,
      quality: "usable",
      limit: 250
    })
  }
);

const { data, meta } = await response.json();

MCP

Give your assistant the same governed discovery path.

The stateless MCP server exposes read-only tools for service, family, schema, dimension, institution, measure, query, and export operations. It is an authenticated adapter over the REST contract—not a second query engine with different rules.

URL: https://mcp.higheredapi.com/mcp · Authorization: Bearer YOUR_TOKEN