用途说明
搜狗图片(pic.sogou.com)有个搜索接口,虽然官方没明确开放给个人开发者,但接口本身能直接访问,返回 JSON 格式数据,可以用来做图片搜索、壁纸抓取、内容采集这类项目。不需要 API key,直接 GET 请求即可。

接口地址
https://pic.sogou.com/napi/pc/searchList?mode=20&start=(页数)&xml_len=48&query=(关键词)
实例:
# 搜手机壁纸,第 1 页
curl "https://pic.sogou.com/napi/pc/searchList?mode=20&start=0&xml_len=48&query=手机壁纸"
# 第 2 页(start=48,因为每页 48 张)
curl "https://pic.sogou.com/napi/pc/searchList?mode=20&start=48&xml_len=48&query=手机壁纸"
参数说明
| 参数 | 必填 | 说明 |
|---|---|---|
mode |
是 | 固定值 20 |
start |
是 | 起始索引,0/48/96... 翻页用 |
xml_len |
是 | 每页数量,推荐 48 |
query |
是 | 搜索关键词,需要 URL encode |
返回 JSON 字段
返回结构里图片数据在 data.items[] 数组,关键字段:
title—— 图片名称(搜索结果显示的描述)picUrl—— 图片原始地址(直链下载用这个)thumbUrl—— 搜狗 CDN 缩略图地址(列表展示用)publishmodified—— 图片被搜狗收录的时间url—— 图片所在网页地址(原始来源)link—— 搜狗图片详情页地址
Python 调用示例
import requests
import urllib.parse
def search_sogou_images(query, page=0, per_page=48):
base_url = "https://pic.sogou.com/napi/pc/searchList"
params = {
"mode": 20,
"start": page * per_page,
"xml_len": per_page,
"query": query
}
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
"Referer": "https://pic.sogou.com/"
}
resp = requests.get(base_url, params=params, headers=headers, timeout=10)
resp.raise_for_status()
data = resp.json()
items = data.get("data", {}).get("items", [])
return [
{
"title": item.get("title"),
"url": item.get("picUrl"),
"thumb": item.get("thumbUrl"),
"from": item.get("url")
}
for item in items
]
# 用法
results = search_sogou_images("手机壁纸", page=0)
for r in results[:5]:
print(r["title"], "→", r["url"])
Node.js 调用示例
async function searchSogouImages(query, page = 0, perPage = 48) {
const url = new URL('https://pic.sogou.com/napi/pc/searchList');
url.searchParams.set('mode', '20');
url.searchParams.set('start', String(page * perPage));
url.searchParams.set('xml_len', String(perPage));
url.searchParams.set('query', query);
const resp = await fetch(url, {
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)',
'Referer': 'https://pic.sogou.com/'
}
});
const data = await resp.json();
return (data?.data?.items || []).map(item => ({
title: item.title,
url: item.picUrl,
thumb: item.thumbUrl,
from: item.url
}));
}
// 用法
searchSogouImages('风景').then(list => console.log(list.slice(0, 5)));
注意事项
1. 加 Referer / User-Agent。不带这俩 header 时,搜狗有可能直接返 403。推荐固定带上桌面浏览器 UA + Referer: https://pic.sogou.com/。
2. 不要高频请求。这是搜狗内部接口,IP 同源大量请求会被风控,5 秒一次的频率比较保险。批量抓的话:
import time
import random
for page in range(0, 10):
results = search_sogou_images("壁纸", page=page)
print(f"第 {page} 页:", len(results), "张")
time.sleep(random.uniform(2, 5)) # 2-5 秒随机延迟
3. 接口随时可能变。这是非公开接口,搜狗任何时候改路径或参数都不通知。生产项目里依赖这个会有维护风险。
4. 图片版权。返回的图片来自搜狗抓取的全网公开图,商用前务必检查原图来源的授权许可,不能直接拿来作为自家网站的图片素材分发。
替代方案
如果有正经商业图片需求:
- Unsplash API —— 免费,可商用,5000 请求/小时,英文检索友好
- Pexels API —— 免费,200 请求/小时
- Pixabay API —— 免费,中文检索 OK
- Bing 图片搜索 API(微软)—— 付费,质量最高
这些都是合法的开放 API,带 key 调用,商用合规。搜狗这种内部接口适合个人项目 / 学习用途。
—— 别看了 · 2026