# Hyperskill — 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.

> Explore Hyperskill.org's learning content by browsing tracks, projects, stages, and topics, or retrieve detailed information about any specific course component and educational provider. Search and filter through the platform's complete curriculum to find exactly what you need for your learning journey.

**Category:** Education | **Website:** [hyperskill.org/](https://hyperskill.org/) | **Docs:** [parse.bot/marketplace/ea20f461-fd84-4258-a7fb-704f6738726c/hyperskill-org-api](https://parse.bot/marketplace/ea20f461-fd84-4258-a7fb-704f6738726c/hyperskill-org-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-hyperskill-org-api-ea20f461/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_project

Get details for a specific project by ID. Returns full project information including stages IDs, tracks, description, and rating.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `id` | integer | Yes | Project ID. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-hyperskill-org-api-ea20f461/get_project \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"id":"<integer>"}'
```

### get_provider

Get details for a specific provider by ID. Returns full provider information including title, description, logo, cover, track list, topic count, and project count.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `id` | integer | Yes | Provider ID. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-hyperskill-org-api-ea20f461/get_provider \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"id":"<integer>"}'
```

### get_stage

Get details for a specific stage by ID. Returns full stage information including title, description, order, project reference, and prerequisites.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `id` | integer | Yes | Stage ID. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-hyperskill-org-api-ea20f461/get_stage \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"id":"<integer>"}'
```

### get_topic

Get details for a specific topic by ID. Returns full topic information including title, children, prerequisites, and hierarchy.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `id` | integer | Yes | Topic ID. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-hyperskill-org-api-ea20f461/get_topic \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"id":"<integer>"}'
```

### get_track

Get details for a specific track by ID. Returns full track information including all projects, FAQ, ratings, and membership count.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `id` | integer | Yes | Track ID. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-hyperskill-org-api-ea20f461/get_track \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"id":"<integer>"}'
```

### list_project_stages

List stages for a specific project. Returns paginated results with stage details including title, description, order, and prerequisites. Requesting a page beyond available stages returns an upstream error rather than an empty list.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number. |
| `project_id` | integer | Yes | Project ID. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-hyperskill-org-api-ea20f461/list_project_stages \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","project_id":"<integer>"}'
```

### list_projects

List all projects. Returns paginated results with project summaries including title, language, stages count, and rating. Requesting a page beyond available results returns an upstream error.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `language` | string | No | Filter by programming language (e.g. python, java, kotlin). |
| `page` | integer | No | Page number. |
| `page_size` | integer | No | Number of projects per page. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-hyperskill-org-api-ea20f461/list_projects \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"language":"<string>","page":"<integer>","page_size":"<integer>"}'
```

### list_providers

List content providers. Returns paginated results with provider details including title, description, tracks, topic count, and project count. Requesting a page beyond available results returns an upstream error rather than an empty list.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-hyperskill-org-api-ea20f461/list_providers \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>"}'
```

### list_topics

List topics. Returns paginated results with topic summaries including title, provider, and programming language. Requesting a page beyond available results returns an upstream error.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number. |
| `page_size` | integer | No | Number of topics per page. |
| `track_id` | integer | No | Filter by track ID. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-hyperskill-org-api-ea20f461/list_topics \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","page_size":"<integer>","track_id":"<integer>"}'
```

### list_tracks

List all tracks (courses) on Hyperskill. Returns paginated results with track summaries including title, description, member count, and topic count. Requesting a page beyond available results returns an upstream error.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category` | integer | No | Filter by track category ID (e.g. 1). |
| `page` | integer | No | Page number. |
| `page_size` | integer | No | Number of tracks per page. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-hyperskill-org-api-ea20f461/list_tracks \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category":"<integer>","page":"<integer>","page_size":"<integer>"}'
```
