# Baidu Scraper (`ivanvs/baidu-scraper`) Actor

Scrape search results from Baidu without any limits! Export your search result data into XML, JSON, CSV or Excel!

- **URL**: https://apify.com/ivanvs/baidu-scraper.md
- **Developed by:** [Gen First](https://apify.com/ivanvs) (community)
- **Categories:** SEO tools, Automation, Lead generation
- **Stats:** 30 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: 1.00 out of 5 stars

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Baidu Scraper

Scrape results from [Biadu](https://www.baidu.com/) easily with Baidu Scraper.

### About

Baidu, Inc. is a Chinese multinational technology company specializing in Internet services and artificial intelligence. It holds a dominant position in China's search engine market (via Baidu Search), and provides a wide variety of other internet services such as Baidu App (Baidu's flagship app for search and newsfeed), Baidu Baike (an online user created Wikipedia-like encyclopedia), iQIYI (a video streaming service), and Baidu Tieba (a keyword-based discussion forum similar to Reddit).

Besides its core internet search business, Baidu has diversified into several high-growth areas. The company is a player in autonomous driving (Baidu Apollo), and smart consumer electronics (Xiaodu). With over a decade of investment in artificial intelligence, Baidu is one of the few tech companies globally to offer a full-service AI stack, including software, chips, cloud infrastructure, foundation models, and applications.

### Why should you use it?

It provides the realtime scraping of products from Baidu, without requiring any other configuration and without any limits.

### How to use it?

Baidu Scraper has number of input parameters that can be used.

| Input parameter | Description                                        | Required | Default value    |
| --------------- | -------------------------------------------------- | -------- | ---------------- |
| query           | Search that you want to execute                    | `true`   | `Java Developer` |
| maxRecords      | Maximum number of results that needs to be scraped | `false`  | 100              |

#### Examples

##### Input

Scrape search results for query "Java Developer" maxium 100 results:

```json
{
  "query": "Java Developer",
  "maxRecords": 100
}
```

##### Output

```json
{
  "id": 16,
  "title": "Java Development Freelance Jobs: Work Remote & Earn Online",
  "url": "http://www.baidu.com/link?url=hV0uvVTbppJgV8QW0PDXgvw3fOf_RrlPt2-542t2Wb10xcVUcBF4gNcakXh-zFLzmRP8uf4wie8yV1kvRZajZK",
  "targetUrl": "https://www.interviewbit.com/blog/java-developer/",
  "description": "What is <em>Java</em> <em>Developer</em>? Jobs Based on Skills As a Java Developer, you will have opportunities to work with more than 64,000 MNCs who have a massive percentage of their products either made or supported by <em>java</em> coded software. Though there has been a rise in the popularity of coding languag...",
  "source": "www.upwork.com/freelance-jobs/java..."
}
```

### Baidu Scraper data output

The output from Baidu Scraper is stored in the dataset. After the run is finished, you can download the dataset in various data formats (JSON, CSV, XML, RSS, HTML Table).

### ❓FAQ

#### Do I need proxies to scrape search results from Baidu Scraper?

Proxy for this scraper is already preconfigured for optimal performance.

### Support

For more custom/simplify outputs or Bug report please contact the developer (support (at) getmediumdata.com) or report an issue.

# Actor input Schema

## `query` (type: `string`):

Search that you want to execute

## `maxRecords` (type: `integer`):

Maximum number of records to be scraped

## Actor input object example

```json
{
  "query": "java developer",
  "maxRecords": 10
}
```

# 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 = {
    "query": "java developer",
    "maxRecords": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("ivanvs/baidu-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 = {
    "query": "java developer",
    "maxRecords": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("ivanvs/baidu-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 '{
  "query": "java developer",
  "maxRecords": 10
}' |
apify call ivanvs/baidu-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ivanvs/baidu-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/40LyeeEVZhQahjm4W/builds/MdcX8RC20bKFMGo3g/openapi.json
