# Runoob — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> 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.

**Category:** Education | **Website:** [runoob.com/](https://runoob.com/) | **Docs:** [parse.bot/marketplace/e3e84f61-00aa-418c-8d4a-6042822fafa7/runoob-com-api](https://parse.bot/marketplace/e3e84f61-00aa-418c-8d4a-6042822fafa7/runoob-com-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-runoob-com-api-e3e84f61/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_top_navbar_links

Returns the top navigation bar links from the runoob.com homepage. These are the site-wide navigation sections (e.g. home, tools, notes, references). Single page result.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-runoob-com-api-e3e84f61/get_top_navbar_links \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_tutorial_directory

Scrapes the left-column sidebar navigation of a given tutorial page, returning the full directory of topics in that tutorial section. Each entry has a title and absolute URL. Useful for enumerating all pages within a tutorial series.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Tutorial URL path or full URL (e.g. 'html/html-tutorial.html' or 'https://www.runoob.com/html/html-tutorial.html'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-runoob-com-api-e3e84f61/get_tutorial_directory \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"<string>"}'
```

### get_tutorial_metadata

Returns metadata for a tutorial page including the page title, meta description, keywords, and canonical URL. Useful for SEO inspection or understanding page context without fetching full content.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Tutorial page full URL or path (e.g. 'https://www.runoob.com/html/html-intro.html' or 'html/html-intro.html'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-runoob-com-api-e3e84f61/get_tutorial_metadata \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"<string>"}'
```

### get_tutorial_page_content

Returns the main content area text, page title, and navigation links (previous/next) of a tutorial page. Content is extracted as plain text with newline separators. Navigation links point to adjacent pages in the tutorial sequence.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Tutorial page full URL or path (e.g. 'https://www.runoob.com/html/html-intro.html' or 'html/html-intro.html'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-runoob-com-api-e3e84f61/get_tutorial_page_content \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"<string>"}'
```

### list_homepage_categories

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.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-runoob-com-api-e3e84f61/list_homepage_categories \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### list_tutorials_by_category

Returns tutorials grouped by category from the homepage. When category_name is provided, filters to categories whose title contains the value (case-insensitive). When omitted, returns all categories with their tutorials. Each tutorial has a title, URL, description, and icon URL.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category_name` | string | No | Category name to filter by, matched case-insensitively against category titles (e.g. 'Python', 'HTML', '前端开发'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-runoob-com-api-e3e84f61/list_tutorials_by_category \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category_name":"<string>"}'
```

### search_tutorials

Performs a site search on runoob.com and returns matching tutorial results. Results include title, URL, and description snippet. Searches across all tutorial categories. Returns a single page of results (typically up to 10).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search keyword (e.g. 'Python', 'CSS', '函数'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-runoob-com-api-e3e84f61/search_tutorials \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>"}'
```
