I've been building IntelliPlan — a free AI study planner for students that connects to Canvas, StudentVue, and Schoology. The Canvas and Schoology integrations were straightforward (both have documented REST APIs). StudentVue was a different story.
The Problem
StudentVue is used by millions of K-12 students in the U.S. through Synergy's software platform. It's how students check grades, assignments, and attendance at hundreds of school districts. But Synergy has never published a public API.
Every student planner I found either skipped StudentVue entirely or required students to manually copy their assignments. The automation gap was real.
Reverse Engineering the API
The official StudentVue mobile apps (iOS and Android) obviously talk to something. Using a proxy (Charles) to inspect the traffic, I found that the apps communicate via a SOAP-based XML API over HTTPS.
The endpoint pattern is:
https://[district-domain]/Service/PXPCommunication.asmx
And requests follow the structure:
student_username
student_password
true
false
PXPWebServices
GetContentOfWebService
<Parms><ChildIntID>0</ChildIntID></Parms>
The methodName field is where it gets interesting — there are several methods available:
-
Gradebook— returns current grades and assignment details -
StudentHWList— returns the homework/assignment list -
Attendance— returns attendance data -
StudentInfo— returns basic student profile info
Parsing the Response
The responses come back as XML strings inside the SOAP envelope. For example, a StudentHWList response gives you assignments with due dates, subject names, point values, and completion status — everything you need to build a study planner.
// Simplified example of parsing the response
const parser = new XMLParser({ ignoreAttributes: false });
const result = parser.parse(soapResponse);
const assignments = result?.StudentHWList?.StudentHW || [];
const parsed = assignments.map(hw => ({
title: hw['@_Title'],
dueDate: hw['@_DueDate'],
subject: hw['@_Subject'],
points: hw['@_Points'],
isCompleted: hw['@_IsCompleted'] === 'true'
}));
District URL Discovery
One challenge: every school district has its own subdomain. Students need to know their district's URL. We solved this by maintaining a lookup table of known districts (there are open-source lists available) and letting students search by district name or zip code.
What We Built On Top
Once we had the StudentVue data pipeline, we combined it with our Canvas (OAuth 2.0 + REST API) and Schoology (REST API) integrations to create a unified assignment feed. This feeds our AI scheduling algorithm which weighs tasks by urgency, point value, effort estimate, and available time in the student's week.
The result: IntelliPlan — the only study planner that works with all three major student LMS platforms, completely free.
The Public API
If you want to build something on top of IntelliPlan's data, we expose a public REST API in our Pro plan. We also ship an MCP server for AI agent integrations.
Happy to answer questions about the StudentVue integration or the scheduling algorithm in the comments.
IntelliPlan is free for students: intelliplan.tech
Top comments (0)