API du produit BuiltWith

Crédits du produit

L'API produit utilise des crédits produit et non des crédits API, car une recherche peut ramener 5 000 produits.

Vous devez se connecter ou s'inscrire pour utiliser l'API BuiltWith. Après vous être connecté, votre clé API actuelle sera affichée ici.

Introduction

L'API Produit BuiltWith vous permet de trouver des produits en vente sur Internet via un flux JSON. L'API Produit utilise des crédits Produit, et non des crédits API, pour des économies substantielles.

La méthode d'accès générale est la suivante :
https://api.builtwith.com/productv1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Adidas%20Yeezy

Authentification

Vous devez fournir votre clé API à chaque recherche. Nos points de terminaison sont exclusivement HTTPS, ce qui assure le chiffrement des clés. N'exposez jamais votre clé API.

Votre clé API est
00000000-0000-0000-0000-000000000000

Exemple de requête de produit

JSON Requête pour Celine Sunglasses
https://api.builtwith.com/productv1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Celine%20Sunglasses

JSON Requête pour Celine Sunglasses, limitation à 1 magasin
https://api.builtwith.com/productv1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Celine%20Sunglasses&LIMIT=1

JSON Requête pour Celine Sunglasses, limitation à 10 magasins, obtenir la page 5
https://api.builtwith.com/productv1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Celine%20Sunglasses&LIMIT=10&PAGE=5

Exemple de requête de domaine

Requête JSON pour tous les produits vendus chez jbhifi.com.au
https://api.builtwith.com/productv1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=dom%3Ajbhifi.com.au

Exemples de code

Voici des exemples d’implémentation dans différents langages de programmation pour effectuer des requêtes 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"
Référence
Paramètres de la requête GET
NomExemplesRequis
KEY00000000-0000-0000-0000-000000000000Oui
QUERYceline%20sunglasses
dom:jbhifi.com.au
Oui
LIMIT50
Le nombre de commerces à ramener.
Non
La valeur par défaut est 50, ne peut pas être supérieure à 500.
PAGE3
La page de résultats à ramener.
Non
Par défaut, 0 (première page)
Objet de réponse
Format: object->shops[products[]]
NomExemplesDescription
queryceline sunglassesCe que vous avez recherché.
is_moretruetrue or false - utilisez la requête PAGE pour obtenir plus de pages.
page0Page de données actuelle (0 est la première page).
limit50Limite actuelle de pages de boutiques (max 500) utilisez la requête LIMIT pour modifier.
results50La quantité de produits dans l'ensemble de résultats.
shop_count10Le nombre de magasins dans l'ensemble de résultats.
credits2000000Le nombre de crédits dont vous disposez.
used337925Le montant des crédits que vous avez utilisés.
remaining1662075Le montant de crédits qu'il vous reste.
used_this_query50Le montant des crédits de produit utilisés pour la requête.
next_page/productv1/api...Chemin vers la page suivante de résultats.
shops[]Expliqué ci-dessousLa gamme de résultats de boutique et de produits pour votre requête.
shop et products
NomExemplesDescription
Domainjbhifi.com.auLe domaine et/ou le sous-domaine du résultat
Products[]
  TitleBronzer BoosterLe titre du produit.
  Urlbronze-bootserURL relative du produit.
  Indexed2024-09-15T00:00:00Date à laquelle le produit a été détecté pour la dernière fois.
  FirstIndexed2023-09-15T00:00:00Date à laquelle le produit a été détecté pour la première fois.
  Price122.33Prix du produit dans la devise par défaut de la boutique.
Domaines spéciaux

Nous tenons à votre disposition deux listes utiles pour la recherche de domaines : les listes « Ignorer » et les listes « Construire avec un suffixe ».

Liste d'ignorés
TVoici notre liste interne de domaines que nous n'indexons pas. Ils sont soit bloqués, soit contiennent trop de technologies trompeuses, soit trop de sous-domaines avec du contenu généré par les utilisateurs.

BuiltWith Liste des suffixes
Ceci est basé sur le Liste publique des suffixes mais comprend de nombreuses entrées supplémentaires pour les entreprises avec des sous-domaines qui doivent être considérés comme des domaines de premier niveau. Cette liste nous offre une meilleure visibilité pour les sites Web internes, par exemple, elle amène northernbeaches.nsw.gov.au au niveau supérieur par rapport à nsw.gov.au.

Ignorer les domaines (XML, JSON or TXT)
https://api.builtwith.com/ignoresv1/api.json
Domaines de suffixe (XML, JSON or TXT)
https://api.builtwith.com/suffixv1/api.json
Codes d'erreur

Notez que les messages d'erreur dans ce format ne peuvent pas être garantis, votre implémentation doit également considérer les codes de réponse non 200 comme des erreurs. La propriété Lookup sera nulle (json) ou non fournie (xml) si l'erreur est liée au serveur. Afficher tous les codes d'erreur potentiels bien formés.

Conditions d'utilisation

Notre conditions générales couvrir l'utilisation de toutes nos API.

En général, vous pouvez utiliser l'API pour améliorer votre produit de nombreuses façons. La seule limitation est que vous ne pouvez pas revendre les données en l'état ni fournir des fonctionnalités dupliquées à builtwith.com et ses services associés.