→ العودة إلى المدونة

واجهة برمجة بحث Google في Node.js: دليل كامل (2026)

استخدم واجهة برمجة بحث Google في Node.js / JavaScript — طلبات تعتمد على fetch، ترقيم صفحات غير متزامن، إعادة محاولات، ومساعد بأنواع. أمثلة جاهزة للنسخ مع serp.cheap.

1 دقيقة قراءة

استعلم Google من Node.js واحصل على JSON منظم، باستخدام serp.cheap. يحتوي Node 18+ على fetch مدمجة — لا حاجة إلى أي اعتماديات.

مثال بسيط

const res = await fetch("https://api.serp.cheap/v1/search", {
  method: "POST",
  headers: { "X-API-Key": "YOUR_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({ q: "best electric cars 2026", gl: "us", page: 1 }),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const { organic, stats } = await res.json();
organic.forEach(r => console.log(`#${r.position} ${r.title} — ${r.link}`));
console.log("cost (credits):", stats.cost, "cached:", stats.cached);

مساعد صغير مع إعادة المحاولة

async function search(q, { gl = "us", page = 1, tbs, retries = 4 } = {}) {
  const body = JSON.stringify({ q, gl, page, ...(tbs && { tbs }) });
  for (let attempt = 0; ; attempt++) {
    const res = await fetch("https://api.serp.cheap/v1/search", {
      method: "POST",
      headers: { "X-API-Key": process.env.SERP_KEY, "Content-Type": "application/json" },
      body,
    });
    if (res.ok) return res.json();
    if (![429, 500, 502, 503, 504].includes(res.status) || attempt >= retries) {
      throw new Error(`HTTP ${res.status}`);
    }
    await new Promise(r => setTimeout(r, 1000 * 2 ** attempt)); // backoff
  }
}

const data = await search("serp api nodejs", { gl: "us" });

ترقيم الصفحات

async function pages(q, n = 3) {
  const results = [];
  for (let p = 1; p <= n; p++) results.push(...(await search(q, { page: p })).organic);
  return results;
}

كل صفحة هي طلب منفصل يُحتسب عليه. احتفظ بمفتاح API الخاص بك على الخادم — لا ترسله أبدًا إلى المتصفح.

التالي

Frequently asked questions

كيف أستدعي واجهة برمجة بحث Google في Node.js؟+

استخدم fetch المدمجة (Node 18+) لإرسال طلب POST لاستعلامك. مع serp.cheap: fetch('https://api.serp.cheap/v1/search', { method: 'POST', headers: { 'X-API-Key': KEY, 'Content-Type': 'application/json' }, body: JSON.stringify({ q, gl: 'us' }) }).

هل أحتاج إلى SDK؟+

لست مضطرًا — واجهة SERP API هي مجرد نقطة نهاية HTTP عادية، لذا فإن fetch الأصلية (أو axios) تكفي. لكن serp.cheap يوفّر أيضًا حزمة SDK رسمية لـ JavaScript/TypeScript (npm install @serpcheap/sdk) بطلبات مُنمّطة وإعادة محاولات وترقيم صفحات، إضافةً إلى تكاملات NestJS وNext.js.

احصل على مفتاح API

الأرخص مباشرة, ادفع ببطاقة أو عملات مشفّرة، بدون KYC. أو عبر سوق.