Discover/theodinproject.com API
live

theodinproject.com APItheodinproject.com

Access The Odin Project's full curriculum: learning paths, courses, lessons, projects, resources, and changelogs via a structured JSON API with 10 endpoints.

Endpoints
10
Updated
3mo ago
Try it

No input parameters required.

api.parse.bot/scraper/77533f4c-6adf-417b-baef-20019e5d3422/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Use it in your codegrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/77533f4c-6adf-417b-baef-20019e5d3422/get_all_paths' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 10 totalclick to expand

Returns all learning paths available on The Odin Project. Each path contains metadata including title, slug, description, course count, and URL.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "paths": "array of path objects with title, slug, description, course_count, and url"
  },
  "sample": {
    "data": {
      "paths": [
        {
          "url": "https://www.theodinproject.com/paths/foundations",
          "slug": "foundations",
          "title": "Foundations",
          "description": "",
          "course_count": 0
        },
        {
          "url": "https://www.theodinproject.com/paths/full-stack-javascript",
          "slug": "full-stack-javascript",
          "title": "Full Stack JavaScript",
          "description": "PATH",
          "course_count": 7
        }
      ]
    },
    "status": "success"
  }
}

About the theodinproject.com API

This API exposes The Odin Project's complete curriculum structure across 10 endpoints, covering learning paths, courses, lessons, and projects. The get_lesson endpoint returns full HTML content sections, assignment links, knowledge check questions, and a GitHub edit URL for any lesson by slug. Companion endpoints like get_path_curriculum_outline and search_lessons let you traverse or query the entire curriculum tree without manually navigating the site.

Curriculum Structure

The API maps The Odin Project's three main learning paths — foundations, full-stack-javascript, and full-stack-ruby-on-rails — into a consistent hierarchy. get_all_paths returns every path with its title, slug, description, course_count, and url. Drilling down with get_path gives you the courses inside a path along with per-course lesson_count and project_count. get_course goes one level deeper, returning the course's sections array, each containing a nested lessons array, plus the course description.

Lesson-Level Data

get_lesson is the most granular endpoint. Supply a lesson slug (e.g. foundations-how-this-course-will-work) and it returns the lesson title, parent course name, an array of content sections with HTML, an assignment array of titled links, a knowledge_check list of question strings, and a github_edit_url pointing to the source file. get_lesson_resources extracts the same lesson's links into two separate arrays: assignment_links and all_links, each annotated with the source section. get_lesson_changelog derives a GitHub commits URL from the same source reference, letting you track revision history for any lesson.

Filtering and Search

get_all_lessons_for_course takes both path_slug and course_slug and returns lessons in curriculum order, each tagged with its type (lesson or project) and parent section. get_projects accepts optional path_slug and course_slug filters; omitting both returns projects across all paths but is noted as slower. search_lessons performs a case-insensitive title match against a query string and returns matching lessons with path and course context alongside standard slug and URL fields.

Full Outline

get_path_curriculum_outline returns a single nested object containing a path's full course list, each with title, description, and the complete sections-with-lessons tree. This is useful for generating a static curriculum index or seeding a database without multiple sequential calls.

Common use cases
  • Build a curriculum browser that displays The Odin Project's full course hierarchy using get_path_curriculum_outline.
  • Index all lesson content for a searchable learning portal using get_lesson HTML sections and knowledge_check fields.
  • Aggregate all external resources across a course by iterating lessons with get_lesson_resources and collecting all_links.
  • Track lesson revision history by fetching changelog_url values from get_lesson_changelog for a set of slugs.
  • Generate a project list filtered to a specific path using get_projects with path_slug and course_slug parameters.
  • Compare course scope across paths by querying get_path for each slug and comparing lesson_count and project_count per course.
  • Power an offline or exported copy of the curriculum by walking get_all_paths, get_course, and get_lesson in sequence.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000250 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does The Odin Project have an official public developer API?+
No. The Odin Project does not publish a public JSON API for its curriculum data. The project's source is open on GitHub (github.com/TheOdinProject/curriculum), but there is no supported programmatic endpoint.
What does `get_lesson` return beyond the lesson text?+
get_lesson returns the lesson title, parent course name, an array of sections each containing HTML content, an assignment array of titled external links, a knowledge_check array of question strings, and a github_edit_url (or null if absent). It covers the full readable content of a lesson page.
Can I search lessons by content keywords rather than title?+
Not currently. search_lessons matches only against lesson titles using a case-insensitive query string; it does not search lesson body content or knowledge check text. You can fork this API on Parse and revise it to add a full-text search endpoint that queries against the sections HTML returned by get_lesson.
Does the API expose user progress, completion status, or account data?+
No user-specific data is exposed. The API covers only curriculum structure — paths, courses, lessons, projects, and resources. Personal progress and account features require authentication on The Odin Project and are not part of this API. You can fork it on Parse and revise to add any publicly accessible profile or leaderboard endpoint if one becomes available.
How are projects distinguished from regular lessons in the responses?+
Several endpoints include a type field on lesson objects. get_all_lessons_for_course and search_lessons both return a type value that is either lesson or project. get_projects filters to project-type items only and accepts optional path_slug and course_slug parameters to narrow scope.
Page content last updated . Spec covers 10 endpoints from theodinproject.com.
Related APIs in EducationSee all →
arxiv.org API
Search and discover academic research papers on arXiv using keywords, authors, titles, categories, and dates, then access detailed metadata for any paper. Browse the complete arXiv category taxonomy to explore research across different scientific disciplines.
maxpreps.com API
Access high school sports data from MaxPreps. Search for schools, retrieve team rosters and schedules, look up athlete profiles, and browse national or state rankings across all sports.
athletic.net API
Search and analyze cross country and track & field performance data across the US, including athlete profiles, meet results, team rosters, and rankings. Access comprehensive meet information, historical records, and state-level competition data to track athlete progress and discover top performers.
allaboutcircuits.com API
Access educational electronics content from All About Circuits, including technical articles, circuit diagrams, textbook volumes, and forum discussions organized by category. Search and browse the latest resources, view detailed articles, explore engineering tools, and find answers across their community forums.
illinoisreportcard.com API
Search and analyze comprehensive performance data for Illinois public schools, districts, and the state, including academic achievements in ELA, math, and science, student demographics, teacher and administrator information, school finances, and environmental conditions. Compare schools side-by-side, track growth metrics, and access accountability ratings and school highlights to make informed decisions about education quality.
noor-book.com API
Search and discover books across 1,800+ categories in the Noor Book library, retrieving detailed information about titles, authors, biographies, and book metadata. Access comprehensive author profiles and browse one of the largest Arabic and English digital book collections with over 289,000 authors.
quizbowlpackets.com API
Search and browse thousands of quizbowl question sets across all competition levels, then access detailed metadata like difficulty, subjects, and download links for each packet. Find the perfect practice materials for High School, Collegiate, Middle School, or Pop Culture quizbowl competitions.
amberstudent.com API
Search student accommodation listings across popular cities and access comprehensive property information including room types, pricing trends, and tenant reviews. Get detailed insights into student housing options to compare amenities, prices, and community feedback all in one place.