Baidu Search Scraper — China SERP Results API
Pricing
from $15.00 / 1,000 baidu serp pages
Baidu Search Scraper — China SERP Results API
Scrape Baidu (百度) search results pages — organic ranks, titles, real URLs, snippets, ads, related queries, and answer boxes. China Residential proxy recommended. MCP-ready.
Pricing
from $15.00 / 1,000 baidu serp pages
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
6 days ago
Last modified
Categories
Share
Scrape Baidu (百度) search results into structured JSON for China SEO rank tracking, competitor research, and AI agents. One dataset row per SERP page with organic ranks, titles, destination URLs, snippets, ads, related searches, and answer boxes.
Built for Apify: run via Console, API, schedules, or MCP (apify--scrape-baidu-serp). Pay per SERP page + platform usage.
Best fit for this Actor
- Use this Actor when you need structured Baidu SERP rows for Chinese keyword rankings, competitor visibility, or agent enrichment.
- Prefer Simplified Chinese queries and Apify Residential proxies with country CN for stable yield.
- Start with the Console prefill (
苹果手机), confirm organic positions andsource=baidu-native, then raisemaxPagesPerQueryfor deeper pages. - For Google (global) SERP workflows, continue with Google SERP Scraper when you need organic Google results outside Baidu.
- For a fuller Google SERP surface (ads, AI Overviews, PAA, local pack), then use Google SERP All-in-One.
Practical scenario
A China SEO analyst tracks 苹果手机 and 北京旅游 weekly. They paste both queries, keep maxPagesPerQuery at 1, enable resolveRealUrls, and download the dataset. Each row gives organic position, title, real destination URL, ads, and related searches so the team can spot rank moves and competitor ad presence before updating a client report.
Quick start input
{"queries": ["苹果手机", "北京旅游"],"maxPagesPerQuery": 1,"device": "desktop","includeAds": true,"includeRelatedSearches": true,"resolveRealUrls": true,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "CN"}}
Provide keyword queries, direct baidu.com/s?wd=... URLs via startUrls, or both. At least one is required. Prefer Simplified Chinese keywords.
What data you get
| Field | Description |
|---|---|
search_query | Keyword you searched |
results_page / pn_offset | Page number and Baidu pn offset |
organic_results[] | position, title, url, baidu_redirect_url, display_url, domain, snippet, date |
ad_results[] | Commercial / 广告 blocks when present |
related_searches[] | 相关搜索 suggestions |
answer_box | 百科 / exact-answer box when present |
total_results_hint | Baidu result-count hint text when available |
source | Always baidu-native on this build |
Example output (one SERP page)
{"search_query": "苹果手机","results_page": 1,"pn_offset": 0,"device": "desktop","organic_results": [{"position": 1,"title": "苹果手机官网","url": "https://www.apple.com.cn/","snippet": "官方介绍…","domain": "www.apple.com.cn"}],"ad_results": [],"related_searches": ["苹果手机报价", "华为手机"],"answer_box": null,"source": "baidu-native","scraped_at": "2026-09-17T12:00:00.000Z"}
OUTPUT and RUN_SUMMARY in the default key-value store hold outcome, itemsPushed, and charged event counts. Download the dataset as JSON, CSV, Excel, or HTML.
How to use
- Open the Actor in Apify Console
- Enter Simplified Chinese queries (e.g.
苹果手机) or pastebaidu.com/s?wd=...URLs - Keep Proxy on Apify Residential + country CN
- Start the Actor and download JSON / CSV from the dataset
Pricing
This Actor uses Pay per event plus Apify platform usage. The live Pricing tab is the current source of truth for billing details.
| Event | Price |
|---|---|
| Actor start | $0.00005 |
serp-page (primary) | $0.015 per successful Baidu results page |
A one-query, one-page sample with one accepted row is one serp-page event plus start and platform usage. Pages that return no parseable SERP skip the primary event.
Use through the API
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~scrape-baidu-serp/runs" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"queries":["苹果手机"],"maxPagesPerQuery":1,"resolveRealUrls":true,"proxyConfiguration":{"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"],"apifyProxyCountry":"CN"}}'
CLI alternative:
$apify call khadinakbar/scrape-baidu-serp --input='{"queries":["苹果手机"],"maxPagesPerQuery":1}'
Use with AI agents through Apify MCP
Scrape Baidu SERP for 苹果手机. Return organic_results with position, title, url, and snippet. Read the dataset overview view and OUTPUT.outcome after the run. Budget: one page is about $0.015 event plus Residential CN platform usage. Scope: public Baidu search HTML only. Provenance: source equals baidu-native with scraped_at.
Connect via https://mcp.apify.com. MCP tool: apify--scrape-baidu-serp — pass queries (or aliases query / keywords). Keep maxConcurrency low on the first call.
Best results
- Prefer Simplified Chinese keywords for China SEO intent
- Use Residential CN proxies; non-CN routes often challenge more often
- Keep
maxConcurrencylow (one or two workers) while confirming yield - Set
resolveRealUrls: falsewhen Baidu redirect links are enough (faster, less proxy transfer) - Confirm
OUTPUT.outcomeanditemsPushedbefore treating an empty dataset as finished work
Builder's note
I found that Baidu mobile HTML on m.baidu.com was chronically challenge-heavy from Apify Residential, so this build keeps a single www.baidu.com/s path and only swaps the User-Agent for device=mobile. I also found that Baidu pagination uses pn = (page - 1) * rn rather than a page index, and that coupling Actor.charge('serp-page') to each validated page write keeps billing aligned with useful SERP rows.
Responsible use
Use only for lawful collection and analysis of public Baidu search pages you are authorized to access. Follow applicable laws and Baidu’s terms. Baidu and 百度 are trademarks of Baidu, Inc. This independent Actor is not affiliated with, associated with, or endorsed by Baidu Inc.
Support
Open an issue on the Actor’s Issues tab for feedback or custom workflow help.