# Ruangguru — 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 a comprehensive question bank for Indonesian university entrance exams (UTBK/SNBT) with full question details, answer options, correct answers, and explanations across all subjects like Penalaran Umum, Penalaran Matematika, and Literasi. Browse subjects, question sets, and tryout categories to prepare for your exam.

**Category:** Education | **Website:** [app.ruangguru.com/](https://app.ruangguru.com/) | **Docs:** [parse.bot/marketplace/bce308af-1aac-43d5-a33f-3afcca249277/app-ruangguru-com-api](https://parse.bot/marketplace/bce308af-1aac-43d5-a33f-3afcca249277/app-ruangguru-com-api)

Pay-per-use API proxy for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/credits/ruangguru/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## Endpoints

### Get questions

Get all questions, answer options, correct answers, and explanations for a specific question set. Starts a session for the tryout and retrieves content definitions. Free question sets (is_free=true from list_question_sets) are guaranteed to work. Each question includes cleaned plain-text and raw HTML versions of content and explanations.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `serial` | string | Yes | Tryout serial code from the list_question_sets endpoint (format: RTO-XXXXXXX). Free question sets (is_free=true) are guaranteed to work. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/ruangguru/get-questions \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"serial":"<string>"}'
```

### Get tryout detail

Get detailed metadata about a specific tryout question set including topics, subtopics, duration, difficulty level, and rewards. Provides the structural breakdown of the exam content for study planning.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `serial` | string | Yes | Tryout serial code from the list_question_sets endpoint (format: RTO-XXXXXXX). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/ruangguru/get-tryout-detail \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"serial":"<string>"}'
```

### List question sets

List all question sets (tryouts) available for a specific UTBK/SNBT subject. Returns serials needed for get_questions and get_tryout_detail endpoints. Each question set includes metadata like difficulty level, question count, and whether it is free or locked.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `subject` | string | No | Subject slug identifying which subject's question sets to retrieve. Valid slugs are returned by the list_subjects endpoint. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/ruangguru/list-question-sets \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"subject":"<string>"}'
```

### List subjects

List all available UTBK/SNBT subjects in the question bank. Returns subject names, slugs, and icon URLs for the UTBK & Ujian Mandiri grade. The full subject catalog is returned in a single page.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/ruangguru/list-subjects \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### List tryout categories

List tryout event categories for SNBT/UTBK exams (e.g., Regular, Flexi, Kedinasan). Returns paginated category listings with banner images and descriptions.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `page_size` | integer | No | Number of results per page. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/ruangguru/list-tryout-categories \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","page_size":"<integer>"}'
```

## Next steps

- [All wrapped API providers](https://paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://paywithlocus.com/agent/index.md): every Locus agent page.