Livid
403.84D
566.44D
V2EX  ›  Google

Google 有一个可以获取任意网站图标的 API

  •  2
     
  •   Livid ·
    PRO
    · Jul 18, 2025 · 11517 views
    This topic created in 475 days ago, the information mentioned may be changed or developed.
    https://www.google.com/s2/favicons?sz=96&domain_url=www.v2ex.com
    

    https://www.google.com/s2/favicons?sz=32&domain_url=www.v2ex.com
    

    能根据尺寸需求自动选择不同的图片来源。

    45 replies  •  2026-01-24 11:20:35 +08:00
    dejavv
    dejavv
    Jul 18, 2025
    1
    不错哇,省的不规范的网站不好找了
    cmos
    cmos
    Jul 18, 2025
    2
    `Chrome Extensions`有类似的 API ,也是差不多功能,但是不知道出于什么原因,被谷歌藏起来了。
    w568w
    w568w
    Jul 18, 2025
    3
    这个和 <site>/favicon.ico 有什么区别吗,能检查网站的 metadata ?
    512357301
    512357301
    Jul 18, 2025 via Android
    5
    油猴默认模板里有这个,只是好奇为啥这个域名没被墙,哈哈哈
    Mystery0
    Mystery0
    Jul 18, 2025 via Android
    6
    @w568w 不是所有网站的 ico 都是这个文件呀,不是 metadata 里面定义的吗
    AlphaTr
    AlphaTr
    Jul 18, 2025❤️1
    7
    https://github.com/mat/besticon 这个开源项目也提供类似的功能
    xiaoming1992
    xiaoming1992
    Jul 18, 2025 via Android
    8
    size 从 96 改成 192 ,结果响应我一个很小的图片。明明 v 站有 192 大小的 icon
    skiy
    skiy
    Jul 18, 2025
    9
    早就知道了。。。之前写导航站时搞过。
    DiamondYuan
    DiamondYuan
    Jul 18, 2025❤️1
    10
    @w568w 可以保护隐私,避免被 domain_url 知道你访问他。
    Rennen
    Rennen
    Jul 18, 2025❤️2
    11
    https://icons.duckduckgo.com/ip3/www.google.com.ico

    感觉 duckduckgo 的 API 用的也蛮多
    iFrey
    iFrey
    Jul 18, 2025 via iPhone❤️2
    12
    Favicon.is 推荐下自己
    BeCool
    BeCool
    PRO
    Jul 18, 2025❤️9
    13
    Google 对于新站可能展示不了,并且缓存时间久。
    所以去年开发了 https://favicon.im 部署于 cloudflare 上,支持默认尺寸(在页面上找到的第一个)和 larger 。
    现在每月 serve 的请求数大于三千万次。
    FrankAdler
    FrankAdler
    Jul 18, 2025 via Android
    14
    之前做一个功能,自己猜 icon 文件路径或者抓 html 分析😂
    512357301
    512357301
    Jul 18, 2025 via Android
    15
    @512357301 露怯了,原来也被墙了,只是我浏览器开了代理所以无感😓
    ZxBing0066
    ZxBing0066
    Jul 18, 2025
    16
    https://blog.heyfe.org/blog/chrome-extension-favicon

    之前做 chrome 插件的时候整理过,manifest v2 、Google 、duckduckgo 。
    est
    est
    Jul 18, 2025
    17
    以前 gmail 的 favicon 直接展示未读邮件数量。
    dufu1991
    dufu1991
    Jul 18, 2025
    18
    我的 Mac 上 Chrome 默认新标签页上的 ico 不清晰,看了下地址是 chrome://favicon2/?size=24&scaleFactor=1x&showFallbackMonogram=&pageUrl=https%3A%2F%2Fv2ex.com%2F ,大小是 24 ,手动改成 48 就会清晰很多,说明大尺寸浏览器是已经存储了的,但是默认才 24 ,而且没有设置的地方,看着就很烦,就因为这点细节没处理好弃用了。你们的清晰吗?
    KaynWASD
    KaynWASD
    Jul 18, 2025
    19
    @BeCool 老哥这个能挣钱吗
    elevioux
    elevioux
    Jul 18, 2025 via Android
    20
    之前用 ai 写个书签工具时,ai 自己吐出来了
    BeCool
    BeCool
    PRO
    Jul 18, 2025❤️2
    21
    @wasd6267016 不需要所有工具都赚钱,成为一个基础设施也挺好。另外 cloudflare 给了赞助,所以目前没有账单。
    bxb100
    bxb100
    Jul 18, 2025
    22
    其实 raycast 总结过了

    Apple: This provider makes use of Apple’s Link Presentation framework which tries to directly find the favicon on the domain’s server from the client.
    DuckDuckGo: This provider makes use of DuckDuckGo’s public endpoint.
    Google: This provider makes use of Google’s public endpoint at https://google.com/s2/favicons.
    Raycast: This provider makes use of our own public endpoint at https://api.ray.so/favicons. It’s open source as well.
    ano
    ano
    Jul 19, 2025
    23
    有用。好奇怎么发现的
    lca261224
    lca261224
    Jul 19, 2025
    24
    并非任意网站,有少部分网站不支持,我记得小红书就不支持这个方法获取图标,而且获取的图标也不一定有你想要的清晰度,比如 github 的图标我记得就只有一张非常糊的图标
    3276074454643Sj
    3276074454643Sj
    Jul 19, 2025
    25
    我做导航网站的时候,搜集了一部份,自己也在用,我放这里了,可以自取: https://tabboard.com/zh/developer/favicon-api
    jchencode
    jchencode
    Jul 19, 2025
    26
    哇哦,感谢科普
    3276074454643Sj
    3276074454643Sj
    Jul 19, 2025
    27
    @3276074454643Sj 发错了地址,这里才对: https://tabboard.com/zh/developer/api
    bowencool
    bowencool
    Jul 19, 2025
    28
    @ano #23 油猴脚本大部分用的都是这个 API
    cat1879
    cat1879
    Jul 20, 2025
    29
    其实用得很少吧,直接打开风站按 F12 也能找到
    semxau789
    semxau789
    Jul 20, 2025
    30
    反馈一个问题:

    https://favicon.im/zh/neal.fun

    取的图标是错误的,同样的链接,Google 没问题
    lizhenda
    lizhenda
    Jul 20, 2025
    31
    厉害咯,回帖收集到很多不同的方案
    ethusdt
    ethusdt
    Jul 20, 2025
    32
    很多油猴脚本就是用这个方法:

    // @icon https://www.google.com/s2/favicons?sz=64&domain=youtube.com
    BeCool
    BeCool
    PRO
    Jul 20, 2025
    33
    @semxau789 我看了一下,返回的图片是一致的。
    katana97
    katana97
    Jul 21, 2025
    34
    之前让 AI 帮我写油猴子脚本的时候就发现了,他直接用谷歌帮我获取了网站 icon
    ollama
    ollama
    Jul 21, 2025
    35
    路过。这干什么用的?
    semxau789
    semxau789
    Jul 21, 2025
    36
    hausen
    hausen
    Jul 21, 2025
    37
    @BeCool #13 老哥对于实在获取不到的网站,是不是得搞一个默认图标,我这直接 504 ,使用图片懒加载导致一直转圈圈
    yodi
    yodi
    Jul 21, 2025
    38
    不懂就问,直接 https://目标 hostname/favicon.ico 不就有了吗,为啥要用这个?
    abelce
    abelce
    Jul 21, 2025
    39
    @yodi 有些站点的 facvicon 只能自己的域名访问,名字还不一定叫 favicon.ico ,需要解析 header 头里的 icon 来确定
    yodi
    yodi
    Jul 21, 2025
    40
    @abelce 原来如此,谢谢科普
    BeCool
    BeCool
    PRO
    Jul 21, 2025
    41
    @hausen 是有返回默认图标的。但会有其他异常,建议前端也做一个 fallback ,img 有一个 error 事件,可以用来替换成默认图标。
    BeCool
    BeCool
    PRO
    Jul 22, 2025
    42
    @semxau789
    理解了,因为目前 favicon 是域名级别的,会忽略传入的路径,只取 host 首页去获取,因为内页 favicon 不同比较少。这里我去做下支持。
    lypdarling
    43
    @BeCool 请问下如果一个网站没有找到 favicon ,会有 fallback 措施吗?
    Livid
    Livid
    MOD
    OP
    PRO
    Jan 24❤️1
    44
    @BeCool 如果需要 test case 的话,V2EX 的每一个 /go/:node_name 页面的 favicon 和 touch icon 都不一样:

    https://www.v2ex.com/go/python
    https://www.v2ex.com/go/wunder
    https://www.v2ex.com/go/retro
    BeCool
    BeCool
    PRO
    Jan 24
    45
    @lypdarling 目前会返回一个默认 favicon 。我会支持下添加 default-avatar 参数指定默认,或者用 throw-error=true 让调用者可以在前端直接用 onerror 替换。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4724 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 767ms · UTC 08:25 · PVG 16:25 · LAX 00:25 · JFK 03:25
    ♥ Do have faith in what you're doing.