搜狗图片搜索官方API接口返回json格式

用途说明

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

搜狗图片搜索官方API接口返回json格式

接口地址

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
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理 邮箱1846861578@qq.com。
技术教程

分析使用全国各地三大运营商的speedtest 测速节点进行全面测速脚本

2023-11-22 14:07:26

技术教程

超好看的Typora自定义主题分享 (Mac风格图片立体感)

2023-12-4 18:07:31

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索