API 信用使用情况

你需要 登录 或者 报名 使用 BuiltWith API. 登录后,您的实际 API 密钥将显示在这里。

介绍

BuiltWith Trust API 为您提供网站域名的概览,让您能够判断其可信度。我们使用技术投入、时间、与其他网站的关系、当前响应、关键字以及未公开的方法等属性来评估域名的可信度。

一般访问方法如下:
https://api.builtwith.com/trustv2/api.[xml|json]?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=[DOMAIN]

回应围绕一个单一且可解释的论点展开。 Assessment.TrustLevel (可信、中立、谨慎、建议验证、受限内容、高风险或未验证)用简明英语 Assessment.Reasons 在其背后,加上一个 ContentSafety 屏蔽赌博、成人内容、疑似诈骗和实时占位符(lorem ipsum)内容 - 因此无需从原始数字或布尔值中解码任何内容,人类或人工智能代理即可理解。

🤖 AI代理提示
Reference https://api.builtwith.com/llms.txt and
https://raw.githubusercontent.com/builtwith/builtwith-ai-sdk/refs/heads/main/README.md
Add builtwith AI api to my app as a client. Make a call to the trust API for the domain hotelscombined.com
验证

每次查询时,您都必须提供 API 密钥。我们的端点仅支持 HTTPS,并提供密钥加密。 永远不要暴露您的 API 密钥。

您的 API 密钥是
00000000-0000-0000-0000-000000000000

您可以将密钥作为查询字符串参数或 HTTP 标头提供:

  • 查询字符串: ?KEY=00000000-0000-0000-0000-000000000000
  • HTTP 标头: Authorization: API 00000000-0000-0000-0000-000000000000
获取域名示例

XML 获取域名
https://api.builtwith.com/trustv2/api.xml?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=hotelscombined.com

JSON 获取域名
https://api.builtwith.com/trustv2/api.json?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=builtwith.com

JSON 获取额外的实时查找
https://api.builtwith.com/trustv2/api.json?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=builtwith.com&LIVE=yes

最佳实践

如果您要提供新注册域名的列表,请始终使用 &LIVE=true 此选项因为我们的数据库对于没有记录的域名始终返回“未验证”。如果您正在处理大量列表,请提供 &LIVE=true 只有当 Assessment.TrustLevel 返回“未验证”或“建议验证”时,才能保持高吞吐量。

代码示例

以下是使用不同编程语言进行 API 请求的实现示例:

