Discover/MIT API
live

MIT APImit.edu

Access MIT tuition costs, financial aid, degree programs, and course listings via API. 5 endpoints covering ~97 programs and department course data.

Endpoint health
verified 2h ago
get_tuition_costs
get_financial_aid
list_programs
get_program_details
list_courses
5/5 passing latest checkself-healing
Endpoints
5
Updated
2h ago

What is the MIT API?

The MIT Course Catalog API provides structured access to 5 endpoints covering tuition fee tables, financial aid sections, degree program listings, program requirements, and department course data from mit.edu. The list_programs endpoint returns approximately 97 programs across all MIT schools, each with a slug you can pass directly to get_program_details to retrieve GIR and departmental requirements with course numbers and unit counts.

Try it
Education level to retrieve costs for.
api.parse.bot/scraper/3fd7ddaa-7f2f-4350-b7ab-bcd948332da5/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/3fd7ddaa-7f2f-4350-b7ab-bcd948332da5/get_tuition_costs?level=undergraduate' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace mit-edu-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.


"""Walkthrough: MIT Course Catalog SDK — tuition, financial aid, programs, and courses."""
from parse_apis.mit_edu_api import MITCatalog, Level, ProgramNotFound

client = MITCatalog()

# Get undergraduate tuition costs
tuition = client.tuitions.get(level=Level.UNDERGRADUATE)
print(f"Level: {tuition.level}")
for table in tuition.fee_tables[:1]:
    for row in table[:3]:
        print(f"  {row}")

# Get financial aid info for undergraduates
aid = client.financial_aids.get(level=Level.UNDERGRADUATE)
for section in aid.sections[:3]:
    print(f"Aid section: {section.heading}")

# List all degree programs and drill into the first one
program_summary = client.program_summaries.list(limit=3).first()
if program_summary:
    print(f"Program: {program_summary.name} (slug={program_summary.slug})")
    detail = program_summary.details()
    print(f"  Title: {detail.title}, Department: {detail.department}")
    print(f"  Requirement tables: {len(detail.requirements)}")

# Typed error: attempt to get a non-existent program
try:
    client.programs.get(slug="nonexistent-program-xyz")
except ProgramNotFound as exc:
    print(f"Expected error: {exc}")

# List courses in a department via constructible Department
dept = client.department(code="6")
for course in dept.courses.list(limit=5):
    print(f"  {course.course_number}: {course.title} ({course.units})")

print("exercised: tuitions.get / financial_aids.get / program_summaries.list / programs.get / department.courses.list")
All endpoints · 5 totalmissing one? ·

Retrieves tuition and cost information from the MIT Course Catalog for either undergraduate or graduate level. Returns fee tables with itemized costs, extracted dollar amounts, and full descriptive content about attendance costs, visiting student fees, and withdrawal policies.

Input
ParamTypeDescription
levelstringEducation level to retrieve costs for.
Response
{
  "type": "object",
  "fields": {
    "level": "string",
    "content": "string",
    "fee_tables": "array of fee tables, each containing rows of fee name and cost",
    "cost_figures": "array of unique dollar amounts found in the content"
  },
  "sample": {
    "data": {
      "level": "undergraduate",
      "content": "Costs\nAttendance Costs...",
      "fee_tables": [
        [
          [
            "Fee",
            "Cost"
          ],
          [
            "Full regular tuition, per term, fall and spring*",
            "$32,155"
          ]
        ]
      ],
      "cost_figures": [
        "$32,155",
        "$85,960",
        "$995"
      ]
    },
    "status": "success"
  }
}

About the MIT API

Tuition and Financial Aid

The get_tuition_costs endpoint accepts an optional level parameter (undergraduate or graduate) and returns itemized fee_tables — each row containing a fee name and cost — plus an array of cost_figures with every unique dollar amount found in the content. The get_financial_aid endpoint returns structured sections, each with a heading and content field, covering application requirements, eligibility criteria, and aid types for the specified education level.

Degree Programs and Requirements

list_programs returns the full catalog of MIT degree programs as an array of objects with name, slug, and url fields. Pass a slug to get_program_details to retrieve the program's title, department, and requirements — structured tables that include course numbers and unit counts for both GIR (General Institute Requirements) and departmental requirements. Program slugs follow a consistent naming pattern, for example computer-science-engineering-course-6-3.

Course Listings by Department

list_courses requires a department code matching MIT's numbering system — 6 for Electrical Engineering and Computer Science, 18 for Mathematics, 2 for Mechanical Engineering, and so on. Each returned course object includes course_number, title, prerequisites, terms offered, units, and a description. The endpoint returns all courses offered by that department in a single response with a total count.

