Gradescope Grades API

Grade data and gradebook sync. Grades are pushed to an LMS gradebook through LTI 1.3 Assignment and Grade Services (AGS) rather than a first-party public REST API. Programmatic export/import of grades outside of LTI is a documented feature request that is not yet generally available.

OpenAPI Specification

gradescope-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Gradescope API
  description: >-
    Gradescope, a Turnitin company, does not publish a generally available
    first-party public REST API for courses, assignments, submissions, or
    grades. As of this writing, a public API for accessing, downloading, and
    uploading grades and submissions programmatically is a documented feature
    request on the Gradescope roadmap (see the "Gradescope Public API" guide)
    but is not generally available. Because no first-party REST endpoints are
    publicly documented, this specification intentionally declares no paths
    rather than fabricating endpoints.


    Programmatic integration with Gradescope is delivered through two
    documented, standards-based or framework-based surfaces instead of a
    Gradescope-hosted REST API:


    1. LTI 1.3 / LTI Advantage - the primary supported integration. Gradescope
       implements the 1EdTech Learning Tools Interoperability (LTI) 1.3 standard
       with LTI Advantage services: Names and Role Provisioning Services (NRPS)
       for course roster sync, Assignment and Grade Services (AGS) for gradebook
       column creation and grade passback, and Deep Linking for creating
       Gradescope assignments from within an LMS (Canvas, Blackboard,
       Brightspace/D2L, Moodle, Sakai). The LTI service endpoints belong to the
       1EdTech standard and the connected LMS deployment rather than to a fixed
       Gradescope REST surface, so they are not enumerated here.

    2. The Gradescope Autograder framework - a documented contract for code
       assignments in which a Docker container reads a student submission and
       emits a results.json file describing scores and test output (commonly
       produced with the open-source gradescope-utils Python package). This is a
       file-based contract executed inside the grading container, not an HTTP
       REST API.


    Several third-party, community-maintained libraries (for example,
    reverse-engineered Python clients) interact with Gradescope's private web
    endpoints, but those are unofficial, undocumented, and subject to change,
    and are not represented as a stable API here.
  termsOfService: https://www.gradescope.com/tos
  contact:
    name: Gradescope Support
    email: help@gradescope.com
  version: '1.0'
servers:
  - url: https://www.gradescope.com
    description: >-
      Gradescope web application host. No generally available public REST API
      is documented at this host; programmatic integration is via LTI 1.3 / LTI
      Advantage and the autograder framework as described above.
paths: {}