API delle relazioni BuiltWith

Utilizzo del credito API

Devi login O iscrizione per utilizzare l'API BuiltWith. Dopo aver effettuato l'accesso, la tua chiave API effettiva verrà mostrata qui.

Introduzione

Ottieni risultati in formato XML, JSON, CSV e TSV che mostrano le relazioni tra i siti web, indicando quali siti sono collegati, da quali elementi e per quanto tempo.

Le pagine restituiscono fino a 1.000 risultati corrispondenti per impostazione predefinita; 1.000 è anche il numero massimo. La lettura di tutte le pagine per un dominio costa 1 credito per chiave API/dominio su tutte le pagine finché la cache locale è attiva. Ogni richiesta rinnova la finestra di cache di 10 minuti. La scadenza della cache, l'eliminazione, il riavvio del server o una richiesta che raggiunge un altro server possono comportare un nuovo addebito.

Il metodo di accesso generale è il seguente -
https://api.builtwith.com/rv5/api.[xml|json|csv|tsv]?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=[DOMAIN]&PAGE=1

🤖 Richiesta dell'agente AI
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
Autenticazione

È necessario fornire la chiave API in ogni ricerca. I nostri endpoint sono solo HTTPS e forniscono la crittografia delle chiavi. Non esporre mai la tua chiave API.

La tua chiave API è
00000000-0000-0000-0000-000000000000

Puoi fornire la tua chiave come parametro di stringa di query o come intestazione HTTP:

  • Stringa di query: ?KEY=00000000-0000-0000-0000-000000000000
  • Intestazione HTTP: Authorization: API 00000000-0000-0000-0000-000000000000
Inizia con PAGE=1. Ogni risposta contiene fino a 500 record corrispondenti. Passa next_page come PAGE finché more_results è true. Ogni richiesta di pagina utilizza un credito API. Gli identificatori possono estendersi su più pagine; uniscili per tipo e valore, e le corrispondenze per dominio. Mantieni invariati i campi LOOKUP e IP. I risultati sono ordinati prima per identificatore e poi per dominio; le modifiche ai dati in tempo reale potrebbero comportare lo spostamento delle pagine. Un identificatore senza corrispondenze viene conteggiato come un risultato. Una pagina oltre i risultati disponibili restituisce identificatori vuoti. PAGE deve essere compreso tra 1 e 2147483647; OFFSET e SKIP non sono accettati. I file CSV e TSV includono righe con l'identificativo della sorgente, oltre alle corrispondenze, seguite da un piè di pagina con MAX, TOTALE, PAGINA, PAGINA SUCCESSIVA e ALTRI RISULTATI.
Ottieni un esempio di dominio

JSON Ottieni un singolo dominio
https://api.builtwith.com/rv5/api.json?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=builtwith.com&PAGE=1

XML Ottieni un singolo dominio
https://api.builtwith.com/rv5/api.xml?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=hotelscombined.com&PAGE=1

CSV Ottieni un singolo dominio
https://api.builtwith.com/rv5/api.csv?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=builtwith.com&PAGE=1

TSV Ottieni un singolo dominio
https://api.builtwith.com/rv5/api.Tsv?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=builtwith.com&PAGE=1

