Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


PeterPortal Public API provides software developers with easy-access to UC Irvine publicly available data such as: courses information, professor information, grade distribution, and schedule of classes.

πŸ”¨ Built with:

  • Express.js
  • TypeScript
  • GraphQL
  • Serverless
  • MkDocs

πŸ‘―β€β™‚οΈ Works with:

  • ElasticSearch
  • SQL
  • AWS

Our Mission

πŸŽ‡ Our mission is to improve the UCI student experience with course planning and encourage student software developers to create open-source applications that are beneficial to the Anteater community.


πŸ“ƒ Our documentation can be found at

Where does the data come from?

We consolidate our data directly from official UCI sources such as: UCI Catalogue, UCI Public Records Office, and UCI Webreg. We routinely monitor for updates to ensure you get the most accurate information to serve on your application.


πŸ‘©β€πŸ’» We are currently in the early stages for this project. Anyone is welcome to integrate this API into your project as a tool. However, if you choose to do so, please be aware that this project is currently in its early release phase. Every user will be considered as testers and are highly encouraged to do their part and submit a bug report if you encounter any issues. Our team will respond as quickly as possible to resolve the issue.

Bug Report

🐞 If you encountered any issues or bug, please open an issue @

Other Disclaimer

βœ… Although we consolidate our data directly from official UCI sources, this application is by all means, not an official UCI tool. We strive to keep our data as accurate as possible with the limited support we have from UCI. Please take that into consideration while using this API.

Terms & Conditions

πŸ“œ There are no hard policies at the moment for utilizing this tool. However, please refrain from abusing the API by methods such as: sending excessive amount of requests in a small period of time or purposely looking to exploit the system. This tool is here mainly to assist developers in bringing their idea to life to benefit all UCI students. Please don't ruin it for others! πŸ™‚

Setting up to develop the project locally

  1. Clone the peterportal-public-api repository to your local machine.
    git clone
  2. Change into the project directory.
    cd peterportal-public-api
  3. Install the dependencies
    npm install
  4. Start the development server
    npm start
    If you want to see the logs run
    npm start -- --log
  5. The site should load on http://localhost:8080 As you make changes to the Express application, those changes will be automatically reflected in the API.

If you're making changes to the documentation, you can upload see how we do it in our documentation.


API that provides easy-access to UC Irvine data such as: courses, professors, grade distribution, schedule of classes, and more