API-Guthabennutzung

Sie müssen Login oder Melden Sie sich an um die BuiltWith-API zu verwenden. Nach der Anmeldung wird hier Ihr aktueller API-Schlüssel angezeigt.

Einführung

Erhalten Sie XML-, JSON-, CSV- und TSV-Ergebnisse zu Beziehungen zwischen Websites, die zeigen, welche Websites wie und seit welcher Zeit miteinander verknüpft sind.

Seiten liefern standardmäßig bis zu 1.000 Treffer; 1.000 ist auch das Maximum. Das Lesen aller Seiten einer Domain kostet 1 Guthaben pro API-Schlüssel/Domain über alle Seiten hinweg, solange der lokale Cache aktiv ist. Jede Anfrage erneuert das 10-Minuten-Cache-Fenster. Cache-Ablauf, Löschung, Serverneustart oder Anfragen an einen anderen Server können zu neuen Kosten führen.

Die allgemeine Zugriffsmethode ist wie folgt -
https://api.builtwith.com/rv5/api.[xml|json|csv|tsv]?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=[DOMAIN]&PAGE=1

🤖 KI-Agenten-Aufforderung
Reference https://api.builtwith.com/llms.txt and
https://raw.githubusercontent.com/builtwith/builtwith-ai-sdk/refs/heads/main/README.md
Add builtwith AI api to my app as a client. Make a call to the relationships API for the domain hotelscombined.com
Authentifizierung

Sie müssen bei jeder Suche Ihren API-Schlüssel angeben. Unsere Endpunkte sind ausschließlich HTTPS-fähig und bieten Schlüsselverschlüsselung. Geben Sie Ihren API-Schlüssel niemals preis.

Ihr API-Schlüssel ist
00000000-0000-0000-0000-000000000000

Sie können Ihren Schlüssel als Abfragezeichenfolgenparameter oder als HTTP-Header angeben:

  • Abfragezeichenfolge: ?KEY=00000000-0000-0000-0000-000000000000
  • HTTP-Header: Authorization: API 00000000-0000-0000-0000-000000000000
Beginnen Sie mit PAGE=1. Jede Antwort enthält bis zu 500 Treffer. Übergeben Sie next_page als PAGE, solange more_results auf true gesetzt ist. Jede Seitenanfrage verbraucht einen API-Credit. Kennungen können sich über mehrere Seiten erstrecken; sie werden nach Typ und Wert zusammengeführt und Treffer nach Domäne ermittelt. LOOKUP und IP-Adresse bleiben unverändert. Die Ergebnisse werden zuerst nach Kennung und dann nach Domäne sortiert; Änderungen an den Live-Daten können zu Verschiebungen der Seiten führen. Eine Kennung ohne Übereinstimmungen zählt als ein Ergebnis. Seiten jenseits der verfügbaren Ergebnisse liefern leere Kennungen. PAGE muss zwischen 1 und 2147483647 liegen; OFFSET und SKIP werden nicht akzeptiert. CSV- und TSV-Dateien enthalten neben den Treffern auch Quellidentifikatorzeilen, gefolgt von einer Fußzeile mit MAX, TOTAL, PAGE, NEXT PAGE und MORE RESULTS.
Beispiel für die Domänenabfrage

JSON Einzelne Domain erhalten
https://api.builtwith.com/rv5/api.json?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=builtwith.com&PAGE=1

XML Einzelne Domain erhalten
https://api.builtwith.com/rv5/api.xml?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=hotelscombined.com&PAGE=1

CSV Einzelne Domain erhalten
https://api.builtwith.com/rv5/api.csv?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=builtwith.com&PAGE=1

TSV Einzelne Domain erhalten
https://api.builtwith.com/rv5/api.Tsv?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=builtwith.com&PAGE=1

Referenz
Parameter
Die folgenden GET-Parameter können für Lookups angegeben werden
NameBeispieleErforderlich
KEY00000000-0000-0000-0000-000000000000
Dies ist Ihr Schlüssel. Verwenden Sie ihn für Nachschlagevorgänge.
Ja
LOOKUPcnn.com
news.ycombinator.com
Domänen und Subdomänen funktionieren mit der Relationship API (keine internen Seiten)
Bitte geben Sie pro Anfrage eine Domain an.
Ja
PAGE1
Die Seitenzahl, beginnend mit 1 (Standardeinstellung). Verwenden Sie die zurückgegebene next_page als SEITE für die nächste Anfrage während more_results ist wahr.
NEIN
IPyes
Laden Sie die IP-Daten der Website, dies erhöht die Anzahl der Ergebnisse erheblich.
NEIN
API-Metadaten
NameBeispielBeschreibung
results24Die Gesamtzahl der Domain-/Identifikator-Übereinstimmungen, wobei ein Identifikator ohne Übereinstimmungen als ein Ergebnis gezählt wird.
page1Die angeforderte Seitenzahl.
max_per_page1000Die standardmäßige und maximale Anzahl von Trefferdatensätzen pro Seite beträgt 1.000. Kennungen können sich über mehrere Seiten erstrecken.
next_page2Die Zahl, die als PAGE angegeben werden soll, wenn more_results wahr ist; 0, wenn fertig.
more_resultstrueDies gilt auch, wenn weitere Ergebnisse vorliegen.
Antworten
Format: Relationships[Relationship->Identifiers[Identifer]]
Beziehung
„Ergebnisse“ ist die Antwort der obersten Ebene, die die Suche identifiziert.
NameBeispielBeschreibung
Domainhotelscombined.comDie gesuchte Domäne.
IdentifiersKennung unten erklärt.Wird unten erklärt.
Kennung
Kennungen sind die eindeutigen Codes, die in der Domäne und anderen Domänen, die sie ebenfalls haben, zu finden sind.
NameBeispielBeschreibung
Typegoogle-analyticsDer Typ der Kennung Alle Typen anzeigen
Value454517Der Wert der Kennung – normalerweise der Code der Kennung wie eine IP-Adresse oder eine Konto-ID.
First1368860400000Das Datum, an dem wir diese Kennung erstmals in der Epoche ms erkannt haben.
Last1398860400000Das Datum, an dem wir diese Kennung zuletzt in Epoche ms erkannt haben.
MatchesSpiel unten erklärt.Erklären Sie es unten.
Übereinstimmen
Übereinstimmungen sind andere Domänen, die diese Kennung haben.
NameBeispielBeschreibung
Domaincom-hotel.comDer Domänenname der Übereinstimmung.
First1398860400000Das Datum, an dem wir dies erstmals in der übereinstimmenden Domäne in Epoche ms festgestellt haben.
Last1418860400000Das Datum, an dem wir dies zuletzt in der übereinstimmenden Domäne in Epoche ms festgestellt haben.
OverlaptrueWenn diese Domäne die Kennung gleichzeitig mit der Suchdomäne verwendet hat.
API-Bibliotheken
Node.js NPM

