Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/open-data-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
# University of Macau — Data and Open Data API Platform
# generated: '2026-09-01'
# method: probed
# source: https://data.um.edu.mo/developer/apis?api-version=2022-04-01-preview
# note: Reconstructed by API Evangelist from the platform's own anonymously readable Azure API
# Management developer-portal metadata (API list, per-API operations, per-operation template and
# query parameters) plus the published API General Operations documentation. Not published by UM.
openapi: 3.0.1
info:
title: University of Macau Data and Open Data API Platform
version: '1.0'
description: 'The University of Macau (UM) Data and Open Data API Platform, operated by the university''s
Information and Communication Technology Office (ICTO), exposes UM''s own institutional data as JSON
APIs: organizational units and public holidays, the course catalog and course offerings, campus facilities
(car park availability, computer room PC status and reservations, shuttle bus arrival times, sports
facilities and bookings, door access control records, outdoor WiFi access logs), university news and
events, residential college hostel bed spaces and student job vacancies.
Every API requires a subscription key issued through UMPASS registration and product subscription;
the key is sent in the `Authorization` header (or as a `subscription-key` query parameter). Collection
operations share a documented pagination, filtering and sorting convention: `page`, `pagesize`, `count`
and `sort_by`, with results wrapped in an `_embedded` array alongside `_returned`, `_size` and `_total_pages`.
This description was assembled by API Evangelist from the platform''s own anonymously readable developer-portal
metadata at https://data.um.edu.mo/developer/apis and from the published API General Operations documentation.
It is an independent third-party reconstruction, not a document published by the University of Macau.'
termsOfService: https://data.um.edu.mo/terms-and-conditions-of-use
contact:
name: Information and Communication Technology Office (ICTO), University of Macau
email: icto.ims@um.edu.mo
url: https://data.um.edu.mo/contact-us
x-operator: institution
x-operator-evidence: 'All 16 APIs are served from https://api.data.um.edu.mo, a host under the University
of Macau''s own registrable domain um.edu.mo, and every dataset is UM''s own campus data. The delivery
platform is Azure API Management (WWW-Authenticate: AzureApiManagementKey), but Microsoft operates
no part of the data or the API design — the copyright line on every portal page reads "Information
and Communication Technology Office (ICTO), University of Macau".'
servers:
- url: https://api.data.um.edu.mo
description: Production gateway (Azure API Management, region East Asia)
tags:
- name: Access Control Records
description: This data set includes online door access records.
- name: Car Park Availability
description: This data set includes the total number of available parking spaces for the car park according
to the vehicle type or parking type.
- name: Computer Room PC Status
description: This data set includes the locations and availability status of computer room PCs at the
University of Macau. It details the PC name, locations and availability.
- name: Computer Room Reservations
description: This data set includes latest information of computer room locations and reservations records.
- name: Course Catalog
description: This data set includes all course information of current academic year.
- name: Courses
description: This data set includes courses and their corresponding sections. For each section, two
JSON Array of objects detail the schedule and instructor arrangements.
- name: Events
description: This data set includes events data of the University of Macau.
- name: News
description: This data set includes news data published by the University of Macau.
- name: Organizational Units
description: 'This data set includes current units and sub-units information of the University of Macau
in three languages: Chinese, English and Portuguese.'
- name: Public Holidays
description: This data set includes the date of the public holidays of the University of Macau.
- name: RC Hostel Bed Spaces
description: This data set includes current information of bed spaces in residential college excluded
PGH. No historical records, and bed name is pre-generated for the whole year ahead.
- name: Shuttle Bus Arrival Time
description: This data set includes the bus arrival time records and station information.
- name: Sports Facilities
description: This data set includes current sports facilities on the University of Macau campus.
- name: Sports Facilities Booking
description: This data set includes booking information about current sports facilities on the University
of Macau campus.
- name: Student Job Vacancies
description: This data set includes information of job vacancy advertisement posted in Job Vacancy E-system
for student.
- name: Wifi Access Log
description: This data set includes WiFi access logs from outdoor wireless access points.
security:
- apiKeyHeader: []
- apiKeyQuery: []
paths:
/service/facilities/access_control_records/all:
get:
tags:
- Access Control Records
operationId: access_control_records_get_all
summary: GET /all
description: Return online door access control records.
parameters:
- name: all
in: query
required: false
schema:
type: string
- name: door_id
in: query
required: false
schema:
type: string
description: Door identity
example: W12
- name: access_date_from
in: query
required: false
schema:
type: string
description: Datetime, in UTC+08:00 (inclusive)
example: '2024-08-25T08:00:00'
- name: access_date_to
in: query
required: false
schema:
type: string
description: Datetime, in UTC+08:00 (inclusive)
example: '2024-08-25T08:30:00'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/pagesize'
- $ref: '#/components/parameters/count'
- $ref: '#/components/parameters/sort_by'
responses:
'200':
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/PagedCollection'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/AccessDenied'
'403':
$ref: '#/components/responses/QuotaExceeded'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
/service/facilities/car_park_availability/all:
get:
tags:
- Car Park Availability
operationId: car_park_availability_get_all
summary: GET /all
description: This data set includes the total number of available parking spaces for the car park
according to the vehicle type or parking type.
parameters:
- name: all
in: query
required: false
schema:
type: string
- name: date_from
in: query
required: false
schema:
type: string
description: 'Start datetime for filtering car park availability records.
Datetime, in UTC+08:00 (inclusive)'
example: 2024-10-14T10:00:00:00
- name: date_to
in: query
required: false
schema:
type: string
description: 'End datetime for filtering car park availability records.
Datetime, in UTC+08:00 (inclusive)'
example: 2024-10-14T16:00:00:00
- name: car_park_code
in: query
required: false
schema:
type: string
description: Car Park Code
example: P1
- name: vehicle_type
in: query
required: false
schema:
type: string
description: Types of vehicle
example: Light Vehicle
- name: parking_type
in: query
required: false
schema:
type: string
description: Types of parking
example: Visitor
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/pagesize'
- $ref: '#/components/parameters/count'
- $ref: '#/components/parameters/sort_by'
responses:
'200':
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/PagedCollection'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/AccessDenied'
'403':
$ref: '#/components/responses/QuotaExceeded'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
/service/facilities/computer_room_pc_status/all:
get:
tags:
- Computer Room PC Status
operationId: computer_room_pc_status_get_all
summary: GET /all
description: This data set includes the locations and availability status of computer room PCs at
the University of Macau. It details the PC name, locations and availability.
parameters:
- name: all
in: query
required: false
schema:
type: string
- name: building_code
in: query
required: false
schema:
type: string
description: Building code of the building where the computer room locates
example: E6
- name: room_no
in: query
required: false
schema:
type: string
description: Room Number of the room where the PC locates
example: '3092'
- name: date_from
in: query
required: false
schema:
type: string
description: Datetime, in UTC+08:00 (inclusive)
example: '2024-03-23T15:00:00'
- name: date_to
in: query
required: false
schema:
type: string
description: Datetime, in UTC+08:00 (inclusive)
example: '2024-03-23T16:00:00'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/pagesize'
- $ref: '#/components/parameters/count'
- $ref: '#/components/parameters/sort_by'
responses:
'200':
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/PagedCollection'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/AccessDenied'
'403':
$ref: '#/components/responses/QuotaExceeded'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
/service/facilities/computer_room_reservations/all:
get:
tags:
- Computer Room Reservations
operationId: computer_room_reservations_get_all
summary: GET /all
description: This data set includes latest information of computer room locations and reservations
records.
parameters:
- name: all
in: query
required: false
schema:
type: string
- name: building_code
in: query
required: false
schema:
type: string
description: Building code of the building where the computer room locates
example: E6
- name: room_no
in: query
required: false
schema:
type: string
description: Room Number of the computer room
example: '2092'
- name: status
in: query
required: false
schema:
type: string
description: Status of reservation
example: '1'
- name: date_from
in: query
required: false
schema:
type: string
description: Reservation start date, in UTC+08:00 (inclusive)
example: '2024-07-04T06:00:00'
- name: date_to
in: query
required: false
schema:
type: string
description: Reservation end date, in UTC+08:00 (inclusive)
example: '2024-07-04T10:00:00'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/pagesize'
- $ref: '#/components/parameters/count'
- $ref: '#/components/parameters/sort_by'
responses:
'200':
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/PagedCollection'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/AccessDenied'
'403':
$ref: '#/components/responses/QuotaExceeded'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
/service/academic/course_catalog/all:
get:
tags:
- Course Catalog
operationId: course_catalog_get_all
summary: GET /all
description: This data set includes all course information of current academic year.
parameters:
- name: all
in: query
required: false
schema:
type: string
- name: course_code
in: query
required: false
schema:
type: string
description: Current course code. It is made up of 2 components, a 4-letter course prefix and
a 4-digit course number
example: SUMR1000
- name: old_course_code
in: query
required: false
schema:
type: string
description: Course code used before 2018/2019 academic year. It is made up of 2 components, a
4-letter course prefix and a 3-digit course number
example: SUMR001
- name: course_title
in: query
required: false
schema:
type: string
description: Course Title
example: SUMMER RESEARCH PROGRAMME
- name: course_description
in: query
required: false
schema:
type: string
description: Description of this course
example: The Programme serves to provide an opportunity for undergraduate students
- name: offering_unit
in: query
required: false
schema:
type: string
description: Abbreviation of Offering Unit
example: UGP
- name: offering_dept
in: query
required: false
schema:
type: string
description: Abbreviation of Offering Department
example: CEE
- name: offering_prog_level
in: query
required: false
schema:
type: string
description: 'Offering programme level, valid values are: UG (undergraduate), PG (postgraduate)'
example: UG
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/pagesize'
- $ref: '#/components/parameters/count'
- $ref: '#/components/parameters/sort_by'
responses:
'200':
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/PagedCollection'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/AccessDenied'
'403':
$ref: '#/components/responses/QuotaExceeded'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
/service/academic/courses/all:
get:
tags:
- Courses
operationId: courses_get_all
summary: GET /all
description: GET /all
parameters:
- name: all
in: query
required: false
schema:
type: string
- name: course_code
in: query
required: false
schema:
type: string
description: ID representing this course
example: COIS713
- name: year
in: query
required: false
schema:
type: string
description: The academic year in which the course was offered, e.g. year 2017 represents academic
year 2017/2018
example: '2017'
- name: sem
in: query
required: false
schema:
type: string
description: 'Semester ID, values range from 1 to 5, which represent:
1: First semester
2: Second semester
3: Summer term
4: Fourth term, obsolete since 2008
5: Fifth term, obsolete since 1985'
example: '1'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/pagesize'
- $ref: '#/components/parameters/count'
- $ref: '#/components/parameters/sort_by'
responses:
'200':
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/PagedCollection'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/AccessDenied'
'403':
$ref: '#/components/responses/QuotaExceeded'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
/service/academic/courses/{course}-{year}-{sem}:
get:
tags:
- Courses
operationId: courses_get_course_year_sem
summary: GET /course-year-sem
description: GET /{course}-{year}-{sem}
parameters:
- name: course
in: path
required: true
description: ID representing this course
schema:
type: string
example: EDPC602
- name: year
in: path
required: true
description: The academic year in which the course was offered, e.g. year 2017 represents academic
year 2017/2018
schema:
type: string
example: '2017'
- name: sem
in: path
required: true
description: 'Semester ID, values range from 1 to 5, which represent:
1: First semester
2: Second semester
3: Summer term
4: Fourth term, obsolete since 2008
5: Fifth term, obsolete since 1985'
schema:
type: string
example: '1'
responses:
'200':
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/PagedCollection'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/AccessDenied'
'403':
$ref: '#/components/responses/QuotaExceeded'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
/service/academic/courses/{courseCode}-{year}-{sem}/{sectionCode}:
get:
tags:
- Courses
operationId: courses_get_coursecode_year_sem_sectioncode
summary: GET/courseCode-year-sem/sectionCode
description: GET/{courseCode}-{year}-{sem}/{sectionCode}
parameters:
- name: courseCode
in: path
required: true
description: ID representing this course
schema:
type: string
example: EDPC602
- name: year
in: path
required: true
description: The academic year in which the course was offered, e.g. year 2017 represents academic
year 2017/2018
schema:
type: string
example: '2017'
- name: sem
in: path
required: true
description: 'Semester ID, values range from 1 to 5, which represent:
1: First semester
2: Second semester
3: Summer term
4: Fourth term, obsolete since 2008
5: Fifth term, obsolete since 1985'
schema:
type: string
example: '1'
- name: sectionCode
in: path
required: true
description: The section ID
schema:
type: string
example: '001'
responses:
'200':
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/PagedCollection'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/AccessDenied'
'403':
$ref: '#/components/responses/QuotaExceeded'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
/service/media/events/all:
get:
tags:
- Events
operationId: events_get_all
summary: GET /all
description: This data set includes events data of the University of Macau.
parameters:
- name: all
in: query
required: false
schema:
type: string
- name: date_from
in: query
required: false
schema:
type: string
description: The start date of the event, in UTC+8:00 (inclusive)
example: '2024-01-01'
- name: date_to
in: query
required: false
schema:
type: string
description: The end date of the event, in UTC+8:00 (exclusive)
example: '2024-01-31'
- name: item_id
in: query
required: false
schema:
type: string
description: The ID of the event
example: '47016'
- name: smart_point
in: query
required: false
schema:
type: string
description: 'Indicator for events which can gain Smart Point through participation. Please noted
that not all events included this indicator
This parameter only match value for ‘true’ or ‘false’'
example: 'true'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/pagesize'
- $ref: '#/components/parameters/count'
- $ref: '#/components/parameters/sort_by'
responses:
'200':
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/PagedCollection'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/AccessDenied'
'403':
$ref: '#/components/responses/QuotaExceeded'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
/service/media/news/all:
get:
tags:
- News
operationId: news_get_all
summary: GET /all
description: This data set includes news data published by the University of Macau.
parameters:
- name: all
in: query
required: false
schema:
type: string
- name: date_from
in: query
required: false
schema:
type: string
description: Publish date of the news, in UTC+08:00 (inclusive)
example: '2024-03-01T00:00:00'
- name: date_to
in: query
required: false
schema:
type: string
description: Publish date of the news, in UTC+08:00 (inclusive)
example: '2024-03-31T23:59:59'
- name: keyword
in: query
required: false
schema:
type: string
description: Full text search for news title and content, case insensitive (for English content
only)
example: Conference
- name: item_id
in: query
required: false
schema:
type: string
description: The ID of the news
example: '1234'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/pagesize'
- $ref: '#/components/parameters/count'
- $ref: '#/components/parameters/sort_by'
responses:
'200':
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/PagedCollection'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/AccessDenied'
'403':
$ref: '#/components/responses/QuotaExceeded'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
/service/aboutum/organizational_units/all:
get:
tags:
- Organizational Units
operationId: organizational_units_get_all
summary: GET /all
description: 'This data set includes current units and sub-units information of the University of
Macau in three languages: Chinese, English and Portuguese.'
parameters:
- name: all
in: query
required: false
schema:
type: string
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/pagesize'
- $ref: '#/components/parameters/count'
- $ref: '#/components/parameters/sort_by'
responses:
'200':
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/PagedCollection'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/AccessDenied'
'403':
$ref: '#/components/responses/QuotaExceeded'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
/service/aboutum/organizational_units/{unitCode}:
get:
tags:
- Organizational Units
operationId: organizational_units_unitcode
summary: GET /unitCode
description: GET /{unitCode}
parameters:
- name: unitCode
in: path
required: true
description: Unit Code
schema:
type: string
example: LIB
responses:
'200':
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/PagedCollection'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/AccessDenied'
'403':
$ref: '#/components/responses/QuotaExceeded'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
/service/aboutum/public_holidays/all:
get:
tags:
- Public Holidays
operationId: public_holidays_get_all
summary: GET /all
description: This data set includes the date of the public holidays of the University of Macau.
parameters:
- name: all
in: query
required: false
schema:
type: string
- name: date_from
in: query
required: false
schema:
type: string
description: Date, in UTC+08:00 (inclusive)
example: '2024-03-01'
- name: date_to
in: query
required: false
schema:
type: string
description: Date, in UTC+08:00 (inclusive)
example: '2024-03-31'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/pagesize'
- $ref: '#/components/parameters/count'
- $ref: '#/components/parameters/sort_by'
responses:
'200':
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/PagedCollection'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/AccessDenied'
'403':
$ref: '#/components/responses/QuotaExceeded'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
/service/student/rc_hostel_bed_spaces/all:
get:
tags:
- RC Hostel Bed Spaces
operationId: rc_hostel_bed_spaces_get_all
summary: GET /all
description: This data set includes current information of bed spaces in residential college excluded
PGH. No historical records, and bed name is pre-generated for the whole year ahead.
parameters:
- name: all
in: query
required: false
schema:
type: string
- name: building_code
in: query
required: false
schema:
type: string
description: Building code
example: S9
- name: floor
in: query
required: false
schema:
type: string
description: Floor
example: '04'
- name: room
in: query
required: false
schema:
type: string
description: Room
example: 009
- name: rc_code
in: query
required: false
schema:
type: string
description: Residential code
example: SPC
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/pagesize'
- $ref: '#/components/parameters/count'
- $ref: '#/components/parameters/sort_by'
responses:
'200':
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/PagedCollection'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/AccessDenied'
'403':
$ref: '#/components/responses/QuotaExceeded'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
/service/facilities/shuttle_bus_arrival_time/all:
get:
tags:
- Shuttle Bus Arrival Time
operationId: shuttle_bus_arrival_time_get_all
summary: GET /all
description: This data set includes the bus arrival time records and station information.
parameters:
- name: all
in: query
required: false
schema:
type: string
- name: date_from
in: query
required: false
schema:
type: string
description: Datetime, in UTC+08:00 (inclusive)
example: '2024-10-14T10:00:00'
- name: date_to
in: query
required: false
schema:
type: string
description: Datetime, in UTC+08:00 (inclusive)
example: '2024-10-14T11:00:00'
- name: vehicle_plate_no
in: query
required: false
schema:
type: string
description: Vehicle plate n
# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/university-of-macau/refs/heads/main/openapi/university-of-macau-open-data-api-openapi.yml