Кредиты на продукты

API продукта использует кредиты продукта, а не кредиты API, поскольку 1 поиск может вернуть 5000 продуктов.

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

Введение

API BuiltWith Product позволяет находить товары, продаваемые по всему интернету, в формате JSON. API Product использует кредиты на продукты, а не кредиты API, что обеспечивает эффективную экономию средств.

Общий метод доступа следующий:
https://api.builtwith.com/productv1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Adidas%20Yeezy

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

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

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

Пример запроса продукта

JSON Запрос для Celine Sunglasses
https://api.builtwith.com/productv1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Celine%20Sunglasses

JSON Запрос для Celine Sunglasses, ограничение до 1 магазина
https://api.builtwith.com/productv1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Celine%20Sunglasses&LIMIT=1

JSON Запрос для Celine Sunglasses, ограничение до 10 магазинов, получение страницы 5
https://api.builtwith.com/productv1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Celine%20Sunglasses&LIMIT=10&PAGE=5

Пример запроса домена

Запрос JSON для всех товаров, проданных в jbhifi.com.au
https://api.builtwith.com/productv1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=dom%3Ajbhifi.com.au

Примеры кода

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

var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("https://api.builtwith.com/productv1/api.json" +
"?KEY=00000000-0000-0000-0000-000000000000&QUERY=Celine%20Sunglasses&LIMIT=10&PAGE=5"),
};
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/productv1/api.json"
params = {
    'KEY': '00000000-0000-0000-0000-000000000000',
    'QUERY': 'Celine Sunglasses',
    'LIMIT': 10,
    'PAGE': 5
}
response = requests.get(url, params=params)
print(response.json())
<?php
$url = "https://api.builtwith.com/productv1/api.json";
$params = array(
    'KEY' => '00000000-0000-0000-0000-000000000000',
    'QUERY' => 'Celine Sunglasses',
    'LIMIT' => 10,
    'PAGE' => 5
);
$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/productv1/api.json?KEY=' +
'00000000-0000-0000-0000-000000000000&QUERY=Celine%20Sunglasses&LIMIT=10&PAGE=5';
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/productv1/api.json" +
 "?KEY=00000000-0000-0000-0000-000000000000&QUERY=Celine%20Sunglasses&LIMIT=10&PAGE=5";
        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/productv1/api.json')
uri.query = URI.encode_www_form({
    'KEY' => '00000000-0000-0000-0000-000000000000',
    'QUERY' => 'Celine Sunglasses',
    'LIMIT' => 10,
    'PAGE' => 5
})
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/productv1/api.json?KEY=" +
"00000000-0000-0000-0000-000000000000&QUERY=Celine%20Sunglasses&LIMIT=10&PAGE=5"
    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/productv1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Celine%20Sunglasses&LIMIT=10&PAGE=5"
Ссылка
Параметры запроса GET
ИмяПримерыНеобходимый
KEY00000000-0000-0000-0000-000000000000Да
QUERYceline%20sunglasses
dom:jbhifi.com.au
Да
LIMIT50
Количество магазинов, которые нужно вернуть.
Нет
По умолчанию 50, не может быть больше 500.
PAGE3
Страница с результатами, которую нужно вернуть.
Нет
По умолчанию 0 (первая страница)
Объект ответа
Формат: object->shops[products[]]
ИмяПримерыОписание
queryceline sunglassesТо, что вы искали.
is_moretruetrue or false - используйте запрос PAGE для получения большего количества страниц.
page0Текущая страница данных (0 — первая страница).
limit50Текущий лимит страниц магазинов (максимум 500) для изменения используйте запрос LIMIT.
results50Количество продуктов в результирующем наборе.
shop_count10Количество магазинов в результирующем наборе.
credits2000000Количество имеющихся у вас кредитов.
used337925Количество использованных вами кредитов.
remaining1662075Оставшаяся сумма кредитов.
used_this_query50Сумма продуктовых кредитов, использованных для запроса.
next_page/productv1/api...Путь к следующей странице результатов.
shops[]Объяснено нижеМассив результатов поиска магазинов и товаров по вашему запросу.
shop и products
ИмяПримерыОписание
Domainjbhifi.com.auДомен и/или поддомен результата
Products[]
  TitleBronzer BoosterНазвание продукта.
  Urlbronze-bootserОтносительный URL-адрес продукта.
  Indexed2024-09-15T00:00:00Дата последнего обнаружения продукта.
  FirstIndexed2023-09-15T00:00:00Дата первого обнаружения продукта.
  Price122.33Цена товара в валюте магазина по умолчанию.
Специальные домены

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