Discover/takeuforward API
live

takeuforward APItakeuforward.org

Access Striver's A2Z and SDE DSA sheets, detailed problem content, and TUF+ pricing via the takeuforward.org API. 4 endpoints, structured JSON.

This API takes change requests — .
Endpoint health
verified 4d ago
get_a2z_sheet
get_problem_detail
get_sde_sheet
get_pricing_plans
4/4 passing latest checkself-healing
Endpoints
4
Updated
2d ago

What is the takeuforward API?

This API exposes 4 endpoints covering Striver's curated DSA problem sheets from takeuforward.org. You can fetch the full A2Z or SDE sheet structures via get_a2z_sheet and get_sde_sheet — each returning problem IDs, titles, difficulty levels, slugs, category names, and a total problem count — then drill into any article's HTML content, video reference, topics, reactions, and community discussions using get_problem_detail.

Try it

No input parameters required.

api.parse.bot/scraper/5f09a894-3062-4b72-819f-1b9671f8cbf2/<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/5f09a894-3062-4b72-819f-1b9671f8cbf2/get_a2z_sheet' \
  -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 takeuforward-org-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.

"""
TakeUForward API – browse DSA sheets and drill into problem articles.
"""

from parse_apis.TakeUForward_API import TakeUForward, Difficulty, ArticleNotFound

tuf = TakeUForward()

# Fetch the A2Z DSA sheet and browse problems with difficulty and links
a2z = tuf.sheets.get_a2z()
print(a2z.sheet, a2z.total_problems)

for problem in a2z.problems[:5]:
    print(problem.title, problem.difficulty, problem.article_url, problem.leetcode_url)

# Fetch the SDE sheet
sde = tuf.sheets.get_sde()
print(sde.sheet, sde.total_problems)

for problem in sde.problems[:3]:
    print(problem.title, problem.difficulty, problem.youtube_url)

# Drill into a specific article by slug from the sheet
article_slug = a2z.problems[0].slug
try:
    article = tuf.articles.get(slug=article_slug)
    print(article.title, article.id)
    print(article.preview)
    if article.video:
        print(article.video)
    for topic in article.topics:
        print(topic.id, topic.title)
    print(article.reactions.count, article.reactions.liked)
except ArticleNotFound as exc:
    print(f"article not found: {exc}")

# List TUF+ pricing plans
for plan in tuf.plans.list(limit=5):
    print(plan.name, plan.price_inr)

print("exercised: sheets.get_a2z / sheets.get_sde / articles.get / plans.list")
All endpoints · 4 totalmissing one? ·

Retrieve the full Striver's A2Z DSA Sheet structure. Returns all 450+ problems organized by category with IDs, titles, difficulty levels, slugs, and links (article URL, YouTube video, LeetCode problem). Single-page response containing the complete sheet.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "sheet": "string identifying the sheet type ('a2z')",
    "problems": "array of Problem objects with id, title, difficulty, slug, article_url, youtube_url, leetcode_url",
    "categories": "array of Category objects with name field",
    "total_problems": "integer count of problems in the sheet"
  },
  "sample": {
    "data": {
      "sheet": "a2z",
      "problems": [
        {
          "id": "425",
          "slug": "c-basic-input-output",
          "title": "Input Output",
          "difficulty": "Easy",
          "article_url": "https://takeuforward.org/c/c-basic-input-output/",
          "youtube_url": "https://youtu.be/EAR7De6Goz4?t=250",
          "leetcode_url": null
        },
        {
          "id": "1211",
          "slug": "what-are-arrays-strings",
          "title": "Cpp Basics",
          "difficulty": "Easy",
          "article_url": "https://takeuforward.org/data-structure/what-are-arrays-strings",
          "youtube_url": "https://youtu.be/EAR7De6Goz4?t=2415",
          "leetcode_url": null
        }
      ],
      "categories": [
        {
          "name": "Learn the basics"
        },
        {
          "name": "Learn Important Sorting Techniques"
        }
      ],
      "total_problems": 472
    },
    "status": "success"
  }
}

