# iQIYI 爱奇艺 Scraper (`parsebird/iqiyi-scraper`) Actor

Scrape iQIYI 爱奇艺 videos, albums, creators and search results. Get titles, heat, publish dates, ratings, actors and images, plus likes, comments and uploader stats. Filter by sort, category, date and quality. Export JSON, CSV, Excel.

- **URL**: https://apify.com/parsebird/iqiyi-scraper.md
- **Developed by:** [ParseBird](https://apify.com/parsebird) (community)
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.49 / 1,000 results

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/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

### iQIYI 爱奇艺 Scraper

**iQIYI 爱奇艺 Scraper** extracts video data from [iQIYI](https://www.iqiyi.com), one of China's largest streaming platforms. Search by keyword or paste video, album and creator addresses, then get titles, heat scores, publish dates, ratings, actors and images as structured data. Turn on additional data to add likes, favourites, comments and uploader stats. You don't need an iQIYI account, a cookie or an API key.

<table><tr>
<td style="border-left:4px solid #1C1917;padding:12px 16px;font-weight:600">
Mix search terms with video, album and creator URLs in one run and get one clean row per video, filtered by sort order, category, publish date, site and quality.
</td>
</tr></table>

##### Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

```
Apify Actor: parsebird/iqiyi-scraper. Scrapes iQIYI (爱奇艺) videos, albums, creators and search results without login. Call via ApifyClient: client.actor("parsebird/iqiyi-scraper").call(run_input={"searchTerms": ["隐秘的角落"], "maxItems": 50, "scrapeAdditionalInfo": true}). Inputs (give urls, searchTerms or both): urls (string[]: video iqiyi.com/v_xxx.html, album iqiyi.com/a_xxx.html, creator iqiyi.com/creator/ID), searchTerms (string[]), sortBy ("relevance" | "latest" | "popular"), category ("all", "movie", "tv_series", "documentary", "anime", "music", "variety_show", "entertainment", "game", "travel", "trailer", "education", "fashion", "short_film", "sports", "advertising", "lifestyle", "comedy", "original", "short_drama", "news", "parenting", "finance", "auto", "technology", "military", "talk_show"), publishDate ("all_time" | "last_24_hours" | "last_7_days" | "last_30_days"), site ("all" | "iqiyi" | "qq" | "youku" | "sohu" | "letv" | "m1905" | "cntv"), quality ("all" | "hd" | "ultra_hd" | "720p" | "1080p"), maxItems (integer per search term, album or creator, 0 = all, default 100), scrapeAdditionalInfo (boolean, default false). Filters apply to searchTerms only. Output: dataset rows with imageUrl, id, url, videoTitle, albumPageUrl, albumTitle, albumId, categoryId, categoryName, description, heatCount, publishTime (Unix seconds), publishTimeString, horizontalImageUrl, firtFrameImageUrl, rating, ratingCount, totalItemsInAlbum, actors (string[]); with scrapeAdditionalInfo also uploaderName, uploaderAvatar, uploaderId, likeCount, subCount, commentCount, uploaderVideoCount, uploaderFollowerCount, uploaderLocation, uploaderOrgName. Fields iQIYI doesn't list are null. Duplicates across inputs are removed. Pricing: pay per result, plus an additional data event per video with scrapeAdditionalInfo. Full API spec: https://apify.com/parsebird/iqiyi-scraper/api. Get your token: https://console.apify.com/settings/integrations.
```

### What is iQIYI 爱奇艺 Scraper?

**iQIYI 爱奇艺 Scraper** turns [iQIYI](https://www.iqiyi.com) search results and pages into a dataset. Enter the words you would type into iQIYI's search box, or paste the addresses you already have, and click **Start**. To try it, keep the prefilled `隐秘的角落` search, which saves 20 videos.

It works as an **iQIYI API alternative** for people who need 爱奇艺 data in a spreadsheet or a pipeline rather than one page at a time. Download the results as **JSON, CSV or Excel**, or read them through the [Apify API](https://docs.apify.com/api/v2).

### What can iQIYI 爱奇艺 Scraper do?

- 🔍 **Search iQIYI.** Run any number of search terms and sort by relevance, latest or most popular.
- 🎚️ **Filter searches.** Narrow results by category, publish date, site and video quality.
- 🎬 **Read single videos.** Paste a video address such as `iqiyi.com/v_12vxqf0wkkw.html`.
- 📺 **Read whole albums.** Paste an album address to get every episode of a series.
- 👤 **Read creator profiles.** Paste an address such as `iqiyi.com/creator/1417086489` to get that creator's videos.
- 📊 **Add interaction and uploader data.** Get like, favourite and comment counts, plus the uploader's name, location, organisation, followers and video count.
- 🧹 **Get clean results.** A video found through several inputs is saved and charged once.

Because it runs on Apify, you also get:

- [Scheduling](https://docs.apify.com/platform/schedules) to refresh your data daily, weekly or at any interval
- [API access](https://docs.apify.com/api/v2) with [Python](https://docs.apify.com/api/client/python) and [JavaScript](https://docs.apify.com/api/client/js) clients
- [Integrations](https://docs.apify.com/platform/integrations) with Make, Zapier, Google Sheets, Slack and webhooks
- Export to JSON, CSV, Excel, XML and HTML

### What data can you extract from iQIYI?

| Field | Description | Available |
|-------|-------------|-----------|
| `id` | iQIYI video ID | Always |
| `url` | Video page address, or iQIYI's redirect link for some titles from other sites | Always |
| `videoTitle` | Video or episode title | Always |
| `imageUrl`, `horizontalImageUrl` | Vertical and horizontal cover images | When listed |
| `firtFrameImageUrl` | First frame image | When listed |
| `albumPageUrl`, `albumTitle`, `albumId` | The album or series the video belongs to | Videos in an album |
| `totalItemsInAlbum` | Number of videos in the album | Videos in an album |
| `categoryId`, `categoryName` | iQIYI channel, such as `2` and `电视剧` | When listed |
| `description` | Video or series description | When listed |
| `heatCount` | iQIYI's heat score | When listed |
| `publishTime`, `publishTimeString` | Publish time as Unix seconds and as text in China time | When listed |
| `rating`, `ratingCount` | Score out of 10 and number of raters | Rated titles |
| `actors` | Cast names | Titles with a listed cast |
| `likeCount`, `subCount`, `commentCount` | Likes, favourites and comments | Additional data |
| `uploaderName`, `uploaderAvatar`, `uploaderId` | Who uploaded the video | Additional data, uploaded videos |
| `uploaderVideoCount`, `uploaderFollowerCount` | The uploader's videos and followers | Additional data, uploaded videos |
| `uploaderLocation`, `uploaderOrgName` | The uploader's listed region and organisation | Additional data, when listed |

Rows keep the same columns, and a field iQIYI doesn't list is `null`. Licensed series and films usually have a rating and a cast but no uploader. Creator uploads usually have an uploader but no rating or cast.

### How to scrape iQIYI step by step

1. Open [iQIYI 爱奇艺 Scraper](https://apify.com/parsebird/iqiyi-scraper) and sign in to Apify.
2. Add **Video, album or creator URLs**, **Search terms**, or both.
3. For searches, choose any filters: **Sort by**, **Category**, **Publish date**, **Site** and **Quality**.
4. Set **Max items**, the most videos to save for each search term, album or creator.
5. Turn on **Scrape additional info** if you need likes, favourites, comments and uploader details.
6. Click **Start** and wait for the run to finish.
7. Download your iQIYI data as JSON, CSV or Excel from the **Output** tab.

### Input parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| urls | string\[] | One of urls or searchTerms | — | iQIYI video, album or creator addresses |
| searchTerms | string\[] | One of urls or searchTerms | — | Words to search for. Each term runs on its own. |
| sortBy | string | No | `relevance` | `relevance`, `latest` or `popular` |
| category | string | No | `all` | One iQIYI channel, such as `movie`, `tv_series`, `anime` or `short_drama` |
| publishDate | string | No | `all_time` | `all_time`, `last_24_hours`, `last_7_days` or `last_30_days` |
| site | string | No | `all` | `all`, `iqiyi`, `qq`, `youku`, `sohu`, `letv`, `m1905` or `cntv` |
| quality | string | No | `all` | `all`, `hd`, `ultra_hd`, `720p` or `1080p` |
| maxItems | integer | No | 100 | Most videos for each search term, album or creator. `0` means everything available. |
| scrapeAdditionalInfo | boolean | No | `false` | Add interaction and uploader data. Adds one additional data event per video that has it. |

The filters apply to search terms only. A URL always returns what's at that address.

```json
{
    "searchTerms": ["隐秘的角落"],
    "sortBy": "popular",
    "category": "tv_series",
    "maxItems": 50,
    "scrapeAdditionalInfo": true
}
```

```json
{
    "urls": [
        "https://www.iqiyi.com/v_12vxqf0wkkw.html",
        "https://www.iqiyi.com/a_alcou1by21.html",
        "https://www.iqiyi.com/creator/1417086489"
    ],
    "maxItems": 20
}
```

### Output example

A creator's video with additional data:

```json
{
    "imageUrl": "https://pic2.iqiyipic.com/image/20260325/90/51/a_100788930_m_601_579_772.jpg",
    "id": "5924496141864900",
    "url": "https://www.iqiyi.com/v_1niil20qs2w.html",
    "videoTitle": "原来是变色龙在避雨啊",
    "albumPageUrl": "https://www.iqiyi.com/a_28fdjsrsru5.html",
    "albumTitle": "小小赛动漫菌y的2026年合集2",
    "albumId": "8287676726358401",
    "categoryId": 15,
    "categoryName": "儿童",
    "description": null,
    "heatCount": 278,
    "publishTime": 1776199377,
    "publishTimeString": "2026-04-15 04:42",
    "horizontalImageUrl": "https://pic2.iqiyipic.com/image/20260325/90/51/a_100788930_m_601_480_270.jpg",
    "firtFrameImageUrl": "https://m.iqiyipic.com/u8/image/20260415/cd/4c/pv_5924496141864900_d_616_720_1280.jpg",
    "rating": null,
    "ratingCount": null,
    "totalItemsInAlbum": 298,
    "actors": [],
    "uploaderName": "小小赛动漫菌y",
    "uploaderAvatar": "https://img7.iqiyipic.com/passport/20250826/98/70/passport_1704326987_175618326953486_130_130.jpg",
    "uploaderId": "1704326987",
    "likeCount": 956,
    "subCount": 613,
    "commentCount": 1,
    "uploaderVideoCount": 3691,
    "uploaderFollowerCount": 11705,
    "uploaderLocation": "贵州",
    "uploaderOrgName": "贵阳远岚网络科技有限公司"
}
```

An episode of a licensed series with additional data:

```json
{
    "imageUrl": "https://pic2.iqiyipic.com/image/20251204/ef/aa/a_100610350_m_601_m4_579_772.jpg",
    "id": "4066680038411100",
    "url": "https://www.iqiyi.com/v_12vxqf0wkkw.html",
    "videoTitle": "第1集 何贤码头炒外汇",
    "albumPageUrl": "https://www.iqiyi.com/a_alcou1by21.html",
    "albumTitle": "风与潮",
    "albumId": "1028075804671301",
    "categoryId": 2,
    "categoryName": "电视剧",
    "heatCount": 1940,
    "publishTime": 1765281302,
    "publishTimeString": "2025-12-09 19:55",
    "horizontalImageUrl": "https://pic2.iqiyipic.com/image/20251204/ef/aa/a_100610350_m_601_m4_480_270.jpg",
    "firtFrameImageUrl": null,
    "rating": 8.2,
    "ratingCount": 59423,
    "totalItemsInAlbum": 31,
    "actors": ["任嘉伦", "蓝盈莹", "李纯", "谭凯"],
    "uploaderName": null,
    "uploaderId": null,
    "likeCount": 6096,
    "subCount": 37894,
    "commentCount": 70313
}
```

This second example is shortened. Without additional data, rows stop at `actors`.

### How to use the iQIYI API in Python and JavaScript

**Python**

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_API_TOKEN>")

run = client.actor("parsebird/iqiyi-scraper").call(run_input={
    "searchTerms": ["隐秘的角落", "风与潮"],
    "sortBy": "popular",
    "maxItems": 100,
    "scrapeAdditionalInfo": True,
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["videoTitle"], item["heatCount"], item.get("likeCount"))
```

**JavaScript**

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

const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });

const run = await client.actor('parsebird/iqiyi-scraper').call({
    searchTerms: ['隐秘的角落', '风与潮'],
    sortBy: 'popular',
    maxItems: 100,
    scrapeAdditionalInfo: true,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => console.log(item.videoTitle, item.heatCount, item.likeCount));
```

Get your token in [Apify Console](https://console.apify.com/settings/integrations). See every option on the [API tab](https://apify.com/parsebird/iqiyi-scraper/api).

### Use cases

- **Audience tracking:** schedule a run to follow heat, likes and comments on a series over time.
- **Content research:** see what iQIYI lists for a topic, actor or genre, sorted by latest or most popular.
- **Catalogue building:** collect a series' episodes with their images, descriptions, cast and ratings.
- **Creator research:** compare iQIYI creators by followers, video count, region and organisation.
- **Licensing checks:** find which titles iQIYI lists from another video site with the site filter.

### How does iQIYI 爱奇艺 Scraper work?

1. It reads each URL and search term from your input.
2. It moves through search results, album episodes or a creator's videos until it reaches Max items or iQIYI has no more.
3. It skips videos it has already saved in this run.
4. It looks up each new video and, if you asked for additional data, its interaction counts and uploader.
5. It saves rows to your dataset as it goes, so a stopped run keeps its results.

### How much does it cost to scrape iQIYI?

iQIYI 爱奇艺 Scraper uses pay-per-event pricing. Compute and proxy costs are included in the event price.

| Event | Free | Bronze | Silver | Gold |
|-------|------|--------|--------|------|
| `result-scraped`, per 1,000 | **$4.99** | **$4.49** | **$3.99** | **$3.49** |
| `additional-data-scraped`, per 1,000 | **$0.99** | **$0.89** | **$0.79** | **$0.79** |

A result event fires for each video saved. An additional data event fires only when you turn on **Scrape additional info** and iQIYI has that data for the video. On the Free tier, 1,000 videos cost $4.99 without additional data and $5.98 with it. On Gold, the same runs cost $3.49 and $4.28.

Duplicates, addresses that return no video, and results dropped by the category or publish date filter cost nothing. To cap your spending, set a maximum cost per run in the run options. The run stops at that limit and keeps what it saved.

### Is it legal to scrape iQIYI?

iQIYI 爱奇艺 Scraper only collects data that iQIYI shows publicly, without logging in. Web scraping of public data is generally legal, but what you may do with the data depends on your purpose and your country. You can read more in [Is web scraping legal?](https://blog.apify.com/is-web-scraping-legal/)

Uploader names, avatars and locations can be **personal data**, so laws such as the GDPR and China's PIPL may apply if you store or use them. Titles, images and descriptions may be protected by copyright. Check iQIYI's terms too, and ask a lawyer if you are unsure. This section is not legal advice.

### Other scrapers you may like

- [Bilibili 哔哩哔哩 Scraper](https://apify.com/parsebird/bilibili-scraper): videos and creators from Bilibili
- [Kuaishou 快手 Scraper](https://apify.com/parsebird/kuaishou-scraper): short videos from Kuaishou
- [Kwai Scraper](https://apify.com/parsebird/kwai-scraper): short videos from Kwai
- [Toutiao 头条 Scraper](https://apify.com/parsebird/toutiao-scraper): articles and videos from Toutiao
- [NetEase Cloud Music Scraper](https://apify.com/parsebird/netease-cloud-music-scraper): music data from NetEase Cloud Music
- [Baidu 百度 Search Scraper](https://apify.com/parsebird/baidu-search-scraper): search results from Baidu

### FAQ

**Do I need an iQIYI account or an API key?**
No. The scraper only reads what iQIYI shows to any visitor. Nothing is read from behind a login.

**Does it download the videos?**
No. It saves data about each video and its address, not the video file.

**Why did my filtered search return nothing?**
iQIYI may have nothing that matches every filter. In our tests, `隐秘的角落` with TV series, latest, last 30 days, iQIYI only and HD returned nothing. The run logs a warning and charges nothing. Try fewer filters.

**Why are some results outside my category or date?**
They shouldn't be. iQIYI's search sometimes adds off-category titles and older videos to filtered results, so the scraper checks each row and drops them at no charge. If iQIYI doesn't list a publish time for a video, the date check can't apply to it.

**What does the Site filter do?**
It limits search results to titles iQIYI lists from another video site, such as Tencent Video or Youku. Each row comes from iQIYI's own record, and `url` is often an `so.iqiyi.com/links` redirect. It doesn't scrape the other site. Titles that iQIYI only links out to can have no like, favourite or comment counts.

**Does the Quality filter check the actual video?**
No. It passes your choice to iQIYI's search, and the row has no quality field. `ultra_hd` returned few or no results on some terms in our tests.

**Why is `subCount` so high on an episode?**
iQIYI often counts favourites on the whole show, so `subCount` can be the series total. A video's own favourite count is used when it has one.

**Why does a licensed series have no uploader?**
iQIYI lists uploaders for videos that users and creators publish. Licensed series and films usually have none, so those fields are `null`.

**Why is `firtFrameImageUrl` spelled that way?**
The name keeps output compatible with other iQIYI datasets. It holds the first frame image.

**Why did a video URL return nothing?**
iQIYI no longer has that video, or the address is wrong. The run logs a warning and doesn't charge for it.

**How many results can I get per search term?**
As many as iQIYI returns, up to Max items. iQIYI's search stops after a limited number of pages, and it varies by term, so very broad terms won't return everything iQIYI has.

**Can I schedule recurring runs?**
Yes. Use [Apify Schedules](https://docs.apify.com/platform/schedules) to run daily, weekly or at any interval.

**Something doesn't work. Where do I report it?**
Open a ticket on the [Issues tab](https://apify.com/parsebird/iqiyi-scraper/issues). Include your run link so we can look into it.

# Changelog

This Actor's version history is a separate document: https://apify.com/parsebird/iqiyi-scraper/changelog.md

# Actor input Schema

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

Paste iQIYI addresses: a video (iqiyi.com/v_12vxqf0wkkw.html), an album (iqiyi.com/a_alcou1by21.html) or a creator profile (iqiyi.com/creator/1417086489). Albums and creators return their videos, up to Max items for each one.

## `searchTerms` (type: `array`):

Enter what you would type into iQIYI's search box, such as a show, an actor or a topic. Each term runs on its own, up to Max items.

## `sortBy` (type: `string`):

Choose the order of search results. Applies to search terms only.

## `category` (type: `string`):

Limit search results to one iQIYI channel.

## `publishDate` (type: `string`):

Keep only videos published within this period, based on each video's publish time.

## `site` (type: `string`):

Limit search results to titles iQIYI lists from one video site. Data comes from iQIYI's own record, not the other site.

## `quality` (type: `string`):

Limit search results to a video quality.

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

Set the most videos to save for each search term, album or creator. Use 0 for everything available. A video URL always returns one video.

## `scrapeAdditionalInfo` (type: `boolean`):

Add uploader name, avatar, ID, location, organisation, follower and video counts, plus like, favourite and comment counts. Each video with this data counts as one additional data event.

## Actor input object example

```json
{
  "searchTerms": [
    "隐秘的角落"
  ],
  "sortBy": "relevance",
  "category": "all",
  "publishDate": "all_time",
  "site": "all",
  "quality": "all",
  "maxItems": 20,
  "scrapeAdditionalInfo": false
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# 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 = {
    "searchTerms": [
        "隐秘的角落"
    ],
    "maxItems": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("parsebird/iqiyi-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 = {
    "searchTerms": ["隐秘的角落"],
    "maxItems": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("parsebird/iqiyi-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 '{
  "searchTerms": [
    "隐秘的角落"
  ],
  "maxItems": 20
}' |
apify call parsebird/iqiyi-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parsebird/iqiyi-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/5wVrCxFMp7fiwWMsb/builds/LMOlqdynHDt2LZwof/openapi.json
