API de domaine 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

L'API de domaine BuiltWith fournit un accès XML, JSON, CSV, XLSX aux informations technologiques d'un site Web qui incluent toutes les informations techniques trouvées lors de recherches détaillées sur builtwith.com et des métadonnées supplémentaires lorsqu'elles sont disponibles.

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
XML Format
https://api.builtwith.com/v22/api.xml?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=hotelscombined.com
JSON Format
https://api.builtwith.com/v22/api.json?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=hotelscombined.com
CSV Format
https://api.builtwith.com/v22/api.csv?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=hotelscombined.com
Obtenir un exemple de domaines multiples
CSV à domaines multiples (jusqu'à 16)
https://api.builtwith.com/v22/api.json?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=hotelscombined.com,builtwith.com
CSV avec feuilles de calcul par domaine
https://api.builtwith.com/v22/api.csv?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=hotelscombined.com,builtwith.com
Recherches à haut débit
API ultra rapide et haute performance
https://api.builtwith.com/v22/api.json?KEY=00000000-0000-0000-0000-000000000000&HIDETEXT=yes&NOMETA=yes&NOPII=yes&NOATTR=yes&LOOKUP=site1.com,site2.com,site3.com,site4.com,site5.com,site6.com,site7.com,site8.com,site9.com,site10.com,site11.com,site12.com,site13.com,site14.com,site15.com,site16.com
  • 16 Domaines racines ou sous-domaines uniquement Par recherche
  • Texte, méta, attributs, contacts tous supprimés
  • Supprime la recherche en direct des résultats s'ils ne figurent pas dans notre base de données

Pour un débit encore plus élevé Contactez-nous à propos des solutions de terminaux dédiées.

Recherche de domaine en masse

Vous pouvez déposer une liste de domaines racines dans le système de recherche en masse au lieu d'effectuer des requêtes GET.

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/v22/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/v22/api.json"
params = {
    "KEY": "00000000-0000-0000-0000-000000000000",
    "LOOKUP": "wayfair.com"
}
response = requests.get(url, params=params)
response.raise_for_status()
print(response.text)
<?php
$url = "https://api.builtwith.com/v22/api.json?KEY=
                        00000000-0000-0000-0000-000000000000&LOOKUP=wayfair.com";
$curl = curl_init();
curl_setopt_array($curl, [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Accept: application/json"
    ]
]);
$response = curl_exec($curl);
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($httpCode === 200) {
    echo $response;
} else {
    echo "Error: HTTP " . $httpCode;
}
?>
const url = "https://api.builtwith.com/v22/api.json?KEY=" +
                        "00000000-0000-0000-0000-000000000000&LOOKUP=wayfair.com";
fetch(url)
    .then(response => {
        if (!response.ok) {
            throw new Error(`HTTP error! status: ${response.status}`);
        }
        return response.text();
    })
    .then(data => {
        console.log(data);
    })
    .catch(error => {
        console.error('Error:', error);
    });
