← Retour au blog

API Google Search en Node.js : tutoriel complet (2026)

Utilisez une API Google Search en Node.js / JavaScript — requêtes avec fetch, pagination async, retries et helper typé. Exemples à copier avec serp.cheap.

1 min de lecture

Interrogez Google depuis Node.js et obtenez du JSON structuré, grâce à serp.cheap. Node 18+ intègre fetch — aucune dépendance nécessaire.

Exemple minimal

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);

Un petit helper avec retry

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" });

Paginer

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;
}

Chaque page est une requête facturée séparément. Gardez votre clé API côté serveur — ne l’envoyez jamais au navigateur.

Pour aller plus loin

Questions fréquentes

Comment appeler une API Google Search en Node.js ?+

Utilisez le fetch natif (Node 18+) pour envoyer votre requête en POST. Avec 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' }) }).

Ai-je besoin d'un SDK ?+

Vous n'y êtes pas obligé — une API SERP est un simple point de terminaison HTTP, donc le fetch natif (ou axios) suffit. Mais serp.cheap propose aussi un SDK JavaScript/TypeScript officiel (npm install @serpcheap/sdk) avec appels typés, retries et pagination, ainsi que des intégrations NestJS et Next.js.

Obtenez votre clé API

Le moins cher en direct, payez par carte ou crypto, sans KYC. Ou via une marketplace.