https://www.npmjs.com/package/builtwith-api
NPM Paket von Zach Caceres - https://github.com/zcaceres/builtwith-api

Microsoft .NET Nuget

https://www.nuget.org/packages/BuiltWith/
C# Paket von BuiltWith Pty Ltd - https://github.com/builtwith/BuiltWith-C-Client-API

Codebeispiele

https://github.com/builtwith/code-examples
Beispiele aller API-Endpunkte in mehreren Sprachen

Codebeispiele

Hier finden Sie Implementierungsbeispiele in verschiedenen Programmiersprachen für API-Anfragen. Beginnen Sie mit PAGE=1 und übergeben Sie dann next_page als PAGE, während more_results auf true gesetzt ist:

var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("https://api.builtwith.com/rv5/api.json" +
                        "?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=wayfair.com&PAGE=1"),
};
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/rv5/api.json"
params = {
    'KEY': '00000000-0000-0000-0000-000000000000',
    'LOOKUP': 'wayfair.com',
    'PAGE': 1
}
response = requests.get(url, params=params)
print(response.json())
<?php
$url = "https://api.builtwith.com/rv5/api.json";
$params = array(
    'KEY' => '00000000-0000-0000-0000-000000000000',
    'LOOKUP' => 'wayfair.com',
    'PAGE' => 1
);
$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/rv5/api.json?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=wayfair.com&PAGE=1';
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/rv5/api.json" +
                    "?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=wayfair.com&PAGE=1";
        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/rv5/api.json')
uri.query = URI.encode_www_form({
    'KEY' => '00000000-0000-0000-0000-000000000000',
    'LOOKUP' => 'wayfair.com',
    'PAGE' => 1
})
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/rv5/api.json?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=wayfair.com&PAGE=1"
    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/rv5/api.json?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=wayfair.com&PAGE=1"
Spezielle Domänen

Wir pflegen drei Listen, die Sie bei der Suche nach Domains verwenden können: Domains ignorieren, TLDs ignorieren und die BuiltWith-Suffixliste.

Ignorierliste
TDies ist unsere eigene interne Liste von Domänen, die wir nicht indizieren. Sie sind entweder blockiert, enthalten zu viele irreführende Technologien oder zu viele Subdomänen mit benutzergenerierten Inhalten.

TLDs ignorieren
Hier werden die Top-Level-Domains und Suffixe aufgelistet, die BuiltWith beim Indizieren von Websites ignoriert.

BuiltWith Suffixliste
Dies basiert auf der Öffentliche Suffixliste enthält aber viele zusätzliche Einträge für Unternehmen mit Subdomänen, die als Top-Level-Domänen betrachtet werden sollten. Diese Liste bietet uns eine bessere Sichtbarkeit für interne Websites, beispielsweise bringt sie northernbeaches.nsw.gov.au auf die oberste Ebene über nsw.gov.au.

Domänen ignorieren (XML, JSON or TXT)
https://api.builtwith.com/ignoresv1/api.json
TLDs ignorieren (XML, JSON or TXT)
https://api.builtwith.com/ignoretldsv1/api.json
Suffixdomänen (XML, JSON or TXT)
https://api.builtwith.com/suffixv1/api.json
Fehlercodes

Beachten Sie, dass Fehlermeldungen in diesem Format nicht garantiert werden können. Ihre Implementierung sollte auch Antwortcodes ungleich 200 als Fehler betrachten. Die Lookup-Eigenschaft ist null (JSON) oder wird nicht bereitgestellt (XML), wenn der Fehler serverbezogen ist. Alle potenziellen wohlgeformten Fehlercodes anzeigen.

Nutzungsbedingungen

Unser Allgemeine Geschäftsbedingungen decken die Verwendung aller unserer APIs ab.

Sie können die API grundsätzlich nutzen, um Ihr Produkt auf vielfältige Weise zu verbessern. Die einzige Einschränkung besteht darin, dass Sie die Daten nicht unverändert weiterverkaufen oder doppelte Funktionen für builtwith.com und die zugehörigen Dienste bereitstellen dürfen.