# QS Top Universities API

> QS Top Universities returns university rankings and profiles as a workflow and API.

QS Top Universities (QS) lists world or subject rankings by edition and country, with subject optional. Get university returns a profile, latest world rank, student figures, and listed subject ranks from a university name.

- Page: https://fous.com/tools/qs-top-universities
- Handle: `@qs-top-universities`
- Category: [Education](https://fous.com/tools/category/education)
- Source website: https://topuniversities.com
- Last verified: Sep 29, 2026

## Methods

### Get university

Operation `get_university`, 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 university’s QS profile by name, including its latest world ranking, student figures and up to five listed subject ranks. Tuition appears only where shown on the public profile.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `university` | string | yes | `"Massachusetts Institute of Technology"` | University name, for example University of Toronto. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "university"
  ],
  "properties": {
    "university": {
      "type": "string",
      "description": "University name, for example University of Toronto.",
      "examples": [
        "Massachusetts Institute of Technology",
        "University of Toronto",
        "Azerbaijan Technical University"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "university": "Massachusetts Institute of Technology"
    },
    {
      "university": "University of Toronto"
    },
    {
      "university": "Azerbaijan Technical University"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `city` | string or null | `"Cambridge"` |  |
| `country` | string or null | `"United States"` |  |
| `profile_link` | string | `"https://www.topuniversities.com/universities/massachusetts-institute-technology-mit"` |  |
| `overall_score` | number or null | `100` |  |
| `total_students` | integer or null | `11694` |  |
| `tuition_ranges` | array |  |  |
| `university_name` | string | `"Massachusetts Institute of Technology (MIT)"` |  |
| `subject_rankings` | array |  |  |
| `subject_rankings[].rank` | string | `"#1"` |  |
| `subject_rankings[].subject` | string | `"Chemistry"` |  |
| `world_ranking_year` | integer or null | `2027` |  |
| `world_ranking_position` | string or null | `"#1"` |  |
| `student_to_faculty_ratio` | integer or null | `4` |  |
| `international_students_percent` | number or null | `32.56` |  |

**Example input**

```json
{
  "university": "Massachusetts Institute of Technology"
}
```

**Example output**

```json
{
  "city": "Cambridge",
  "country": "United States",
  "profile_link": "https://www.topuniversities.com/universities/massachusetts-institute-technology-mit",
  "overall_score": 100,
  "total_students": 11694,
  "tuition_ranges": [],
  "university_name": "Massachusetts Institute of Technology (MIT)",
  "subject_rankings": [
    {
      "rank": "#1",
      "subject": "Chemistry"
    },
    {
      "rank": "#1",
      "subject": "Computer Science and Information Systems"
    },
    {
      "rank": "#1",
      "subject": "Data Science and Artificial Intelligence"
    }
  ],
  "world_ranking_year": 2027,
  "world_ranking_position": "#1",
  "student_to_faculty_ratio": 4,
  "international_students_percent": 32.56
}
```

### List university rankings

Operation `list_university_rankings`, 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.

List QS World University Rankings, or a QS subject ranking, by edition and country. Returns the displayed rank, university location, overall score, and the indicator scores shown for the selected table. Subject rankings can have a different latest edition from the world ranking.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `year` | integer | no | `2026` | Edition year, such as 2026. Omit for the latest edition of the chosen ranking. |
| `country` | string | no | `"United States"` | Country or territory name, such as United States; omit for all countries. |
| `subject` | string | no | `"Computer Science"` | Subject name in plain words, such as Computer Science; omit for the world ranking. |
| `max_results` | integer | no | `5` | Maximum number of ranked universities to return, such as 50. |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "year": {
      "type": "integer",
      "maximum": 2100,
      "minimum": 2000,
      "description": "Edition year, such as 2026. Omit for the latest edition of the chosen ranking.",
      "examples": [
        2026
      ]
    },
    "country": {
      "type": "string",
      "default": "",
      "description": "Country or territory name, such as United States; omit for all countries.",
      "examples": [
        "United States",
        "United Kingdom",
        "Atlantis"
      ]
    },
    "subject": {
      "type": "string",
      "default": "",
      "description": "Subject name in plain words, such as Computer Science; omit for the world ranking.",
      "examples": [
        "Computer Science"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 50,
      "maximum": 200,
      "minimum": 1,
      "description": "Maximum number of ranked universities to return, such as 50.",
      "x-fous-developer": true,
      "examples": [
        5,
        7
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "max_results": 5
    },
    {
      "country": "United States",
      "subject": "Computer Science",
      "max_results": 5
    },
    {
      "year": 2026,
      "country": "United Kingdom",
      "max_results": 7
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `rows` | array |  | Universities in QS rank order; additional numeric fields are the indicator scores published for this table. |
| `rows[].city` | string or null | `"Cambridge"` |  |
| `rows[].rank` | string | `"1"` |  |
| `rows[].country` | string or null | `"United States"` |  |
| `rows[].university` | string | `"Massachusetts Institute of Technology (MIT)"` |  |
| `rows[].overall_score` | number or null | `100` |  |
| `rows[].university_url` | string | `"https://www.topuniversities.com/universities/massachusetts-institute-technology-mit"` |  |
| `year` | integer | `2027` | Edition year. |
| `ranking_name` | string | `"QS World University Rankings"` | Name of the chosen QS ranking. |

**Example input**

```json
{
  "max_results": 5
}
```

**Example output**

```json
{
  "rows": [
    {
      "city": "Cambridge",
      "rank": "1",
      "country": "United States",
      "university": "Massachusetts Institute of Technology (MIT)",
      "overall_score": 100,
      "university_url": "https://www.topuniversities.com/universities/massachusetts-institute-technology-mit",
      "academic_reputation": 100,
      "employer_reputation": 100,
      "employment_outcomes": 100,
      "sustainability_score": 93.2,
      "citations_per_faculty": 100,
      "faculty_student_ratio": 100,
      "international_faculty_ratio": 100,
      "international_student_ratio": 91.1,
      "international_research_network": 94.4
    },
    {
      "city": "London",
      "rank": "=2",
      "country": "United Kingdom",
      "university": "Imperial College London",
      "overall_score": 99.2,
      "university_url": "https://www.topuniversities.com/universities/imperial-college-london",
      "academic_reputation": 99.6,
      "employer_reputation": 100,
      "employment_outcomes": 96.4,
      "sustainability_score": 98,
      "citations_per_faculty": 93.8,
      "faculty_student_ratio": 98.9,
      "international_faculty_ratio": 100,
      "international_student_ratio": 100,
      "international_research_network": 98.8
    },
    {
      "city": "Stanford",
      "rank": "=2",
      "country": "United States",
      "university": "Stanford University",
      "overall_score": 99.2,
      "university_url": "https://www.topuniversities.com/universities/stanford-university",
      "academic_reputation": 100,
      "employer_reputation": 100,
      "employment_outcomes": 100,
      "sustainability_score": 97.6,
      "citations_per_faculty": 98.8,
      "faculty_student_ratio": 100,
      "international_faculty_ratio": 97.9,
      "international_student_ratio": 75.1,
      "international_research_network": 96.8
    }
  ],
  "year": 2027,
  "ranking_name": "QS World University Rankings"
}
```

## 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": "@qs-top-universities",
  "visibility": "public",
  "operation": "get_university",
  "version": 1,
  "input": {
    "university": "Massachusetts Institute of Technology"
  },
  "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\": \"@qs-top-universities\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_university\",\n  \"version\": 1,\n  \"input\": {\n    \"university\": \"Massachusetts Institute of Technology\"\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": "@qs-top-universities",
  "visibility": "public",
  "operation": "get_university",
  "version": 1,
  "input": {
    "university": "Massachusetts Institute of Technology"
  },
  "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/qs-top-universities`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_university`: Get university. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `list_university_rankings`: List university rankings. 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-qs-top-universities https://api.fous.com/mcp/tools/qs-top-universities --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 university ranks and scores across countries.
- Find rankings for a specific subject and edition.
- Review a university’s student figures and listed subject ranks.
- Filter ranked universities by country.

## 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 QS Top Universities 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 QS Top Universities account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from topuniversities.com 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.

### Which universities rank highest in a subject?

List university rankings returns universities in rank order for a selected subject and edition.

### What is a university’s latest world ranking?

Get university returns the latest world ranking and its edition year for a named university.

### What student figures does a university profile show?

Get university returns total students, student-to-faculty ratio, and international student percentage when shown on the profile.

## Related

- [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.
- [College Scorecard API](https://fous.com/tools/college-scorecard.md): College Scorecard returns US college costs and outcomes, including admissions, graduation, debt, and earnings; some figures may be missing, and comparisons cover 2–5 colleges.
- [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.
- [IMF API](https://fous.com/tools/imf.md): IMF economic data provides country and regional forecasts with actual or forecast labels, and country rankings by World Economic Outlook indicators, excluding groups and missing values.
- [FIFA API](https://fous.com/tools/fifa.md): FIFA provides official men’s and women’s national-team rankings, excluding unranked teams, and year-specific tournament matches with scores, teams, stages and venues.
- [World Bank API](https://fous.com/tools/world-bank.md): World Bank provides country statistics and latest values within selected years, plus country rankings for a chosen year or the latest broadly covered year.
- [Udemy API](https://fous.com/tools/udemy.md): Online courses in professional and personal skills.
- [YouTube API](https://fous.com/tools/youtube.md): YouTube returns public video, caption, comment and channel details, company channels, and the latest weekly Top Songs chart; inferred dates and some counts may be approximate.
- [All Education tools](https://fous.com/tools/category/education)
