برمجة تطبيقات البحث بالكلمات الرئيسية BuildWith

مقدمة

نقطة نهاية API تسمح لك بالبحث عن مواقع الويب التي تحتوي على كلمات مفتاحية محددة.

طريقة الوصول العامة هي كما يلي -
https://api.builtwith.com/kws1/api.[json|csv]?KEY=00000000-0000-0000-0000-000000000000&KEYWORD=[KEYWORD]

🤖 موجه وكيل الذكاء الاصطناعي
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

أمثلة التعليمات البرمجية

فيما يلي أمثلة تنفيذية بلغات برمجة مختلفة لإنشاء طلبات واجهة برمجة التطبيقات:

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) بلغات متعددة

المجالات الخاصة

نحتفظ بقائمتين لاستخدامك عند البحث عن النطاقات: قوائم التجاهل وقوائم اللاحقات المبنية.

قائمة التجاهل
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 كأخطاء. ستكون خاصية البحث فارغة (json) أو غير متوفرة (xml) إذا كان الخطأ متعلقًا بالخادم. عرض جميع رموز الأخطاء المحتملة ذات التكوين الجيد.

شروط الاستخدام

ملكنا الشروط القياسية تغطية استخدام كافة واجهات برمجة التطبيقات لدينا.

بشكل عام، يمكنك استخدام واجهة برمجة التطبيقات (API) لتحسين منتجك بطرق عديدة. القيد الوحيد هو عدم إمكانية إعادة بيع البيانات كما هي أو توفير وظائف مكررة لـbuiltwith.com والخدمات المرتبطة بها.