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

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

Введение

Получайте результаты XML и JSON по связям между веб-сайтами, которые показывают, какие сайты связаны друг с другом, чем и как долго.

API отношений использует 1 кредит API на каждые 500 отношений.

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

Аутентификация

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

Ваш ключ API
00000000-0000-0000-0000-000000000000

Получить пример домена

JSON Получить единый домен
https://api.builtwith.com/rv4/api.json?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=builtwith.com

XML Получить единый домен
https://api.builtwith.com/rv4/api.xml?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=hotelscombined.com

CSV Получить единый домен
https://api.builtwith.com/rv4/api.csv?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=builtwith.com

TSV Получить единый домен
https://api.builtwith.com/rv4/api.Tsv?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=builtwith.com

Ссылка
Параметры
Для поиска могут быть предоставлены следующие параметры GET:
ИмяПримерыНеобходимый
KEY00000000-0000-0000-0000-000000000000
Это ваш ключ, используйте его для поиска.
Да
LOOKUPcnn.com
news.ycombinator.com
Домены и поддомены работают с API Relationship (не внутренние страницы)
Опция множественного поиска
При выполнении поиска по доменам RAW вы можете одновременно анализировать до 16 доменов в виде CSV-файла. Например cnn.com,about.com,builtwith.com - это значительно повышает пропускную способность.
Да
OFFSET500
Смещение страниц для результатов взаимоотношений. next_offset в ответе есть смещение и more_results будет правдой.
Нет
IPyes
Загрузите данные IP-адреса сайта, это значительно увеличит количество результатов.
Нет
API Мета
ИмяПримерОписание
results24Общее количество результатов взаимосвязей для этого поиска
max_per_page500Максимальное количество результатов, которые мы получим за один поиск.
next_skip1500Число, которое следует указать в качестве параметра OFFSET для следующей страницы результатов, если more_results имеет значение true.
more_resultstrueЭто будет верно, если будет больше результатов.
Ответы
Формат: Relationships[Relationship->Identifiers[Identifer]]
Отношение
Результаты — это ответ верхнего уровня, который идентифицирует поиск.
ИмяПримерОписание
Domainhotelscombined.comДомен, который был найден.
IdentifiersИдентификатор поясняется ниже.Объясняется ниже.
Идентификатор
Идентификаторы — это уникальные коды, которые встречаются в домене и других доменах, которые его также имеют.
ИмяПример Описание
Typegoogle-analyticsТип идентификатора Посмотреть все типы
Value454517Значение идентификатора — обычно код идентификатора, например IP-адрес или идентификатор учетной записи.
First1368860400000Дата, когда мы впервые обнаружили этот идентификатор в эпохе мс.
Last1398860400000Дата последнего обнаружения этого идентификатора в эпохе мс.
MatchesОбъяснение соответствия приведено ниже.Объясните ниже.
Соответствовать
Совпадения — это другие домены, имеющие этот идентификатор.
ИмяПримерОписание
Domaincom-hotel.comДоменное имя совпадения.
First1398860400000Дата, когда мы впервые обнаружили это в соответствующем домене в эпоху мс.
Last1418860400000Дата последнего обнаружения этого в соответствующем домене в эпоху мс.
OverlaptrueЕсли этот домен использовал идентификатор одновременно с искомым доменом.
API-библиотеки
Примеры кода

Вот примеры реализации на разных языках программирования для выполнения API-запросов:

var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("https://api.builtwith.com/rv4/api.json" +
                        "?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=wayfair.com"),
};
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/rv4/api.json"
params = {
    'KEY': '00000000-0000-0000-0000-000000000000',
    'LOOKUP': 'wayfair.com'
}
response = requests.get(url, params=params)
print(response.json())
<?php
$url = "https://api.builtwith.com/rv4/api.json";
$params = array(
    'KEY' => '00000000-0000-0000-0000-000000000000',
    'LOOKUP' => 'wayfair.com'
);
$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/rv4/api.json?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=wayfair.com';
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/rv4/api.json" +
                    "?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=wayfair.com";
        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/rv4/api.json')
uri.query = URI.encode_www_form({
    'KEY' => '00000000-0000-0000-0000-000000000000',
    'LOOKUP' => 'wayfair.com'
})
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/rv4/api.json?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=wayfair.com"
    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/rv4/api.json?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=wayfair.com"
Специальные домены

Мы ведём два списка, которые пригодятся вам при поиске доменов: списки игнорирования и списки 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 и связанным с ним сервисам.