Discover/NeetCode API
live

NeetCode APIneetcode.io

Access NeetCode problem lists (Blind 75, NeetCode 150, NeetCode 250), full problem details with multi-language solutions, and course chapter/lesson content via a single API.

Endpoint health
verified 11h ago
get_lesson_article
get_core_skills_problems
get_neetcode150_problems
get_neetcode_all_problems
get_blind75_problems
8/8 passing latest checkself-healing
Endpoints
8
Updated
22d ago

What is the NeetCode API?

This API exposes 8 endpoints covering NeetCode's curated problem collections and course content. Use get_problem_detail to retrieve a problem's full description, solutions in multiple programming languages, editorial article, and video embed — all keyed by slug. The collection endpoints (Blind 75, NeetCode 150, NeetCode 250, Core Skills, and All) return problems grouped by topic category with difficulty, free-access flag, and direct URL for each entry.

Try it

No input parameters required.

api.parse.bot/scraper/fe2f54eb-de40-436d-871b-707d154427d4/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/fe2f54eb-de40-436d-871b-707d154427d4/get_core_skills_problems' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace neetcode-io-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.neetcode_api import NeetCode, ProblemCollection, ProblemDetail, Course, Difficulty, CollectionFilter, CourseId

neetcode = NeetCode()

# Browse the Blind 75 collection
blind75 = neetcode.problemcollections.blind75()
print(blind75.filter, blind75.total_problems)

# Navigate from a problem in the collection to its full detail
for category_name, problems in blind75.categories.items():
    for problem in problems:
        if problem.difficulty == Difficulty.EASY:
            detail = problem.detail()
            print(detail.name, detail.difficulty, detail.has_article)
            for lang, code in detail.solutions.items():
                print(lang, len(code))
            break
    break

# Fetch a course using the CourseId enum and read its structure
course = neetcode.courses.get(course_id=CourseId.DSA_FOR_BEGINNERS)
print(course.name, course.course_id)

for section in course.sections:
    print(section.name)
    for lesson in section.lessons:
        print(lesson.name, lesson.length)
    break

# Fetch an article for a lesson within the course
article = course.get_article(lesson_name="RAM")
print(article.lesson_name, article.course_id, len(article.content))
All endpoints · 8 totalmissing one? ·

Retrieve all problems in the Core Skills collection, grouped by category (Implement Data Structures, Sorting, Graphs, Dynamic Programming, Design Patterns, SQL, Machine Learning). Each problem includes its slug, display name, difficulty, free-access flag, and URL.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "filter": "string, the filter identifier used ('coreSkills')",
    "categories": "object mapping category names to arrays of problem objects, each with slug, name, difficulty, free, and url",
    "total_problems": "integer, total number of problems across all categories"
  },
  "sample": {
    "data": {
      "filter": "coreSkills",
      "categories": {
        "Implement Data Structures": [
          {
            "url": "https://neetcode.io/problems/dynamicArray",
            "free": true,
            "name": "Design Dynamic Array (Resizable Array)",
            "slug": "dynamicArray",
            "difficulty": "Easy"
          }
        ]
      },
      "total_problems": 116
    },
    "status": "success"
  }
}

About the NeetCode API

Problem Collections

Five endpoints cover NeetCode's distinct curated sets: get_blind75_problems, get_neetcode150_problems, get_neetcode250_problems, get_core_skills_problems, and get_neetcode_all_problems. Each returns a filter identifier, a categories object mapping topic names (e.g., Array, Two Pointers, Dynamic Programming) to arrays of problem objects, and a total_problems integer. Every problem object includes slug, name, difficulty, free (boolean), and url. Core Skills organizes differently — its categories cover Implement Data Structures, Sorting, Graphs, SQL, Machine Learning, and Design Patterns, making it distinct from the algorithm-focused sets.

Problem Detail

get_problem_detail takes a slug string (e.g., two-integer-sum) and returns the full problem record: description (markdown/HTML with examples and constraints), solutions as an object mapping language names to code strings, topics array, difficulty, free flag, a video embed string, has_article boolean, and article_body with the full editorial in markdown when an article exists. This is the endpoint to use when you need runnable code or the written editorial for a specific problem.

Course Structure and Lessons

