Overview
Read-only JSON endpoint that returns row-level gradebook grades, the same data as the Gradebook report Excel export. You get one row per graded item — assignment, exam and so on — plus rows for overall grades or gradebook notes that have no graded items.
Authentication
Authenticate with the school's API key. Pass it either way:
Header: X-API-KEY: <school_api_key>
Query: ?apikey=<school_api_key>
The key identifies the school. Responses are automatically scoped to that school; there is no school_id parameter. We recommend the header form — keys passed in a URL can end up in server or proxy logs.
Endpoint
GET /globalApis/gradebook_grades
Parameters
Param | Type | Notes |
| string | One id or comma-separated. Omit → all classes. Invalid (non-numeric) → empty result. |
| string | One id or comma-separated. Omit → all students. Invalid (non-numeric) → empty result. |
| YYYY-MM-DD | Optional. Filters on the graded item's date. Invalid dates are rejected. |
| YYYY-MM-DD | Optional. One-sided ranges allowed. |
| int | Optional. Omit → all rows. |
| int | Optional, 1-based. Used with |
A date filter drops overall-grade and note-only rows. start_date and end_date filter on the graded item's date, so rows that have no graded item are excluded whenever either is used. Omit both if you need overall grades and gradebook notes.
Example
curl -H "X-API-KEY: YOUR_KEY" \
"https://app.teachngo.com/globalApis/gradebook_grades?course_id=98090&start_date=2026-01-01&end_date=2026-06-30&per_page=100&page=1"
Response
{
"status": "success",
"meta": {
"total": 65, "count": 65, "page": 1, "per_page": null,
"start_date": "2026-01-01", "end_date": "2026-06-30"
},
"data": [{
"course_id": 98090, "course": "Spanish B2",
"course_start_date": "2025-09-15", "course_end_date": "2026-06-21",
"gradebook": "Term 1",
"student_id": 12345, "student": "Jane Doe",
"grade_date": "2026-02-06", "grade_name": "Midterm exam",
"grade_type": "number", "grade_weight": 40,
"grade_value": "85", "overall_grade": 78.5,
"note": ""
}]
}
Field reference
Field | Meaning |
| Class the grade belongs to, with its start and end dates |
| Gradebook tab name, for example Term 1 |
| Student's numeric id and display name |
| Date and name of the graded item — null or empty on overall-grade-only rows |
|
|
| Weight of the item in the overall grade, as a percentage — null for text grades |
| The grade the student received for the item |
| Overall grade for the student in that gradebook tab — numeric rounded to one decimal place, or text |
| Gradebook note for the student, as plain text |
For error handling and paging through large result sets, see API error codes and pagination.