Использование API-кредита

Вам нужно авторизоваться или зарегистрироваться использовать BuiltWith API. После входа в систему здесь будет отображен ваш актуальный ключ API.

Введение

API BuiltWith Trust предоставляет вам обзор домена веб-сайта, позволяя оценить степень его надёжности. Для определения надёжности домена мы используем такие характеристики, как затраты на технологии, время, связи с другими сайтами, текущий отклик, ключевые слова и нераскрытые методы.

Общий метод доступа следующий::
https://api.builtwith.com/trustv2/api.[xml|json]?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=[DOMAIN]

Ответ строится вокруг одного-единственного, объяснимого утверждения. Assessment.TrustLevel (Доверяемый, Нейтральный, Осторожно, Рекомендуется проверка, Ограниченный контент, Высокий риск или Непроверенный) простым и понятным языком. Assessment.Reasons позади него, плюс ContentSafety Блокировка, которая помечает азартные игры, контент для взрослых, подозрительные мошеннические схемы и контент-заполнитель (lorem ipsum) — таким образом, ничего не нужно расшифровывать из необработанных чисел или логических значений, чтобы это было понятно человеку или агенту ИИ.

🤖 Подсказка от ИИ-агента
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 возвращает значение 'Unverified' или 'VerificationRecommended', это обеспечивает высокую пропускную способность.

Примеры кода

Вот примеры реализации на разных языках программирования для выполнения 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"
Ссылка
Параметры запроса GET
ИмяПримерыНеобходимый
KEY00000000-0000-0000-0000-000000000000
Это ваш ключ, используйте его для поиска.
Да
LOOKUPcnn.com
hotelscombined.com
Trust API поддерживает поддомены и внутренние страницы, но только с использованием функции LIVE-поиска Trust API.
Да
LIVEyes
Выполняет поиск веб-сайта в режиме реального времени. Это замедляет ответ, но заполняет поле LiveVerification и позволяет нам подтвердить результат «VerificationRecommended» или «Unverified». Рекомендуется вызывать эту функцию только тогда, когда ответ без проверки в реальном времени соответствует одному из этих двух уровней доверия, чтобы поддерживать высокую пропускную способность.
Нет
Объект ответа
Result - В результате получается корневой объект, возвращенный из поиска. Каждое поле самоописывается — имена точно отражают их значение, логические значения читаются как вопросы с ответами «да/нет» (Is..., Has...), а перечисление TrustLevel и флаги ContentSafety возвращаются в виде читаемых строк/логических значений, а не числовых кодов, поэтому ответ можно понять и использовать без перекрестных ссылок на эту страницу.
ИмяПримерОписание
Domainhotelscombined.comДомен/поддомен/URL, по которому выполнялся поиск.
AssessmentAssessment explained belowОбщий вывод о доверии к домену, изложенный простым языком, а также объяснение, почему мы пришли к такому выводу.
ContentSafetyContentSafety explained belowФлаги содержания «Азартные игры», «контент для взрослых», «подозрение в мошенничестве» и «живой заполнитель» (lorem ipsum).
BusinessProfileBusinessProfile explained belowЧто известно нашей базе данных об истории развития технологий в этой области.
LiveVerificationLiveVerification explained belowПрисутствует только в том случае, если запрос был включен. &LIVE=yes. Результат проверки сайта прямо сейчас.
Assessment
Assessment - Вердикт: один уровень доверия (TrustLevel), обоснование этого и краткое резюме в одну строку. В первую очередь следует прочитать это поле — 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.Краткое, готовое к отображению объяснение уровня доверия (TrustLevel) в одном предложении — полезно для непосредственного отображения в пользовательском интерфейсе или в ответе агента ИИ.
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Если этот домен вообще присутствует в нашей базе данных, то значение равно true. Если значение равно false, то домен следует рассматривать как непроверенный, а не как ненадежный.
DomainAgeDays1642Количество дней с момента первой зафиксированной нами технологической активности в этой области.
LastCrawledDaysAgo3С момента последнего обнаружения каких-либо технологических изменений в этом домене прошло несколько дней.
PremiumTechnologyCount5Количество премиальных (с более высокой степенью достоверности, платных) технологий, обнаруженных на сайте в данный момент.
HasActiveTechnologyStacktrueВозвращает true, если в домене в настоящее время активно отслеживаются какие-либо технологии (в отличие от отслеживания только исторических данных).
IsParkedDomainfalseВозвращает true, если домен использует технологию «припаркованных страниц» или иным образом выглядит «припаркованным».
IsEcommerceSitetrueВерно, если на сайте используются технологии электронной коммерции (корзина, оформление заказа или аналогичные).
HasPaymentProcessingtrueДано значение true, если на сайте используется платежный провайдер или процессор.
HasAffiliateLinksfalseВерно, если на сайте используется технология партнерской программы для размещения рекламы.
IsEstablishedBusinesstrueЗначение true достигается, когда DomainAgeDays превышает один год — это показатель того, что «это, похоже, действующий бизнес, а не что-то недавно созданное».
EstimatedMonthlySpendUSD80Примерные средние ежемесячные расходы на технологии в данной области, в долларах США.
LiveVerification
LiveVerification - Присутствует только в том случае, если запрос был включен. &LIVE=yes. Результат проверки текущего активного контента домена, а не использования нашей проиндексированной истории.
ИмяПримерОписание
LookupSucceededtrueЗначение false, если поиск в реальном времени завершился неудачей (см. LookupError) — остальные поля в этом блоке следует игнорировать, если значение false.
LookupErrorThe remote name could not be resolvedОшибка возникает при попытке доступа к веб-сайту в режиме реального времени, если значение параметра LookupSucceeded равно false.
IsParkedDomainfalseВозвращает true, если работающий сайт использует технологию "припаркованных страниц" или иным образом выглядит "припаркованным".
IsEcommerceSitetrueВерно, если на работающем сайте используются технологии электронной коммерции.
HasPaymentProcessingtrueВозвращает true, если на работающем сайте используется платежный провайдер или процессор.
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 Suffix.

Список игнорирования
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 и связанным с ним сервисам.