import java.net.URI;
import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; public class ApiExample { public static void main(String[] args) throws Exception { String url = "https://api.builtwith.com/v22/api.json?KEY= 00000000-0000-0000-0000-000000000000&LOOKUP=wayfair.com"; HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create(url)) .GET() .build(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); if (response.statusCode() == 200) { System.out.println(response.body()); } else { System.err.println("Error: HTTP " + response.statusCode()); } } }
require 'net/http'
require 'uri'
url = URI('https://api.builtwith.com/v22/api.json?KEY=
                        00000000-0000-0000-0000-000000000000&LOOKUP=wayfair.com')
begin
  response = Net::HTTP.get_response(url)
  if response.code == '200'
    puts response.body
  else
    puts "Error: HTTP #{response.code}"
  end
rescue StandardError => e
  puts "Error: #{e.message}"
end
package main
import (
    "fmt"
    "io"
    "net/http"
)
func main() {
    url := "https://api.builtwith.com/v22/api.json?KEY=
                        00000000-0000-0000-0000-000000000000&LOOKUP=wayfair.com"
    resp, err := http.Get(url)
    if err != nil {
        fmt.Printf("Error: %v\n", err)
        return
    }
    defer resp.Body.Close()
    if resp.StatusCode != http.StatusOK {
        fmt.Printf("Error: HTTP %d\n", resp.StatusCode)
        return
    }
    body, err := io.ReadAll(resp.Body)
    if err != nil {
        fmt.Printf("Error reading response: %v\n", err)
        return
    }
    fmt.Println(string(body))
}
curl -X GET \
  "https://api.builtwith.com/v22/api.json?KEY=
                        00000000-0000-0000-0000-000000000000&LOOKUP=wayfair.com" \
  -H "Accept: application/json"
# Alternative with URL parameters separated for readability:
curl -G \
  "https://api.builtwith.com/v22/api.json" \
  -d "KEY=00000000-0000-0000-0000-000000000000" \
  -d "LOOKUP=wayfair.com" \
  -H "Accept: application/json"
Référence de l'API
Paramètres de la requête GET
NomExemplesRequis
KEY00000000-0000-0000-0000-000000000000
Ceci est votre clé, utilisez-la pour les recherches.
Oui
LOOKUPcnn.com
example.com
Toutes les recherches doivent être un domaine racine.
Recherche multiple: Analyser jusqu'à 16 domaines au format CSV (cnn.com,about.com,builtwith.com)
Oui
HIDETEXTyes
Masquer les champs de description de la technologie, de lien, de balise et de catégorie.
Non
HIDEDLyes
Masquer la description de la technologie et les champs de lien (conserver la balise et les catégories).
Non
LIVEONLYyes
Ne renvoyez que les technologies considérées comme actives.
Non
TRUSTyes
Identique aux suppléments Confiance API appel - utilise un crédit API supplémentaire.
Non
NOMETAyes
Aucune métadonnée (adresse, noms, etc.) renvoyée. Améliore les performances.
Non
NOPIIyes
Supprimez les noms et adresses e-mail des personnes. Les informations personnelles identifiables de l'UE et de Californie sont automatiquement supprimées.
Non
NOATTRyes
Aucune donnée d'attribut renvoyée. Améliore les performances.
Non
Objet de réponse
Format: Result -> Paths[Path -> Technologies[Technology]],Meta,Attributes
Résultats
NomExempleDescription
Lookuphotelscombined.comLe domaine qui a été recherché.
ResultLa recherche technologiqueExpliqué ci-dessous.
IsDBTrue/False/MisleadingSi la recherche a utilisé la base de données ou le site visité, ou si le profil est « trompeur » (site de contenu généré par l'utilisateur).
Spend4364Dépenses technologiques mensuelles moyennes en USD basées sur les technologies détectées.
SalesRevenue29853826Chiffre d'affaires mensuel estimé en USD pour le commerce électronique (0 pour le non-commerce électronique).
SpendHistory[{"D":1140042000000,"S":100},...]Tableau de dates/dépenses sur la couverture du domaine - maximum 60 périodes entre la première et la dernière indexation.
MetaObjet méta expliqué ci-dessousToutes les métadonnées associées à ce domaine.
AttributesObjet d'attributs expliqué ci-dessousToutes les données d'attribut associées à ce domaine.
FirstIndexed2012-07-29T14:00:00ZPremier point d'index pour l'ensemble du domaine.
LastIndexed2014-07-29T14:00:00ZPoint d'index le plus récent pour l'ensemble du domaine.
Paths
NomExempleDescription
Domaindisney.comLe domaine racine
UrlddLa valeur de « dd » signifie les données de chemin construites à partir de plusieurs sous-pages (recherches de domaine uniquement).
SubDomainblogSous-domaine (par exemple, « blog » + « disney.com » = profil blog.disney.com).
FirstIndexed2012-07-29T14:00:00ZPremier point d'index pour ce chemin.
LastIndexed2014-07-29T14:00:00ZPoint d'index le plus récent pour ce chemin.
Technologie
NomExempleDescription
NomTwitter PlatformNom de la technologie trouvée.
ParentJQueryNom de la technologie parente (pour les versions, etc.).
DescriptionCette page intègre la plateforme Twitter...Description de la technologie trouvée sur la page.
Linkhttps://twitter.com/about/resourcesLien vers le site Web technologique.
IsPremiumnoEst-ce une technologie payante ? Valeurs : oui, non, peut-être.
TagjavascriptCatégorie de base. Voir index des catégories.
CategoriesSocial SDKTableau de sous-catégories pour la balise.
FirstDetected2012-07-29T14:00:00ZTechnologie de date détectée pour la première fois par BuiltWith.
LastDetected2018-04-30T14:00:00ZDate de la dernière détection de la technologie. Voir mettre à jour le point de terminaison.
Meta
NomExempleDescription
ARank2323213PageRank entre 1 et 100 000 000
QRank12121Classement du trafic de la page Transco entre 1 et 1 000 000
Majestic23231Rang Majestic entre 1 et 1 000 000
Umbrella6423Classement du trafic mondial des routeurs Umbrella entre 1 et 1 000 000
CompanyNameRodale Inc.Nom de société constituée valide
CitySan FranciscoNom de ville valide pour les pays pris en charge
Postcode94105Code postal valide
StateCAÉtat/pays valide
CountryUSCode pays ISO 3166-1 alpha-2
VerticalTechnology and ComputingL'un des ces catégories ou vide.
[Telephones]+1-650-745-0728Numéros de téléphone internationaux valides
[Emails]support@site.comE-mails de domaine valides
[Social]https://x.com/websitePrésence sociale
[Names]Name→Joe→Joe Bloggs
Level→CEO
Email→→joe.bloggs@twitter.com
Noms, e-mails et titres de poste.
Attributes
NomExempleDescription
MJRank2312Rang Majestueux à 1 m
Followers1000Abonnés de la marque - Groupes (1000 = 1000+ mais <2000)..
ProductCount40Nombre de produits SKU
Response Headers
NomExempleDescription
X-API-CREDITS-AVAILABLE322442Recherchez les crédits disponibles sous votre identifiant.
X-API-CREDITS-USED3442Recherchez les crédits que vous avez utilisés.
X-API-CREDITS-REMAINING34242Rechercher les crédits restants.
X-RATELIMIT-CURRENT-CONCURRENT2Nombre de demandes simultanées que vous effectuez.
X-RATELIMIT-CURRENT-PERSECOND2Nombre de requêtes par seconde que vous effectuez
X-RATELIMIT-LIMIT-CONCURRENT8Le taux simultané maximal avant les erreurs 429.
X-RATELIMIT-LIMIT-PERSECOND10Le nombre maximal de requêtes par seconde avant les erreurs 429.
Limitation de débit

Maximum de 8 requêtes simultanées - avec un maximum de 10 requêtes par seconde - assurez-vous de rester en dessous de ce seuil, sinon vous obtiendrez des erreurs 429.

Pour les suppressions de limites de débit Contactez-nous à propos des solutions de terminaux dédiées.

Rate Limit Error Format{"error":"Rate limit exceeded","maxConcurrentRequests":8,"maxRequestsPerSecond":1,"currentConcurrentRequests":0,"currentRequestsInWindow":1,"retryAfterSeconds":1}
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.