Discover/Runoob API
live

Runoob APIrunoob.com

Access Runoob.com programming tutorials via API. Browse categories, retrieve full tutorial content, search lessons, and extract metadata across thousands of coding guides.

Endpoint health
verified 4d ago
list_homepage_categories
list_tutorials_by_category
search_tutorials
get_top_navbar_links
get_tutorial_metadata
7/7 passing latest checkself-healing
Endpoints
7
Updated
26d ago

What is the Runoob API?

The Runoob.com API exposes 7 endpoints for extracting structured data from one of the largest Chinese-language programming tutorial sites. Use list_homepage_categories to enumerate all top-level tutorial categories, get_tutorial_page_content to retrieve full lesson text and navigation links, or search_tutorials to query across thousands of coding topics including HTML, CSS, Python, and more.

Try it

No input parameters required.

api.parse.bot/scraper/bf324a74-606a-4bf2-9a08-01dcb9e3caf5/<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/bf324a74-606a-4bf2-9a08-01dcb9e3caf5/list_homepage_categories' \
  -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 runoob-com-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.

"""Walkthrough: Runoob tutorial API — discover categories, search, and read content."""
from parse_apis.runoob_api import Runoob, CategoryName, TutorialNotFound

client = Runoob()

# List all tutorial categories on the homepage.
for cat in client.categories.list(limit=5):
    print(cat.name, cat.category_id)

# Filter tutorials by category name using the CategoryName enum.
for group in client.categorywithtutorialses.list(category_name=CategoryName.PYTHON, limit=2):
    print(group.category)
    for tut in group.tutorials[:3]:
        print(" ", tut.title, tut.url)

# Search for tutorials across the site.
result = client.searchresults.search(query="CSS", limit=1).first()
if result:
    print(result.title, result.url, result.description[:60])

# Get the directory (sidebar) of a tutorial section.
directory = client.tutorialdirectories.get(url="html/html-tutorial.html")
print(directory.tutorial_url)
for entry in directory.directory[:5]:
    print(" ", entry.title, entry.url)

# Typed error handling: catch a not-found tutorial.
try:
    page = client.tutorialpages.get(url="html/html-intro.html")
    print(page.title, page.url)
    for nav in page.navigation_links[:2]:
        print("  ->", nav.text, nav.url)
except TutorialNotFound as exc:
    print(f"Tutorial not found: {exc.url}")

print("Exercised: categories.list / categorywithtutorialses.list / searchresults.search / tutorialdirectories.get / tutorialpages.get")
All endpoints · 7 totalmissing one? ·

Returns all top-level tutorial categories from the runoob.com homepage. Each category has a name and identifier. Categories group tutorials by topic domain (e.g. Python, frontend, database). The full list is returned in a single page.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "items": "array of category objects each with name and category_id"
  },
  "sample": {
    "data": {
      "items": [
        {
          "name": "Python / 数据科学",
          "category_id": "python_data"
        },
        {
          "name": "AI / 智能开发",
          "category_id": "ai"
        },
        {
          "name": "前端开发",
          "category_id": "frontend"
        }
      ]
    },
    "status": "success"
  }
}

About the Runoob API

Browse and Navigate Tutorial Content

list_homepage_categories returns an array of category objects, each with a name and category_id, covering every top-level subject area on the Runoob.com homepage. list_tutorials_by_category builds on this by returning the full list of tutorials nested under each category; pass a category_name string (e.g. 'Python' or 'HTML') to filter results case-insensitively, or omit it to retrieve all tutorials across all categories at once. Each result in the tutorials array is scoped to its parent category name.

Retrieve Tutorial Structure and Page Content

get_tutorial_directory accepts a url parameter — either a full URL or a relative path like 'html/html-tutorial.html' — and returns the sidebar navigation for that tutorial as a structured directory array of topic links. This gives you the complete table of contents for any tutorial section without loading individual pages. get_tutorial_page_content fetches the main content area of any tutorial page, returning title, content text, and a navigation_links array containing previous and next page links for sequential traversal.

