تم الاستفادة من واجهة برمجة تطبيقات المنتجات

اعتمادات المنتج

تستخدم واجهة برمجة تطبيقات المنتج أرصدة المنتج وليس أرصدة واجهة برمجة التطبيقات، لأن عملية بحث واحدة يمكن أن تؤدي إلى إرجاع 5000 منتج.

انت بحاجة الى تسجيل الدخول أو اشتراك لاستخدام واجهة برمجة التطبيقات BuiltWith. بعد تسجيل الدخول، سيتم عرض مفتاح API الفعلي الخاص بك هنا.

مقدمة

تتيح لك واجهة برمجة تطبيقات المنتج المُدمجة (BuiltWith Product API) العثور على منتجات معروضة للبيع عبر الإنترنت بالكامل بصيغة JSON. تستخدم الواجهة رصيد المنتج، وليس رصيد واجهة برمجة التطبيقات، مما يوفر تكاليف فعالة.

طريقة الوصول العامة هي كما يلي:
https://api.builtwith.com/productv1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Adidas%20Yeezy

المصادقة

يجب عليك تقديم مفتاح API الخاص بك في كل عملية بحث. نقاط النهاية لدينا تعمل بتقنية HTTPS فقط، مما يوفر تشفيرًا للمفتاح. لا تعرض مفتاح API الخاص بك أبدًا.

مفتاح API الخاص بك هو
00000000-0000-0000-0000-000000000000

مثال على استعلام المنتج

JSON استعلام عن Celine Sunglasses
https://api.builtwith.com/productv1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Celine%20Sunglasses

JSON استعلام عن Celine Sunglasses, يقتصر على متجر واحد
https://api.builtwith.com/productv1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Celine%20Sunglasses&LIMIT=1

JSON استعلام عن Celine Sunglasses, يقتصر على 10 متاجر، والحصول على الصفحة 5
https://api.builtwith.com/productv1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Celine%20Sunglasses&LIMIT=10&PAGE=5

مثال على استعلام المجال

استعلام JSON لجميع المنتجات المباعة في jbhifi.com.au
https://api.builtwith.com/productv1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=dom%3Ajbhifi.com.au

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

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

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"
مرجع
معلمات طلب GET
اسمأمثلةمطلوب
KEY00000000-0000-0000-0000-000000000000نعم
QUERYceline%20sunglasses
dom:jbhifi.com.au
نعم
LIMIT50
كمية المحلات التجارية التي يجب إرجاعها.
لا
الافتراضي هو 50، لا يمكن أن يكون أكثر من 500.
PAGE3
صفحة النتائج التي سيتم إرجاعها.
لا
الافتراضي هو 0 (الصفحة الأولى)
كائن الاستجابة
شكل: object->shops[products[]]
اسمأمثلةوصف
queryceline sunglassesما الذي بحثت عنه.
is_moretruetrue or false - استخدم طلب PAGE للحصول على المزيد من الصفحات.
page0صفحة البيانات الحالية (0 هي الصفحة الأولى).
limit50الحد الأقصى لصفحة المتاجر الحالية (500) استخدم طلب LIMIT للتعديل.
results50كمية المنتجات في مجموعة النتائج.
shop_count10عدد المتاجر في مجموعة النتائج.
credits2000000كمية الائتمانات التي لديك.
used337925كمية الائتمانات التي استخدمتها.
remaining1662075كمية الرصيد المتبقي لديك.
used_this_query50كمية رصيد المنتج المستخدم للاستعلام.
next_page/productv1/api...المسار إلى الصفحة التالية من النتائج.
shops[]موضح أدناهمجموعة من نتائج المتجر والمنتجات لاستعلامك.
shop و products
اسمأمثلةوصف
Domainjbhifi.com.auالمجال أو المجال الفرعي للنتيجة
Products[]
  TitleBronzer Boosterعنوان المنتج.
  Urlbronze-bootserعنوان URL النسبي للمنتج.
  Indexed2024-09-15T00:00:00تاريخ اكتشاف المنتج آخر مرة.
  FirstIndexed2023-09-15T00:00:00تاريخ اكتشاف المنتج لأول مرة.
  Price122.33سعر المنتج بالعملة الافتراضية للمتجر.
المجالات الخاصة

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

قائمة التجاهل
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 والخدمات المرتبطة بها.