Riferimento
Parametri
I seguenti parametri GET possono essere forniti per le ricerche
NomeEsempiNecessario
KEY00000000-0000-0000-0000-000000000000
Questa è la tua chiave, usala per le ricerche.
SÌ
LOOKUPcnn.com
news.ycombinator.com
I domini e i sottodomini funzionano con l'API delle relazioni (non con le pagine interne)
Fornire un dominio per richiesta.
SÌ
PAGE1
Il numero di pagina, a partire da 1 (impostazione predefinita). Utilizzare il valore restituito next_page come PAGINA per la prossima richiesta mentre more_results è vero.
NO
IPyes
Carica i dati IP del sito web: questo aumenta notevolmente la quantità di risultati.
NO
API Meta
NomeEsempioDescrizione
results24Il numero totale di corrispondenze dominio/identificativo, considerando come un risultato anche gli identificativi senza corrispondenze.
page1Il numero di pagina richiesto.
max_per_page1000Il numero predefinito e massimo di record di corrispondenza per pagina è 1.000. Gli identificatori possono estendersi su più pagine.
next_page2Il numero da fornire come PAGINA quando more_results è true; 0 al termine.
more_resultstrueCiò sarà vero se ci saranno più risultati.
Risposte
Formato: Relationships[Relationship->Identifiers[Identifer]]
Relazione
Risultati è la risposta di livello superiore che identifica la ricerca.
NomeEsempioDescrizione
Domainhotelscombined.comIl dominio che è stato cercato.
IdentifiersDi seguito viene spiegato l'identificatore.Spiegato di seguito.
Identificatore
Gli identificatori sono codici univoci che si trovano sul dominio e sugli altri domini che lo contengono.
NomeEsempioDescrizione
Typegoogle-analyticsIl tipo di identificatore Vedi tutti i tipi
Value454517Il valore dell'identificatore, in genere il codice dell'identificatore, come un indirizzo IP o un ID account.
First1368860400000La data in cui abbiamo rilevato per la prima volta questo identificatore in epoch ms.
Last1398860400000Data dell'ultima rilevazione di questo identificatore in epoch ms.
MatchesLa corrispondenza è spiegata di seguito.Spiegalo di seguito.
Incontro
Le corrispondenze sono altri domini che hanno questo identificatore.
NomeEsempioDescrizione
Domaincom-hotel.comIl nome di dominio della partita.
First1398860400000La data in cui abbiamo rilevato per la prima volta questo fenomeno sul dominio corrispondente, espressa in ms.
Last1418860400000Data dell'ultima volta in cui abbiamo rilevato questo evento sul dominio corrispondente, espressa in ms.
OverlaptrueSe questo dominio ha utilizzato l'identificatore contemporaneamente al dominio di ricerca.
Librerie API
Node.js NPM

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

Microsoft .NET Nuget

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

Esempi di codice

https://github.com/builtwith/code-examples
Esempi di tutti gli endpoint API in più lingue

Esempi di codice

Ecco alcuni esempi di implementazione in diversi linguaggi di programmazione per effettuare richieste API. Inizia con PAGE=1, quindi passa next_page come PAGE mentre more_results è true:

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"
Domini speciali

Mettiamo a tua disposizione tre elenchi utili per la ricerca di domini: Ignora domini, Ignora TLD e l'elenco dei suffissi BuiltWith.

Elenco ignorati
TQuesto è il nostro elenco interno di domini che non indicizziamo. Sono bloccati, contengono troppe tecnologie fuorvianti o troppi sottodomini con contenuti generati dagli utenti.

Ignora i TLD
Questo elenco mostra i domini di primo livello e i suffissi che BuiltWith ignora durante l'indicizzazione dei siti web.

BuiltWith Elenco dei suffissi
Questo si basa sul Elenco dei suffissi pubblici ma include molte voci aggiuntive per le aziende con sottodomini che dovrebbero essere considerati domini di primo livello. Questo elenco ci garantisce una migliore visibilità per i siti web interni, ad esempio porta northernbeaches.nsw.gov.au al primo posto rispetto a nsw.gov.au.

Ignora domini (XML, JSON or TXT)
https://api.builtwith.com/ignoresv1/api.json
Ignora i TLD (XML, JSON or TXT)
https://api.builtwith.com/ignoretldsv1/api.json
Domini suffissi (XML, JSON or TXT)
https://api.builtwith.com/suffixv1/api.json
Codici di errore

Si noti che i messaggi di errore in questo formato non possono essere garantiti; l'implementazione dovrebbe considerare anche i codici di risposta diversi da 200 come errori. La proprietà Lookup sarà null (json) o non fornita (xml) se l'errore è correlato al server. Visualizza tutti i potenziali codici di errore ben formati.

Termini di utilizzo

Nostro termini standard coprono l'utilizzo di tutte le nostre API.

In generale, puoi utilizzare l'API per migliorare il tuo prodotto in molti modi. L'unica limitazione è che non puoi rivendere i dati così come sono o fornire funzionalità duplicate a builtwith.com e ai suoi servizi associati.