📚 API 文档

通过简单的 API 调用,轻松获取网站图标

🚀 快速开始

方式一:获取JSON格式数据

通过 HTTP GET 请求获取网站图标信息(JSON格式):

GET https://getico.googe.cn/public/api.php?domain={domain}&size={size}

方式二:直接获取图片(推荐)

直接返回图片文件,可在浏览器中查看或下载:

GET https://getico.googe.cn/public/icon.php?domain={domain}&size={size}

特点:

  • 直接返回PNG图片,无需解析JSON
  • 可直接用作 <img> 标签的 src
  • 支持浏览器缓存(30天)
  • 添加 &download 参数可直接下载
  • 未找到时返回404占位图

📝 请求参数

参数名 类型 必填 说明 示例
domain string ✅ 是 目标网站域名 google.com
size int ❌ 否 图标尺寸(64 或 128) 64(默认)

📤 返回格式

API 返回 JSON 格式数据:

成功响应

{
    "success": true,
    "data": {
        "domain": "google.com",
        "root_domain": "google.com",
        "icon_url": "https://getico.googe.cn/uploads/64/xxxxx.png",
        "icon_64_url": "https://getico.googe.cn/uploads/64/xxxxx.png",
        "icon_128_url": "https://getico.googe.cn/uploads/128/xxxxx.png",
        "size": "64",
        "is_https": true,
        "has_www": false,
        "created_at": "2026-01-21 10:00:00",
        "updated_at": "2026-01-21 10:00:00"
    },
    "timestamp": "2026-01-21T10:00:00+00:00"
}

失败响应

{
    "success": false,
    "error": "Not Found",
    "message": "No favicon found for this domain"
}

🎯 域名匹配规则

系统采用智能匹配算法,按以下优先级查找:

  1. 精确匹配:优先匹配完全相同的域名
  2. 根域名匹配:如未找到,尝试匹配根域名
  3. www变体匹配:自动尝试带www和不带www的版本
💡 提示:
  • 163.comwww.163.com 会被识别为不同记录
  • mail.163.com 作为二级域名单独存储
  • 查询 www.google.com 时,如果不存在会尝试查找 google.com

💻 使用示例

方式一:直接获取图片(最简单)

<!-- 直接显示图标 -->
<img src="https://getico.googe.cn/public/icon.php?domain=google.com&size=64" alt="Google">

<!-- 支持下载 -->
<a href="https://getico.googe.cn/public/icon.php?domain=google.com&size=128&download" download>
    下载图标
</a>

<!-- 在新标签页打开 -->
<a href="https://getico.googe.cn/public/icon.php?domain=paypal.com&size=128" target="_blank">
    查看PayPal图标
</a>

方式二:获取JSON数据

fetch('https://getico.googe.cn/public/api.php?domain=google.com&size=128')
    .then(response => response.json())
    .then(data => {
        if (data.success) {
            console.log('图标URL:', data.data.icon_url);
            document.getElementById('favicon').src = data.data.icon_url;
        } else {
            console.error('获取失败:', data.message);
        }
    })
    .catch(error => console.error('请求错误:', error));

JavaScript (Axios)

axios.get('https://getico.googe.cn/public/api.php', {
    params: {
        domain: 'github.com',
        size: 64
    }
}).then(response => {
    if (response.data.success) {
        console.log('图标信息:', response.data.data);
    }
});

CSS背景图

.favicon {
    width: 64px;
    height: 64px;
    background-image: url('https://getico.googe.cn/public/icon.php?domain=github.com&size=64');
    background-size: cover;
}

HTML img标签

<img src="https://getico.googe.cn/public/icon.php?domain=google.com&size=64" alt="Google Icon">

PHP

<?php
$domain = 'baidu.com';
$size = 128;
$url = "https://getico.googe.cn/public/api.php?domain={$domain}&size={$size}";

$response = file_get_contents($url);
$data = json_decode($response, true);

if ($data['success']) {
    echo '<img src="' . $data['data']['icon_url'] . '" alt="' . $data['data']['domain'] . '">';
} else {
    echo '图标未找到';
}
?>

Python

import requests

response = requests.get('https://getico.googe.cn/public/api.php', params={
    'domain': 'google.com',
    'size': 64
})

data = response.json()
if data['success']:
    print(f"图标URL: {data['data']['icon_url']}")
    print(f"是否HTTPS: {data['data']['is_https']}")

cURL

curl "https://getico.googe.cn/public/api.php?domain=github.com&size=128"

🧪 在线测试

⚠️ 常见错误

错误信息 原因 解决方案
Domain not found 数据库中不存在该域名的图标 联系管理员添加该域名图标
Icon file not found 图标文件丢失 联系管理员重新采集图标

📌 注意事项

  • API 响应为 JSON 格式,Content-Type: application/json
  • 建议对图标URL进行缓存,减少API调用次数
  • 图标文件为PNG格式
  • 支持跨域请求(CORS)
  • 无需认证即可调用