Discover/topuniversities API
live

topuniversities APItopuniversities.com

Access QS World University Rankings data: world and subject rankings, per-indicator scores, university profiles, and location filter vocabularies across multiple edition years.

Endpoint health
verified 22h ago
list_locations
get_world_rankings
list_subject_rankings
get_subject_rankings
get_university_profile
5/5 passing latest checkself-healing
Endpoints
5
Updated
7d ago

What is the topuniversities API?

This API exposes QS World University Rankings data across 5 endpoints, covering overall world rankings by edition year, subject-specific rankings, and full university profile pages. Use get_world_rankings to retrieve paginated ranking tables with per-indicator scores and tied/banded rank strings, or get_subject_rankings to pull discipline-specific tables — both filterable by region, country, city, and text search. get_university_profile returns structured address, student/faculty headcounts, and the university's current positions across all QS rankings shown on its profile.

This call costs3 credits / call— charged only on success
Try it
City name from list_locations.regions[*].countries[*].cities. Omitted = all cities.
0-based page index.
4-digit edition year, e.g. 2026. Omitted = latest edition; available editions are listed by list_locations.edition_years.
Region name exactly as returned by list_locations.regions[*].region (e.g. Asia). Omitted = all regions.
Free-text university name search applied by the site.
Sort key: rank, university, overallscore, or indicator_<indicator_id> using an indicator_id from universities[*].indicators. Omitted = rank order.
asc or desc; only meaningful with sort_by.
Two-letter country code from list_locations.regions[*].countries[*].country_code (e.g. gb). Omitted = all countries.
Rows per page; values above 100 are clamped to 100.
api.parse.bot/scraper/9edae581-c058-4a50-bf4c-ba847862c367/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/9edae581-c058-4a50-bf4c-ba847862c367/get_world_rankings?items_per_page=10' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 5 totalmissing one? ·

Returns one page of the QS World University Rankings table for an edition year (latest edition when year is omitted). Each row carries the displayed rank (may be tied, e.g. '=2', or banded, e.g. '801+'), a numeric rank_sort when the rank is a plain integer, overall score, country/region/city, the profile slug, and every indicator score/rank grouped by lens (Research & Discovery, Employability, etc.). Filters (region, country_code, city, search) and sorting are applied by the site. Pagination is 0-based via page and items_per_page (max 100); total_universities, total_pages and has_more come from the site. Two round trips per call.

Input
ParamTypeDescription
citystringCity name from list_locations.regions[*].countries[*].cities. Omitted = all cities.
pagestring0-based page index.
yearstring4-digit edition year, e.g. 2026. Omitted = latest edition; available editions are listed by list_locations.edition_years.
regionstringRegion name exactly as returned by list_locations.regions[*].region (e.g. Asia). Omitted = all regions.
searchstringFree-text university name search applied by the site.
sort_bystringSort key: rank, university, overallscore, or indicator_<indicator_id> using an indicator_id from universities[*].indicators. Omitted = rank order.
order_bystringasc or desc; only meaningful with sort_by.
country_codestringTwo-letter country code from list_locations.regions[*].countries[*].country_code (e.g. gb). Omitted = all countries.
items_per_pagestringRows per page; values above 100 are clamped to 100.
Response
{
  "type": "object",
  "fields": {
    "page": "integer 0-based page returned",
    "has_more": "boolean, true when a later page exists",
    "total_pages": "integer",
    "edition_year": "edition year parsed from the ranking title",
    "universities": "array of ranked rows: rank, rank_sort, university_id, core_id, name, slug (for get_university_profile), profile_url, region, country, city, logo, overall_score, stars, indicators[] {group, indicator_id, indicator_name, rank, score}",
    "ranking_title": "page title of the ranking edition",
    "items_per_page": "integer page size honoured by the site",
    "total_universities": "integer total rows matching the filters"
  },
  "sample": {
    "data": {
      "page": 1,
      "has_more": true,
      "total_pages": 19,
      "edition_year": "2027",
      "universities": [
        {
          "city": "London",
          "logo": "https://www.topuniversities.com/sites/default/files/231024034600pm558869KCL-box-red-485-rgb-90x90.jpg",
          "name": "King's College London",
          "rank": "37",
          "slug": "kings-college-london",
          "stars": "",
          "region": "Europe",
          "core_id": "357",
          "country": "United Kingdom",
          "rank_sort": 37,
          "indicators": [
            {
              "rank": "44",
              "group": "Research & Discovery",
              "score": "96.3",
              "indicator_id": "76",
              "indicator_name": "Academic Reputation"
            }
          ],
          "profile_url": "https://www.topuniversities.com/universities/kings-college-london",
          "overall_score": "85.7",
          "university_id": "294029"
        }
      ],
      "ranking_title": "QS World University Rankings 2027: Top Global Universities | TopUniversities",
      "items_per_page": 5,
      "total_universities": 93
    },
    "status": "success"
  }
}

About the topuniversities API

World and Subject Rankings

