
Website Content Crawler
scrape.ly/store/querystone/website-content-crawlerAIDeveloper tools
1 monthly user

Scrape Baidu search results for any keyword: organic results with title, real URL, snippet, source and date, plus related searches, Baidu's AI answer, ads and hot searches. Desktop or mobile rankings, time and site filters. No login needed.
Scrape Baidu (百度) search results for any keyword, in Chinese or English. You get every organic result with its title, real destination URL, snippet, source and date, plus related searches, Baidu's AI answer, ads and the hot-search list. Pick desktop or mobile rankings, filter by date or website, and export to JSON, CSV or Excel. No login, no Chinese phone number, and a typical 3-page search finishes in about 10 seconds.
baidu.com/link?url=... redirect. The scraper gives you the final website URL and its domain.| Field | What it does |
|---|---|
queries | Search terms or Baidu search URLs (https://www.baidu.com/s?wd=..., https://m.baidu.com/s?word=...), one per line. |
maxResultsPerQuery | Organic results per search term (1 to 750, default 20). |
device | desktop (www.baidu.com, default) or mobile (m.baidu.com). |
timeRange | any, day, week, month or year. |
dateFrom / dateTo | Exact date range (YYYY-MM-DD, China time). Overrides the time range. |
site | Only results from one domain, for example zhihu.com. |
exactPhrase | Search for the exact phrase. |
includeAds | Save desktop ads (default on). |
includeTopSearches | Save Baidu's hot-search list from the first desktop page (default off). |
proxyConfiguration | Datacenter proxy by default. |
{
"queries": ["python tutorial", "人工智能"],
"maxResultsPerQuery": 20,
"device": "desktop",
"timeRange": "week"
}
Each dataset item is one Baidu results page.
| Field | Description |
|---|---|
searchQuery | term, page, device (desktop or mobile) and the Baidu url of the page. |
organicResults[] | position (across pages), title, url (the real website URL), domain, snippet, source (site name or displayed URL), date, type (organic or Baidu's card type such as sg_kg_entity_san for Baike), sitelinks. |
relatedSearches[] | query and its Baidu url. |
answerBox | Baidu's AI answer on the first page (text, sources), when Baidu shows one. |
ads[] | Desktop paid listings: title, advertiser, click url. |
topSearches[] | Hot searches (position, text, url), when includeTopSearches is on. |
hasNextPage | Whether Baidu offers another page. |
note | Set when a desktop page had to come from the mobile layout. |
Example (one page, trimmed):
{
"searchQuery": {
"term": "python tutorial",
"page": 1,
"device": "desktop",
"url": "https://www.baidu.com/s?wd=python+tutorial&ie=utf-8"
},
"organicResults": [
{
"position": 1,
"title": "The Python Tutorial — Python 3.15.0 documentation",
"url": "https://docs.python.org/3/tutorial/",
"snippet": "The Python Tutorial Tip This tutorial is designed for programmers that are new to the Python language, not beginners who are new to programming...",
"source": "Python官方文档",
"type": "organic",
"domain": "docs.python.org"
},
{
"position": 2,
"title": "Python 基础教程 | 菜鸟教程",
"url": "https://www.runoob.com/python/python-tutorial.html",
"snippet": "Python 3.0+ 版本已经把 print 作为一个内置函数,输出 \"Hello World!\" 代码如下: 实例(Py...",
"source": "www.runoob.com/python/py...",
"date": "2019年1月2日",
"type": "organic",
"domain": "www.runoob.com"
}
],
"relatedSearches": [
{
"query": "python在线编程网站推荐",
"url": "https://www.baidu.com/s?wd=python%E5%9C%A8%E7%BA%BF%E7%BC%96%E7%A8%8B%E7%BD%91%E7%AB%99%E6%8E%A8%E8%8D%90"
}
],
"answerBox": {
"type": "ai_answer",
"text": "最直接的入口是官方教程:Python 官方教程,适合从基础语法到标准库快速入门。..."
},
"ads": [
{
"title": "TRAE-智能编写python",
"advertiser": "北京引力弹弓科技有限公司",
"url": "https://www.baidu.com/baidu.php?url=..."
}
],
"hasNextPage": true,
"scrapedAt": "2026-10-21T06:19:21Z"
}
You pay $0.015 per results page saved ($15 per 1,000 pages), plus a small amount of platform usage (compute and proxy traffic, about $0.0003 to $0.0006 per page in our tests). There is no start fee.
Pages that fail or come back empty are not charged. Set a maximum charge per run and the scraper stops cleanly when it is reached.
Is it legal to scrape Baidu? The scraper only collects what Baidu shows to any visitor without logging in. Check the rules that apply to you and how you use the data, especially for personal data.
Do I need a Baidu account, a Chinese phone number or my own proxy? No. The scraper works without login, and the built-in datacenter proxy is the default.
How many results can I get per search term? Baidu serves at most about 76 desktop pages (roughly 750 results) per search, and many searches end sooner. The mobile layout shows at most 8 pages (about 70 results). The run tells you when Baidu had fewer results than you asked for.
Why is a field empty? Baidu does not show a date or a snippet for every result, and AI answers, ads and hot searches only appear on some searches. Empty fields are left out of the item.
What happens when Baidu shows a security check?
Each page is retried on fresh connections with the browser fingerprints that work best. When the datacenter exits keep getting the check, the retries move to residential exits in Hong Kong (a little residential traffic, billed as usage). If a desktop page stays blocked, that page is taken from the mobile layout and marked with note. Searches that still fail are listed in the run's OUTPUT record and are not charged.
Can I schedule it or use the API? Yes. Schedule runs in the console, or start them over the API and read the dataset as JSON, CSV or Excel.
首页 - 华为商城, so every title says what the page is.maxResultsPerQuery stops at 750. Split a broad search into narrower ones to get more.Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
queriesarrayOptionalSearch terms or Baidu URLs
One search term or Baidu search URL (https://www.baidu.com/s?wd=... or https://m.baidu.com/s?word=...) per line. Chinese and English terms both work. Duplicates are searched once.
maxResultsPerQueryintegerOptionaldefault 20Max results per query
Organic results to collect for each search term. Baidu shows about 7 to 10 results per page, so the scraper fetches as many pages as needed and stops early when Baidu has no more. Baidu serves at most about 76 pages per search.
deviceenumOptionaldefault "desktop"Results layout
Desktop gives the rankings of www.baidu.com, with ads and Baidu's hot searches. Mobile gives the rankings of m.baidu.com, which most people in China see. When Baidu blocks a desktop page several times in a row, that page is taken from the mobile layout instead and marked in the output.
Narrow the results by date or website. Filters apply to every search term.
timeRangeenumOptionaldefault "any"Time range
Only results Baidu dates within this period. Ignored when a date from or date to is set.
dateFromstringOptionalDate from
Only results from this day on (YYYY-MM-DD, China time). Leave empty for no lower bound.
dateTostringOptionalDate to
Only results up to this day (YYYY-MM-DD, China time). Leave empty for up to today.
sitestringOptionalOnly this website
Restrict results to one domain with Baidu's site: operator, for example zhihu.com.
exactPhrasebooleanOptionaldefault falseExact phrase
Wrap each search term in quotes so Baidu matches the exact phrase.
Extra blocks saved with each results page.
includeAdsbooleanOptionaldefault trueInclude ads
Save the paid listings Baidu shows on desktop pages (title, advertiser, click link) in an ads list. Mobile pages carry no ads.
includeTopSearchesbooleanOptionaldefault falseInclude hot searches
Save Baidu's trending searches list (热搜榜) from the first desktop page of each search term.
maxConcurrencyintegerOptionaldefault 10Max concurrency
How many result pages are loaded at the same time.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Proxy used to reach Baidu. Datacenter is the default and the cheapest; every page request uses a fresh exit. When datacenter exits keep getting Baidu's security check, retries automatically use residential exits in Hong Kong. Residential without a country uses Hong Kong exits.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| searchQuery | object | |
| organicResults | array | |
| relatedSearches | array | |
| answerBox | object | |
| ads | array | |
| topSearches | array | |
| correctedQuery | string | |
| resultsTotal | number | |
| hasNextPage | boolean | |
| scrapedAt | string | |
| note | string |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Results page | One page of Baidu search results (about 10 organic results plus related searches) saved to the dataset. | $0.015 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('querystone/baidu-scraper').call({
"queries": [
"python tutorial",
"人工智能"
],
"maxResultsPerQuery": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run querystone/baidu-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=querystone/baidu-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Desktop Baidu results for 人工智能 limited to the past 7 days.
m.baidu.com results for an English and a Chinese search term.
Results for 机器学习 restricted to zhihu.com with the site filter.
Paste a Baidu search URL instead of a search term.
Huawei phone results with Baidu's hot-search list and no ads.
Desktop results across about six pages for one search term.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.