# College Scorecard API

> College Scorecard returns U.S. college costs, admissions, graduation, debt, and earnings as a workflow and API.

Get college returns costs, admissions, graduation, debt, and earnings using a college name and optional state. Compare colleges returns enrollment, admissions, after-aid costs, graduation, debt, and 10-year earnings for 2 to 5 college names.

- Page: https://fous.com/tools/college-scorecard
- Handle: `@college-scorecard`
- Category: [Education](https://fous.com/tools/category/education)
- Source website: https://collegescorecard.ed.gov
- Last verified: Sep 29, 2026

## Methods

### Compare colleges

Operation `compare_colleges`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Compare 2 to 5 US colleges by enrollment, admissions, cost after aid, graduation, 10-year earnings and graduation debt. Missing figures are null; names not found are listed separately.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `colleges` | array | yes |  | College names to compare, in the order to display them. Example: ["Ohio State University", "Purdue University"]. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "colleges"
  ],
  "properties": {
    "colleges": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "examples": [
          "Ohio State University",
          "Purdue University",
          "Northwestern University"
        ],
        "description": "Use the same format as these example values: \"Ohio State University\", \"Purdue University\", \"Northwestern University\"."
      },
      "maxItems": 5,
      "minItems": 2,
      "description": "College names to compare, in the order to display them. Example: [\"Ohio State University\", \"Purdue University\"].",
      "examples": [
        [
          "Ohio State University",
          "Purdue University"
        ],
        [
          "Northwestern University",
          "Harvard University",
          "Xyzqzz Imaginary Academy Blorp"
        ]
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "colleges": [
        "Ohio State University",
        "Purdue University"
      ]
    },
    {
      "colleges": [
        "Northwestern University",
        "Harvard University",
        "Xyzqzz Imaginary Academy Blorp"
      ]
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `colleges` | array |  | Matched colleges in the same order as the input. |
| `colleges[].city` | string or null | `"Columbus"` |  |
| `colleges[].type` | string or null | `"public"` | Public, private nonprofit or private for-profit. |
| `colleges[].state` | string or null | `"OH"` |  |
| `colleges[].currency_code` | string | `"USD"` |  |
| `colleges[].official_name` | string | `"Ohio State University-Main Campus"` | Official college name. |
| `colleges[].federal_school_id` | integer | `204796` |  |
| `colleges[].scorecard_page_link` | string | `"https://collegescorecard.ed.gov/school/?204796-Ohio-State-University-Main-Campus"` |  |
| `colleges[].undergraduate_students` | integer or null | `45638` |  |
| `colleges[].acceptance_rate_percent` | number or null | `60.57` |  |
| `colleges[].graduation_rate_percent` | number or null | `82.19` |  |
| `colleges[].median_debt_at_graduation_usd` | number or null | `19976` |  |
| `colleges[].average_annual_cost_after_aid_usd` | number or null | `17339` | Average annual net price in US dollars. |
| `colleges[].median_earnings_10_years_after_entering_usd` | number or null | `60409` |  |
| `not_found` | array |  | Input names without a matching college. |

**Example input**

```json
{
  "colleges": [
    "Ohio State University",
    "Purdue University"
  ]
}
```

**Example output**

```json
{
  "colleges": [
    {
      "city": "Columbus",
      "type": "public",
      "state": "OH",
      "currency_code": "USD",
      "official_name": "Ohio State University-Main Campus",
      "federal_school_id": 204796,
      "scorecard_page_link": "https://collegescorecard.ed.gov/school/?204796-Ohio-State-University-Main-Campus",
      "undergraduate_students": 45638,
      "acceptance_rate_percent": 60.57,
      "graduation_rate_percent": 82.19,
      "median_debt_at_graduation_usd": 19976,
      "average_annual_cost_after_aid_usd": 17339,
      "median_earnings_10_years_after_entering_usd": 60409
    },
    {
      "city": "West Lafayette",
      "type": "public",
      "state": "IN",
      "currency_code": "USD",
      "official_name": "Purdue University-Main Campus",
      "federal_school_id": 243780,
      "scorecard_page_link": "https://collegescorecard.ed.gov/school/?243780-Purdue-University-Main-Campus",
      "undergraduate_students": 44503,
      "acceptance_rate_percent": 49.87,
      "graduation_rate_percent": 78.45,
      "median_debt_at_graduation_usd": 19500,
      "average_annual_cost_after_aid_usd": 14600,
      "median_earnings_10_years_after_entering_usd": 72424
    }
  ],
  "not_found": []
}
```

### Get college

Operation `get_college`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get a US college’s costs, admissions, graduation, debt, and earnings from College Scorecard. Some colleges lack particular figures; similarly named schools are matched by name and enrollment size.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `state` | string | no | `"MI"` | Optional state name or two-letter code to distinguish similarly named colleges, such as Michigan or MI. |
| `college` | string | yes | `"University of Michigan"` | College name, such as University of Michigan. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "college"
  ],
  "properties": {
    "state": {
      "type": "string",
      "default": "",
      "description": "Optional state name or two-letter code to distinguish similarly named colleges, such as Michigan or MI.",
      "examples": [
        "MI",
        "Missouri"
      ]
    },
    "college": {
      "type": "string",
      "description": "College name, such as University of Michigan.",
      "examples": [
        "University of Michigan",
        "Columbia College"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "state": "MI",
      "college": "University of Michigan"
    },
    {
      "state": "Missouri",
      "college": "Columbia College"
    },
    {
      "college": "University of Michigan"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `city` | string or null | `"Ann Arbor"` | City where the college is located. |
| `type` | string or null | `"public"` | Ownership: public, private nonprofit, or private for-profit. |
| `state` | string or null | `"MI"` | Two-letter state code. |
| `website` | string or null | `"https://umich.edu/"` | College website. |
| `official_name` | string | `"University of Michigan-Ann Arbor"` | Official school name. |
| `scorecard_page` | string | `"https://collegescorecard.ed.gov/school/?170976-University-of-Michigan-Ann-Arbor"` | College Scorecard school page link. |
| `federal_school_id` | integer or null | `170976` | Federal school ID. |
| `undergraduate_students` | integer or null | `34177` | Undergraduate student count. |
| `acceptance_rate_percent` | number or null | `15.64` | Overall acceptance rate, percent. |
| `graduation_rate_percent` | number or null | `93.66` | Graduation rate, percent. |
| `median_debt_at_graduation_usd` | number or null | `19500` | Median debt for borrowers who graduate, in USD. |
| `average_annual_cost_after_aid_usd` | number or null | `13138` | Average annual cost after grant and scholarship aid, in USD. |
| `average_annual_cost_by_family_income` | array |  | Average annual cost after aid by family income band, in USD. |
| `average_annual_cost_by_family_income[].income_band` | string | `"$0-$30,000"` |  |
| `average_annual_cost_by_family_income[].average_annual_cost_usd` | number or null | `1043` |  |
| `median_earnings_10_years_after_entering_usd` | number or null | `83648` | Median earnings ten years after entering college, in USD. |

**Example input**

```json
{
  "state": "MI",
  "college": "University of Michigan"
}
```

**Example output**

```json
{
  "city": "Ann Arbor",
  "type": "public",
  "state": "MI",
  "website": "https://umich.edu/",
  "official_name": "University of Michigan-Ann Arbor",
  "scorecard_page": "https://collegescorecard.ed.gov/school/?170976-University-of-Michigan-Ann-Arbor",
  "federal_school_id": 170976,
  "undergraduate_students": 34177,
  "acceptance_rate_percent": 15.64,
  "graduation_rate_percent": 93.66,
  "median_debt_at_graduation_usd": 19500,
  "average_annual_cost_after_aid_usd": 13138,
  "average_annual_cost_by_family_income": [
    {
      "income_band": "$0-$30,000",
      "average_annual_cost_usd": 1043
    },
    {
      "income_band": "$30,001-$48,000",
      "average_annual_cost_usd": 1878
    },
    {
      "income_band": "$48,001-$75,000",
      "average_annual_cost_usd": 4895
    }
  ],
  "median_earnings_10_years_after_entering_usd": 83648
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@college-scorecard",
  "visibility": "public",
  "operation": "compare_colleges",
  "version": 1,
  "input": {
    "colleges": [
      "Ohio State University",
      "Purdue University"
    ]
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@college-scorecard\",\n  \"visibility\": \"public\",\n  \"operation\": \"compare_colleges\",\n  \"version\": 1,\n  \"input\": {\n    \"colleges\": [\n      \"Ohio State University\",\n      \"Purdue University\"\n    ]\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@college-scorecard",
  "visibility": "public",
  "operation": "compare_colleges",
  "version": 1,
  "input": {
    "colleges": [
      "Ohio State University",
      "Purdue University"
    ]
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/college-scorecard`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `compare_colleges`: Compare colleges. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `get_college`: Get college. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-college-scorecard https://api.fous.com/mcp/tools/college-scorecard --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Compare college costs after aid across schools
- Find a college’s admissions and graduation rates
- Review college debt and earnings outcomes
- Compare enrollment across colleges
- Identify college names without a match

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this College Scorecard tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a College Scorecard account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from collegescorecard.ed.gov when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.

### What is a college’s acceptance rate?

Get college returns the acceptance rate using a college name and optional state.

### How much does a college cost after aid?

Get college returns average annual cost after aid and cost by family income. Compare colleges returns after-aid costs for 2 to 5 schools.

### How do colleges compare on graduation and earnings?

Compare colleges returns graduation rates and median earnings ten years after entering for the colleges provided.

## Related

- [Coursera API](https://fous.com/tools/coursera.md): Coursera offers courses, certificates, projects, and degrees; search results follow Coursera’s order, and publicly displayed prices and availability may vary by location.
- [GreatSchools API](https://fous.com/tools/greatschools.md): GreatSchools provides school ratings and profile facts, plus nearby US school search results within five miles; unpublished details may be unavailable, and distances are straight-line estimates.
- [QS Top Universities API](https://fous.com/tools/qs-top-universities.md): QS Top Universities provides rankings and profiles with latest world ranks, student figures, up to five subject ranks and listed tuition; subject editions may differ.
- [Times Higher Education API](https://fous.com/tools/times-higher-education.md): Times Higher Education provides yearly World and subject rankings by country, plus universities’ latest displayed ranks, scores, student statistics, and subject rankings; some figures may be missing.
- [Udemy API](https://fous.com/tools/udemy.md): Online courses in professional and personal skills.
- [Class Central API](https://fous.com/tools/class-central.md): Find online courses across learning platforms.
- [NCAA API](https://fous.com/tools/ncaa.md): NCAA provides college sports scores and schedules from NCAA.com, including date-based games or football weeks, plus latest NCAA.com Top 25 rankings where published.
- [Medicare Care Compare API](https://fous.com/tools/medicare-care-compare.md): Medicare Care Compare provides public Medicare quality ratings and details for U.S. hospitals and nursing homes; nursing home results include active facilities in the current public listing and fines from the past three years.
- [All Education tools](https://fous.com/tools/category/education)
