Baidu Search MCP server
Registry name: io.github.johnisanerd/baidu-search. Maintained by AlphaOSINT (Apify developer johnvc, GitHub johnisanerd).
What it does
Run Baidu web searches with device, location and time filters and get organic results and related search features as structured rows, paginated.
Baidu is the main search engine in mainland China and ranks very differently from Google. Use it for China SEO, market research and monitoring Chinese-language coverage.
Paid service on Apify’s hosted endpoint
This server is not self-hosted. It runs on Apify’s hosted MCP endpoint (mcp.apify.com), which starts the Apify Actor johnvc/Baidu-Search-Scraper for each tool call. You need an Apify account, and every call is billed to that account at the Actor’s prices below. Apify’s own pricing and terms apply to the account.
| Charge | Price (USD) | What it covers |
|---|---|---|
| Search Start | $0.012 | One-time setup fee per Actor run |
| Page Processed | $0.02 | Fee per page of search results processed. This returns a single page of search results. |
Prices shown are Apify’s free-plan rates; paid Apify plans get lower per-event prices. Apify also bills a token amount per run start and per stored row ($0.00001). Prices change from time to time; the Actor’s page on Apify shows the current ones.
Data source and terms
Baidu public search results, collected by scraping. The server returns the data as published at the time of the call. You are responsible for using it in line with the source’s terms and the laws that apply to you. AlphaOSINT is not affiliated with the source.
Endpoint
- Transport: Streamable HTTP
- URL:
https://mcp.apify.com/?tools=johnvc/Baidu-Search-Scraper - Auth: Apify OAuth, or
Authorization: Bearer <APIFY_TOKEN>
Setup
Claude Code
claude mcp add --transport http baidu-search "https://mcp.apify.com/?tools=johnvc/Baidu-Search-Scraper"
VS Code (.vscode/mcp.json)
{
"servers": {
"baidu-search": {
"type": "http",
"url": "https://mcp.apify.com/?tools=johnvc/Baidu-Search-Scraper"
}
}
}
Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"baidu-search": {
"url": "https://mcp.apify.com/?tools=johnvc/Baidu-Search-Scraper"
}
}
}
Claude Desktop (Settings → Connectors → Add custom connector, paste the URL). Older versions without remote connectors can bridge through mcp-remote in claude_desktop_config.json:
{
"mcpServers": {
"baidu-search": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.apify.com/?tools=johnvc/Baidu-Search-Scraper"
]
}
}
}
Each client opens an Apify sign-in (OAuth) on first use. To use a token instead, send Authorization: Bearer <APIFY_TOKEN> as a header; create one under Apify Console → Settings → API & Integrations.
Tools
| Tool | What it does |
|---|---|
johnvc--Baidu-Search-Scraper |
Runs the Actor with the parameters below and returns the result rows. |
get-actor-run |
Status of a run started by the tool, for long runs. |
get-dataset-items |
Pages through a run’s full output by datasetId when it is larger than the inline result. |
get-key-value-store-record |
Reads a record a run stored, such as a run report. |
abort-actor-run |
Stops a run. |
Apify’s endpoint adds the four helper tools automatically whenever an Actor tool is loaded.
Parameters of johnvc--Baidu-Search-Scraper
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
query |
string | yes | "python tutorial" |
The search term to search for on Baidu. |
device |
string: desktop, mobile, tablet | "desktop" |
The device type to simulate for the search. | |
localization |
integer | 1 |
Language filter for results. 1 = All languages (default), 2 = Simplified Chinese only, 3 = Traditional Chinese only. | |
page |
integer | 1 |
The starting page number for search results (default: 1). | |
num_results |
integer | 10 |
Number of results to retrieve per page (max 50, default: 10). | |
time_period |
string | Filter results by date range using Unix timestamps. Format: ‘stf=START_UNIX,END_UNIX|stftype=1’. Example for last 7 days: ‘stf=1748994000,1749600000|stftype=1’. Leave blank to get results from all dates. | ||
max_pagination |
integer | 3 |
Maximum number of pages to fetch (0 = no limit, default: 3 to avoid too many requests). | |
output_file |
string | Optional filename to save results. If not provided, will auto-generate based on query and parameters. |
Example arguments:
{
"helloWorld": 123
}
Output
The tool returns JSON rows with these fields.
| Field | Type | Description |
|---|---|---|
query |
string | The search term submitted to Baidu. |
device |
string | Device used for the search: desktop, mobile, or tablet. |
localization |
integer | Language filter. 1=All, 2=Simplified Chinese, 3=Traditional Chinese. |
page |
integer | First page of results fetched. |
num_results |
integer | Number of results requested per page. |
max_pagination |
integer | Maximum pages fetched (0 = unlimited). |
pages_processed |
integer | Number of result pages actually fetched. |
total_results_found |
integer | Total number of organic results returned across all pages. |
search_timestamp |
string | ISO 8601 timestamp of when the search was executed. |
search_metadata |
object | Run configuration and pagination summary. |
pagination_info |
object | Details about pages fetched: total pages, current page, limit reached. |
organic_results |
array | List of organic search results with title, URL, snippet, position, and rich data. |
answer_box |
array | Direct answer results shown above organic listings. |
related_videos |
array | Video results shown on the search page. |
people_also_search_for |
array | Related query suggestions shown by Baidu. |
related_searches |
array | Related search queries listed at the bottom of the page. |
top_searches |
array | Trending search terms surfaced by Baidu. |
time_period |
string | Unix timestamp range filter used for the search, if any. |
Links
- Actor on Apify: johnvc/Baidu-Search-Scraper
- Data source page on AlphaOSINT: /sources/baidu-cost-effective-baidu-search/
- All AlphaOSINT MCP servers: /mcp/