Coverage Notes

Data reflects the MIT Course Catalog at mit.edu and covers the degree programs and courses listed there. The API does not expose enrollment figures, faculty profiles, research group data, or real-time class availability — only the catalog content itself.

Reliability & maintenanceVerified

The MIT API is a managed, monitored endpoint for mit.edu — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when mit.edu changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official mit.edu API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
2h ago
Latest check
5/5 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a cost comparison tool using get_tuition_costs fee tables for undergraduate vs. graduate levels
  • Aggregate financial aid section data to summarize scholarship eligibility criteria across education levels
  • Enumerate all ~97 MIT degree programs via list_programs to populate a program search interface
  • Extract GIR and departmental requirements from get_program_details to map prerequisite chains
  • Pull all courses for a department code via list_courses to display prerequisites and unit loads
  • Cross-reference program slugs with course department codes to model full degree plans
  • Monitor catalog changes over time by periodically calling list_programs and diffing program counts
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does MIT have an official developer API for its course catalog?+
MIT does not publish a public REST API for its course catalog at mit.edu. The MIT OpenCourseWare project (ocw.mit.edu) has some open data exports, but those cover OCW content rather than the official Course Catalog degree requirements, tuition tables, and department course listings that this API exposes.
What does `get_program_details` return, and how do I find the right slug?+
It returns the program's title, department, full content text, and a requirements array of structured tables. Each table row includes a course number and unit count. To find valid slugs, call list_programs first — every program object includes a slug field ready to pass as the required parameter.
Does `list_courses` support filtering by term, unit count, or prerequisite?+
The endpoint returns all courses for a department in one response; there is no server-side filter parameter for term, units, or prerequisites. Those fields are present on each course object, so filtering can be done client-side after receiving the full courses array. You can fork the API on Parse and revise it to add a server-side filter endpoint if needed.
Does the API cover individual course syllabi, reading lists, or lecture notes?+
Not currently. The API covers catalog-level data: course number, title, prerequisites, terms, units, and description from the department listing. Detailed syllabi and lecture materials are not part of the Course Catalog data this API exposes. You can fork the API on Parse and revise it to add an endpoint targeting those materials.
Are graduate program requirements as detailed as undergraduate ones in `get_program_details`?+
The requirements tables returned reflect what the MIT Course Catalog publishes for each program. Some graduate programs list fewer structured requirement rows than undergraduate programs because the catalog itself presents them that way — thesis requirements and advisor-set coursework are often described in prose within the content field rather than in tabular form.
Page content last updated . Spec covers 5 endpoints from mit.edu.
Related APIs in EducationSee all →
su.se API
Search and explore Stockholm University's complete course catalog to find specific courses, browse academic programs, check class schedules, and discover available subjects. Get detailed information about any course offering to plan your studies and manage your academic schedule.
shiksha.com API
Search and browse Shiksha colleges by stream/course, then fetch detailed institute profiles and course offerings, plus upcoming exam schedules by stream.
senecapolytechnic.ca API
Search and explore Seneca Polytechnic's programs and courses to find detailed information about admissions requirements, costs, credentials, and learning pathways. Discover which programs match your interests by browsing by credential type or program category, and get complete course listings for any program you're considering.
gradschools.com API
Search graduate programs across multiple categories and discover articles about funding, financial aid, and admissions to help guide your grad school journey. Find specific program information and detailed resources all in one place to support your application and enrollment decisions.
econtent.msbte.edu.in API
Browse technical diploma programs and access their bilingual curriculum materials, including courses, learning outcomes, and educational content across multiple semesters. Search for specific educational resources by keyword and download course materials available in both Marathi and English.
ucas.com API
Search and explore UK university courses, apprenticeships, and scholarships all in one place, while discovering detailed information about education providers and their offerings. Find the perfect educational path by filtering courses and apprenticeships by your preferences and accessing comprehensive provider details to inform your decisions.
globallearning.fintelligents.com API
Learn about the Chartered Alternative Investment Analyst (CAIA®) program by accessing comprehensive program details, curriculum information, and frequently asked questions all in one place. Quickly find the specific information you need about CAIA certification, coursework, and common inquiries to make informed decisions about your investment education.
myschool.ng API
Search for Nigerian schools by type, explore courses and admission requirements, and stay updated with the latest education news all in one place. Find detailed information about schools and their programs to make informed decisions about your education.