Google renvoie environ 10 résultats organiques par page. Pour en collecter jusqu’à 100, vous paginez les résultats avec le paramètre page. Voici comment le faire efficacement avec serp.cheap.
Les bases
pageest indexé à partir de 1 (1= première page).- Chaque page renvoie environ 10 résultats organiques.
- Chaque page est une requête facturée séparément — donc 100 résultats ≈ 10 requêtes.
Python : collecter jusqu’à 100 résultats
import requests
def fetch_results(q, gl="us", max_results=100):
out, page = [], 1
while len(out) < max_results:
r = requests.post(
"https://api.serp.cheap/v1/search",
headers={"X-API-Key": "YOUR_KEY"},
json={"q": q, "gl": gl, "page": page},
timeout=30,
)
r.raise_for_status()
batch = r.json()["organic"]
if not batch:
break # no more results
out += batch
page += 1
return out[:max_results]
results = fetch_results("best project management software")
print(len(results), "results")
Node.js
async function fetchResults(q, max = 100) {
const out = [];
for (let page = 1; out.length < max; page++) {
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: JSON.stringify({ q, gl: "us", page }),
});
const { organic } = await res.json();
if (!organic.length) break;
out.push(...organic);
}
return out.slice(0, max);
}
Conseils
- Dédupliquez par lien si vous fusionnez des pages — un chevauchement occasionnel peut survenir.
- Arrêtez tôt lorsqu’une page ne renvoie aucun résultat.
- Récupérez de manière paresseuse — ne tirez pas 100 résultats si vous n’en affichez que 10. Le coût croît avec les pages.