API features
QS ranking search
Search ranked universities by name through a structured API.
Ranking indicators
Review available overall ranks and published indicator scores.
University profiles
Receive institution, country, city, region, and logo fields when available.
Stable pagination
Browse large result sets using predictable page controls and totals.
Nullable source values
Handle unavailable ranking fields explicitly instead of treating them as zero.
Education research
Build ranking comparisons, discovery tools, and higher-education research workflows.
API Document
HTTP Protocol:HTTPS
HTTP Method:GET
HTTP Endpoint:https://api.gugudata.io/v1/metadata/qs-global-university-ranking
Response Type:application/json; charset=utf-8
DEMO Endpoint:https://api.gugudata.io/v1/metadata/global-university-ranking/demo
Live Demo:Try Interactive Demo
Postman Collection:Run in Postman
API Request Parameters
| Name | Type | Is Required | Default Value | Remark |
|---|---|---|---|---|
| appkey | string | true | YOUR_APPKEY | API key used to authenticate the request. |
| name | string | false | Optional university name used for case-insensitive partial matching. | |
| pageIndex | integer | false | 1 | One-based page number. Defaults to the first page. |
| pageSize | integer | false | 10 | Number of university records to return per page. |
API Response Parameters
| Name | Type | Remark |
|---|---|---|
| dataStatus | object | Response metadata returned by the current v1 contract. |
| dataStatus.requestParameter | string | Privacy-safe summary of the normalized request. |
| dataStatus.statusCode | integer | Application-level status code. |
| dataStatus.status | string | Application-level result status. |
| dataStatus.statusDescription | string | Human-readable application status message. |
| dataStatus.responseDateTime | string | Time at which the response was generated. |
| dataStatus.dataTotalCount | integer | Number of matching or returned records for this request. |
| data | object | Primary response payload returned by the endpoint. |
| data.id | string | Unique university identifier in Gugudata system. |
| data.universityName | string | Official university name. |
| data.region | string | Geographic region. |
| data.country | string | Country name. |
| data.city | string | City location. |
| data.logoUrl | string | URL to university logo image. |
| data.rank | string | Overall QS world ranking position. |
| data.academicReputationRank | string | Academic reputation ranking position. |
| data.academicReputationScore | string | Academic reputation score (0-100). |
| data.citationsPerFacultyRank | string | Citations per faculty ranking position. |
| data.citationsPerFacultyScore | string | Citations per faculty score (0-100). |
| data.facultyStudentRatioRank | string | Faculty-to-student ratio ranking position. |
| data.facultyStudentRatioScore | string | Faculty-to-student ratio score (0-100). |
| data.employerReputationRank | string | Employer reputation ranking position. |
| data.employerReputationScore | string | Employer reputation score (0-100). |
| data.employmentOutcomesRank | string | Employment outcomes ranking position. |
| data.employmentOutcomesScore | string | Employment outcomes score (0-100). |
| data.internationalStudentRatioRank | string | International student ratio ranking position. |
| data.internationalStudentRatioScore | string | International student ratio score (0-100). |
| data.internationalResearchNetworkRank | string | International research network ranking position. |
| data.internationalResearchNetworkScore | string | International research network score (0-100). |
| data.internationalFacultyRatioRank | string | International faculty ratio ranking position. |
| data.internationalFacultyRatioScore | string | International faculty ratio score (0-100). |
| data.sustainabilityRank | string | Sustainability ranking position. |
| data.sustainabilityScore | string | Sustainability score (0-100). |
API Response Status Codes
| Status Code | Explanation of Status Code | Remarks |
|---|---|---|
| 200 | Request processed successfully. | Some endpoints expose a separate application-level status field in the response body, such as `dataStatus.statusCode`. |
| 400 | Invalid request parameters or request format. | Check required fields, data types, and request body format. |
| 401 | Missing or unknown application key. | Provide a valid `appkey` with the request. |
| 403 | The application key is recognized but access is not allowed. | The key may be expired, inactive, or not permitted for the requested API. |
| 429 | Request rate or trial usage limit exceeded. | Reduce request frequency and retry with backoff. If a trial allowance is exhausted, check Trial Keys for remaining requests and subscribe to continue. |
| 500 | Internal service error. | Retry later or contact support if the error persists. |
| 503 | Upstream service unavailable. | Retry later; the requested upstream dependency is temporarily unavailable. |
Remote MCP
Use this API through GuGuData Remote MCP
Connect your AI client once, authorize in the browser, and the client can use the GuGuData API tools available to your account. You do not need to paste an appkey into the MCP client.
https://mcp.gugudata.io/mcp{
"mcpServers": {
"gugudata": {
"url": "https://mcp.gugudata.io/mcp",
"transportType": "streamable-http"
}
}
}Code Snippets
QS World University Rankings
Search university ranking records by name and build paginated result views.
Input and coverage: Use one-based pageIndex; pageSize is capped at 20. Confirm the dataset edition and coverage before using ranks for comparisons.
Example request
Replace YOUR_APPKEY with your own API key. This request uses the normal API endpoint.
curl --fail-with-body 'https://api.gugudata.io/v1/metadata/qs-global-university-ranking?appkey=YOUR_APPKEY&name=Massachusetts&pageIndex=1&pageSize=5'View sample Demo response
This is a fixed Demo sample, shortened for readability. It is not the response to your example request. Your results depend on the input and dataset. File URLs are temporary and have been removed.
{
"dataStatus": {
"statusCode": 100,
"status": "SUCCESS",
"statusDescription": "请求成功。",
"dataTotalCount": 1503
},
"data": [
{
"id": "ed333a3b-d3e9-433a-8d8a-2afff9bd78f5",
"universityName": "Massachusetts Institute of Technology (MIT)",
"region": "North America",
"country": "United States",
"city": "Cambridge",
"logoUrl": "https://api.gugudata.io/v1/metadata/global-university-logo/ed333a3b-d3e9-433a-8d8a-2afff9bd78f5.jpg",
"rank": "1",
"academicReputationRank": "4",
"academicReputationScore": "100",
"citationsPerFacultyRank": "9",
"citationsPerFacultyScore": "100",
"facultyStudentRatioRank": "11",
"facultyStudentRatioScore": "100",
"employerReputationRank": "2",
"employerReputationScore": "100",
"employmentOutcomesRank": "8",
"employmentOutcomesScore": "100",
"internationalStudentRatioRank": "143",
"internationalStudentRatioScore": "86.8",
"internationalResearchNetworkRank": "58",
"internationalResearchNetworkScore": "96",
"internationalFacultyRatioRank": "100",
"internationalFacultyRatioScore": "99.3",
"sustainabilityRank": "15",
"sustainabilityScore": "99"
}
]
}Frequently asked questions
Common questions about request limits, trials, renewal, and cancellation.
What does the 5 requests per second limit mean?
It is a request-rate limit, not a concurrency allowance. Keep your request rate at or below 5 per second. If the service returns a rate-limit response, reduce the frequency and retry with backoff.
Is total paid usage limited?
There is no total request cap during an active paid subscription and no usage-based overage charge.
How does the free trial work?
Each account can receive a limited trial key. Requests are shared across APIs in the same category. Check Trial Keys for the exact allowance and remaining requests.
How do renewal and cancellation work?
The plan renews annually until canceled. Manage or cancel the renewal from Dashboard → Orders & Billing. Access continues through the paid period after cancellation. See the Terms of Service for the current refund policy. If the billing portal is unavailable, contact support.
Service terms
Read our service terms and privacy policy before subscribing.



