API del producto BuiltWith

Créditos del producto

La API de producto utiliza créditos de producto, no créditos de API, porque una búsqueda puede devolver 5000 productos.

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

Introducción

La API de productos BuiltWith te permite encontrar productos en venta en internet en un feed JSON. La API de productos utiliza créditos de producto, no créditos API, lo que te permite ahorrar dinero.

El método general de acceso es el siguiente:
https://api.builtwith.com/productv1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Adidas%20Yeezy

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

Ejemplo de consulta de producto

JSON Consulta para Celine Sunglasses
https://api.builtwith.com/productv1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Celine%20Sunglasses

JSON Consulta para Celine Sunglasses, limitado a 1 tienda
https://api.builtwith.com/productv1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Celine%20Sunglasses&LIMIT=1

JSON Consulta para Celine Sunglasses, Limitado a 10 tiendas, obteniendo la página 5
https://api.builtwith.com/productv1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Celine%20Sunglasses&LIMIT=10&PAGE=5

Ejemplo de consulta de dominio

Consulta JSON para todos los productos vendidos en jbhifi.com.au
https://api.builtwith.com/productv1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=dom%3Ajbhifi.com.au

Ejemplos de código

A continuación se muestran ejemplos de implementación en diferentes lenguajes de programación para realizar solicitudes de API:

var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("https://api.builtwith.com/productv1/api.json" +
"?KEY=00000000-0000-0000-0000-000000000000&QUERY=Celine%20Sunglasses&LIMIT=10&PAGE=5"),
};
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/productv1/api.json"
params = {
    'KEY': '00000000-0000-0000-0000-000000000000',
    'QUERY': 'Celine Sunglasses',
    'LIMIT': 10,
    'PAGE': 5
}
response = requests.get(url, params=params)
print(response.json())
<?php
$url = "https://api.builtwith.com/productv1/api.json";
$params = array(
    'KEY' => '00000000-0000-0000-0000-000000000000',
    'QUERY' => 'Celine Sunglasses',
    'LIMIT' => 10,
    'PAGE' => 5
);
$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/productv1/api.json?KEY=' +
'00000000-0000-0000-0000-000000000000&QUERY=Celine%20Sunglasses&LIMIT=10&PAGE=5';
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/productv1/api.json" +
 "?KEY=00000000-0000-0000-0000-000000000000&QUERY=Celine%20Sunglasses&LIMIT=10&PAGE=5";
        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/productv1/api.json')
uri.query = URI.encode_www_form({
    'KEY' => '00000000-0000-0000-0000-000000000000',
    'QUERY' => 'Celine Sunglasses',
    'LIMIT' => 10,
    'PAGE' => 5
})
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/productv1/api.json?KEY=" +
"00000000-0000-0000-0000-000000000000&QUERY=Celine%20Sunglasses&LIMIT=10&PAGE=5"
    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/productv1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Celine%20Sunglasses&LIMIT=10&PAGE=5"
Referencia
Parámetros de la solicitud GET
NombreEjemplosRequerido
KEY00000000-0000-0000-0000-000000000000
QUERYceline%20sunglasses
dom:jbhifi.com.au
LIMIT50
La cantidad de tiendas que hay que traer de vuelta.
No
El valor predeterminado es 50, no puede ser más de 500.
PAGE3
La página de resultados para traer de vuelta.
No
El valor predeterminado es 0 (primera página)
Objeto de respuesta
Formato: object->shops[products[]]
NombreEjemplos Descripción
queryceline sunglassesLo que buscabas.
is_moretruetrue or false - Utilice la solicitud PAGE para obtener más páginas.
page0Página de datos actual (0 es la primera página).
limit50Límite de página actual de tiendas (máximo 500), use la solicitud LIMIT para modificar.
results50La cantidad de productos en el conjunto de resultados.
shop_count10La cantidad de tiendas en el conjunto de resultados.
credits2000000La cantidad de créditos que tienes.
used337925La cantidad de créditos que has utilizado.
remaining1662075La cantidad de créditos que te quedan.
used_this_query50La cantidad de créditos del producto utilizados para la consulta.
next_page/productv1/api...Ruta a la siguiente página de resultados.
shops[]Explicado a continuaciónLa matriz de resultados de tiendas y productos para su consulta.
shop y products
NombreEjemplosDescripción
Domainjbhifi.com.auEl dominio y/o subdominio del resultado
Products[]
  TitleBronzer BoosterEl título del producto.
  Urlbronze-bootserURL relativa del producto.
  Indexed2024-09-15T00:00:00Fecha en que se detectó el producto por última vez.
  FirstIndexed2023-09-15T00:00:00Fecha en que se detectó el producto por primera vez.
  Price122.33Precio del producto en la moneda por defecto de la Tienda.
Dominios especiales

Mantenemos dos listas útiles para la búsqueda de dominios: listas de ignorados y listas de sufijos incorporados.

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.

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