# QS Top Universities Scraper (`solidcode/topuniversities-scraper`) Actor

\[💰 $4 / 1K] Extract QS university rankings from topuniversities.com — rank, score, country, city and the full indicator breakdown. 21 ranking tables, 59 subjects, editions 2021-2027, 105 countries. Filter by country, region or university name.

- **URL**: https://apify.com/solidcode/topuniversities-scraper.md
- **Developed by:** [SolidCode](https://apify.com/solidcode) (community)
- **Categories:** Developer tools, Automation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## QS Top Universities Scraper

Pull QS university rankings from topuniversities.com at scale — rank, overall score, country, city, profile URL, and the full QS indicator breakdown for every ranked institution. Covers the QS World University Rankings, 20 further ranking tables, and all 59 QS Rankings by Subject. Built for university strategy teams, education consultants, study-abroad agencies, and EdTech products that need a clean, structured rankings dataset without copying tables out of a website one page at a time.

### Why This Scraper?

- **21 ranking tables in one place** — QS World University Rankings, Sustainability, Graduate Employability, five regional tables (Asia, Europe, Latin America & Caribbean, Arab Region, Sub-Saharan Africa), eight MBA tables, and five Business Masters tables (Management, Finance, Marketing, Business Analytics, Supply Chain Management).
- **All 59 QS Rankings by Subject** — from Computer Science & Information Systems and Data Science & Artificial Intelligence to Philosophy, Veterinary Science, and Petroleum Engineering. Pick several and each one comes back as its own complete table.
- **The full QS methodology breakdown** — up to 12 indicator scores and indicator ranks per university, with nine ready-to-sort columns: Academic Reputation, Employer Reputation, Faculty/Student Ratio, Citations per Faculty, International Faculty Ratio, International Student Ratio, International Research Network, Employment Outcomes, and Sustainability Score.
- **No 100-row ceiling** — the complete 1,504-university World University Rankings table comes back in a single run. Set Maximum Results to 0 and you get every row of whichever table you chose.
- **Seven editions of the World University Rankings, 2021 to 2027** — track how an institution's rank and its individual indicator scores moved across seven years.
- **105 country filters and 6 world regions** — narrow to Türkiye, Kazakhstan, Puerto Rico, or Macau SAR before a single row is collected, so you only pay for the universities you actually want.
- **Official rank banding preserved** — ties like `=43` and banded tails like `1401+` arrive exactly as QS publishes them, alongside a clean numeric rank for sorting and charting.
- **Three stable identifiers on every row** — `universityId`, `coreId`, and `scoreNodeId` let you join the same institution across editions, subjects, and regional tables without fuzzy name matching.
- **Sub-regional and archive tables by URL** — paste a topuniversities.com ranking link, such as the Eastern Asia cut of the Asia rankings, and it resolves on its own.

### Use Cases

**Higher-Education Strategy & Benchmarking**
- Benchmark your institution against a named peer group across all nine QS indicators
- Track seven years of rank movement to show trustees where the curve is heading
- Find which indicator is dragging an overall score down before the next submission
- Compare a university's global position against its regional and subject positions

**Student Recruitment & Study-Abroad Advising**
- Build shortlists of top-ranked universities in a target country or region
- Match students to subject-specific strengths rather than only overall reputation
- Compare Global MBA and Business Masters tables for postgraduate advising
- Rank destination countries by how many institutions they place in the top 500

**Academic Research & Bibliometrics**
- Build a longitudinal ranking dataset for higher-education policy research
- Correlate Citations per Faculty against International Research Network scores
- Study how sustainability performance maps onto research reputation
- Compare methodology outcomes across the world, regional, and subject tables

**Content, Media & EdTech Products**
- Power "best universities for X" pages with current, structured ranking data
- Keep a university comparison tool refreshed each ranking cycle
- Produce data-led articles on national or regional higher-education performance
- Feed rankings into course-finder and admissions guidance products

**Market & Competitive Intelligence**
- Size the ranked higher-education market by country before entering it
- Identify fast-rising institutions as partnership or sales targets
- Segment universities by region, city, and overall score for outreach planning
- Enrich an existing institution database with current rank and score fields

### Getting Started

#### The Flagship Table

The simplest run — the top 100 of the latest QS World University Rankings:

```json
{
    "ranking": "world-university-rankings",
    "maxResults": 100
}
````

#### A Whole Table, Every Row

Set `maxResults` to 0 to collect the table in full:

```json
{
    "ranking": "world-university-rankings",
    "year": "2027",
    "maxResults": 0
}
```

#### Subject Rankings for One Country

```json
{
    "subjects": [
        "computer-science-information-systems",
        "data-science-artificial-intelligence"
    ],
    "countries": ["US", "GB"],
    "maxResults": 50
}
```

#### Regional Table, Slimmed Down

Turn off the indicator breakdown when you only need rank, score, and location:

```json
{
    "ranking": "asia-university-rankings",
    "region": "Asia",
    "includeIndicatorScores": false,
    "maxResults": 200
}
```

#### Full-Featured Example

```json
{
    "ranking": "world-university-rankings",
    "year": "2025",
    "countries": ["DE", "FR", "NL", "CH"],
    "region": "Europe",
    "searchQuery": "Technical",
    "sortOrder": "asc",
    "maxResults": 0,
    "includeIndicatorScores": true
}
```

#### Paste a Ranking URL

```json
{
    "rankingUrls": [
        "https://www.topuniversities.com/asia-university-rankings/eastern-asia",
        "https://www.topuniversities.com/mba-rankings/europe"
    ],
    "maxResults": 0
}
```

### Input Reference

#### Ranking

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `ranking` | select | `QS World University Rankings` | Which QS ranking table to extract. 21 choices: World, Sustainability, Graduate Employability, five regional tables, eight MBA tables, and five Business Masters tables. Ignored if you select subjects or paste ranking URLs. |
| `subjects` | multi-select | `[]` | Extract QS Rankings by Subject instead. 59 subjects available; each selected subject becomes its own ranking table. Leave empty to use the Ranking choice. |
| `year` | select | `2027 (latest)` | Which edition to extract, 2021 through 2027. When an edition isn't available for the table you chose, the latest one is used instead and the run log tells you. Ignored when you paste ranking URLs. |
| `rankingUrls` | string\[] | `[]` | Paste topuniversities.com ranking page URLs to extract them directly — useful for sub-regional tables and archive editions. When set, these are used instead of the choices above, including the edition year, which is taken from the URL itself. Repeated links to the same page are collected once. |

#### Filters

Filters are applied before any results are collected, so you only pay for the rows you keep.

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `countries` | multi-select | `[]` | Only return universities based in these countries. 105 countries available, from Argentina to Vietnam. Leave empty for every country. |
| `region` | select | `All regions` | Only return universities in one world region: Africa, Asia, Europe, Latin America, North America, or Oceania. |
| `searchQuery` | string | `""` | Only return universities whose name matches this text, for example `Oxford` or `Technical University`. |

#### Results

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `maxResults` | integer | `100` | How many universities to collect from each ranking table. Set to 0 to collect the whole table. Results arrive in blocks of up to 200 rows, so a request that isn't a round number may return a few extra rows. |
| `sortOrder` | select | `Highest ranked first` | Collect from the top of the ranking down, or from the bottom up. Only matters when you limit the number of results. |
| `includeIndicatorScores` | boolean | `true` | Include the per-indicator score and rank breakdown for each university. Turn off for a slimmer, faster result. |

### Output

One flat row per university, per ranking table. Here is a real World University Rankings row:

```json
{
    "rank": 1,
    "rankDisplay": "1",
    "name": "Massachusetts Institute of Technology (MIT)",
    "country": "United States",
    "city": "Cambridge",
    "region": "North America",
    "overallScore": 100.0,
    "url": "https://www.topuniversities.com/universities/massachusetts-institute-technology-mit",
    "logo": "https://www.topuniversities.com/sites/default/files/massachusetts-institute-of-technology-mit_410_medium.jpg",
    "stars": null,
    "advancedProfile": false,
    "universityId": "294850",
    "coreId": "410",
    "scoreNodeId": "4155277",
    "rankingName": "QS World University Rankings 2027",
    "rankingType": "world-university-rankings",
    "rankingYear": 2027,
    "rankingUrl": "https://www.topuniversities.com/world-university-rankings",
    "subject": null,
    "indicators": [
        { "category": "Research & Discovery", "indicatorId": "76", "name": "Academic Reputation", "score": 100.0, "rank": "4" },
        { "category": "Employability", "indicatorId": "77", "name": "Employer Reputation", "score": 100.0, "rank": "2" },
        { "category": "Global Engagement", "indicatorId": "14", "name": "International Student Ratio", "score": 91.1, "rank": "170" },
        { "category": "Sustainability", "indicatorId": "3897497", "name": "Sustainability Score", "score": 93.2, "rank": "=43" }
    ],
    "academicReputation": 100.0,
    "employerReputation": 100.0,
    "facultyStudentRatio": 100.0,
    "citationsPerFaculty": 100.0,
    "internationalFacultyRatio": 100.0,
    "internationalStudentRatio": 91.1,
    "internationalResearchNetwork": 94.4,
    "employmentOutcomes": 100.0,
    "sustainabilityScore": 93.2
}
```

#### Core Fields

| Field | Type | Description |
|-------|------|-------------|
| `rank` | number | Numeric rank, ready for sorting |
| `rankDisplay` | string | Rank exactly as QS publishes it, including ties (`=43`) and bands (`1401+`) |
| `name` | string | University name |
| `country` | string | Country the university is based in |
| `city` | string | City the university is based in |
| `region` | string | World region |
| `overallScore` | number | Overall QS score out of 100 |
| `url` | string | Direct link to the university's profile page |
| `logo` | string | University logo image URL |
| `stars` | string | QS Stars rating, where the institution holds one |
| `advancedProfile` | boolean | Whether QS hosts an enhanced profile for this institution |

#### Identifiers

| Field | Type | Description |
|-------|------|-------------|
| `universityId` | string | Stable university identifier — the same across editions and tables |
| `coreId` | string | QS core institution identifier |
| `scoreNodeId` | string | Identifier for this specific ranking row |

#### Ranking Context

| Field | Type | Description |
|-------|------|-------------|
| `rankingName` | string | Full ranking title, e.g. `QS World University Rankings 2027` |
| `rankingType` | string | Ranking family, e.g. `world-university-rankings` |
| `rankingYear` | number | The edition that was actually delivered |
| `rankingUrl` | string | Source ranking page URL |
| `subject` | string | Subject name, on subject rankings only |

#### Indicator Scores

Populated when `includeIndicatorScores` is on.

| Field | Type | Description |
|-------|------|-------------|
| `indicators` | object\[] | Every indicator for this table: `category`, `indicatorId`, `name`, `score`, and `rank` (rank stays text, so ties and bands survive) |
| `academicReputation` | number | Academic Reputation score |
| `employerReputation` | number | Employer Reputation score |
| `facultyStudentRatio` | number | Faculty/Student Ratio score |
| `citationsPerFaculty` | number | Citations per Faculty score |
| `internationalFacultyRatio` | number | International Faculty Ratio score |
| `internationalStudentRatio` | number | International Student Ratio score |
| `internationalResearchNetwork` | number | International Research Network score |
| `employmentOutcomes` | number | Employment Outcomes score |
| `sustainabilityScore` | number | Sustainability Score |

### Tips for Best Results

- **Test with 100, then open it up** — leave `maxResults` at 100 for a first run to confirm the columns are what you need, then set it to 0 to pull the table in full. If you call the actor from code, always send `maxResults` explicitly: with no value at all the whole table is collected, which is 1,504 rows for the World ranking.
- **Archive editions exist for most tables, but not all** — the World table publishes 2021 through 2027, Asia and Arab Region 2021 through 2026, Sustainability 2023 through 2026, Latin America 2024 through 2026, Europe 2024 through 2025, and subject tables 2025. When an edition isn't available the latest one is used instead, the run log says so, and `rankingYear` on every row tells you exactly which edition you received.
- **`indicators` is the authoritative array** — MBA, Business Masters, Employability, and subject tables use different QS indicator sets (Return on Investment, Thought Leadership, Entrepreneurship & Alumni Outcomes, H-index Citations), so the nine named columns are empty there and `indicators` carries the real breakdown.
- **Country codes are two letters** — pick from the dropdown rather than typing country names, and combine several codes to build a custom peer group in one run.
- **Flip `sortOrder` to sample the tail** — set Start From to "Lowest ranked first" with a small `maxResults` to inspect the banded end of a table (the `1401+` rows) without collecting the whole thing.
- **Join tables on `universityId`** — run the world table and a subject table in separate runs, then match on `universityId` to see where an institution outperforms its overall position.
- **Select several subjects in one run** — each subject returns its own full table, so a single run can produce a complete multi-discipline dataset for a country shortlist.

### Pricing

**From $4.00 per 1,000 results** — one flat rate for every ranking table, including the full indicator breakdown that competing tools do not surface at all. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.

| Results | No discount | Bronze | Silver | Gold |
|---------|-------------|--------|--------|------|
| 100 | $0.48 | $0.45 | $0.43 | $0.40 |
| 1,000 | $4.80 | $4.50 | $4.25 | $4.00 |
| 10,000 | $48.00 | $45.00 | $42.50 | $40.00 |
| 100,000 | $480.00 | $450.00 | $425.00 | $400.00 |

A "result" is one university row in the output dataset. No compute or time-based charges — you pay per result, plus a small fixed per-run start fee.

### Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

- **Zapier** / **Make** / **n8n** — Workflow automation
- **Google Sheets** — Direct spreadsheet export
- **Slack** / **Email** — Notifications on new results
- **Webhooks** — Trigger custom integrations on run completion
- **Apify API** — Full programmatic access

### Legal & Ethical Use

This actor collects publicly published university ranking tables for research, benchmarking, journalism, and educational guidance. Ranking data belongs to QS Quacquarelli Symonds, and you are responsible for complying with applicable laws, topuniversities.com's Terms of Service, and any attribution rules when you republish or redistribute the figures. No personal data about students or staff is collected. Use the data responsibly and represent rankings accurately in whatever you publish.

# Actor input Schema

## `ranking` (type: `string`):

Which QS ranking table to extract. The QS World University Rankings is the flagship global table. Ignored if you select one or more subjects below, or paste ranking URLs.

## `subjects` (type: `array`):

Extract the QS Rankings by Subject tables instead. Select one or more subjects and each becomes its own ranking table. Leave empty to use the Ranking choice above.

## `year` (type: `string`):

Which edition of the ranking to extract. Older editions are not published for every ranking — when an edition is unavailable the latest one is used instead and the run log tells you so. Every row carries the edition it actually came from. Ignored when you paste ranking page URLs below.

## `rankingUrls` (type: `array`):

Paste topuniversities.com ranking page URLs to extract them directly, for example https://www.topuniversities.com/asia-university-rankings/eastern-asia. Useful for sub-regional tables and older editions. When set, these are used instead of the choices above — including the Edition Year, which is taken from the URL itself. Repeated links to the same page are collected only once.

## `countries` (type: `array`):

Only return universities based in these countries. Leave empty to include every country.

## `region` (type: `string`):

Only return universities in this world region. Leave on 'All regions' for no region filter.

## `searchQuery` (type: `string`):

Only return universities whose name matches this text, for example 'Oxford' or 'Technical University'. Leave empty for no name filter.

## `maxResults` (type: `integer`):

How many universities to collect from each ranking table. Set to 0 to collect the whole table. Results arrive in blocks of up to 200 rows, so a request that isn't a round number may return a few extra rows — for example 250 returns 250, and 201 returns 202. This applies per ranking, so selecting several subjects multiplies the total.

## `sortOrder` (type: `string`):

Whether to collect from the top of the ranking down, or from the bottom up. Only matters when you limit the number of results.

## `includeIndicatorScores` (type: `boolean`):

Include the per-indicator score and rank breakdown for each university, such as Academic Reputation, Employer Reputation and Citations per Faculty. Turn off for a slimmer, faster result.

## Actor input object example

```json
{
  "ranking": "world-university-rankings",
  "subjects": [],
  "year": "2027",
  "rankingUrls": [],
  "countries": [],
  "maxResults": 100,
  "sortOrder": "asc",
  "includeIndicatorScores": true
}
```

# Actor output Schema

## `overview` (type: `string`):

Table of ranked universities with rank, overall score, and location at a glance.

## `indicators` (type: `string`):

Per-university breakdown of the individual QS ranking indicator scores.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "ranking": "world-university-rankings",
    "subjects": [],
    "year": "2027",
    "rankingUrls": [],
    "countries": [],
    "region": "",
    "searchQuery": "",
    "maxResults": 100,
    "sortOrder": "asc",
    "includeIndicatorScores": true
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/topuniversities-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "ranking": "world-university-rankings",
    "subjects": [],
    "year": "2027",
    "rankingUrls": [],
    "countries": [],
    "region": "",
    "searchQuery": "",
    "maxResults": 100,
    "sortOrder": "asc",
    "includeIndicatorScores": True,
}

# Run the Actor and wait for it to finish
run = client.actor("solidcode/topuniversities-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "ranking": "world-university-rankings",
  "subjects": [],
  "year": "2027",
  "rankingUrls": [],
  "countries": [],
  "region": "",
  "searchQuery": "",
  "maxResults": 100,
  "sortOrder": "asc",
  "includeIndicatorScores": true
}' |
apify call solidcode/topuniversities-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=solidcode/topuniversities-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "QS Top Universities Scraper",
        "description": "[💰 $4 / 1K] Extract QS university rankings from topuniversities.com — rank, score, country, city and the full indicator breakdown. 21 ranking tables, 59 subjects, editions 2021-2027, 105 countries. Filter by country, region or university name.",
        "version": "1.0",
        "x-build-id": "OSE1XIfLi6M7TDjl2"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solidcode~topuniversities-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solidcode-topuniversities-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/solidcode~topuniversities-scraper/runs": {
            "post": {
                "operationId": "runs-sync-solidcode-topuniversities-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/solidcode~topuniversities-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-solidcode-topuniversities-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "ranking": {
                        "title": "Ranking",
                        "enum": [
                            "world-university-rankings",
                            "sustainability-rankings",
                            "employability-rankings",
                            "asia-university-rankings",
                            "europe-university-rankings",
                            "latin-america-caribbean-rankings",
                            "arab-region-university-rankings",
                            "sub-saharan-africa-university-rankings",
                            "mba-rankings/global",
                            "mba-rankings/united-states",
                            "mba-rankings/europe",
                            "mba-rankings/asia",
                            "mba-rankings/canada",
                            "mba-rankings/latin-america",
                            "mba-rankings/middle-east-africa",
                            "mba-rankings/oceania",
                            "business-masters-rankings/management",
                            "business-masters-rankings/finance",
                            "business-masters-rankings/marketing",
                            "business-masters-rankings/business-analytics",
                            "business-masters-rankings/supply-chain-management"
                        ],
                        "type": "string",
                        "description": "Which QS ranking table to extract. The QS World University Rankings is the flagship global table. Ignored if you select one or more subjects below, or paste ranking URLs."
                    },
                    "subjects": {
                        "title": "Subjects (QS Rankings by Subject)",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Extract the QS Rankings by Subject tables instead. Select one or more subjects and each becomes its own ranking table. Leave empty to use the Ranking choice above.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "accounting-finance",
                                "agriculture-forestry",
                                "anatomy-physiology",
                                "anthropology",
                                "archaeology",
                                "architecture-built-environment",
                                "art-design",
                                "art-history",
                                "arts-humanities",
                                "biological-sciences",
                                "business-management-studies",
                                "chemical-engineering",
                                "chemistry",
                                "civil-structural-engineering",
                                "classics-ancient-history",
                                "communication-media-studies",
                                "computer-science-information-systems",
                                "data-science-artificial-intelligence",
                                "dentistry",
                                "development-studies",
                                "earth-marine-sciences",
                                "economics-econometrics",
                                "education-training",
                                "electrical-electronic-engineering",
                                "engineering-petroleum",
                                "engineering-technology",
                                "english-language-literature",
                                "environmental-sciences",
                                "geography",
                                "geology",
                                "geophysics",
                                "history",
                                "hospitality-leisure-management",
                                "law-legal-studies",
                                "library-information-management",
                                "life-sciences-medicine",
                                "linguistics",
                                "marketing",
                                "materials-sciences",
                                "mathematics",
                                "mechanical-aeronautical-manufacturing-engineering",
                                "medicine",
                                "mineral-mining-engineering",
                                "modern-languages",
                                "music",
                                "natural-sciences",
                                "nursing",
                                "performing-arts",
                                "pharmacy-pharmacology",
                                "philosophy",
                                "physics-astronomy",
                                "politics",
                                "psychology",
                                "social-policy-administration",
                                "social-sciences-management",
                                "sports-related-subjects",
                                "statistics-operational-research",
                                "theology-divinity-religious-studies",
                                "veterinary-science"
                            ],
                            "enumTitles": [
                                "Accounting & Finance",
                                "Agriculture & Forestry",
                                "Anatomy & Physiology",
                                "Anthropology",
                                "Archaeology",
                                "Architecture & Built Environment",
                                "Art & Design",
                                "Art History",
                                "Arts & Humanities (broad faculty)",
                                "Biological Sciences",
                                "Business & Management Studies",
                                "Engineering - Chemical",
                                "Chemistry",
                                "Engineering - Civil & Structural",
                                "Classics & Ancient History",
                                "Communication & Media Studies",
                                "Computer Science & Information Systems",
                                "Data Science & Artificial Intelligence",
                                "Dentistry",
                                "Development Studies",
                                "Earth & Marine Sciences",
                                "Economics & Econometrics",
                                "Education & Training",
                                "Engineering - Electrical & Electronic",
                                "Engineering - Petroleum",
                                "Engineering & Technology (broad faculty)",
                                "English Language & Literature",
                                "Environmental Sciences",
                                "Geography",
                                "Geology",
                                "Geophysics",
                                "History",
                                "Hospitality & Leisure Management",
                                "Law & Legal Studies",
                                "Library & Information Management",
                                "Life Sciences & Medicine (broad faculty)",
                                "Linguistics",
                                "Marketing",
                                "Materials Sciences",
                                "Mathematics",
                                "Engineering - Mechanical, Aeronautical & Manufacturing",
                                "Medicine",
                                "Engineering - Mineral & Mining",
                                "Modern Languages",
                                "Music",
                                "Natural Sciences (broad faculty)",
                                "Nursing",
                                "Performing Arts",
                                "Pharmacy & Pharmacology",
                                "Philosophy",
                                "Physics & Astronomy",
                                "Politics",
                                "Psychology",
                                "Social Policy & Administration",
                                "Social Sciences & Management (broad faculty)",
                                "Sports-Related Subjects",
                                "Statistics & Operational Research",
                                "Theology, Divinity & Religious Studies",
                                "Veterinary Science"
                            ]
                        }
                    },
                    "year": {
                        "title": "Edition Year",
                        "enum": [
                            "2027",
                            "2026",
                            "2025",
                            "2024",
                            "2023",
                            "2022",
                            "2021"
                        ],
                        "type": "string",
                        "description": "Which edition of the ranking to extract. Older editions are not published for every ranking — when an edition is unavailable the latest one is used instead and the run log tells you so. Every row carries the edition it actually came from. Ignored when you paste ranking page URLs below."
                    },
                    "rankingUrls": {
                        "title": "Ranking Page URLs",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Paste topuniversities.com ranking page URLs to extract them directly, for example https://www.topuniversities.com/asia-university-rankings/eastern-asia. Useful for sub-regional tables and older editions. When set, these are used instead of the choices above — including the Edition Year, which is taken from the URL itself. Repeated links to the same page are collected only once.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "countries": {
                        "title": "Countries",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Only return universities based in these countries. Leave empty to include every country.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "AR",
                                "AM",
                                "AU",
                                "AT",
                                "AZ",
                                "BH",
                                "BD",
                                "BY",
                                "BE",
                                "BA",
                                "BR",
                                "BN",
                                "BG",
                                "CA",
                                "CL",
                                "CN",
                                "CO",
                                "CR",
                                "HR",
                                "CU",
                                "CY",
                                "CZ",
                                "DK",
                                "DO",
                                "EC",
                                "EG",
                                "EE",
                                "ET",
                                "FI",
                                "FR",
                                "GE",
                                "DE",
                                "GH",
                                "GR",
                                "GT",
                                "HN",
                                "HK",
                                "HU",
                                "IS",
                                "IN",
                                "ID",
                                "IR",
                                "IQ",
                                "IE",
                                "IL",
                                "IT",
                                "JP",
                                "JO",
                                "KZ",
                                "KE",
                                "KW",
                                "KG",
                                "LV",
                                "LB",
                                "LT",
                                "LU",
                                "MO",
                                "MY",
                                "MT",
                                "MX",
                                "MA",
                                "NL",
                                "NZ",
                                "NG",
                                "NO",
                                "OM",
                                "PK",
                                "PS",
                                "PA",
                                "PY",
                                "PE",
                                "PH",
                                "PL",
                                "PT",
                                "PR",
                                "QA",
                                "RO",
                                "RU",
                                "SA",
                                "RS",
                                "SG",
                                "SK",
                                "SI",
                                "ZA",
                                "KR",
                                "ES",
                                "LK",
                                "SD",
                                "SE",
                                "CH",
                                "SY",
                                "TW",
                                "TZ",
                                "TH",
                                "TN",
                                "TR",
                                "UG",
                                "UA",
                                "AE",
                                "GB",
                                "US",
                                "UY",
                                "UZ",
                                "VE",
                                "VN"
                            ],
                            "enumTitles": [
                                "Argentina",
                                "Armenia",
                                "Australia",
                                "Austria",
                                "Azerbaijan",
                                "Bahrain",
                                "Bangladesh",
                                "Belarus",
                                "Belgium",
                                "Bosnia & Herzegovina",
                                "Brazil",
                                "Brunei",
                                "Bulgaria",
                                "Canada",
                                "Chile",
                                "China (Mainland)",
                                "Colombia",
                                "Costa Rica",
                                "Croatia",
                                "Cuba",
                                "Cyprus",
                                "Czechia",
                                "Denmark",
                                "Dominican Republic",
                                "Ecuador",
                                "Egypt",
                                "Estonia",
                                "Ethiopia",
                                "Finland",
                                "France",
                                "Georgia",
                                "Germany",
                                "Ghana",
                                "Greece",
                                "Guatemala",
                                "Honduras",
                                "Hong Kong SAR",
                                "Hungary",
                                "Iceland",
                                "India",
                                "Indonesia",
                                "Iran",
                                "Iraq",
                                "Ireland",
                                "Israel",
                                "Italy",
                                "Japan",
                                "Jordan",
                                "Kazakhstan",
                                "Kenya",
                                "Kuwait",
                                "Kyrgyzstan",
                                "Latvia",
                                "Lebanon",
                                "Lithuania",
                                "Luxembourg",
                                "Macau SAR",
                                "Malaysia",
                                "Malta",
                                "Mexico",
                                "Morocco",
                                "Netherlands",
                                "New Zealand",
                                "Nigeria",
                                "Norway",
                                "Oman",
                                "Pakistan",
                                "Palestinian Territories",
                                "Panama",
                                "Paraguay",
                                "Peru",
                                "Philippines",
                                "Poland",
                                "Portugal",
                                "Puerto Rico",
                                "Qatar",
                                "Romania",
                                "Russia",
                                "Saudi Arabia",
                                "Serbia",
                                "Singapore",
                                "Slovakia",
                                "Slovenia",
                                "South Africa",
                                "South Korea",
                                "Spain",
                                "Sri Lanka",
                                "Sudan",
                                "Sweden",
                                "Switzerland",
                                "Syria",
                                "Taiwan",
                                "Tanzania",
                                "Thailand",
                                "Tunisia",
                                "Türkiye",
                                "Uganda",
                                "Ukraine",
                                "United Arab Emirates",
                                "United Kingdom",
                                "United States",
                                "Uruguay",
                                "Uzbekistan",
                                "Venezuela",
                                "Vietnam"
                            ]
                        }
                    },
                    "region": {
                        "title": "Region",
                        "enum": [
                            "",
                            "Africa",
                            "Asia",
                            "Europe",
                            "Latin America",
                            "North America",
                            "Oceania"
                        ],
                        "type": "string",
                        "description": "Only return universities in this world region. Leave on 'All regions' for no region filter."
                    },
                    "searchQuery": {
                        "title": "University Name Search",
                        "type": "string",
                        "description": "Only return universities whose name matches this text, for example 'Oxford' or 'Technical University'. Leave empty for no name filter."
                    },
                    "maxResults": {
                        "title": "Maximum Results per Ranking",
                        "minimum": 0,
                        "type": "integer",
                        "description": "How many universities to collect from each ranking table. Set to 0 to collect the whole table. Results arrive in blocks of up to 200 rows, so a request that isn't a round number may return a few extra rows — for example 250 returns 250, and 201 returns 202. This applies per ranking, so selecting several subjects multiplies the total."
                    },
                    "sortOrder": {
                        "title": "Start From",
                        "enum": [
                            "asc",
                            "desc"
                        ],
                        "type": "string",
                        "description": "Whether to collect from the top of the ranking down, or from the bottom up. Only matters when you limit the number of results."
                    },
                    "includeIndicatorScores": {
                        "title": "Include Indicator Scores",
                        "type": "boolean",
                        "description": "Include the per-indicator score and rank breakdown for each university, such as Academic Reputation, Employer Reputation and Citations per Faculty. Turn off for a slimmer, faster result."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