get_world_rankings returns a paginated table of QS World University Rankings for a given year (defaults to the latest edition). Each row in the universities array includes the display rank (which may be tied, e.g. =2, or banded, e.g. 801+), a numeric rank_sort for plain integer ranks, university_id, core_id, name, slug, profile_url, region, country, overall score, and a set of per-indicator scores keyed by indicator ID. You can sort by rank, university, overallscore, or any indicator_<indicator_id> using the sort_by and order_by params. get_subject_rankings follows the same row shape but requires a subject slug from list_subject_rankings and exposes subject-specific indicators such as H-index Citations and Citations per Paper.

Location and Subject Vocabularies

list_locations returns the complete filter vocabulary in one call: a regions array where each region contains countries (with country_code for the country_code filter) and nested cities arrays, plus an edition_years array that flags which year is current. list_subject_rankings lists every published QS subject ranking with its subject slug, display name, and edition_year — pass the slug directly to get_subject_rankings.

University Profiles

get_university_profile accepts a slug from either rankings endpoint and returns the university's name, location, structured address object (streetAddress, addressLocality, addressRegion, postalCode, addressCountry), summary, about text, student_staff_stats (Total students, International students, Total faculty staff), and a current_rankings array listing each QS ranking the university appears in along with its rank. Fields like about, address, and location may be null for some institutions.

Reliability & maintenanceVerified

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

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

Last verified
22h ago
Latest check
5/5 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a university comparison tool that ranks institutions head-to-head by a specific QS indicator score.
  • Populate a study-abroad directory filtered by region and country using list_locations vocabularies.
  • Track year-over-year rank changes for a watchlist of universities across multiple edition years.
  • Surface subject-specific rankings (e.g. computer science, engineering) for course recommendation engines.
  • Display student-to-faculty ratios and international student counts from get_university_profile for enrollment research tools.
  • Aggregate all QS subject rankings a single university appears in using current_rankings from the profile endpoint.
  • Filter QS rankings by city to identify top-ranked universities in a specific metropolitan area.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does QS / topuniversities.com offer an official developer API?+
QS does not publish a general-purpose developer API for accessing ranking data. Licensing QS data directly requires a commercial arrangement through QS directly at topuniversities.com.
How do tied and banded ranks appear in the response, and how can I sort numerically?+
The rank field in the universities array reflects the display string exactly as shown on the site — tied ranks appear as =14 and banded ranks as 801+. When rank is a plain integer, rank_sort holds that integer so you can sort numerically. For custom sorting, pass sort_by=rank (or any indicator_<id>) with order_by=asc or order_by=desc.
How does pagination work across the ranking endpoints?+
Both get_world_rankings and get_subject_rankings use 0-based page indexing. The response always includes total_pages, total_universities, items_per_page, and a has_more boolean so you can walk all pages without guessing offsets.
Does the API cover historical ranking editions beyond the latest year?+
Yes for get_world_rankings: pass a 4-digit year param using values returned by list_locations.edition_years. Subject rankings via get_subject_rankings do not currently accept a year parameter — only the current edition is available for subject data. You can fork this API on Parse and revise it to add year filtering to the subject rankings endpoint.
Are university admissions data, tuition fees, or application deadlines available?+
Not currently. The API covers ranking positions, per-indicator scores, student/faculty headcounts, and location data. Admissions details, tuition figures, and deadline information are not exposed by any endpoint. You can fork this API on Parse and revise it to add an endpoint targeting that data from university profile pages.
Page content last updated . Spec covers 5 endpoints from topuniversities.com.
Related APIs in EducationSee all →
timeshighereducation.com API
Access Times Higher Education data including global university rankings across dozens of subject areas, detailed university profiles with scoring breakdowns, academic job listings, and site-wide search for articles and university pages.
shanghairanking.com API
Access comprehensive rankings data for Chinese universities including ARWU, GRAS subject rankings, and BCUR assessments, with the ability to search institutions and view detailed university profiles. Compare academic performance metrics and subject-specific standings across China's higher education institutions.
hotcoursesabroad.com API
Access data from hotcoursesabroad.com.
bachelorsportal.com API
Search and discover bachelor's degree programmes worldwide with detailed information about universities, tuition fees, programme duration, ratings, and available scholarships to help you find the perfect fit for your studies. Filter and compare programmes across institutions globally to make informed decisions about your higher education options.
YÖK Atlas API
Access Turkey's official higher education database via YÖK Atlas. Search and filter universities and degree programs by city, score type, and field of study; retrieve admission statistics, success rankings, quotas, tuition details, graduate exam outcomes, and full university profiles.
superprof.com API
Search for private tutors by subject and location, then access their detailed profiles with reviews, qualifications, pricing, and availability. Discover top-rated tutors featured on the platform to find the perfect match for your learning needs.
opendays.com API
Search and discover open day events at educational institutions, view detailed event information and institution profiles, and browse the complete calendar of upcoming visits. Find the perfect school or university open day by searching institutions or exploring all available options with their program details and dates.
worlddata.info API
Explore global statistics and compare countries across population, economy, demographics, quality of life, education, and health metrics. Search worldwide data on everything from life expectancy and languages to religions and regional breakdowns to gain comprehensive insights into how nations rank against each other.