# 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. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-kaskus-co-id-api-f812e396/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## 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/parse-kaskus-co-id-api-f812e396/get_community_threads \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-kaskus-co-id-api-f812e396/get_hot_threads \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-kaskus-co-id-api-f812e396/get_popular_communities \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-kaskus-co-id-api-f812e396/get_thread_posts \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-kaskus-co-id-api-f812e396/search_threads \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"cursor":"<string>","limit":"<integer>","query":"<string>"}'
```