var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("https://api.builtwith.com/trustv2/api.json" +
   "?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=wayfair.com&LIVE=yes"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
import requests
url = "https://api.builtwith.com/trustv2/api.json"
params = {
    'KEY': '00000000-0000-0000-0000-000000000000',
    'LOOKUP': 'wayfair.com',
    'LIVE': 'yes'
}
response = requests.get(url, params=params)
print(response.json())
<?php
$url = "https://api.builtwith.com/trustv2/api.json";
$params = array(
    'KEY' => '00000000-0000-0000-0000-000000000000',
    'LOOKUP' => 'wayfair.com',
    'LIVE' => 'yes'
);
$url_with_params = $url . '?' . http_build_query($params);
$response = file_get_contents($url_with_params);
$data = json_decode($response, true);
print_r($data);
?>
const https = require('https');
const url = 'https://api.builtwith.com/trustv2/api.json?KEY='+
  '00000000-0000-0000-0000-000000000000&LOOKUP=wayfair.com&LIVE=yes';
https.get(url, (res) => {
    let data = '';
    res.on('data', (chunk) => {
        data += chunk;
    });
    res.on('end', () => {
        console.log(JSON.parse(data));
    });
}).on('error', (err) => {
    console.log('Error: ' + err.message);
});
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class BuiltWithAPI {
    public static void main(String[] args) throws Exception {
        String url = "https://api.builtwith.com/trustv2/api.json" +
"?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=wayfair.com&LIVE=yes";
        URL obj = new URL(url);
        HttpURLConnection con = (HttpURLConnection) obj.openConnection();
        con.setRequestMethod("GET");
        BufferedReader in = new BufferedReader(
            new InputStreamReader(con.getInputStream()));
        String inputLine;
        StringBuffer response = new StringBuffer();
        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }
        in.close();
        System.out.println(response.toString());
    }
}
require 'net/http'
require 'uri'
require 'json'
uri = URI('https://api.builtwith.com/trustv2/api.json')
uri.query = URI.encode_www_form({
    'KEY' => '00000000-0000-0000-0000-000000000000',
    'LOOKUP' => 'wayfair.com',
    'LIVE' => 'yes'
})
response = Net::HTTP.get_response(uri)
data = JSON.parse(response.body)
puts data
package main
import (
    "fmt"
    "io/ioutil"
    "net/http"
)
func main() {
    url := "https://api.builtwith.com/trustv2/api.json?"+
"KEY=00000000-0000-0000-0000-000000000000&LOOKUP=wayfair.com&LIVE=yes"
    resp, err := http.Get(url)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }
    fmt.Println(string(body))
}
curl -X GET
"https://api.builtwith.com/trustv2/api.json?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=wayfair.com&LIVE=yes"
参考
获取请求参数
姓名示例必需的
KEY00000000-0000-0000-0000-000000000000
这是您的密钥,使用它进行查找。
是的
LOOKUPcnn.com
hotelscombined.com
Trust API 支持子域和内部页面,但仅使用 Trust API 的 LIVE 查找功能。
是的
LIVEyes
对目标网站执行实时查询。这会减慢响应速度,但会填充 LiveVerification 字段,并允许我们确认结果为“VerificationRecommended”(建议验证)或“Unverified”(未验证)。为了保持高吞吐量,建议仅当非实时响应返回的信任级别为这两个级别之一时才调用此操作。
响应对象
Result - 结果是指查找返回的根对象。每个字段都是自描述的——名称直接表明其含义,布尔值以“是/否”的形式呈现(例如,“是...”、“有...”),而 TrustLevel 枚举和 ContentSafety 标志则以易于理解的字符串/布尔值而非数字代码的形式返回,因此无需交叉引用此页面即可理解响应并采取相应操作。
姓名例子描述
Domainhotelscombined.com所查找的域/子域/url。
AssessmentAssessment explained below用通俗易懂的语言解释我们对该领域的总体信任度评价,以及我们得出该评价的原因。
ContentSafetyContentSafety explained below赌博、成人内容、可疑诈骗和实时占位符 (lorem ipsum) 内容标记。
BusinessProfileBusinessProfile explained below我们的数据库了解该领域的技术发展历史。
LiveVerificationLiveVerification explained below仅当请求包含以下内容时才存在 &LIVE=yes. 现在检查该网站的结果。
Assessment
Assessment - 最终结论:一个单一的信任级别、其背后的原因以及一行摘要。首先要阅读的是这个字段——ContentSafety/BusinessProfile/LiveVerification 是构建信任级别的原始信号,这些信号保留在响应中,以便您可以深入查看或在其基础上应用您自己的策略。
姓名例子描述
TrustLevelTrustedTrusted - 拥有成熟的技术历史和/或大量的投入——一个真正的、持续发展的业务。
Neutral - 未发现任何可疑之处,但也没有明显的阳性信号。
Caution - 已停放、显示占位符内容或其他值得仔细查看的信号。
VerificationRecommended - 已记录联盟链接,但尚未进行实时验证 - 请稍后再致电 &LIVE=yes.
RestrictedContent - 检测到赌博或成人内容技术。
HighRisk - 与已知的诈骗活动有关。
Unverified - 目前还没有该域名的记录 - 请稍后再试 &LIVE=yes 用于实时检查。
Summaryhotelscombined.com is assessed as Trusted: Domain has an established technology history spanning over a year.可直接显示在用户界面或 AI 代理响应中的一句话信任级别说明。
Reasons["Domain has an established technology history spanning over a year."]用通俗易懂的语言描述驱动 TrustLevel 决策的具体信号。
ContentSafety
ContentSafety - 我们已对域名上检测到的所有技术进行了检查,但有一个例外:PlaceholderContent 只报告网站当前运行堆栈中的技术,因此,如果一个域名后来成为真正的企业,它就不会因为旧的占位符内容而被永久标记。
姓名例子描述
Gamblingfalse如果该域名运行与赌博相关的技术,则此回答正确。
AdultContentfalse如果该域名运行的技术属于成人内容范畴,则此为真。
SuspectedScamfalse如果该域名运行的技术已被我们认定为已知的诈骗技术,则此说法正确。
PlaceholderContentfalse仅当占位符/lorem-ipsum 内容是域当前运行的技术栈的一部分时才为真(而不是过时的历史检测)。
BusinessProfile
BusinessProfile - 我们的数据库了解该域名的技术发展历史。如果 IsIndexed 为 false,则此块中的所有其他字段都将保留其默认值并被忽略。
姓名例子描述
IsIndexedtrue如果该域名已存在于我们的数据库中,则为真。如果为假,则将该域名视为未经验证,而非不可信。
DomainAgeDays1642自我们最早记录到该领域的技术以来,已经过去了天数。
LastCrawledDaysAgo3自上次检测到该域名上的任何技术变更以来,已有天数。
PremiumTechnologyCount5网站上当前检测到的高级(高置信度、付费级别)技术数量。
HasActiveTechnologyStacktrue如果该领域目前有任何正在积极跟踪的技术(而不是只有历史技术),则为真。
IsParkedDomainfalse如果域名使用了停放页面技术或看起来像是停放的,则为真。
IsEcommerceSitetrue如果该网站运行电子商务技术(购物车、结账或类似功能),则此答案为真。
HasPaymentProcessingtrue如果该网站使用支付服务提供商或支付处理商,则此说法正确。
HasAffiliateLinksfalse如果该网站采用联盟营销广告技术,则此说法正确。
IsEstablishedBusinesstrue当 DomainAgeDays 超过一年时,就代表“这是一个持续经营的业务,而不是一个新成立的业务”。
EstimatedMonthlySpendUSD80该领域每月平均技术支出估计值(以美元计)。
LiveVerification
LiveVerification - 仅当请求包含以下内容时才存在 &LIVE=yes. 这是通过检查域名的当前实时内容而不是依赖我们索引的历史记录得出的结果。
姓名例子描述
LookupSucceededtrue如果实时查找本身失败(请参阅 LookupError),则返回 False - 如果返回 false,则应忽略此块中的其余字段。
LookupErrorThe remote name could not be resolved如果 LookupSucceeded 为 false,则尝试访问网站时会出错。
IsParkedDomainfalse如果网站正在使用页面停放技术或看起来像是停放的,则为真。
IsEcommerceSitetrue如果网站运行电子商务技术,则此说法正确。
HasPaymentProcessingtrue如果网站运行支付服务提供商或支付处理商,则此说法正确。
HasAffiliateLinkstrue如果该网站运行联盟广告技术,则此说法正确。
EstimatedMonthlySpendUSD0根据页面上当前显示的内容估算的每月技术支出。
API 库
Node.js NPM

