# CS.RIN.RU Forum Scraper (`myagizm/csrin-forum-scraper`) Actor

Scrape the cs.rin.ru (Steam Underground) forum — topics, full post threads (author, date, text), member profiles and a member's posts. Returns clean structured JSON.

- **URL**: https://apify.com/myagizm/csrin-forum-scraper.md
- **Developed by:** [MYM](https://apify.com/myagizm) (community)
- **Categories:** Social media
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.20 / 1,000 forum item scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## CS.RIN.RU Forum Scraper — search game forum topics & posts (No API Key, No Login)

<p align="center">
  <a href="https://apify.com/myagizm/csrin-forum-scraper"><img src="https://img.shields.io/badge/Apify-Actor-00b96b?logo=apify&logoColor=white" alt="Apify Actor"></a>
  <img src="https://img.shields.io/badge/No%20API%20Key-required-blue" alt="No API Key required">
  <img src="https://img.shields.io/badge/No%20Login-needed-blue" alt="No Login needed">
  <img src="https://img.shields.io/badge/No%20Cookies-needed-blue" alt="No cookies needed">
  <img src="https://img.shields.io/badge/Export-JSON%20%7C%20CSV%20%7C%20Excel%20%7C%20XML-orange" alt="Export formats">
  <img src="https://img.shields.io/badge/MCP-AI%20agents-8A2BE2" alt="MCP AI agents">
  <img src="https://img.shields.io/badge/Pricing-pay%20per%20result-success" alt="Pay per result">
</p>

**Search and scrape CS.RIN.RU forum topics and posts by keyword** — no forum account, no login, no cookies, no API key. The scraper walks the public search results and topic pages and returns each post with its text, author handle and ID, topic title and ID, post ID, any download links found in the body, the source URL, and the keyword that matched. Ideal for tracking game releases, patch discussions, and community sentiment on a schedule. Export to JSON, CSV, Excel, or XML.

> **Get your first forum posts free in under 2 minutes** — type a keyword, click Start. No configuration, no credit card to try.

---

### Table of contents

- [What can it do?](#what-can-it-do)
- [Who uses it?](#who-uses-it)
- [What data can I scrape?](#what-data)
- [How to use it](#how-to)
- [Input example](#input-example)
- [Output example](#output-example)
- [Pricing](#pricing)
- [Tips](#tips)
- [Want other data?](#want-other-data)
- [AI agents (MCP)](#mcp)
- [Integrations & API](#integrations)
- [Support](#support)
- [FAQ](#faq)
- [Related searches](#related-searches)
- [Disclaimer](#disclaimer)
- [Resources](#resources)

---

### What can the CS.RIN.RU Forum Scraper do? {#what-can-it-do}

- 🔎 **Search the forum by keyword** — one or many terms in the same run.
- 🧵 **Get topic titles and IDs** so you can group posts by thread.
- 💬 **Get full post text** with the author handle and numeric author ID.
- 🔗 **Extract download and external links** found in post bodies.
- 📄 **Control how many search pages to walk** so cost stays predictable.
- 🎯 **Target specific topics or forum sections** with direct URLs instead of a keyword search.
- 🏷️ **Every row carries the `keyword`** that matched, so multi-term runs stay separable.
- ⏰ **Schedule runs** to catch new posts on a game or topic as they appear.
- 📤 **Export** to JSON, CSV, Excel, or XML, or pull live via API.

Go beyond the limits of the official CS.RIN.RU API: no OAuth app, no app review, no quota juggling — paste your input and collect publicly available data.

---

### Who uses the CS.RIN.RU Forum Scraper? {#who-uses-it}

- 🎮 **Game researchers & journalists** — follow release and patch discussions across many titles.
- 📊 **Market analysts** — measure community attention for a game over time.
- 🛡️ **Anti-piracy & brand-protection teams** — monitor where and how titles are discussed.
- 🧑‍💻 **Data teams** — build forum corpora for NLP, topic modelling, or sentiment work.
- 🕵️ **OSINT researchers** — track threads, authors, and link patterns.

---

### What data can I scrape? {#what-data}

| Field | Type | Description |
|-------|------|-------------|
| `type` | string | Record type marker. |
| `topicTitle` | string | Thread title. |
| `topicId` | string | Numeric thread ID. |
| `postId` | string | Numeric post ID. |
| `text` | string | Post body text. |
| `author` | string | Author handle. |
| `authorId` | string | Author numeric ID. |
| `downloadLinks` | array | Links found in the post body. |
| `url` | string | Direct link to the post. |
| `keyword` | string | The search keyword that matched this row. |

> Fields reflect what CS.RIN.RU exposes publicly for that item. Values that do not exist for a given item are returned as `null` rather than dropped, so your schema stays stable.

---

### How to scrape forum topics and posts {#how-to}

1. **Open the CS.RIN.RU Forum Scraper** on [Apify](https://apify.com/myagizm/csrin-forum-scraper).
2. **Add keywords** to *Search keywords*, or paste topic / section URLs into *Start URLs*.
3. *(Optional)* Set **Max items** and **Max search pages**.
4. Click **▶ Start** and export the dataset.

No login, no cookies, no proxy configuration. Start with one input to see the output shape, then scale the same run — the fields stay identical, so code written against a test run keeps working.

---

### Input example {#input-example}

```json
{
  "searchKeywords": [
    "Cyberpunk 2077",
    "Elden Ring"
  ],
  "maxItems": 300,
  "maxSearchPages": 3
}
````

- **searchKeywords** — terms to search on the forum.
- **startUrls** — specific topic or section URLs, if you already know where to look.
- **maxItems** — hard cap on posts returned per run.
- **maxSearchPages** — how many pages of search results to walk per keyword.

***

### Output example {#output-example}

```json
{
  "url": "https://cs.rin.ru/forum/viewtopic.php?t=71329&p=3557595#p3557595",
  "text": "steamdb can help you with folder structure, you also have to make sure you have tweakdb_ep1.bin and maybe a dlc unlocker (creamAPI etc)",
  "type": "post",
  "author": "SubSonix",
  "postId": "3557595",
  "keyword": "Cyberpunk 2077",
  "topicId": "71329",
  "authorId": "374230",
  "sourceType": "csrin",
  "topicTitle": "Cyberpunk 2077",
  "downloadLinks": []
}
```

Every run produces a clean dataset you can page through in the Apify Console or pull via API. Export to JSON, CSV, Excel, or XML in one click.

***

### How much will it cost? {#pricing}

Simple, predictable **pay-per-result** pricing — you pay for the posts you actually receive, not for compute time.

- 💸 **Pay per post** — budget is just posts × rate, so you can estimate spend up front.
- 📉 **Volume discounts** — Bronze, Silver, Gold, Platinum, and Diamond Apify plans get progressively lower rates.
- 🆓 **Free to try** — new Apify accounts include monthly free usage, so your first run costs nothing.
- 🚫 **No hidden fees** — no proxy add-on, no per-request API charge, no minimum spend.

See the live rate on the [Apify store page](https://apify.com/myagizm/csrin-forum-scraper).

***

### Tips {#tips}

- 🧵 **Group rows by `topicId`** to reconstruct a discussion in order.
- 📄 **Raise `maxSearchPages` slowly.** Each extra page costs time; two or three usually cover recent activity.
- 🔗 **`downloadLinks` is where the signal is** for release tracking — filter rows that contain any.
- 🏷️ **Run several game titles at once** and split later on `keyword`.
- ⏰ **Schedule daily** for an active title; weekly is enough for older ones.
- 🤖 **Feed `text` into an LLM** to summarise long threads into a status update.

***

### Want other CS.RIN.RU data? {#want-other-data}

- 🛡️ **[UnknownCheats Forum Scraper](https://apify.com/myagizm/unknowncheats-scraper)** — reverse-engineering forum threads with replies and views.

Building a multi-platform dataset? The same no-login, pay-per-result approach covers the other networks:

- 🎵 **[TikTok Profile Scraper](https://apify.com/myagizm/tiktok-profile-scraper-v2)** · **[TikTok Video Scraper](https://apify.com/myagizm/tiktok-video-scraper-v2)** · **[TikTok Hashtag Scraper](https://apify.com/myagizm/tiktok-hashtag-scraper-v2)** · **[TikTok Comments Scraper](https://apify.com/myagizm/tiktok-comments-scraper-v2)**
- 🐦 **[X (Twitter) Tweets Scraper](https://apify.com/myagizm/x-tweets-scraper)** · **[X Profile Scraper](https://apify.com/myagizm/x-profile-scraper)** · **[X Trends Scraper](https://apify.com/myagizm/x-trends-scraper)**
- 👔 **[LinkedIn Profile Scraper](https://apify.com/myagizm/linkedin-profile-scraper)** · **[LinkedIn Company Scraper](https://apify.com/myagizm/linkedin-company-scraper)** · **[LinkedIn Jobs Scraper](https://apify.com/myagizm/linkedin-jobs-scraper)**
- 🤖 **[Reddit Scraper](https://apify.com/myagizm/reddit-scraper-v2)** · **[Reddit Search Scraper](https://apify.com/myagizm/reddit-search-scraper-v2)** · **[Reddit Subreddit Scraper](https://apify.com/myagizm/reddit-subreddit-scraper-v2)**
- ▶️ **[YouTube Channel Scraper](https://apify.com/myagizm/youtube-channel-scraper)** · **[YouTube Comment Scraper](https://apify.com/myagizm/youtube-comment-scraper)** · **[YouTube Transcript Scraper](https://apify.com/myagizm/youtube-transcript-scraper)**
- 🗺️ **[Google Maps Scraper](https://apify.com/myagizm/google-maps-scraper)** · **[Google News Scraper](https://apify.com/myagizm/google-news-scraper)**

Browse everything on the **[myagizm store profile](https://apify.com/myagizm)**.

***

### Use the data with AI agents (MCP) {#mcp}

The CS.RIN.RU Forum Scraper is available through the **Apify MCP server**, so AI assistants can call it as a tool and pull forum topics and posts on demand.

- 🧩 **Claude** — add the Apify MCP server and let Claude fetch and analyse the data.
- 🤖 **ChatGPT** — use the actor as a tool inside research and reporting workflows.
- 🖊️ **Cursor** — pull structured results straight into your coding sessions.

Common AI-agent recipes:

- 🎮 **Release watch** — "what's the latest discussion about this game's update?"
- 🧵 **Thread summary** — "summarise this topic's posts into five bullets."
- 📊 **Attention check** — "how many posts mention these two titles this week?"
- 🕵️ **Author tracking** — "which authors post most in these threads?"

***

### Integrations & API {#integrations}

Connect the actor to the tools you already use: **Make, Zapier, n8n, Slack, Airbyte, Gumloop, CrewAI, IFTTT, Lindy, GitHub, Google Sheets, and Google Drive** — plus webhooks, Apify Schedules, and the MCP server.

#### Run synchronously and get the dataset (Apify API)

```bash
curl -X POST "https://api.apify.com/v2/acts/myagizm~csrin-forum-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchKeywords": ["Cyberpunk 2077", "Elden Ring"], "maxItems": 300, "maxSearchPages": 3}'
```

#### Start a run asynchronously

```bash
curl -X POST "https://api.apify.com/v2/acts/myagizm~csrin-forum-scraper/runs?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchKeywords": ["Cyberpunk 2077", "Elden Ring"], "maxItems": 300, "maxSearchPages": 3}'
```

#### Fetch dataset items later

```bash
curl "https://api.apify.com/v2/acts/myagizm~csrin-forum-scraper/runs/last/dataset/items?token=YOUR_APIFY_TOKEN&format=csv"
```

Change `format` to `json`, `csv`, `xlsx`, or `xml` to export in your preferred format. The Apify Console also auto-generates ready-to-paste **JavaScript, Python, and CLI** snippets plus an **OpenAPI** spec for this actor.

***

### Support {#support}

Questions, feature requests, or something not looking right? Open an issue on the actor's **[Issues tab](https://apify.com/myagizm/csrin-forum-scraper/issues)**. Please include the input you used so we can reproduce and fix it quickly.

***

### FAQ {#faq}

#### Does it need a forum account?

No. Only publicly visible search results and topic pages are read; the actor never logs in.

#### Can I scrape a specific thread instead of searching?

Yes — paste the topic URL into *Start URLs*.

#### Why do some posts have empty `downloadLinks`?

Because that post contains no links. The field is an empty array rather than missing, so your schema stays stable.

#### Is the full post text returned?

Yes, the visible body text of each post.

#### Can I combine keywords and URLs in one run?

Yes; both inputs are processed and every row records where it came from.

#### Do I need a forum account, login, or API key?

No. There is no login, no cookies, and no API key. The actor reads only pages a logged-out visitor can see.

#### Do I need proxies?

No. Proxy handling is built in and managed.

#### Can I export to CSV, Excel, or JSON?

Yes — JSON, CSV, Excel, or XML from the Console, or the API `format` parameter.

#### Can I use it with the Apify API?

Yes, using the sync and async endpoints shown above.

#### Is there an MCP server for AI agents?

Yes. Claude, ChatGPT, and Cursor can call this actor as a tool.

#### Can I schedule runs?

Yes — Apify Schedules, API, or webhooks. Forums move fast, so scheduling is the normal way to use this.

#### How fresh is the data?

No caching: every run reads the current public page.

***

### Related searches {#related-searches}

cs.rin.ru scraper · game forum scraper · phpbb forum scraper · forum post scraper · game release tracker · forum keyword search scraper · scrape forum without login · forum thread export csv · game community monitoring · forum osint tool · forum data mining · game patch discussion tracker

***

### Disclaimer {#disclaimer}

This is an independent tool and is not affiliated with, endorsed by, or sponsored by CS.RIN.RU or its operators. All product names, logos, and brands are property of their respective owners.

The actor collects only **publicly available** data — the same content any visitor can see without logging in. It never logs in, never bypasses access controls, and never touches private or protected content. You are responsible for how you use the data: if it contains personal data, follow GDPR, CCPA, and other applicable regulations, and respect the platform's terms.

***

### Resources {#resources}

- 📘 [Apify API documentation](https://docs.apify.com/api/v2) — run actors and fetch datasets programmatically.
- 🤖 [Apify MCP server](https://mcp.apify.com) — use this actor as a tool in Claude, ChatGPT, and Cursor.
- 📤 [Dataset export docs](https://docs.apify.com/platform/storage/dataset) — export to JSON, CSV, Excel, and XML.
- ⏰ [Scheduling actor runs](https://docs.apify.com/platform/schedules) — keep your data fresh automatically.
- 🔌 [Apify integrations](https://docs.apify.com/platform/integrations) — n8n, Zapier, Make, Slack, and more.
- 🏪 [myagizm store profile](https://apify.com/myagizm) — the full family of no-login scrapers.

***

## 中文说明 —— CS.RIN.RU 论坛抓取工具

**按关键词搜索并抓取 CS.RIN.RU 论坛主题与帖子** —— 不需要论坛账号、登录、Cookie 或 API Key。工具会遍历公开的搜索结果与主题页，返回每条帖子的正文、作者用户名与 ID、主题标题与 ID、帖子 ID、正文中的下载链接、来源链接以及匹配到的关键词。适合跟踪游戏发布、补丁讨论与社区情绪。

> **两分钟内免费拿到第一批数据** —— 填入内容、点击 Start 即可。无需配置，试用不需要信用卡。

### 能做什么

- 🔎 **按关键词搜索论坛**，一次可多个词。
- 🧵 **主题标题与 ID**，便于按帖串分组。
- 💬 **完整帖子正文**，含作者用户名与数字 ID。
- 🔗 **提取正文中的下载与外部链接**。
- 📄 **可控制搜索翻页数**，成本可预期。
- 🎯 **也可直接指定主题或版块 URL**。
- 🏷️ **每行带匹配的 `keyword`**。
- ⏰ **可定时运行**，及时发现新帖。
- 📤 **导出** JSON / CSV / Excel / XML。

无需 OAuth 应用、无需应用审核、无需配额管理 —— 填入内容即可采集公开数据。

### 谁在用

- 🎮 **游戏研究者与记者** —— 跟踪多款游戏的发布与补丁讨论。
- 📊 **市场分析** —— 衡量某款游戏的社区关注度变化。
- 🛡️ **版权与品牌保护** —— 监控作品被讨论的位置与方式。
- 🧑‍💻 **数据团队** —— 构建论坛语料做 NLP 与话题建模。
- 🕵️ **OSINT 研究** —— 跟踪帖串、作者与链接模式。

### 可以抓取哪些数据

| 字段 | 类型 | 说明 |
|------|------|------|
| `type` | string | 记录类型 |
| `topicTitle` | string | 主题标题 |
| `topicId` | string | 主题 ID |
| `postId` | string | 帖子 ID |
| `text` | string | 帖子正文 |
| `author` | string | 作者用户名 |
| `authorId` | string | 作者数字 ID |
| `downloadLinks` | array | 正文中的链接 |
| `url` | string | 帖子直达链接 |
| `keyword` | string | 匹配到该行的关键词 |

> 字段取决于平台对外公开了什么。某个条目没有的值会返回 `null` 而不是直接省略，因此你的数据结构始终稳定。

### 使用步骤

1. 打开 [CS.RIN.RU 论坛抓取工具](https://apify.com/myagizm/csrin-forum-scraper)。
2. 在 *Search keywords* 填入关键词，或在 *Start URLs* 粘贴主题 / 版块链接。
3. （可选）设置 **Max items** 与 **Max search pages**。
4. 点击 **▶ Start** 并导出数据。

### 输入示例

```json
{
  "searchKeywords": [
    "Cyberpunk 2077",
    "Elden Ring"
  ],
  "maxItems": 300,
  "maxSearchPages": 3
}
```

### 输出示例

```json
{
  "url": "https://cs.rin.ru/forum/viewtopic.php?t=71329&p=3557595#p3557595",
  "text": "steamdb can help you with folder structure, you also have to make sure you have tweakdb_ep1.bin and maybe a dlc unlocker (creamAPI etc)",
  "type": "post",
  "author": "SubSonix",
  "postId": "3557595",
  "keyword": "Cyberpunk 2077",
  "topicId": "71329",
  "authorId": "374230",
  "sourceType": "csrin",
  "topicTitle": "Cyberpunk 2077",
  "downloadLinks": []
}
```

### 价格

采用**按结果计费**：只为真正拿到的数据付费，不按运行时间计费。

- 💸 成本 = 结果数量 × 单价，预算可提前算清。
- 📉 Apify 的 Bronze / Silver / Gold / Platinum / Diamond 套餐享阶梯折扣。
- 🆓 新账号自带每月免费额度，第一次运行不花钱。
- 🚫 无代理附加费、无单次请求费、无最低消费。

实时价格见 [Apify 商店页面](https://apify.com/myagizm/csrin-forum-scraper)。

### 使用建议

- 🧵 按 `topicId` 分组即可还原完整讨论。
- 📄 `maxSearchPages` 建议逐步提高，2–3 页通常足以覆盖近期活动。
- 🔗 追踪发布时，重点看含 `downloadLinks` 的行。
- 🏷️ 一次跑多个游戏名，之后按 `keyword` 拆分。
- ⏰ 热门作品每天跑，老作品每周即可。
- 🤖 把 `text` 送入大模型，把长帖串压缩成状态摘要。

### 其他 CS.RIN.RU 数据

- 🛡️ **[UnknownCheats 论坛抓取工具](https://apify.com/myagizm/unknowncheats-scraper)** —— 抓取逆向工程论坛的主题、回复数与浏览量。

需要多平台数据？以下工具采用同样的免登录、按结果计费方式：

- 🎵 **[TikTok 账号抓取](https://apify.com/myagizm/tiktok-profile-scraper-v2)** · **[TikTok 视频抓取](https://apify.com/myagizm/tiktok-video-scraper-v2)** · **[TikTok 话题抓取](https://apify.com/myagizm/tiktok-hashtag-scraper-v2)** · **[TikTok 评论抓取](https://apify.com/myagizm/tiktok-comments-scraper-v2)**
- 🐦 **[X（推特）推文抓取](https://apify.com/myagizm/x-tweets-scraper)** · **[X 账号资料抓取](https://apify.com/myagizm/x-profile-scraper)** · **[X 热门趋势抓取](https://apify.com/myagizm/x-trends-scraper)**
- 👔 **[LinkedIn 个人资料抓取](https://apify.com/myagizm/linkedin-profile-scraper)** · **[LinkedIn 公司抓取](https://apify.com/myagizm/linkedin-company-scraper)** · **[LinkedIn 职位抓取](https://apify.com/myagizm/linkedin-jobs-scraper)**
- 🤖 **[Reddit 抓取](https://apify.com/myagizm/reddit-scraper-v2)** · **[Reddit 搜索抓取](https://apify.com/myagizm/reddit-search-scraper-v2)** · **[子版块抓取](https://apify.com/myagizm/reddit-subreddit-scraper-v2)**
- ▶️ **[YouTube 频道抓取](https://apify.com/myagizm/youtube-channel-scraper)** · **[YouTube 评论抓取](https://apify.com/myagizm/youtube-comment-scraper)** · **[YouTube 字幕抓取](https://apify.com/myagizm/youtube-transcript-scraper)**
- 🗺️ **[Google 地图抓取](https://apify.com/myagizm/google-maps-scraper)** · **[Google 新闻抓取](https://apify.com/myagizm/google-news-scraper)**

全部工具见 **[myagizm 商店主页](https://apify.com/myagizm)**。

### 配合 AI 智能体使用（MCP）

本 Actor 已接入 **Apify MCP 服务器**，Claude、ChatGPT、Cursor 等助手可以把它当作工具直接调用，用自然语言提问即可拿到结构化结果，无需写胶水代码。

### 集成与 API

支持 **Make、Zapier、n8n、Slack、Airbyte、Gumloop、CrewAI、IFTTT、Lindy、GitHub、Google Sheets、Google Drive**，以及 Webhook、定时任务与 MCP 服务器。

```bash
curl -X POST "https://api.apify.com/v2/acts/myagizm~csrin-forum-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchKeywords": ["Cyberpunk 2077", "Elden Ring"], "maxItems": 300, "maxSearchPages": 3}'
```

把 `format` 改成 `json`、`csv`、`xlsx` 或 `xml` 即可导出不同格式。

### 常见问题

**需要论坛账号吗？**
不需要，只读取公开可见的搜索结果与主题页。

**能只抓某个特定帖串吗？**
可以，把主题链接填进 *Start URLs*。

**为什么有些帖子的 `downloadLinks` 是空的？**
因为该帖没有链接。字段返回空数组而不是缺失，保证结构稳定。

**返回完整正文吗？**
返回每条帖子可见的正文文本。

**关键词和 URL 能一起用吗？**
可以，两种输入都会处理，每行都记录来源。

**需要论坛账号、登录或 API Key 吗？**
不需要。不登录、不用 Cookie、不需要 API Key，只读取未登录访客可见的页面。

**需要代理吗？**
不需要，已内置。

**支持导出 CSV / Excel / JSON 吗？**
支持四种格式。

**可以通过 Apify API 调用吗？**
可以。

**支持 AI 智能体（MCP）吗？**
支持。

**可以定时运行吗？**
可以，论坛更新很快，定时运行是常规用法。

**数据有多新？**
不缓存，每次运行都读取当前页面。

### 免责声明

本工具为独立第三方工具，与 CS.RIN.RU 及其运营方 无任何隶属、认可或赞助关系，所有商标归各自所有者。

本 Actor 只采集**公开可见**的数据 —— 即任何未登录访客都能看到的内容。它不登录、不绕过访问控制、不获取私密内容。数据使用的合规责任由使用者承担：如涉及个人数据，请遵守 GDPR、CCPA 等法规与平台条款。

### 相关搜索

cs.rin.ru 抓取 · 游戏论坛抓取 · phpbb 论坛抓取 · 论坛帖子抓取 · 游戏发布追踪 · 论坛关键词搜索抓取 · 免登录抓取论坛 · 论坛帖串导出 csv · 游戏社区监控 · 论坛 osint · 论坛数据挖掘

# Actor input Schema

## `searchKeywords` (type: `array`):

Search the forum by keyword — e.g. a game name, a cheat/trainer name or a release group. Returns the matching posts with title, author, post text and any download / external links found in them. The fastest way to locate a specific cheat or cracked release.

## `startUrls` (type: `array`):

Paste any cs.rin.ru URLs — a forum (viewforum.php?f=), a topic (viewtopic.php?t=) or a member profile (memberlist.php?mode=viewprofile\&u=). Each is auto-detected and scraped.

## `forumIds` (type: `array`):

Numeric forum IDs (the f= value). Returns the topic list for each forum. Example: "10" is the Main Forum.

## `topicIds` (type: `array`):

Numeric topic IDs (the t= value). Returns every post in the thread with author, date, text and download links.

## `userIds` (type: `array`):

Numeric member IDs (the u= value). Returns each member's profile: join date, post count, rank, location, website.

## `usernames` (type: `array`):

Look up member profiles by exact username instead of by ID.

## `userPostsOf` (type: `array`):

A username or member ID whose posts you want to collect across the forum.

## `listForums` (type: `boolean`):

When enabled, first returns the full list of forum categories and their IDs — handy for discovery.

## `maxItems` (type: `integer`):

Hard cap on how many items to return in this run. A run lasts at most ~10 minutes.

## `maxSearchPages` (type: `integer`):

How many result pages (15 posts each) to walk for each search keyword.

## Actor input object example

```json
{
  "searchKeywords": [
    "Cyberpunk 2077"
  ],
  "startUrls": [],
  "forumIds": [],
  "topicIds": [],
  "userIds": [],
  "usernames": [],
  "userPostsOf": [],
  "listForums": false,
  "maxItems": 100,
  "maxSearchPages": 3
}
```

# Actor output Schema

## `results` (type: `string`):

All scraped forum items as structured JSON.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchKeywords": [
        "Cyberpunk 2077"
    ],
    "startUrls": [],
    "forumIds": [],
    "topicIds": [],
    "userIds": [],
    "usernames": [],
    "userPostsOf": [],
    "maxItems": 100,
    "maxSearchPages": 3
};

// Run the Actor and wait for it to finish
const run = await client.actor("myagizm/csrin-forum-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchKeywords": ["Cyberpunk 2077"],
    "startUrls": [],
    "forumIds": [],
    "topicIds": [],
    "userIds": [],
    "usernames": [],
    "userPostsOf": [],
    "maxItems": 100,
    "maxSearchPages": 3,
}

# Run the Actor and wait for it to finish
run = client.actor("myagizm/csrin-forum-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchKeywords": [
    "Cyberpunk 2077"
  ],
  "startUrls": [],
  "forumIds": [],
  "topicIds": [],
  "userIds": [],
  "usernames": [],
  "userPostsOf": [],
  "maxItems": 100,
  "maxSearchPages": 3
}' |
apify call myagizm/csrin-forum-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=myagizm/csrin-forum-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "CS.RIN.RU Forum Scraper",
        "description": "Scrape the cs.rin.ru (Steam Underground) forum — topics, full post threads (author, date, text), member profiles and a member's posts. Returns clean structured JSON.",
        "version": "0.1",
        "x-build-id": "WXU4KrGc1vS8AKBKd"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/myagizm~csrin-forum-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-myagizm-csrin-forum-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/myagizm~csrin-forum-scraper/runs": {
            "post": {
                "operationId": "runs-sync-myagizm-csrin-forum-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/myagizm~csrin-forum-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-myagizm-csrin-forum-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "searchKeywords": {
                        "title": "Search keywords (find posts)",
                        "type": "array",
                        "description": "Search the forum by keyword — e.g. a game name, a cheat/trainer name or a release group. Returns the matching posts with title, author, post text and any download / external links found in them. The fastest way to locate a specific cheat or cracked release.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "startUrls": {
                        "title": "Forum / topic / profile URLs",
                        "type": "array",
                        "description": "Paste any cs.rin.ru URLs — a forum (viewforum.php?f=), a topic (viewtopic.php?t=) or a member profile (memberlist.php?mode=viewprofile&u=). Each is auto-detected and scraped.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "forumIds": {
                        "title": "Forum IDs (list topics)",
                        "type": "array",
                        "description": "Numeric forum IDs (the f= value). Returns the topic list for each forum. Example: \"10\" is the Main Forum.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "topicIds": {
                        "title": "Topic IDs (get posts)",
                        "type": "array",
                        "description": "Numeric topic IDs (the t= value). Returns every post in the thread with author, date, text and download links.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "userIds": {
                        "title": "Member IDs (profiles)",
                        "type": "array",
                        "description": "Numeric member IDs (the u= value). Returns each member's profile: join date, post count, rank, location, website.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "usernames": {
                        "title": "Usernames (profiles)",
                        "type": "array",
                        "description": "Look up member profiles by exact username instead of by ID.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "userPostsOf": {
                        "title": "Posts by member",
                        "type": "array",
                        "description": "A username or member ID whose posts you want to collect across the forum.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "listForums": {
                        "title": "List all forums",
                        "type": "boolean",
                        "description": "When enabled, first returns the full list of forum categories and their IDs — handy for discovery.",
                        "default": false
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 2000,
                        "type": "integer",
                        "description": "Hard cap on how many items to return in this run. A run lasts at most ~10 minutes.",
                        "default": 100
                    },
                    "maxSearchPages": {
                        "title": "Max search pages per keyword",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "How many result pages (15 posts each) to walk for each search keyword.",
                        "default": 3
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