Search and Metadata

search_tutorials takes a query string and returns an array of matching results, each with title, url, and description fields. This is useful for building search interfaces or cross-referencing topics across the site's catalog. get_tutorial_metadata returns page-level SEO fields — title, description, keywords, and canonical_url — for any tutorial URL, which can be used to index or classify content programmatically. get_top_navbar_links retrieves the top navigation bar as an array of name/url pairs.

Coverage Notes

All endpoints operate against Runoob.com's publicly accessible tutorial pages. Content is primarily in Chinese (Simplified), reflecting the site's audience. Interactive exercises, quizzes, and user account data (login-required sections) are not exposed by these endpoints.

Reliability & maintenanceVerified

The Runoob API is a managed, monitored endpoint for runoob.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when runoob.com 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 runoob.com 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
7/7 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 Chinese-language programming tutorial aggregator using list_tutorials_by_category to organize content by subject.
  • Generate a full course index for any Runoob tutorial using get_tutorial_directory to extract the sidebar table of contents.
  • Automate content auditing by iterating pages with get_tutorial_page_content and collecting title and content fields.
  • Create a cross-topic search tool for developers using search_tutorials with keyword queries like 'CSS grid' or 'Django'.
  • Index tutorial SEO metadata at scale using get_tutorial_metadata to capture keywords, description, and canonical_url.
  • Map the full Runoob site structure by combining list_homepage_categories with get_top_navbar_links output.
  • Build sequential lesson navigation by chaining navigation_links returned from get_tutorial_page_content.
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 Runoob.com have an official public developer API?+
No. Runoob.com does not publish a public developer API or documented data access layer. This Parse API provides structured access to the site's publicly available tutorial content.
What does `get_tutorial_page_content` return, and how is it different from `get_tutorial_directory`?+
get_tutorial_page_content returns the main lesson body — title, full content text, and a navigation_links array for previous/next pages. get_tutorial_directory returns only the sidebar navigation structure (a directory array of topic links) for the broader tutorial section, not the individual page text.
Does `list_tutorials_by_category` support pagination or return all results at once?+
It returns all tutorials for the matched category in a single response. There is no pagination parameter — the data array contains every tutorial listed under the requested category on the homepage.
Does the API expose interactive exercises, code runners, or user quiz results from Runoob.com?+
Not currently. The API covers tutorial categories, page content, directory structure, metadata, and search results. Interactive coding exercises and user-account-gated features are not included. You can fork this API on Parse and revise it to add an endpoint targeting those page sections if they are publicly accessible.
Is the tutorial content returned in English or Chinese?+
Runoob.com is a Chinese-language site, so content, title, description, and keywords fields are primarily in Simplified Chinese. Topic names like programming languages (Python, HTML, CSS) appear in their standard Latin forms within the content.
Page content last updated . Spec covers 7 endpoints from runoob.com.
Related APIs in EducationSee all →
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.
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.
funtrivia.com API
Search and browse thousands of trivia questions and quizzes across multiple categories, with the ability to filter by topic, difficulty, or find random challenges to test your knowledge. Discover trending topics, top-rated quizzes, and the latest additions to build custom trivia games or enhance your learning experience.
booksrun.com API
Search millions of books and get instant buyback quotes on BooksRun. Browse bestsellers and categories, view detailed book information, and check condition guidelines to understand buyback prices and acceptance criteria.
tubitv.com API
Browse Tubi TV's entire free streaming catalog across 100+ categories to discover movies and TV series with detailed information including titles, descriptions, cast, ratings, and direct watch links. Quickly find content by category or explore what's available in documentaries and beyond.
webtoons.com API
Search and discover Webtoon series by title or genre, view episode details and images, check rankings and trending content, and learn about authors and their works. Access comprehensive information about original and canvas series to find your next favorite read.
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.
aniwatchtv.to API
Extract all