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
4mo 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 →
roadmap.sh API
Discover and access structured learning roadmaps, detailed guides, interview questions, and community projects to build your development skills across different technologies and career paths. Search through curated learning content, explore topic breakdowns, and find project ideas tailored to your learning goals.
hyperskill.org API
Explore Hyperskill.org's learning content by browsing tracks, projects, stages, and topics, or retrieve detailed information about any specific course component and educational provider. Search and filter through the platform's complete curriculum to find exactly what you need for your learning journey.
runoob.com API
Access comprehensive programming tutorials and learning materials from Runoob, including browsing categories and directories, retrieving full tutorial content, and searching across thousands of coding lessons. Discover structured learning paths by category, view navigation links, and get detailed metadata to help you find exactly what you need to learn.
cfainstitute.org API
Access the complete CFA Program curriculum across all three levels, including topics, learning modules, and Learning Outcome Statements directly from official CFA Institute materials. Search and retrieve structured exam content to study efficiently, compare learning objectives, or build study tools.
coloso.global API
Discover and browse Coloso's entire course catalog by searching products, filtering by categories, and viewing details on new releases, best sellers, and free classes. Get insights into promotional events, trending keywords, and personalized recommendations to find the perfect creative courses.
voanews.com API
Access VOA Learning English lessons, programs, and vocabulary across all proficiency levels, search for specific content, and retrieve detailed lesson information with transcripts. Browse featured homepage content and explore lessons by category to find the perfect English learning materials for your level.
neetcode.io API
Access curated coding problem collections including Core Skills, Blind 75, NeetCode 150, and NeetCode 250, along with detailed problem solutions and course content organized by chapters and lessons. Perfect for preparing for technical interviews and mastering data structures and algorithms through structured learning paths.
overthewire.org API
Access structured data from the OverTheWire wargames platform, including the full list of wargames, per-level goals and instructions, SSH connection details, community rules, and the recommended progression order. Supports lookups by wargame name or level number across all available challenges.