API de relaciones construidas con

Uso de crédito API

Necesitas acceso o inscribirse para utilizar la API BuiltWith. Después de iniciar sesión, su clave API real se mostrará aquí.

Introducción

Obtenga resultados en formato XML, JSON, CSV y TSV sobre las relaciones entre sitios web, que muestran qué sitios están vinculados entre sí, por qué medio y durante cuánto tiempo.

Por defecto, las páginas devuelven hasta 1000 registros coincidentes; 1000 es también el máximo. Leer todas las páginas de un dominio cuesta 1 crédito por clave API/dominio en todas las páginas mientras la caché local esté activa. Cada solicitud renueva la ventana de caché de 10 minutos. El vencimiento de la caché, la eliminación de un registro, el reinicio del servidor o una solicitud que llegue a otro servidor pueden generar un nuevo cargo.

El método de acceso general es el siguiente -
https://api.builtwith.com/rv5/api.[xml|json|csv|tsv]?KEY=00000000-0000-0000-0000-000000000000&LOOKUP=[DOMAIN]&PAGE=1

🤖 Mensaje del agente de IA
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
Autenticación

Debe proporcionar su clave API en cada búsqueda. Nuestros puntos finales son solo HTTPS, lo que proporciona cifrado de clave. Nunca exponga su clave API.

Su clave API es
00000000-0000-0000-0000-000000000000

Puede proporcionar su clave como un parámetro de cadena de consulta o como un encabezado HTTP:

  • Cadena de consulta: ?KEY=00000000-0000-0000-0000-000000000000
  • encabezado HTTP: Authorization: API 00000000-0000-0000-0000-000000000000
Comience con PAGE=1. Cada respuesta contiene hasta 500 registros coincidentes. Pase next_page como PAGE mientras more_results sea verdadero. Cada solicitud de página utiliza un crédito de API. Los identificadores pueden abarcar varias páginas; combínelos por tipo y valor, y realice las coincidencias por dominio. Mantenga sin cambios la búsqueda y la dirección IP. Los resultados se ordenan por identificador y luego por dominio; los cambios en los datos en tiempo real pueden modificar las páginas. Un identificador sin coincidencias cuenta como un resultado. Una página posterior a los resultados disponibles devuelve identificadores vacíos. PAGE debe estar entre 1 y 2147483647; OFFSET y SKIP no son aceptados. Los formatos CSV y TSV incluyen filas de identificadores de origen además de las coincidencias, seguidas de un pie de página con MAX, TOTAL, PÁGINA, PÁGINA SIGUIENTE y MÁS RESULTADOS.
Obtener ejemplo de dominio

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

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

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

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

Referencia
Parámetros
Se pueden suministrar los siguientes parámetros GET para búsquedas
NombreEjemplosRequerido
KEY00000000-0000-0000-0000-000000000000
Esta es tu clave, úsala para realizar búsquedas.
Sí
LOOKUPcnn.com
news.ycombinator.com
Los dominios y subdominios funcionan con la API de relaciones (no con páginas internas)
Proporcione un dominio por solicitud.
Sí
PAGE1
El número de página, comenzando en 1 (el valor predeterminado). Utilice el valor devuelto. next_page como PÁGINA para la siguiente solicitud mientras more_results Es cierto.
No
IPyes
Cargar datos de IP del sitio web, esto aumenta considerablemente la cantidad de resultados.
No
Meta API
NombreEjemploDescripción
results24El número total de coincidencias de dominio/identificador, considerando como un solo resultado los identificadores sin coincidencias.
page1El número de página solicitado.
max_per_page1000El número predeterminado y máximo de registros coincidentes por página es de 1000. Los identificadores pueden abarcar varias páginas.
next_page2El número que se proporcionará como PÁGINA cuando more_results sea verdadero; 0 cuando haya terminado.
more_resultstrueEsto será cierto si hay más resultados.
Respuestas
Formato: Relationships[Relationship->Identifiers[Identifer]]
Relación
Resultados es la respuesta de nivel superior que identifica la búsqueda.
NombreEjemploDescripción
Domainhotelscombined.comEl dominio que se buscó.
IdentifiersIdentificador explicado a continuación.Se explica a continuación.
Identificador
Los identificadores son los códigos únicos que se encuentran en el dominio y otros dominios que también lo tienen.
NombreEjemploDescripción
Typegoogle-analyticsEl tipo de identificador Ver todos los tipos
Value454517El valor del identificador: normalmente el código del identificador, como una dirección IP o un ID de cuenta.
First1368860400000La fecha en la que detectamos este identificador por primera vez en la época ms.
Last1398860400000La fecha en la que detectamos este identificador por última vez en la época ms.
MatchesEl partido se explica a continuación.Explique a continuación.
Fósforo
Las coincidencias son otros dominios que tienen este identificador.
NombreEjemploDescripción
Domaincom-hotel.comEl nombre de dominio del partido.
First1398860400000La fecha en la que detectamos esto por primera vez en el dominio coincidente en la época ms.
Last1418860400000La fecha en la que detectamos esto por última vez en el dominio coincidente en época ms.
OverlaptrueSi este dominio utilizó el identificador al mismo tiempo que el dominio de búsqueda.
Bibliotecas API
Node.js NPM

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

Microsoft .NET Nuget

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

Ejemplos de código

https://github.com/builtwith/code-examples
Ejemplos de todos los puntos finales de API en varios idiomas

Ejemplos de código

Aquí hay ejemplos de implementación en diferentes lenguajes de programación para realizar solicitudes a la API. Comience con PAGE=1, luego pase next_page como PAGE mientras more_results sea verdadero:

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"
Dominios especiales

Mantenemos tres listas que le serán útiles al buscar dominios: Dominios a ignorar, TLDs a ignorar y la Lista de sufijos BuiltWith.

Lista de ignorados
TEsta es nuestra lista interna de dominios que no indexamos. Están bloqueados, contienen demasiadas tecnologías engañosas o demasiados subdominios con contenido generado por el usuario.

Ignorar TLDs
Aquí se enumeran los dominios de nivel superior y los sufijos que BuiltWith ignora al indexar sitios web.

BuiltWith Lista de sufijos
Esto se basa en la Lista de sufijos públicos pero incluye muchas entradas adicionales para empresas con subdominios que deberían considerarse dominios de nivel superior. Esta lista nos proporciona una mejor visibilidad para los sitios web internos, por ejemplo, lleva a northernbeaches.nsw.gov.au al nivel superior sobre nsw.gov.au.

Ignorar dominios (XML, JSON or TXT)
https://api.builtwith.com/ignoresv1/api.json
Ignorar TLDs (XML, JSON or TXT)
https://api.builtwith.com/ignoretldsv1/api.json
Dominios de sufijo (XML, JSON or TXT)
https://api.builtwith.com/suffixv1/api.json
Códigos de error

Tenga en cuenta que no se pueden garantizar los mensajes de error en este formato; su implementación también debe considerar los códigos de respuesta distintos de 200 como errores. La propiedad Lookup será nula (json) o no se proporcionará (xml) si el error está relacionado con el servidor. Ver todos los posibles códigos de error bien formados.

Condiciones de uso

Nuestro términos estándar cubrir el uso de todas nuestras API.

En general, puede usar la API para mejorar su producto de diversas maneras. La única limitación es que no puede revender los datos tal cual ni proporcionar funcionalidad duplicada a builtwith.com y sus servicios asociados.