⚠️ Unofficial. Not affiliated with, endorsed by, or supported by ClassCharts / Edukey. It calls the same endpoints the website uses, which can change without notice. Use it for your own data only.
A small Java library for logging into the ClassCharts student portal and pulling your data back as typed objects (homework, announcements, behaviour points, timetable, and more) using Gson.
StudentClient client = new StudentClient("YOUR_STUDENT_CODE", "01/01/2000");
client.login();
List<Homework> homeworks = client.getHomeworks();
List<Announcement> announcements = client.getAnnouncements();
List<BehaviourPoint> behaviour = client.getBehaviour();
DayTimetable today = client.getTimetable("2024-01-01");
StudentInformation info = client.getStudentInfo();
List<Reward> rewards = client.getRewards();
client.purchaseReward(rewards.get(0));The client signs in with the same student code + date of birth as the ClassCharts student site and refreshes its session automatically (every ~3 minutes).
This is a standard Gradle java-library project:
git clone https://github.com/duzos/classcharts-api-java.git
cd classcharts-api-java
./gradlew buildIt's also set up with maven-publish if you want to publish it to a local/remote Maven repository.
- Student client
- Parent client
- Automatic re-login after session timeout
- Announcements
- Homework & homework statuses
- Behaviour points & activity
- Rewards (and purchasing)
- Student information
- Timetable (lessons & day timetable)
A Python version of this library also exists: classcharts-api-python.
By Duzo.