캠프 검색 API로 구축됨

소개

특정 키워드를 포함하는 웹사이트를 검색할 수 있는 API 엔드포인트입니다.

일반적인 접근 방법은 다음과 같습니다. -
https://api.builtwith.com/kws1/api.[json|csv]?KEY=00000000-0000-0000-0000-000000000000&KEYWORD=[KEYWORD]

🤖 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
입증

각 조회 시 API 키를 제공해야 합니다. 당사 엔드포인트는 HTTPS만 사용하며 키 암호화를 제공합니다. API 키를 절대로 노출하지 마세요.

귀하의 API 키는
00000000-0000-0000-0000-000000000000

키를 쿼리 문자열 매개변수 또는 HTTP 헤더로 제공할 수 있습니다.

  • 쿼리 문자열: ?KEY=00000000-0000-0000-0000-000000000000
  • HTTP 헤더: Authorization: API 00000000-0000-0000-0000-000000000000
키워드 검색 예시

JSON 키워드로 검색
https://api.builtwith.com/kws1/api.json?KEY=00000000-0000-0000-0000-000000000000&KEYWORD=perfume

JSON 검색 제한
https://api.builtwith.com/kws1/api.json?KEY=00000000-0000-0000-0000-000000000000&KEYWORD=perfume&LIMIT=50

JSON 오프셋을 사용하여 다음 페이지로 이동합니다.
https://api.builtwith.com/kws1/api.json?KEY=00000000-0000-0000-0000-000000000000&KEYWORD=perfume&OFFSET=[last domain from previous result]

CSV 키워드로 검색
https://api.builtwith.com/kws1/api.csv?KEY=00000000-0000-0000-0000-000000000000&KEYWORD=perfume

코드 예제

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"
참조
매개변수
다음 GET 매개변수는 조회를 위해 제공될 수 있습니다.
이름예시필수의
KEY00000000-0000-0000-0000-000000000000
이것이 키입니다. 이것을 사용하여 검색하세요.
KEYWORDperfume
wordpress
최소 4글자 이상이어야 하며, 알파벳 문자만 사용해야 하고, 흔히 쓰이는 불용어는 사용할 수 없습니다.
LIMIT100
반환할 결과 개수입니다. 최소값은 16개, 최대값은 1000개입니다. 기본값은 100개입니다.
아니요
OFFSETzoho.com
이전 페이지에서 반환된 마지막 도메인입니다. 키셋 페이지네이션에 사용됩니다.
아니요
응답
체재: Keyword, Domains[], NextOffset
이름설명
Keywordperfume검색된 키워드입니다.
Domains["example.com","store.com"]키워드를 포함하는 도메인 이름 배열입니다.
NextOffsetzoho.com다음 페이지를 가져오려면 이 값을 OFFSET으로 전달하세요. 더 이상 결과가 없으면 "END"를 반환합니다.
API 라이브러리
Node.js NPM

https://www.npmjs.com/package/builtwith-api
NPM 패키지별 Zach Caceres - https://github.com/zcaceres/builtwith-api

Microsoft .NET Nuget

https://www.nuget.org/packages/BuiltWith/
C# 패키지별 BuiltWith Pty Ltd - https://github.com/builtwith/BuiltWith-C-Client-API

코드 예제

https://github.com/builtwith/code-examples
다양한 언어로 제공되는 모든 API 엔드포인트 예시

특수 도메인

도메인을 검색할 때 유용한 두 가지 목록이 있습니다. Ignore 목록과 BuiltWith Suffix 목록입니다.

무시 목록
T이는 저희가 인덱싱하지 않는 내부 도메인 목록입니다. 이 도메인들은 차단되었거나, 오해의 소지가 있는 기술을 너무 많이 포함하고 있거나, 사용자가 생성한 콘텐츠가 포함된 하위 도메인이 너무 많습니다.

BuiltWith 접미사 목록
이는 다음을 기반으로 합니다. 공개 접미사 목록 하지만 최상위 도메인으로 간주되어야 하는 하위 도메인이 있는 회사에 대한 많은 추가 항목이 포함되어 있습니다. 이 목록은 내부 웹사이트에 대한 가시성을 높여줍니다. 예를 들어 northernbeaches.nsw.gov.au가 nsw.gov.au보다 최상위에 위치하게 됩니다.

도메인 무시 (XML, JSON or TXT)
https://api.builtwith.com/ignoresv1/api.json
접미사 도메인 (XML, JSON or TXT)
https://api.builtwith.com/suffixv1/api.json
오류 코드

이 형식의 오류 메시지는 보장할 수 없으며, 구현 시 200이 아닌 응답 코드도 오류로 간주해야 합니다. 오류가 서버 관련이면 Lookup 속성은 null(json)이 되거나 제공되지 않습니다(xml). 모든 잠재적인 잘 구성된 오류 코드 보기.

이용 약관

우리의 표준 용어 모든 API를 사용하는 것을 포함합니다.

일반적으로 API를 사용하여 제품을 다양한 방식으로 개선할 수 있습니다. 단, 데이터를 있는 그대로 재판매하거나 builtwith.com 및 관련 서비스에 중복된 기능을 제공할 수 없습니다.