# Times Higher Education API

> Times Higher Education returns university rankings, scores, and student statistics as a workflow and API.

Times Higher Education (THE) lists World University Rankings by year, country, and subject, with ranks, scores, and student figures. Get university returns a university’s latest displayed world rank, scores, student statistics, and subject rankings; it needs a university name.

- Page: https://fous.com/tools/times-higher-education
- Handle: `@times-higher-education`
- Category: [Education](https://fous.com/tools/category/education)
- Source website: https://timeshighereducation.com/world-university-rankings
- 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 latest displayed world ranking, scores, student statistics and subject rankings. Some statistics may be missing on its public profile.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `university` | string | yes | `"University of Tokyo"` | Name of the university, for example University of Tokyo. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "university"
  ],
  "properties": {
    "university": {
      "type": "string",
      "description": "Name of the university, for example University of Tokyo.",
      "examples": [
        "University of Tokyo",
        "University of Oxford"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "university": "University of Tokyo"
    },
    {
      "university": "University of Oxford"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `country` | string or null | `"Japan"` |  |
| `world_rank` | string or null | `"26"` |  |
| `profile_link` | string | `"https://www.timeshighereducation.com/world-university-rankings/university-tokyo"` |  |
| `ranking_year` | integer or null | `2026` |  |
| `overall_score` | string or null | `"83.5"` |  |
| `pillar_scores` | object |  |  |
| `pillar_scores.industry` | number or null | `100` |  |
| `pillar_scores.teaching` | number or null | `94.7` |  |
| `pillar_scores.research_quality` | number or null | `68.2` |  |
| `pillar_scores.research_environment` | number or null | `94.2` |  |
| `pillar_scores.international_outlook` | number or null | `50.8` |  |
| `university_name` | string | `"The University of Tokyo"` |  |
| `subject_rankings` | array |  |  |
| `subject_rankings[].rank` | string | `"25"` |  |
| `subject_rankings[].subject` | string | `"Clinical and Health"` |  |
| `number_of_students` | integer or null | `26298` |  |
| `students_per_staff` | number or null | `10.2` |  |
| `female_to_male_ratio` | string or null | `"52 F : 48 M"` |  |
| `international_students_percent` | number or null | `18` |  |

**Example input**

```json
{
  "university": "University of Tokyo"
}
```

**Example output**

```json
{
  "country": "Japan",
  "world_rank": "26",
  "profile_link": "https://www.timeshighereducation.com/world-university-rankings/university-tokyo",
  "ranking_year": 2026,
  "overall_score": "83.5",
  "pillar_scores": {
    "industry": 100,
    "teaching": 94.7,
    "research_quality": 68.2,
    "research_environment": 94.2,
    "international_outlook": 50.8
  },
  "university_name": "The University of Tokyo",
  "subject_rankings": [
    {
      "rank": "25",
      "subject": "Clinical and Health"
    },
    {
      "rank": "=26",
      "subject": "Business and Economics"
    },
    {
      "rank": "=46",
      "subject": "Arts and Humanities"
    }
  ],
  "number_of_students": 26298,
  "students_per_staff": 10.2,
  "female_to_male_ratio": null,
  "international_students_percent": 18
}
```

### 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 THE World University Rankings by year, country, and subject, with displayed ranks, scores, student figures, and university links. Older editions use their original pillar names; figures absent from THE are null.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `year` | integer | no | `2025` | Ranking year, such as 2025. Defaults to the latest available year. |
| `country` | string | no | `"Canada"` | Country name as shown by THE, such as United Kingdom. Defaults to all countries. |
| `subject` | string | no | `"Law"` | Subject ranking name, such as Engineering. Defaults to the overall World University Rankings. |
| `max_results` | integer | no | `3` | Maximum universities to return, such as 50; at most 200. |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "year": {
      "type": "integer",
      "minimum": 2011,
      "description": "Ranking year, such as 2025. Defaults to the latest available year.",
      "examples": [
        2025,
        2023
      ]
    },
    "country": {
      "type": "string",
      "default": "",
      "description": "Country name as shown by THE, such as United Kingdom. Defaults to all countries.",
      "examples": [
        "Canada",
        "United States",
        "Atlantis"
      ]
    },
    "subject": {
      "type": "string",
      "default": "",
      "description": "Subject ranking name, such as Engineering. Defaults to the overall World University Rankings.",
      "examples": [
        "Law",
        "Engineering"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 50,
      "maximum": 200,
      "minimum": 1,
      "description": "Maximum universities to return, such as 50; at most 200.",
      "x-fous-developer": true,
      "examples": [
        3,
        2
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "year": 2025,
      "country": "Canada",
      "max_results": 3
    },
    {},
    {
      "year": 2023,
      "subject": "Law",
      "max_results": 2
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `year` | integer | `2025` | Year of the ranking. |
| `rankings` | array |  | Universities in the order shown by THE after filtering. |
| `rankings[].rank` | string or null | `"21"` | Rank as displayed, including ties and ranges. |
| `rankings[].country` | string or null | `"Canada"` | Country or territory shown by THE. |
| `rankings[].university` | string or null | `"University of Toronto"` | University name. |
| `rankings[].overall_score` | string or null | `"88.3"` | Overall score as displayed, including ranges or n/a. |
| `rankings[].industry_score` | string or null | `"94.9"` | Industry score, if this pillar appears. |
| `rankings[].research_score` | string or null | `"89.7"` | Research score, for editions using that name. |
| `rankings[].teaching_score` | string or null | `"76.2"` | Teaching score, if this pillar appears in the chosen year. |
| `rankings[].citations_score` | string or null | `"62.7"` | Citations score, for editions using that name. |
| `rankings[].university_link` | string or null | `"https://www.timeshighereducation.com/world-university-rankings/university-toronto"` | University page on THE. |
| `rankings[].number_of_students` | integer or null | `80107` | Number of students when shown. |
| `rankings[].students_per_staff` | number or null | `25.2` | Students per staff member when shown. |
| `rankings[].industry_income_score` | string or null | `"70.8"` | Industry Income score, for editions using that name. |
| `rankings[].research_quality_score` | string or null | `"93.4"` | Research Quality score, if this pillar appears. |
| `rankings[].research_environment_score` | string or null | `"93.5"` | Research Environment score, if this pillar appears. |
| `rankings[].international_outlook_score` | string or null | `"91.8"` | International Outlook score, if this pillar appears. |
| `rankings[].international_students_percent` | number or null | `29` | Percent of international students, on a 0 to 100 scale. |
| `ranking_name` | string or null | `"World University Rankings 2025"` | Name of this THE ranking edition. |

**Example input**

```json
{
  "year": 2025,
  "country": "Canada",
  "max_results": 3
}
```

**Example output**

```json
{
  "year": 2025,
  "rankings": [
    {
      "rank": "21",
      "country": "Canada",
      "university": "University of Toronto",
      "overall_score": "88.3",
      "industry_score": "94.9",
      "research_score": null,
      "teaching_score": "76.2",
      "citations_score": null,
      "university_link": "https://www.timeshighereducation.com/world-university-rankings/university-toronto",
      "number_of_students": 80107,
      "students_per_staff": 25.2,
      "industry_income_score": null,
      "research_quality_score": "93.4",
      "research_environment_score": "93.5",
      "international_outlook_score": "91.8",
      "international_students_percent": 29
    },
    {
      "rank": "41",
      "country": "Canada",
      "university": "University of British Columbia",
      "overall_score": "77.8",
      "industry_score": "79.8",
      "research_score": null,
      "teaching_score": "62.3",
      "citations_score": null,
      "university_link": "https://www.timeshighereducation.com/world-university-rankings/university-british-columbia",
      "number_of_students": 59931,
      "students_per_staff": 19.3,
      "industry_income_score": null,
      "research_quality_score": "89.7",
      "research_environment_score": "76.7",
      "international_outlook_score": "94.3",
      "international_students_percent": 34
    }
  ],
  "ranking_name": "World University Rankings 2025"
}
```

## 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": "@times-higher-education",
  "visibility": "public",
  "operation": "get_university",
  "version": 1,
  "input": {
    "university": "University of Tokyo"
  },
  "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\": \"@times-higher-education\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_university\",\n  \"version\": 1,\n  \"input\": {\n    \"university\": \"University of Tokyo\"\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": "@times-higher-education",
  "visibility": "public",
  "operation": "get_university",
  "version": 1,
  "input": {
    "university": "University of Tokyo"
  },
  "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/times-higher-education`
- 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-times-higher-education https://api.fous.com/mcp/tools/times-higher-education --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 by country and subject
- Review ranking scores across years
- Find student figures for ranked universities
- Check a university’s subject rankings

## 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 Times Higher Education 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 Times Higher Education account?

No. You only need a Fous account.

### How current is the data?

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

### What are a university’s latest world rank and scores?

Get university returns the latest displayed world rank and scores for the university name you provide.

### Which universities rank highest in a subject and country?

List university rankings returns universities in THE’s displayed order for the selected subject, country, and year.

### How many students attend a ranked university?

List university rankings includes student figures when shown. Get university returns student statistics that may be missing from the public profile.

## Related

- [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.
- [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.
- [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.
- [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.
- [Trading Economics API](https://fous.com/tools/trading-economics.md): Trading Economics provides economic indicators, market data and country statistics, including country overviews, latest reported country comparisons and current commodity prices reflecting reported trading days.
- [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.
- [Udemy API](https://fous.com/tools/udemy.md): Online courses in professional and personal skills.
- [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.
- [All Education tools](https://fous.com/tools/category/education)
