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

> Search and browse Kaskus forum discussions across communities, discover trending threads, and read full post content from Indonesia's largest online forum. Find hot topics, explore community-specific conversations, and access popular communities all in one place.

**Category:** Social Media | **Website:** [kaskus.co.id/](https://kaskus.co.id/) | **Docs:** [parse.bot/marketplace/f812e396-b01f-4edf-b84f-79679f22c140/kaskus-co-id-api](https://parse.bot/marketplace/f812e396-b01f-4edf-b84f-79679f22c140/kaskus-co-id-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/kaskus/`
**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 community threads

Fetch threads from a specific community. Returns the same thread format as get_hot_threads but scoped to a single community. Community IDs can be obtained from get_popular_communities.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `community_id` | integer | Yes | The numeric ID of the community (from get_popular_communities results). |
| `cursor` | string | No | Pagination cursor from a previous response. |
| `feed_type` | string | No | Type of feed to retrieve. |
| `limit` | integer | No | Number of threads to return. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/kaskus/get-community-threads \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"community_id":"<integer>","cursor":"<string>","feed_type":"<string>","limit":"<integer>"}'
```

### Get hot threads

Fetch hot or active threads from Kaskus. Supports pagination via cursor and filtering by feed type or channel. Returns thread objects with full first post content, community metadata, and engagement stats. Each thread includes title, slug, thread_starter, first_post (with content in text/html/bbcode), and meta (total_views, total_replies). Paginate by passing the next_cursor value from a previous response.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `channel_id` | integer | No | Channel ID to filter threads (0 for all channels). Use get_popular_communities to discover valid IDs. |
| `cursor` | string | No | Pagination cursor from a previous response's next_cursor field. |
| `feed_type` | string | No | Type of feed to retrieve. |
| `limit` | integer | No | Number of threads to return per page. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/kaskus/get-hot-threads \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"channel_id":"<integer>","cursor":"<string>","feed_type":"<string>","limit":"<integer>"}'
```

### Get popular communities

List popular communities on Kaskus ranked by activity. Returns community objects with metadata including total threads, members, and posts. Useful for discovering community IDs to use with get_community_threads or get_hot_threads channel_id filter.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `channel_id` | integer | No | Parent channel ID to scope results (0 for all). |

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

### Get thread posts

Fetch posts within a specific thread. Returns the full discussion with user info, content in multiple formats (text, html, bbcode), and vote metadata. Thread IDs can be obtained from get_hot_threads, search_threads, or get_community_threads. Paginated by page number.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Number of posts per page. |
| `page` | integer | No | Page number for pagination. |
| `sort` | string | No | Sort order for posts. |
| `thread_id` | string | Yes | The unique ID of the thread (from get_hot_threads or search_threads results). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/kaskus/get-thread-posts \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>","sort":"<string>","thread_id":"<string>"}'
```

### Search threads

Search for threads by keyword across all Kaskus communities. Returns threads matching the query with full first post content, community metadata, and engagement stats. Paginate via cursor from the previous response.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `cursor` | string | No | Pagination cursor from a previous response. |
| `limit` | integer | No | Number of results to return. |
| `query` | string | Yes | Search keyword. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/kaskus/search-threads \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"cursor":"<string>","limit":"<integer>","query":"<string>"}'
```

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