https://www.npmjs.com/package/builtwith-api
NPM 包装方式 Zach Caceres - https://github.com/zcaceres/builtwith-api

Microsoft .NET Nuget

https://www.nuget.org/packages/BuiltWith/
C# 包装方式 BuiltWith Pty Ltd - https://github.com/builtwith/BuiltWith-C-Client-API

代码示例

https://github.com/builtwith/code-examples
多种语言的所有 API 端点示例

特殊域名

我们维护两个列表,供您在查找域名时使用。“忽略”列表和“BuiltWith 后缀”列表。

忽略列表
T这是我们内部不予索引的域名列表。这些域名要么被屏蔽,要么包含太多误导性技术,要么包含太多包含用户生成内容的子域名。

BuiltWith 后缀列表
这是基于 公共后缀列表 但对于拥有子域名的公司来说,还包括许多额外的条目,这些子域名应被视为顶级域名。 此列表为我们提供了内部网站的更好可见性,例如,它将 northernbeaches.nsw.gov.au 置于 nsw.gov.au 之上。

忽略域 (XML, JSON or TXT)
https://api.builtwith.com/ignoresv1/api.json
后缀域 (XML, JSON or TXT)
https://api.builtwith.com/suffixv1/api.json
错误代码

请注意,这种格式的错误消息无法保证,您的实现也应该将非 200 响应代码视为错误。 如果错误与服务器相关,则 Lookup 属性将为 null(json)或未提供(xml)。 查看所有潜在的格式正确的错误代码.

使用条款

我们的 标准条款 涵盖我们所有 API 的使用。

一般来说,您可以使用 API 以多种方式增强您的产品。唯一的限制是您不能按原样转售数据,也不能向builtwith.com及其相关服务提供重复的功能。