canvas

Fetch Canvas LMS courses and assignments through the REST API.

Updated Sep 10, 2026
One-click install
npx skills add https://github.com/loteiron/ZeusAgent --skill canvas-loteiron
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: canvas
Source: https://github.com/loteiron/ZeusAgent/tree/main/optional-skills/productivity/canvas
Command: npx skills add https://github.com/loteiron/ZeusAgent --skill canvas-loteiron

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires requests, and includes scripts (resource) components.

What problem does it solve? Students and educators often need quick programmatic access to their Canvas LMS courses and assignment deadlines without manually browsing the web interface. This Skill provides read-only access to Canvas data via a personal API token, returning structured JSON output. ## Core Features & Use Cases - Course Listing: Enumerate all enrolled courses with optional filtering by enrollment state (active, invited_or_pending, completed). - Assignment Retrieval: List assignments for any course with due dates, points, submission types, and links, sortable by due date. - Automatic Pagination: Follows Canvas Link headers to fetch up to 200 items across pages without manual paging. - Use Case: Ask the agent to list all assignments due in your active courses so you can plan your week, and it returns structured JSON with due dates and point values. ## Quick Start Ask the agent to list your active Canvas courses and the upcoming assignments for a specific course ID.

Frequently Asked Questions about canvas

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I list my Canvas LMS courses from the command line?▼

Run the canvas_api.py script with the list_courses command after setting CANVAS_API_TOKEN and CANVAS_BASE_URL environment variables. It returns JSON with course IDs, names, codes, and enrollment states, with optional filtering via --enrollment-state active.

How to get Canvas assignment due dates via the API?▼

Use the list_assignments command with a course ID, optionally adding --order-by due_at to sort by deadline. The output includes due_at timestamps, points_possible, submission types, and a link to the full assignment page.

How do I create a Canvas API access token?▼

Log in to Canvas, go to Account, then Settings, scroll to Approved Integrations, and click New Access Token. Copy the generated token into your .env file as CANVAS_API_TOKEN along with your institution's base URL.

Why does the Canvas API return 401 Unauthorized?▼

A 401 error means the access token is invalid or expired. Regenerate the token in Canvas Settings under Approved Integrations and update CANVAS_API_TOKEN in your environment configuration.

Can this skill submit assignments or modify Canvas courses?▼

No, the skill is strictly read-only and only fetches course and assignment data. It never modifies courses, submits assignments, or changes any Canvas content.

What are the Canvas API rate limits?▼

Canvas rate-limits to roughly 700 requests per 10 minutes. The script caps results at 200 items per query and handles pagination automatically; check the X-Rate-Limit-Remaining header if you hit limits.