TA-API
An unofficial public API for retrieving data from official YRDSB teachassist accounts.
Used in the TeachAssist mobile app.
Response
null
About
This API is safe and secure, unlike other APIs which may store your results in their own database. Your credentials are sent directly to teachassist, and the results are directly returned and parsed into JSON format, allowing for both readability and use.
View source code (GitHub)Usage
Website
Enter your YRDSB username and password above, and hit "Get Marks!" When the data is returned, it will be displayed above, along with the Download JSON button.
Endpoint
Make a POST request to /api/getCourses
, with a JSON body of two string parameters, username
and password
. Node fetch example provided below:
const fetch = require('node-fetch'); fetch('https://ta-api.vercel.app/api/getCourses', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ username: 'username', password: 'password' }), }) .then((res) => res.json()) .then((json) => console.log(json));
Response
The response will be a JSON array of objects, one for each course.
Property | Type | Description | Example |
---|---|---|---|
code | string | Course code | "ICS4U1-03" |
name | string | Course name | "Computer Science" |
block | string | Block/period | "2" |
room | string | Room number | "208" |
start_time | string | Start date (yyyy-mm-dd) | "2023-02-06" |
end_time | string | End date (yyyy-mm-dd) | "2023-07-01" |
overall_mark | number | string | Overall mark | 99.4 | "N/A" |
isFinal | boolean | If the mark is a final mark | true |
isMidterm | boolean | If the mark is a midterm mark | false |
assignments | Array | Array of assignment objects | [] |
weight_table | Object | Course weightings for each category | {} |
Abbreviations
KU
- Knowledge/UnderstandingT
- ThinkingC
- CommunicationA
- ApplicationF
- FinalO
- OtherW
- Term weighting (e.g. /70%)CW
- Course weighting (e.g. /100%)SA
- Student achievement (e.g. 95.8%)