neetcode.io APIneetcode.io ↗
Access NeetCode problem lists (Blind 75, NC150, NC250), detailed solutions in multiple languages, and DSA course chapters via a structured JSON API.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/fe2f54eb-de40-436d-871b-707d154427d4/get_core_skills_problems' \ -H 'X-API-Key: $PARSE_API_KEY'
Get problems from the Core Skills section, organized by category. Returns all Core Skills problems grouped into categories such as Implement Data Structures, Sorting, Graphs, Dynamic Programming, Design Patterns, SQL, and Machine Learning.
No input parameters required.
{
"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": {
"Sorting": [
{
"url": "https://neetcode.io/problems/insertionSort",
"free": true,
"name": "Insertion Sort",
"slug": "insertionSort",
"difficulty": "Easy"
}
],
"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.io API
The NeetCode API exposes 8 endpoints covering curated coding problem collections and course content from neetcode.io. Use get_problem_detail to retrieve full problem descriptions, multi-language solutions, editorial articles, and submission metadata for any problem by slug, or use the collection endpoints to fetch the complete Blind 75, NeetCode 150, NeetCode 250, or Core Skills problem sets organized by topic category.
Problem Collections
Five endpoints return curated problem lists: get_blind75_problems, get_neetcode150_problems, get_neetcode250_problems, get_core_skills_problems, and get_neetcode_all_problems. Each response groups problems into named categories (for example, Array, Hash Table, Two Pointers, Dynamic Programming, Graphs) and returns per-problem fields including slug, name, difficulty, free, and url. The total_problems field gives the count across all categories in one response. Core Skills covers categories not found in the coding-challenge lists, including SQL, Machine Learning, and Design Patterns.
Problem Detail
get_problem_detail accepts a slug string — taken directly from any collection endpoint's problem objects — and returns the full problem record. Fields include description (the problem statement with examples and constraints), solutions (an object mapping language names to code strings), topics (an array of tag strings), difficulty, has_article, and article_body (the editorial in markdown when present). A video field carries the embed HTML for the NeetCode video explanation where available. The free boolean indicates whether the content is gated on the source site.
Courses and Lessons
get_course_chapters takes a course_id string such as dsa-for-beginners, advanced-algorithms, or system-design-interview and returns the course name, a baseCodeUrl for associated code files (absent on some courses), and a sections array. Each section contains a lessons array with metadata including video IDs, suggested problems, and lesson length. get_lesson_article takes both course_id and a case-sensitive lesson_name (exactly matching what get_course_chapters returned) and returns the lesson's content in markdown. If no article exists for the lesson, the endpoint returns a stale_input error with kind input_not_found.
- Build a spaced-repetition study tracker seeded from the NeetCode 150 or Blind 75 problem slugs and difficulty levels.
- Generate a daily coding challenge bot that pulls a random problem's description and solution from
get_problem_detail. - Compare solution implementations across languages using the
solutionsobject returned byget_problem_detail. - Construct an offline course reader by combining
get_course_chapterschapter structure withget_lesson_articlecontent. - Audit topic coverage gaps by cross-referencing the
topicsarrays from NC250 and Blind 75 problem detail responses. - Build an interview prep dashboard that surfaces problem difficulty distribution per category across all NeetCode collections.
- Filter free vs. gated problems using the
freefield to surface open-access content for learners without a subscription.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 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.
Does NeetCode have an official public developer API?+
What does `get_problem_detail` return beyond the problem statement?+
solutions (code strings keyed by language name), topics (tag array), article_body (editorial markdown when has_article is true), a video embed HTML field, and difficulty — in addition to the full description with examples and constraints.Does the API expose user progress, submission history, or personal completion data?+
Are all course IDs documented, or can only specific ones be queried?+
dsa-for-beginners, advanced-algorithms, and system-design-interview as known course IDs. The API does not include a discovery endpoint that lists all available course IDs. You can fork this API on Parse and revise it to add a course-listing endpoint.What happens when a lesson has no article?+
get_lesson_article is called for a lesson without associated article content, 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 string returned by get_course_chapters.