Realizzato con l'API di ricerca per parole chiave

Introduzione

Endpoint API che consente di cercare siti web contenenti parole chiave specifiche.

Il metodo di accesso generale è il seguente -
https://api.builtwith.com/kws1/api.[json|csv]?KEY=00000000-0000-0000-0000-000000000000&KEYWORD=[KEYWORD]

🤖 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 keyword search API to find websites using the keyword perfume
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
Esempi di ricerca per parole chiave

JSON Cerca per parola chiave
https://api.builtwith.com/kws1/api.json?KEY=00000000-0000-0000-0000-000000000000&KEYWORD=perfume

JSON Ricerca con limite
https://api.builtwith.com/kws1/api.json?KEY=00000000-0000-0000-0000-000000000000&KEYWORD=perfume&LIMIT=50

JSON Pagina successiva utilizzando l'offset
https://api.builtwith.com/kws1/api.json?KEY=00000000-0000-0000-0000-000000000000&KEYWORD=perfume&OFFSET=[last domain from previous result]

CSV Cerca per parola chiave
https://api.builtwith.com/kws1/api.csv?KEY=00000000-0000-0000-0000-000000000000&KEYWORD=perfume

Esempi di codice

Ecco alcuni esempi di implementazione in diversi linguaggi di programmazione per effettuare richieste API:

var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("https://api.builtwith.com/kws1/api.json" +
                        "?KEY=00000000-0000-0000-0000-000000000000&KEYWORD=perfume"),
};
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/kws1/api.json"
params = {
    'KEY': '00000000-0000-0000-0000-000000000000',
    'KEYWORD': 'perfume'
}
response = requests.get(url, params=params)
print(response.json())
<?php
$url = "https://api.builtwith.com/kws1/api.json";
$params = array(
    'KEY' => '00000000-0000-0000-0000-000000000000',
    'KEYWORD' => 'perfume'
);
$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/kws1/api.json?KEY=00000000-0000-0000-0000-000000000000&KEYWORD=perfume';
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/kws1/api.json" +
                    "?KEY=00000000-0000-0000-0000-000000000000&KEYWORD=perfume";
        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/kws1/api.json')
uri.query = URI.encode_www_form({
    'KEY' => '00000000-0000-0000-0000-000000000000',
    'KEYWORD' => 'perfume'
})
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/kws1/api.json?KEY=00000000-0000-0000-0000-000000000000&KEYWORD=perfume"
    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/kws1/api.json?KEY=00000000-0000-0000-0000-000000000000&KEYWORD=perfume"
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.
KEYWORDperfume
wordpress
Deve essere composta da almeno 4 lettere, solo caratteri alfabetici, e non deve essere una parola comune di uso frequente.
LIMIT100
Numero di risultati da restituire. Minimo 16, massimo 1000. Valore predefinito: 100.
NO
OFFSETzoho.com
L'ultimo dominio restituito dalla pagina precedente. Utilizzato per la paginazione dei set di chiavi.
NO
Risposte
Formato: Keyword, Domains[], NextOffset
NomeEsempioDescrizione
KeywordperfumeLa parola chiave che è stata cercata.
Domains["example.com","store.com"]Elenco di nomi di dominio contenenti la parola chiave.
NextOffsetzoho.comPassa questo valore come OFFSET per recuperare la pagina successiva. Restituisce "END" quando non ci sono più risultati.
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

Domini speciali

Manteniamo due elenchi utili per la ricerca di domini: gli elenchi "Ignora" e gli elenchi "BuiltWith Suffix".

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.

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
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.