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.

PropertyTypeDescriptionExample
codestringCourse code"ICS4U1-03"
namestringCourse name"Computer Science"
blockstringBlock/period"2"
roomstringRoom number"208"
start_timestringStart date (yyyy-mm-dd)"2023-02-06"
end_timestringEnd date (yyyy-mm-dd)"2023-07-01"
overall_marknumber | stringOverall mark99.4 | "N/A"
isFinalbooleanIf the mark is a final marktrue
isMidtermbooleanIf the mark is a midterm markfalse
assignmentsArrayArray of assignment objects[]
weight_tableObjectCourse weightings for each category{}

Abbreviations

  • KU - Knowledge/Understanding
  • T - Thinking
  • C - Communication
  • A - Application
  • F - Final
  • O - Other
  • W - Term weighting (e.g. /70%)
  • CW - Course weighting (e.g. /100%)
  • SA - Student achievement (e.g. 95.8%)