API de relations BuiltWith

Utilisation du crédit API

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

Obtenez les résultats XML et JSON des relations entre les sites Web qui montrent quels sites sont liés entre eux, par quoi et pendant combien de temps.

L'API de relation utilise 1 crédit API pour 500 relations.

La méthode d'accès générale est la suivante -
https://api.builtwith.com/rv4/api.[xml|json|csv]?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=[DOMAIN]

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

Obtenir un exemple de domaine

JSON Obtenir un domaine unique
https://api.builtwith.com/rv4/api.json?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=builtwith.com

XML Obtenir un domaine unique
https://api.builtwith.com/rv4/api.xml?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=hotelscombined.com

CSV Obtenir un domaine unique
https://api.builtwith.com/rv4/api.csv?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=builtwith.com

TSV Obtenir un domaine unique
https://api.builtwith.com/rv4/api.Tsv?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=builtwith.com

Référence
Paramètres
Les paramètres GET suivants peuvent être fournis pour les recherches
NomExemplesRequis
KEY00000000-0000-0000-0000-000000000000
Ceci est votre clé, utilisez-la pour les recherches.
Oui
LOOKUPcnn.com
news.ycombinator.com
Les domaines et sous-domaines fonctionnent avec l'API Relationship (pas les pages internes)
Option de recherche multiple
Lorsque vous effectuez des recherches de domaine RAW, vous pouvez analyser jusqu'à 16 domaines à la fois sous forme de fichier CSV. Par exemple cnn.com,about.com,builtwith.com - cela améliore considérablement le débit.
Oui
OFFSET500
Le décalage des pages pour les résultats de relation. next_offset dans la réponse a le décalage et more_results sera vrai.
Non
IPyes
Chargez les données IP du site Web, cela augmente considérablement la quantité de résultats.
Non
API Méta
NomExempleDescription
results24Le nombre total de résultats de relation pour cette recherche
max_per_page500Le nombre maximum de résultats que nous renverrons par recherche.
next_skip1500Le nombre à fournir comme paramètre OFFSET pour la page suivante de résultats si more_results est vrai.
more_resultstrueCela sera vrai s’il y a plus de résultats.
Réponses
Format: Relationships[Relationship->Identifiers[Identifer]]
Relation
Les résultats sont la réponse de niveau supérieur qui identifie la recherche.
NomExempleDescription
Domainhotelscombined.comLe domaine qui a été recherché.
IdentifiersIdentifiant expliqué ci-dessous.Expliqué ci-dessous.
Identifiant
Les identifiants sont les codes uniques qui se trouvent sur le domaine et sur d'autres domaines qui le possèdent également.
NomExempleDescription
Typegoogle-analyticsLe type d'identifiant Voir tous les types
Value454517La valeur de l'identifiant - généralement le code de l'identifiant comme une adresse IP ou un identifiant de compte.
First1368860400000La date à laquelle nous avons détecté cet identifiant pour la première fois à l'époque ms.
Last1398860400000La date à laquelle nous avons détecté cet identifiant pour la dernière fois à l'époque ms.
MatchesMatch expliqué ci-dessous.Expliquez ci-dessous.
Correspondre
Les correspondances sont d’autres domaines qui ont cet identifiant.
NomExempleDescription
Domaincom-hotel.comLe nom de domaine du match.
First1398860400000La date à laquelle nous avons détecté cela pour la première fois sur le domaine correspondant à l'époque ms.
Last1418860400000La date à laquelle nous avons détecté cela pour la dernière fois sur le domaine correspondant dans l'époque ms.
OverlaptrueSi ce domaine a utilisé l'identifiant en même temps que le domaine de recherche.
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/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"
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.