# Weibo Scraper — Posts, Comments, Profiles & Hot Search (`insights_data/weibo-scraper`) Actor

Scrape Sina Weibo: keyword and date-range search, #topics# with read counts, hot search boards, posts, comments, likers, profiles, fans, KOL discovery and Black Cat complaints. 14 modes in one actor, structured JSON, change tracking. No account or cookie needed.

- **URL**: https://apify.com/insights_data/weibo-scraper.md
- **Developed by:** [Insights Data](https://apify.com/insights_data) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $14.00 / 1,000 results

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

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### What is Weibo Scraper?

**Weibo Scraper — Posts, Comments, Profiles & Hot Search** lets you extract public data from Sina Weibo (新浪微博): posts by keyword or date range, #topics#, the hot search boards, comments and replies, user profiles, fans, followings, and complaints from Black Cat (黑猫投诉), Sina's consumer complaint site. Just paste keywords, links or IDs into one box and click **Start**; you don't need a Weibo account, cookies or any coding. It's made for marketers, market researchers and social listening analysts, and on the Apify Free plan each run returns up to **10 results**, enough for a first test.

This Sina Weibo scraper also suits PR teams, influencer marketers and data scientists who need clean, structured **Chinese social media data** instead of copy-pasting from the Weibo app.

- **China market research:** read what Chinese consumers post about a product, brand or category before a launch.
- **Weibo brand monitoring:** schedule a daily keyword search and get only the posts and comments that are new since the last run.
- **Influencer research:** find the creators who post most about a keyword, with their follower counts and engagement.
- **Trend tracking:** save the Weibo hot search list on a schedule and see how ranks and heat change between runs.
- **Opinion analysis:** collect full comment threads with replies, optionally scored for Chinese sentiment.
- **Complaint watch:** follow Black Cat complaints filed against a company.

**Weibo Scraper does not use the official Sina Weibo API, so you don't need a developer key or a Weibo login.** It reads the public pages any logged-out visitor can see and turns them into structured rows you can export, schedule and connect to other tools. In one Actor you get a Weibo search scraper, a Weibo user scraper, a Weibo hot search scraper and a Weibo comment crawler, so you don't need a separate Weibo extractor for each job.

#### What can Weibo Scraper do?

- 🔍 **14 modes in one Weibo scraping tool:** keyword search, topic search with topic stats, hot search boards, hot search changes since the last run, hot feed by category, post details, post comments and replies, post likers, user profiles, user posts (newest), user fans, user followings, KOL discovery by keyword (KOL = key opinion leader, an influencer), and Black Cat complaints. See the [modes table](#modes-what-to-scrape).
- 🔗 **One bulk box:** in Auto mode, every entry picks its own job by its shape (keyword, #topic#, post link, profile link, numeric ID, Black Cat link). Several modes can run in one run.
- 📅 **Date-window search** in Beijing time, with absolute or relative dates, spread over the window by day or hour so you don't only get the newest part of the window.
- 🈶 **Chinese brand names:** a Latin brand name like Nike is also searched as 耐克, and results are merged and deduplicated.
- 📣 **Promoted posts flagged** on every post (`isPromoted`), with a filter to keep all, drop them or keep only them.
- 📡 **Built for monitoring:** return only new rows per monitoring key, track hot-board movement, and pick up late comments on earlier posts.
- 📦 **Export and automate:** download JSON, CSV, Excel, XML or HTML, run it through the API, schedule runs and connect it to other apps.
- 🌐 **No proxy setup needed:** runs start without a proxy and switch to Apify Proxy automatically if Weibo blocks requests (see [Proxy](#proxy)).

***

### What data can Weibo Scraper extract?

As a Weibo data scraper, the Actor returns eight kinds of rows, so Weibo data extraction fits whatever you analyze next. Every row has a `rowType` field that tells you what it is. The field names below are the same ones you see in the Output tab.

| Row type | Key fields |
|---|---|
| 📝 Post (`post`) | `postId`, `postUrl`, `text`, `createdAtIso`, `source`, `province`, `city`, `hashtags`, `mentions`, `images`, `videoUrl`, `repostsCount`, `commentsCount`, `attitudesCount`, `engagementRate`, `isPromoted`, `authorName`, `authorFollowers`, `authorVerifiedLabel`, `query`, `matchesQuery` |
| 💬 Comment or reply (`comment`) | `commentId`, `postId`, `rootCommentId`, `isReply`, `text`, `createdAtIso`, `likeCount`, `replyCount`, `authorRegion`, `authorName`, `authorFollowers`, `isFollowUp` |
| 👤 User or creator (`user`) | `userId`, `screenName`, `profileUrl`, `relation`, `description`, `location`, `ipLocation`, `followersCount`, `friendsCount`, `statusesCount`, `verifiedLabel`, `vIndex`, `contacts`, `avgEngagement`, `engagementRate`, `kolScore`, `kolRank` |
| 🔥 Hot search entry (`hot_search`) | `board`, `rank`, `title`, `hashtag`, `hotValue`, `category`, `labelName`, `isPromoted`, `isGov`, `minutesOnBoard`, `status`, `rankDelta`, `peakRank` |
| 🔖 Topic (`topic`) | `topic`, `readCount`, `discussionCount`, `originalCount`, `category`, `host`, `found` |
| 😾 Complaint (`complaint`) | `complaintId`, `title`, `summary`, `appeal`, `issue`, `amountInvolvedCny`, `companyName`, `status`, `statusEn`, `createdAt`, `commentsCount`, `upvoteCount`, `url` |
| 🧭 Province rollup (`geo_rollup`) | `province`, `provinceEn`, `postCount`, `sharePct`, `promotedCount`, `topCities`, `sentimentMean`, `lowConfidence` |
| 🚫 Unavailable post (`post_status`) | `postId`, `postUrl`, `available`, `unavailableReason` |

That makes it a Weibo posts scraper, a Weibo comments scraper and a Weibo profile scraper at the same time: user rows carry the **Weibo followers count** (`followersCount`), the following count, the number of posts, verification, influence badges and contacts found in the bio (emails, phones, WeChat, QQ).

> **Note:** some fields are filled only in certain cases.
>
> - `province`, `city` and `country` are filled when Weibo attaches a location to the post.
> - Author followers, location, bio and total interactions on post rows are filled by **🧬 Complete author fields on posts** (on by default). They stay empty if Weibo doesn't serve that profile.
> - `videoUrl`, `videoDurationSec` and `videoPlayCount` are filled for video posts.
> - On hot boards, promoted entries have `rank` set to `null`, and the pinned slot has `rank` 0 and `isGov` true.
> - Change fields on hot search rows (`status`, `previousRank`, `rankDelta`, `peakRank` and the others) are filled in the hot search changes mode or with **🆕 Only new rows** on.
> - `sentiment` is filled with **😊 Sentiment** on. `matchesQuery` is filled on posts from keyword search and topic search.
> - Engagement and KOL fields on user rows are filled for profiles and KOL discovery while **📐 Engagement metrics** is on.
> - `isTruncated` stays `true` if the full text of a long post could not be loaded.

**Language:** text is returned exactly as posted, so it's mostly Chinese. The Actor doesn't translate it; use your own translation tool if you need English. A few helper fields are already in English: `provinceEn`, `authorRegionEn` and the complaint status `statusEn`.

#### What data can't Weibo Scraper extract?

- Private content, or anything that needs a Weibo login.
- More than about the 10 newest posts of a user timeline (Weibo's limit for logged-out visitors).
- More than the first page (about 20 accounts) of a fan or following list.
- More than 50 pages of a Black Cat complaint list.
- The list of reposts of a post (there is no reposts mode).
- Custom profile addresses such as `weibo.com/name` (use the numeric `/u/` link instead).
- Media files: you get image and video URLs, not the files.
- Hot boards that Weibo shows only to logged-in users (they are skipped).

***

### How to scrape Weibo in 5 steps

Weibo Scraper is designed for an easy start, even if you've never extracted data from the web before. Here is how to scrape Weibo with it:

1. [Create a free Apify account](https://console.apify.com/sign-up) using your email.
2. Open [Weibo Scraper](https://apify.com/insights_data/weibo-scraper).
3. In **🔗 Weibo links, IDs or keywords**, replace the prefilled 人工智能 with your keyword, #topic#, post link or Weibo user ID (or keep it for a first test). For the hot boards, the hot feed or complaints, pick that mode in the **🚀 What to scrape** dropdown instead and clear the box (see the [modes table](#modes-what-to-scrape) for what each mode does with leftover entries).
4. Click **Start**. Rows appear in the **Output** tab while the run is going. Run time depends on the mode and your settings, so time your first test run before you plan bigger ones.
5. When the run finishes, open the **Output** tab, pick a table (for example 📝 Posts) and click the **Export** button above the table to export Weibo data as JSON, CSV, Excel, XML or HTML.

***

### 💲 How much does it cost to scrape Weibo?

Weibo Scraper uses **pay-per-event** pricing. Your bill for a run has three parts:

| Part | Price | When it's charged |
|---|---|---|
| Results | **$0.02 per result ($20.00 per 1,000 results)** on the Free plan (lower on paid plans, see below) | For every row saved to the dataset: posts, comments, replies, users, hot board entries, topics, complaints, province rows and unavailable-post rows |
| Actor start | A fixed **$0.00005 per run** at the default memory (1 GB) | Once per run |
| Platform usage | The Apify compute and proxy traffic your run uses | On top of the two prices above |

| Apify plan | Price per result | Price per 1,000 results |
|---|---|---|
| Free | $0.02 | $20.00 |
| Starter | $0.018 | $18.00 |
| Scale | $0.016 | $16.00 |
| Business and higher | $0.014 | $14.00 |

Paid Apify plans get a lower result price. The plan discount applies to that price only. The start fee is the same on every plan, and platform usage is billed at your Apify plan's own rates. See the [pricing tab](https://apify.com/insights_data/weibo-scraper/pricing) for the event list.

Rounded examples for the result and start charges at Free plan prices (platform usage comes on top):

| Results | Results charge (Free plan) | Start charge |
|---|---|---|
| 10 | $0.20 | $0.00005 |
| 100 | $2.00 | $0.00005 |
| 1,000 | $20.00 | $0.00005 |

#### How do comments and replies change the bill?

Every comment and every reply is its own result row, so they add up fast. For example, at Free plan prices:

- 10 posts, comments off: **10 results = $0.20**.
- 10 posts with 10 comments each (**💬 Also collect comments of each post** on, **🧮 Max comments per post** 10): 10 + 100 = up to **110 results = $2.20**.
- The same, plus 1 reply per comment (**🧵 Include replies to comments** on, **🪃 Max replies per comment** 1): 10 + 100 + 100 = up to **210 results = $4.20**.

Posts with fewer comments or replies cost less. **🪪 Author profile rows** also add one row per distinct author. **🧬 Complete author fields on posts** and **📜 Full text of long posts** add no rows, but they make extra page loads, so the run takes a bit longer and uses a bit more platform usage.

#### How to estimate platform usage with a test run

We don't publish a platform usage figure, because it depends on the mode, your settings and how Weibo responds. Measure it yourself in a few minutes:

1. Run the default input (10 results) or a small version of your real setup.
2. When it finishes, open the run in Apify Console. The run page shows its platform usage cost and how long it took.
3. Divide by the number of results and multiply by the volume you plan. Add the result charges ($0.02 each on the Free plan, less on paid plans) and $0.00005 per run.

#### How do I cap the cost of a run?

Set a **maximum charge limit** when you start a run. When the run reaches it, it stops cleanly, keeps every row saved so far, and its status message tells you how many rows were delivered. You are **not** charged for rows above that limit, for rows above the Free plan cap, for rows dropped by your filters, or for items that could not be loaded (deleted posts, profiles Weibo doesn't serve, posts with no comments). Each row is charged once, even though it also shows up in its own table (Posts, Comments and the others). One exception: with **🚫 Rows for unavailable posts** on, each deleted or hidden post gets a status row, and that row counts as a result.

#### Is scraping Weibo free?

You can try it on the Apify Free plan, which includes $5 of prepaid platform usage each month ([Apify pricing](https://apify.com/pricing)). Both the result charges and the platform usage are paid from that credit. A default run of 10 results costs $0.20 in result charges, plus $0.00005 for the start, plus its platform usage. How many runs your credit covers depends on that usage, so check it after your first run.

On the Free plan, **each run stops at 10 rows, counting all row types together** (posts, comments, replies, users and the others). If you turn on comments, those 10 rows include the comments, so you may see only 1 or 2 posts. That's the cap, not an error: the run finishes successfully with a message that explains it. To get more than 10 rows per run, switch to any paid Apify plan. Your own settings such as **💯 Max results** then decide how much you collect.

***

### ⬇️ Weibo Scraper input

No field is strictly required, but most runs need at least one entry in **🔗 Weibo links, IDs or keywords**. The hot boards, hot search changes, hot feed and complaints modes need no entries at all. See the [input tab](https://apify.com/insights_data/weibo-scraper/input-schema) for every field.

#### Settings most people change

| Setting | Default | What it does |
|---|---|---|
| 🔗 Weibo links, IDs or keywords (`urls`) | 人工智能 (prefill) | Keywords, #topics#, search pages, post links, numeric post IDs, profile links, numeric user IDs, Black Cat company links, hot search links |
| 🚀 What to scrape (`mode`) | `auto` | Auto picks a job per entry. Pick one mode to apply the same job to the whole list |
| 💯 Max results (`maxResults`) | 10 | How many rows to collect (per run or per user or post, see below) |
| 💬 Also collect comments of each post (`includeComments`) | off | Adds the comment thread of each post |
| 🧮 Max comments per post (`maxComments`) | 10 | Top-level comments per post |
| 🧵 Include replies to comments (`includeReplies`) | off | Adds replies under each comment |
| 🪃 Max replies per comment (`maxRepliesPerComment`) | 1 | Replies per comment |
| 📅 Posted from / 📆 Posted until (`searchDateFrom`, `searchDateTo`) | empty | The date window, in Beijing time |
| 📂 Search results tab (`searchType`) | `realtime` | `realtime`, `all`, `hot`, `video` or `images` |
| 📶 Hot boards (`hotBoards`) | `realtime`, `entertainment`, `topics` | Which hot search boards to read |

**Your first run in the form:** leave **🚀 What to scrape** on *Auto — detect from each entry*, keep 人工智能 (artificial intelligence) in **🔗 Weibo links, IDs or keywords** and **💯 Max results** at 10, then click **Start**. It runs a keyword search on the realtime tab and returns up to 10 posts. The same input as JSON, for the API:

```json
{
    "mode": "auto",
    "urls": ["人工智能"],
    "maxResults": 10
}
```

#### Modes: what to scrape

These are the options in the **🚀 What to scrape** dropdown. The code in brackets is the value to use in the API.

| Dropdown label | What to put in the box | Example entry |
|---|---|---|
| Auto — detect from each entry (`auto`) | Any mix of the entries below; each one picks its own mode | `人工智能`, `#人工智能#`, `https://weibo.com/u/1749127163` |
| Keyword search — posts (`search`) | Keywords | `Nike` |
| Topic search — #话题# stats + posts (`topic`) | #topics# | `#新能源汽车#` |
| Hot search boards (热搜) (`hot_search`) | Nothing; pick boards in **📶 Hot boards**. Board names typed in the box (`realtime`, `entertainment`) replace that list; other entries, like the prefill, are skipped with a notice in the log | (empty) |
| Hot search changes since the last run (`hot_search_delta`) | Same as Hot search boards | (empty) |
| Hot feed by category (热门微博) (`hot_timeline`) | Nothing, or category names. Entries in the box replace **📰 Hot feed categories**: an unknown name such as the prefill is skipped, and 热门 is used if no name is valid, so clear the box | `科技` |
| Post details (`post_details`) | Post links, numeric post IDs or short codes | `https://m.weibo.cn/detail/5249718969175092` |
| Post comments & replies (`post_comments`) | Post links, IDs or short codes | `https://m.weibo.cn/detail/5249718969175092` |
| Post likers (`post_likers`) | Post links, IDs or short codes | `https://m.weibo.cn/detail/5249718969175092` |
| User profiles (`user_profile`) | Profile links or numeric user IDs | `https://weibo.com/u/1749127163` |
| User posts (newest) (`user_posts`) | Profile links or user IDs | `1749127163` |
| User fans (`user_fans`) | Profile links or user IDs | `1749127163` |
| User followings (`user_followings`) | Profile links or user IDs | `1749127163` |
| KOL / influencer discovery by keyword (`kol_discovery`) | Keywords | `新能源汽车` |
| Black Cat complaints (黑猫投诉) (`complaints`) | Black Cat company links, or nothing for the public feed. Entries that aren't company links, like the prefill, are skipped with a notice, and the public feed is read, using the tab chosen in **😾 Complaint list** (`latest` by default) | (empty) |

A few other common setups:

| Goal | In the form | JSON |
|---|---|---|
| Weibo hot search entertainment and realtime boards | *Hot search boards (热搜)*, clear the box, **📶 Hot boards**: Realtime + Entertainment | `{"mode": "hot_search", "hotBoards": ["realtime", "entertainment"]}` |
| Comments and replies of one post | *Post comments & replies*, paste the post link, **🧮 Max comments per post** 50, **🧵 Include replies to comments** on | `{"mode": "post_comments", "urls": ["https://m.weibo.cn/detail/5249718969175092"], "maxComments": 50, "includeReplies": true}` |
| Creators who post about a keyword | *KOL / influencer discovery by keyword*, type the keyword, **🏆 Max creators** 30, **📈 Min followers** 10000 | `{"mode": "kol_discovery", "urls": ["新能源汽车"], "maxKols": 30, "minFollowers": 10000}` |
| Daily brand monitoring | *Keyword search — posts*, type `Nike`, **📅 Posted from** 1 day, **🆕 Only new rows** on, **🔑 Monitoring key** `nike-daily`, then add a daily schedule | `{"mode": "search", "urls": ["Nike"], "searchDateFrom": "1 day", "deltaMode": true, "deltaStateKey": "nike-daily"}` |

#### Advanced settings

| Setting | Default | What it does |
|---|---|---|
| 🍰 Spread over the window (`sliceBy`) | `auto` | Splits a date window into day or hour slices: `auto`, `day`, `hour`, `none` |
| 🈶 Also search Chinese brand names (`autoLocalize`) | on | Also searches the Chinese name of a Latin brand name |
| 🧩 Extra search variants (`searchAliases`) | empty | More spellings to search and merge with every keyword |
| 🎯 Only posts that contain the keyword (`strictQueryMatch`) | off | Drops posts whose text doesn't contain a search term |
| 📣 Promoted posts (`adFilter`) | `all` | `all`, `organic_only` or `promo_only` |
| 🔭 Max rows examined by filters (`maxScanned`) | 20,000 | Stops when filters reject most rows |
| 🔀 Comment order (`commentSort`) | `hot` | `hot` or `time` (newest first) |
| 📰 Hot feed categories (`hotTimelineCategories`) | 热门 | Hot feed categories as Weibo names them (热门, 科技, 财经) |
| 😾 Complaint list (`complaintTab`) | `latest` | `latest`, `hot`, `replied` or `completed` |
| 🪪 Author profile rows (`includeAuthorProfiles`) / 👥 Max author profiles (`maxAuthorProfiles`) | off / 50 | Adds one profile row per post author |
| 🧬 Complete author fields on posts (`backfillAuthors`) | on | Fills author followers, location, bio and total interactions on post rows |
| 📜 Full text of long posts (`fetchFullText`) | on | Loads the full text of posts Weibo cuts at about 140 characters |
| 😊 Sentiment (`sentimentAnalysis`) | off | Adds a sentiment score from -1 to 1 to posts, comments and complaints |
| 🌏 Province rollup (`geoRollup`) | off | Adds one row per province or country |
| 🚫 Rows for unavailable posts (`includeUnavailableRows`) | off | Post details mode: adds a status row for deleted or hidden posts |
| 🏆 Max creators (`maxKols`), 📈 Min followers (`minFollowers`), ✅ Verified creators only (`verifiedOnly`) | 30, 0, off | KOL discovery settings |
| 📐 Engagement metrics (`kolMetrics`) | on | Average reposts, comments, likes, engagement rate and posting frequency over recent posts |
| 🆕 Only new rows (`deltaMode`), 🔑 Monitoring key (`deltaStateKey`) | off, `default` | Returns only rows that earlier runs with the same key didn't deliver ("delta" in the field names means this difference since the last run) |
| ⏰ Follow-up comments (`followUpComments`) | off | Keyword search with Only new rows: re-reads comments of earlier posts once, when they are 1 to 7 days old |
| ⚡ Parallel requests (`concurrency`), ⏳ Delay between requests (`requestDelay`), 🔁 Retries per request (`maxRetries`) | 3, 0.6 s, 3 | Speed settings; the defaults suit most runs |
| 🌐 Proxy (`proxyConfiguration`) | no proxy | Optional, see [Proxy](#proxy) |

#### Weibo links, IDs or keywords

This one box takes many kinds of entries. In Auto mode, each entry picks its own job: a keyword runs a search, a `#topic#` runs a topic search, a post link or a post ID with 13 or more digits returns post details, a profile link or a **Weibo user ID** (5 to 12 digits) returns the profile, and a Black Cat link returns complaints.

- ✅ Good: `https://weibo.com/u/1749127163`
- ❌ Bad: `https://weibo.com/somecustomname`

> ⚠️ Custom profile addresses are not resolved, so use the numeric `/u/` link. A bare short code such as `RlUTJtt8C` is treated as a keyword in Auto mode; short codes work only in the post modes.

#### What to scrape

Leave it on *Auto — detect from each entry* for a mixed list, or pick one mode to run the same job on every entry, for example the comments, likers or fans of every link.

- ✅ Good: *Post comments & replies* with a list of post links
- ❌ Bad: *User posts (newest)* with keywords

> ⚠️ A list mode with an empty box stops with an input problem. Entries that don't fit the chosen mode are skipped (listed in the 🧾 Run report, or in the log for the hot board modes), so the run can end with no results. Only the hot boards, hot search changes, hot feed and complaints modes work with an empty box.

#### Max results

In keyword search, topic search, the hot feed, post details and complaints, **💯 Max results** counts per run. For user posts, likers, fans and followings, it counts per user or per post.

- ✅ Good: `10` for a quick test
- ❌ Bad: `500` in *User posts (newest)* (Weibo shows only about 10 posts of a timeline to logged-out visitors)

> ⚠️ On the Apify Free plan, every run stops at 10 rows in total.

#### Posted from and Posted until

Dates are in Beijing time. Use an absolute date such as `2026-09-01` or a relative one such as `7 days` (counted back from the run start). An absolute **📆 Posted until** date includes that whole day.

- ✅ Good: `2026-09-01` to `2026-09-07` in keyword search
- ❌ Bad: a date window in the hot boards mode (it's ignored there)

> ⚠️ The date window applies to keyword search, topic search, KOL discovery and user posts only.

#### Only new rows and Monitoring key

With **🆕 Only new rows** on, the Actor remembers what it delivered for each **🔑 Monitoring key**, across runs. It keeps that memory in your Apify account's storage, one record per key, so a scheduled run knows what earlier runs already sent you.

- ✅ Good: **🔑 Monitoring key** set to `nike-daily` on a daily schedule
- ❌ Bad: two different monitors that share the key `default`

> ⚠️ Use a separate key for each monitor, or one monitor will hide rows from the other.

#### Proxy

You don't need to set a proxy. By default the run starts without one. If Weibo blocks requests, the run switches to Apify Proxy automatically and keeps it for the rest of the run, as long as Apify Proxy is available on your account (if it isn't, the run continues without a proxy). If you prefer, choose Apify Proxy in **🌐 Proxy** so it's used from the first request, or add your own proxy URLs. Apify Proxy traffic counts toward your platform usage.

***

### ⬆️ Weibo Scraper output

Rows are saved live while the run is going. In the **Output** tab you'll find **📦 All results** (every row, `rowType` tells the kind) and one table per kind: 📝 Posts, 💬 Comments & replies, 👤 Users & creators, 🔥 Hot search, 🔖 Topics, 😾 Complaints and 🧭 Province rollup. Pick a table, choose the fields you need, and click the **Export** button above the table to download JSON, CSV, Excel, XML or HTML.

The **🧾 Run report** is a summary of the run. Open it from the **Output** tab, next to the tables. It lists what was not delivered and why, how well your date window was covered, and how often the key fields were filled.

#### JSON example

Results for the input example above (one post row from a real run, shortened):

```json
{
    "rowType": "post",
    "mode": "search",
    "postId": "5352236077023522",
    "bid": "RlUTJtt8C",
    "postUrl": "https://weibo.com/1813739560/RlUTJtt8C",
    "text": "短视频很有意思，我经常刷到《潜伏》的片段……不知道未来会不会被人工智能代替呢？",
    "createdAtIso": "2026-10-09T22:26:22+08:00",
    "source": "华为Mate 80 RS",
    "province": "江苏",
    "provinceEn": "Jiangsu",
    "city": "南京",
    "isRepost": false,
    "repostsCount": 0,
    "commentsCount": 1,
    "attitudesCount": 0,
    "engagementRate": 0.000561,
    "isPromoted": false,
    "authorName": "湖边卡夫卡",
    "authorFollowers": 1784,
    "authorVerifiedLabel": "orange_grassroots",
    "authorLocation": "江苏 南京",
    "authorTotalInteractions": 12499,
    "query": "人工智能",
    "searchType": "实时",
    "matchesQuery": true
}
```

How to read some of these values:

- `bid` is the short code in the post link. `source` is the app or device the post was sent from.
- `attitudesCount` is the number of likes. `engagementRate` is (reposts + comments + likes) ÷ the author's followers, here 1 ÷ 1,784.
- `authorVerifiedLabel` is a readable form of Weibo's verification badge, for example `orange_personal`, `blue_enterprise` or `unverified`.
- `searchType` shows Weibo's own name of the tab that was read: 实时 is the realtime tab.
- `createdAtIso` is in Beijing time (+08:00).

#### Comment row shape

If you turn on comments, each comment and reply comes as its own row. This shows the **shape** of a comment row (field names from the dataset schema, descriptions instead of real values, shortened):

```json
{
    "rowType": "comment",
    "commentId": "(ID of this comment)",
    "postId": "(ID of the post it belongs to)",
    "rootCommentId": "(top-level comment of the thread)",
    "replyToCommentId": "(comment this reply answers, for replies)",
    "isReply": "(true for a reply, false for a top-level comment)",
    "text": "(comment text as posted)",
    "createdAtIso": "(date and time, Beijing time)",
    "likeCount": "(number of likes)",
    "replyCount": "(number of replies)",
    "authorRegion": "(region Weibo shows for the commenter)",
    "authorRegionEn": "(the same region in English)",
    "authorName": "(commenter's name)",
    "authorFollowers": "(commenter's followers)",
    "isFollowUp": "(true if collected later by Follow-up comments)"
}
```

Use `postId` to join comments to their posts in a spreadsheet or database.

***

### Tips and advanced usage

#### How many results can you scrape with Weibo Scraper?

On a paid Apify plan, **💯 Max results** goes up to 100,000, **🧮 Max comments per post** up to 5,000, **🪃 Max replies per comment** up to 1,000 and **🏆 Max creators** up to 500. The real number also depends on Weibo's limits for logged-out visitors (about 10 newest posts per user, the first page of fans and followings, 50 pages per Black Cat list), your date window and search tab, your filters, and whether Weibo slows the requests down. A keyword search can end before your **💯 Max results** when Weibo's search pages run out or ask for a login; the **🧾 Run report** shows how much of your date window was covered. Run time depends on the same things, so time a test run too. Before you scrape Weibo at scale, do a quick test run with your own settings: it's the best way to know what to expect for your use case.

#### How to get cheaper results

- Start with the default **💯 Max results** of 10 and raise it once the output looks right.
- Leave comments and replies off unless you need them: every comment and reply is a result.
- Use **🎯 Only posts that contain the keyword** and **📣 Promoted posts**: rows dropped by filters are not charged.
- Turn on **🆕 Only new rows** for scheduled runs, so you never pay twice for the same post or comment.
- Set a **maximum charge limit** when you start a run.

#### Weibo monitoring with Only new rows

For **China social media monitoring**, put a keyword search on a daily [schedule](https://docs.apify.com/platform/schedules) with **🆕 Only new rows** and its own **🔑 Monitoring key**. Each run returns only posts, comments, complaints, fans and likers that earlier runs with that key didn't deliver. Turn on **⏰ Follow-up comments** to collect comments that arrive later on posts you already have. For the boards, use the **Hot search changes since the last run** mode: each entry gets a status (new, up, down, same or dropped) with its rank and heat change, first seen time, peak rank and peak heat.

#### Weibo sentiment analysis and province rollup

Turn on **😊 Sentiment** to add a sentiment object (polarity and a score from -1 to 1), scored automatically for Chinese text, to every post, comment and complaint. It's an automatic score, so treat it as a signal for spotting trends across many rows and check individual posts yourself. Turn on **🌏 Province rollup** to add one row per province or country with post count, share, promoted count and average sentiment. The rollup needs at least 50 posts with a location. When the run has fewer than 200 located posts, the rollup rows are marked `lowConfidence`. Average sentiment (`sentimentMean`) is filled when **😊 Sentiment** is on too.

#### Known issues

- Custom profile addresses (`weibo.com/name`) are not resolved. Open the profile and copy the numeric `/u/` link.
- Some long posts may keep `isTruncated` set to `true` when the full text can't be loaded.
- Topic statistics can be missing (`found` is `false`) when a topic is not registered or was renamed.
- A search tab that serves only its first page is reported in the run log.

***

### Integrations and API

#### Can I use Weibo Scraper as an API?

Yes. If you were looking for a Weibo API for public posts, comments and boards, this Weibo scraper API gives you one without a developer key. The [Apify API](https://docs.apify.com/api/v2) lets you start runs, schedule them and fetch the results. Use the `apify-client` [NPM package](https://apify.com/insights_data/weibo-scraper/api/javascript) for Node.js or the `apify-client` [PyPI package](https://apify.com/insights_data/weibo-scraper/api/python) for Python. The [API tab](https://apify.com/insights_data/weibo-scraper/api) has ready-to-use code. For hot board snapshots in your own app, this works as a Weibo hot search API: call the `hot_search` mode from any script or scheduler.

#### How to use Weibo Scraper with Python

This Weibo scraper Python example runs the default input and prints each row:

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("insights_data/weibo-scraper").call(run_input={
    "mode": "auto",
    "urls": ["人工智能"],
    "maxResults": 10,
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["rowType"], item.get("postUrl"), item.get("text"))
```

#### Can I integrate Weibo Scraper with other apps?

Yes. Connect Weibo Scraper with almost any cloud service through [Apify integrations](https://apify.com/integrations): **Make, Zapier, Slack, Google Sheets, Google Drive, Airbyte, GitHub, LangChain** and more. Use [webhooks](https://docs.apify.com/integrations/webhooks) to trigger an action whenever a run finishes. For example, schedule the hot boards every hour and send each new snapshot to a Google Sheet.

#### Can I use Weibo Scraper with AI agents (MCP)?

Yes. Connect Weibo Scraper to Claude and other AI assistants through the Apify MCP server. Open the [MCP tab](https://apify.com/insights_data/weibo-scraper/api/mcp) for setup steps.

***

### Other social media scrapers

These Actors from the same author cover other platforms and complement Weibo Scraper:

| | |
|---|---|
| 🎬 [Bilibili Scraper — Videos, Comments, Danmaku & Creator Uploads](https://apify.com/insights_data/bilibili-scraper-videos-comments-danmaku-creator-uploads): Bilibili videos, comments with replies, danmaku, creator uploads, rankings and trending searches | 💬 [TikTok Comments & Replies Scraper](https://apify.com/insights_data/tiktok-comments-replies-scraper): TikTok comments and replies with likes, dates and commenter details |
| 👤 [TikTok Profile Scraper](https://apify.com/insights_data/tiktok-profile-scraper): TikTok profile videos, reposts, playlists and author stats | 📈 [Stocktwits Scraper](https://apify.com/insights_data/stocktwits-scraper): Stocktwits messages with bullish and bearish sentiment |

***

### ❓ FAQ

#### Is it legal to scrape Weibo?

Scraping publicly available data is generally legal, but you are responsible for how you use it. Weibo Scraper collects only public pages. Respect personal data rules such as GDPR and China's PIPL, have a legitimate reason before you collect personal data, and take Weibo's terms into account. This is not legal advice. Read more in Apify's guide on [whether web scraping is legal](https://blog.apify.com/is-web-scraping-legal/).

#### How does Weibo Scraper work?

It works like a person browsing Weibo while logged out, only faster. You paste links, IDs, #topics# or keywords. The Weibo crawler reads the public pages a logged-out visitor can see, turns each post, comment, profile, board entry or complaint into a structured row, saves rows live while the run is going, and writes a run report at the end.

#### How is Weibo Scraper different from copying posts by hand?

It turns what you would copy from the Weibo app into consistent rows, in bulk and on a schedule.

| Feature | Weibo Scraper | Copying by hand |
|---|---|---|
| Many keywords, links and IDs in one run | ✅ | ❌ |
| Same field names in every row (JSON, CSV, Excel) | ✅ | ❌ |
| Date window in Beijing time, spread by day or hour | ✅ | ❌ |
| Only new rows on scheduled runs | ✅ | ❌ |
| Hot board rank and heat changes between runs | ✅ | ❌ |
| Price | $20.00 per 1,000 results on the Free plan, down to $14.00 on Business, plus start and platform usage | Your time |

#### Can I do a Weibo search without account?

Yes. No mode needs a Weibo login, account or cookies, and there is no cookie field in the input. Because everything is read as a logged-out visitor, Weibo's logged-out limits apply: about 10 newest posts per user timeline, the first page of fan and following lists, and possible login walls on deep search pages, comment threads or liker lists. In those cases you get a partial result and a notice in the log.

#### Why scrape Weibo data?

- **Brand health:** see how people talk about your brand, your competitors and your category.
- **Launch research:** test messages and product ideas against real posts before entering China.
- **Influencer marketing:** shortlist creators by reach and engagement for a keyword.
- **Trend spotting:** follow what climbs the hot boards and which hashtags stick.
- **Customer service:** catch complaints on Black Cat and in comment threads early.
- **Research and AI:** build labeled Chinese text datasets with dates, regions and engagement.

#### Why am I getting fewer results than expected?

1. Check the run's status message and log. Weibo's logged-out limits (about 10 posts per user timeline, the first page of fans or followings) and login walls on deep pages often explain small numbers.
2. Look at your filters. **🎯 Only posts that contain the keyword**, **📣 Promoted posts**, **📈 Min followers**, **✅ Verified creators only** and **🆕 Only new rows** all drop rows.
3. Check the date window. A narrow window on a quiet keyword simply has few posts.
4. On the Free plan, every run stops at 10 rows.
5. Open the **🧾 Run report** to see what was not delivered and why.
6. If the run says "No results", check the links and keywords first. If Weibo limited the requests, run it again with Apify Proxy chosen in **🌐 Proxy**, so the proxy is used from the first request instead of only after a block (see [Proxy](#proxy)).

#### How do I find a Weibo user ID?

Open the profile on weibo.com. The number in a link like `https://weibo.com/u/1749127163` is the Weibo user ID. Paste either the full link or just the number. Custom addresses like `weibo.com/name` are not resolved, so look for the numeric `/u/` link.

#### Can I get the Weibo hot search today?

Yes. Pick **Hot search boards (热搜)** under **🚀 What to scrape** and click Start. You get a snapshot of the boards at run time: rank, title, heat (`hotValue`), category, label, the pinned slot and promoted entries. The topic board and each entry's `hashtag` field show the **Weibo trending topics** and **Weibo trending hashtags** of the moment. Schedule the run every hour to build your own history.

#### How do I find the top Weibo influencers for a keyword?

Pick *KOL / influencer discovery by keyword* in **🚀 What to scrape** (KOL = key opinion leader) and type your keyword. Weibo KOL discovery finds the creators who post about your keyword and ranks them by relevance and reach (`kolScore`, `kolRank`). Narrow the list with **📈 Min followers** and **✅ Verified creators only**, and keep **📐 Engagement metrics** on to get average reposts, comments, likes and posting frequency.

#### Can Weibo Scraper collect followers?

Yes, with limits. As a Weibo followers scraper, the *User fans* and *User followings* modes return the first page (about 20 accounts) that Weibo shows to logged-out visitors. Each account comes as a user row with its `followersCount`, bio and verification.

#### Does Weibo Scraper download images or videos?

No. Post rows include image URLs (`images`) and, for video posts, `videoUrl`, `videoDurationSec` and `videoPlayCount`. The files themselves are not downloaded.

***

### Support and feedback

Found a bug or have a feature request? Please create an issue on the [Issues tab](https://apify.com/insights_data/weibo-scraper/issues/open). We're always working on improving Weibo Scraper.

Need a **custom solution** or more Weibo data? Contact us at hello.insights.data@gmail.com.

Built and maintained by [Insights Data](https://apify.com/insights_data).

# Actor input Schema

## `mode` (type: `string`):

Auto: every entry below is handled by its type — a keyword runs a post search, a #topic# runs topic search with topic stats, a post link returns post details, a profile link or numeric user ID returns the profile, a Black Cat link returns complaints, a hot-search link returns the hot boards. Pick a mode to apply one job to the whole list (for example the comments, likers or fans of every link). Hot boards, hot feed and complaints need no entries at all.

## `urls` (type: `array`):

One entry per line, as many as you like. Accepted: keywords (人工智能, Tesla), #topics# (#人工智能#), search pages (s.weibo.com/weibo?q=…), post links (weibo.com/<uid>/<code>, m.weibo.cn/detail/<id>, m.weibo.cn/status/<id>), numeric post IDs, short codes (in the post modes), profile links (weibo.com/u/<id>, m.weibo.cn/u/<id>), numeric user IDs, Black Cat company links (tousu.sina.com.cn/company/view/?couid=…). With the hot-board mode you can list board names (realtime, topics, entertainment …); with the hot-feed mode, category names (热门, 科技 …). Custom profile addresses like weibo.com/name are not resolved — use the numeric /u/ link.

## `maxResults` (type: `integer`):

Search, topic, hot feed and complaints: posts/complaints per run. User posts, likers, fans, followings: per user or post. Post details: posts per run. Free plan users are limited to 10 items per run; paid plans have no limit.

## `includeComments` (type: `boolean`):

Search, topic, hot feed, post details and user posts: also pull each post's comment thread, one row per comment (linked by postId). Posts with no comments are skipped without a request.

## `maxComments` (type: `integer`):

Top-level comments per post (comments mode and the option above). Free plan users are limited to 10 items per run; paid plans have no limit.

## `includeReplies` (type: `boolean`):

Also collect the reply thread under each comment. Turns comment collection on in the post modes.

## `maxRepliesPerComment` (type: `integer`):

Replies collected under each comment. Free plan users are limited to 10 items per run; paid plans have no limit.

## `commentSort` (type: `string`):

Hot: the order Weibo shows by default. Newest: most recent first.

## `searchType` (type: `string`):

Which Weibo search tab to read for keyword and topic search.

## `searchDateFrom` (type: `string`):

Earliest post date. Pick an absolute date (e.g. 2026-09-01, from 00:00 Beijing time) or a relative one counted from the run start (e.g. 7 days, 2 weeks ago). Applies to search, topic, KOL discovery and user posts. Empty = no lower limit.

## `searchDateTo` (type: `string`):

Latest post date. An absolute date includes that whole day (until 23:59:59 Beijing time); a relative date is counted from the run start (e.g. 1 day ago). Empty = now.

## `sliceBy` (type: `string`):

With a date window, split it into day or hour slices so results cover the whole period evenly instead of only its newest part. Auto picks for you.

## `autoLocalize` (type: `boolean`):

A Latin brand name like Nike also searches its Chinese name (耐克); results are merged and deduplicated.

## `searchAliases` (type: `array`):

More spellings or names to search and merge with every keyword (e.g. 耐克, 特斯拉).

## `strictQueryMatch` (type: `boolean`):

Drop posts whose text (or quoted post) does not contain any search term. Every post row carries matchesQuery either way.

## `adFilter` (type: `string`):

Every post carries isPromoted. Keep all, drop promoted posts, or keep only promoted posts. Filtered rows are not delivered and not charged.

## `maxScanned` (type: `integer`):

When filters reject most rows, stop after examining this many.

## `hotBoards` (type: `array`):

Boards read in hot-board modes. All = every board Weibo offers right now.

## `hotTimelineCategories` (type: `array`):

Hot-feed categories, as Weibo names them (热门, 科技, 财经, 股市, 社会 …). Unknown names are skipped with the live list in the log.

## `complaintTab` (type: `string`):

Which Black Cat list to read.

## `includeAuthorProfiles` (type: `boolean`):

In post modes, add one profile row per distinct post author (followers, bio, verification, location, influence badges).

## `maxAuthorProfiles` (type: `integer`):

Cap on author profile rows per run. Free plan users are limited to 10 items per run; paid plans have no limit.

## `backfillAuthors` (type: `boolean`):

Fill author followers, location, bio and total interactions on post rows when the post itself does not carry them (one profile lookup per distinct author).

## `fetchFullText` (type: `boolean`):

Weibo cuts long posts at about 140 characters in lists; this fetches the full text.

## `sentimentAnalysis` (type: `boolean`):

Add a sentiment object (polarity + score from -1 to 1) to every post, comment and complaint, scored for Chinese text.

## `geoRollup` (type: `boolean`):

Add one row per province / country with post count, share, promoted count and average sentiment, from the location Weibo attaches to each post. Needs at least 50 located posts.

## `includeUnavailableRows` (type: `boolean`):

Post details: add a status row for posts that are deleted or hidden, with the reason.

## `maxKols` (type: `integer`):

Creators returned by KOL discovery, ranked by relevance and reach. Free plan users are limited to 10 items per run; paid plans have no limit.

## `minFollowers` (type: `integer`):

Skip creators with fewer followers.

## `verifiedOnly` (type: `boolean`):

Keep only verified accounts.

## `kolMetrics` (type: `boolean`):

User profiles and KOL discovery: average reposts, comments, likes, engagement rate and posting frequency over recent posts.

## `deltaMode` (type: `boolean`):

Return only rows that no earlier run with the same monitoring key delivered (posts, comments, complaints, fans, likers). Ideal for scheduled monitoring.

## `deltaStateKey` (type: `string`):

Name of the tracking stream. Use different keys (e.g. nike-daily, hourly-hot) for independent monitors.

## `followUpComments` (type: `boolean`):

Keyword search with Only new rows: a later run re-reads the comment threads of posts delivered earlier, once, when they are 1 to 7 days old, and returns comments not delivered before (isFollowUp = true).

## `concurrency` (type: `integer`):

Requests in flight at once. Higher is faster but Weibo rate-limits sooner.

## `requestDelay` (type: `number`):

Seconds to pause after each request (random jitter added).

## `maxRetries` (type: `integer`):

Attempts per request before it is given up.

## `siteSelfCheck` (type: `boolean`):

Check at the start whether Weibo changed its site and name the affected modes in the log.

## `proxyConfiguration` (type: `object`):

Default: no proxy. If Weibo blocks or rate-limits the requests, the run switches to a datacenter proxy, then to a residential proxy (with fresh IPs on retry) and keeps it for the rest of the run.

## Actor input object example

```json
{
  "mode": "auto",
  "urls": [
    "人工智能",
    "#新能源汽车#",
    "https://weibo.com/u/1749127163",
    "https://m.weibo.cn/detail/5249718969175092"
  ],
  "maxResults": 10,
  "includeComments": false,
  "maxComments": 10,
  "includeReplies": false,
  "maxRepliesPerComment": 1,
  "commentSort": "hot",
  "searchType": "realtime",
  "sliceBy": "auto",
  "autoLocalize": true,
  "strictQueryMatch": false,
  "adFilter": "all",
  "maxScanned": 20000,
  "hotBoards": [
    "realtime",
    "entertainment",
    "topics"
  ],
  "hotTimelineCategories": [
    "热门"
  ],
  "complaintTab": "latest",
  "includeAuthorProfiles": false,
  "maxAuthorProfiles": 50,
  "backfillAuthors": true,
  "fetchFullText": true,
  "sentimentAnalysis": false,
  "geoRollup": false,
  "includeUnavailableRows": false,
  "maxKols": 30,
  "minFollowers": 0,
  "verifiedOnly": false,
  "kolMetrics": true,
  "deltaMode": false,
  "deltaStateKey": "default",
  "followUpComments": false,
  "concurrency": 3,
  "requestDelay": 0.6,
  "maxRetries": 3,
  "siteSelfCheck": true,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `posts` (type: `string`):

Post rows from search, topics, hot feed, post details and user posts.

## `comments` (type: `string`):

Comment and reply rows, linked to their post by postId.

## `users` (type: `string`):

Profiles, post authors, fans, followings, likers and KOLs (relation tells which).

## `hot_search` (type: `string`):

Hot board entries with rank, heat and (in change mode) movement since the last run.

## `topics` (type: `string`):

Topic statistics: reads, discussions, original posters, category and host.

## `complaints` (type: `string`):

Black Cat (黑猫投诉) complaints.

## `regions` (type: `string`):

One row per province or overseas country.

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

Every row of the run in one table.

## `report` (type: `string`):

What was delivered, what was not and why, coverage of the date window and field fill rates.

# 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 = {
    "urls": [
        "人工智能"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("insights_data/weibo-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 = {
    "urls": ["人工智能"],
    "proxyConfiguration": { "useApifyProxy": False },
}

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

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

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

```

## CLI example

```bash
echo '{
  "urls": [
    "人工智能"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call insights_data/weibo-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,insights_data/weibo-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/Pb9TadcUep6eCvP30/builds/Ha0Ypz3WRb8vgc8pJ/openapi.json