About the takeuforward API

DSA Sheet Endpoints

get_a2z_sheet and get_sde_sheet both return the complete structure of their respective sheets. Each response includes a sheet identifier string, a problems array (each object carrying id, title, difficulty, and slug), a categories array with name fields, and a total_problems integer. The A2Z sheet covers the full breadth of DSA topics in a learning order; the SDE sheet focuses on top coding interview problems. Neither endpoint takes any input parameters.

Problem Detail Endpoint

get_problem_detail accepts a single required slug parameter — the full article slug as it appears in the takeuforward.org article URL path. Note that article slugs can differ from the problem slugs returned by get_a2z_sheet or get_sde_sheet, so you may need to derive or look up the correct article slug separately. The response includes the article id, title, preview text, full content_html, a video field containing a YouTube video ID (or null), a topics array of objects with id and title, a reactions object with count, liked, and disliked fields, and a discussions array of community discussion objects.

Pricing and Coverage

get_pricing_plans returns TUF+ subscription plan details as an array of plan objects, each with a name string and price_inr integer (denominated in Indian Rupees). This endpoint takes no inputs and is useful for applications that surface course or membership pricing alongside problem content.

Reliability & maintenanceVerified

The takeuforward API is a managed, monitored endpoint for takeuforward.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when takeuforward.org 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 takeuforward.org 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
4d ago
Latest check
4/4 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 DSA study tracker by ingesting all problems from get_a2z_sheet and tagging them by difficulty
  • Generate a categorized problem list for a coding prep app using the categories array from get_sde_sheet
  • Render full problem descriptions and editorial HTML by calling get_problem_detail with an article slug
  • Surface related YouTube video content by reading the video field from get_problem_detail responses
  • Analyze community engagement on problems using the reactions count and discussions array from get_problem_detail
  • Display TUF+ subscription pricing alongside problem content by querying get_pricing_plans
  • Map topic coverage across the SDE sheet by aggregating the topics arrays from multiple get_problem_detail calls
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 takeuforward.org have an official developer API?+
No. takeuforward.org does not publish an official public developer API or documented API endpoints for external use.
How do article slugs in get_problem_detail relate to the slugs in get_a2z_sheet or get_sde_sheet?+
They can differ. The slug values in the problems array returned by get_a2z_sheet and get_sde_sheet are problem-level identifiers and may not match the full article slug used in the takeuforward.org URL path that get_problem_detail requires. You should use the article URL path slug — for example, 'two-sum-check-if-a-pair-with-given-sum-exists' — as the input to get_problem_detail, not necessarily the slug field from the sheet endpoints.
Does the API return problem solutions or code snippets?+
The get_problem_detail endpoint returns the full content_html of the article, which may include editorial content depending on what the article contains. Structured code solution objects with language-specific fields are not a distinct response field. You can fork this API on Parse and revise it to add a dedicated solutions endpoint if you need structured code data.
Is there pagination support for the sheet endpoints?+
No. get_a2z_sheet and get_sde_sheet return the complete problem list in a single response; there are no page or offset parameters. The total_problems integer in the response reflects the full count. If the sheets grow large enough to require pagination, you can fork this API on Parse and revise it to add cursor or page-based parameters.
Does the API cover the Striver's 79 sheet or topic-specific sheets beyond A2Z and SDE?+
Not currently. The API covers the A2Z sheet and the SDE sheet. You can fork it on Parse and revise it to add an endpoint for additional sheets published on takeuforward.org.
Page content last updated . Spec covers 4 endpoints from takeuforward.org.
Related APIs in EducationSee all →
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.
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.
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.
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.
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.
shiksha.com API
Search and browse Shiksha colleges by stream/course, then fetch detailed institute profiles and course offerings, plus upcoming exam schedules by stream.
quickref.me API
Search and retrieve quick reference guides for hundreds of developer tools, languages, and frameworks from quickref.me. Browse all available cheatsheets, search by keyword, or fetch full content for any topic to instantly access the commands, syntax, and usage notes you need.