get_course_chapters accepts a course_id (accepted values include dsa-for-beginners, advanced-algorithms, system-design-interview) and returns the course name, course_id, optional baseCodeUrl, and a sections array. Each section contains a lessons array with metadata including video IDs, suggested problems, and lesson length. get_lesson_article retrieves the markdown/HTML content for a named lesson; it requires both course_id and a case-sensitive lesson_name exactly matching a value from get_course_chapters. If no article exists for the lesson, the endpoint returns a stale_input error with kind input_not_found.

Reliability & maintenanceVerified

The NeetCode API is a managed, monitored endpoint for neetcode.io — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when neetcode.io changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official neetcode.io API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
11h ago
Latest check
8/8 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a study tracker that syncs a user's progress against the full Blind 75 or NeetCode 150 problem list by category and difficulty.
  • Generate a spaced-repetition flashcard deck from problem descriptions and editorial articles returned by get_problem_detail.
  • Create a multi-language solution browser that displays Python, Java, and C++ solutions side-by-side for any problem slug.
  • Populate a custom learning management system with NeetCode course chapters and lesson articles from get_course_chapters and get_lesson_article.
  • Filter all NeetCode 250 problems by difficulty and free-access flag to build a curated free-only study list.
  • Index problem topics and descriptions for semantic search across the full NeetCode problem set using get_neetcode_all_problems.
  • Automate a daily interview prep digest that surfaces one random Hard problem with its editorial for a newsletter or Slack bot.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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 NeetCode have an official public developer API?+
NeetCode does not publish an official public developer API or documented REST endpoints for third-party use. This Parse API provides structured programmatic access to the problem and course data on neetcode.io.
What does `get_problem_detail` return beyond the problem statement?+
get_problem_detail returns the full description with examples and constraints, a solutions object keyed by language name (e.g., Python, Java, C++), a video embed string, topics array, difficulty, free boolean, has_article boolean, and article_body containing the full editorial in markdown when one exists. Not all problems have an editorial — check has_article before reading article_body.
Does the API expose user submission history or accepted/rejected status for problems?+
Not currently. The API covers problem metadata, solutions, editorials, and course content — it does not expose any user-specific data such as submission history, acceptance rates per user, or streak information. You can fork it on Parse and revise to add the missing endpoint if that data becomes accessible.
How does `get_lesson_article` handle lessons that have no written article?+
If the requested lesson has no article, the endpoint returns a stale_input error with kind set to input_not_found. The lesson_name parameter is also case-sensitive and must exactly match the value returned by get_course_chapters — a mismatch will produce the same error.
Does the API include LeetCode problem numbers or links to the corresponding LeetCode problem page?+
Not currently. Problem objects return a slug, name, difficulty, free flag, and a url pointing to the NeetCode problem page. LeetCode problem IDs or direct LeetCode URLs are not part of the response. You can fork it on Parse and revise to add the missing endpoint if you need cross-referencing to LeetCode.
Page content last updated . Spec covers 8 endpoints from neetcode.io.
Related APIs in EducationSee all →
leetcode.com API
Search and filter LeetCode coding problems by difficulty, category, and tags, browse upcoming programming contests, and view public user profiles including their problem statistics and submission history. Perfect for finding practice problems, tracking competition schedules, and researching other coders' progress.
codechef.com API
Access competitive programming data from CodeChef by retrieving problem lists, contest information with details, user profiles, and recent submission history. Explore coding challenges across multiple contests and browse problems by difficulty rating.
cses.fi API
Explore the CSES Problem Set by browsing problems across different categories, viewing detailed problem information, and discovering available courses and contests. Access comprehensive problem lists organized by topic to find coding challenges tailored to your learning goals.
theodinproject.com API
Access The Odin Project's complete curriculum structure including paths, courses, lessons, resources, and projects, plus search lessons and view detailed changelogs. Browse course outlines, find specific lessons and their learning materials all in one place.
takeuforward.org API
Access Striver's complete A2Z and SDE DSA sheets along with detailed problem information and TUF+ subscription pricing directly from takeuforward.org. Streamline your interview preparation by retrieving curated coding problems, their solutions, and course pricing all in one place.
nngroup.com API
Search and access Nielsen Norman Group's extensive library of UX research, articles, reports, and courses to find best practices and guidelines on any UX topic. Quickly discover curated insights organized by topic to inform your design and research decisions.
hackerrank.com API
Retrieve challenge scores, difficulty ratings, success ratios, and track-level ranking data from HackerRank's public practice platform. Browse challenges by track, view submission statistics, and access ranking metrics across all available tracks.
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.