Moteurs de recherche
DuckDuckGo Scraper
duckduckgo.com
DuckDuckGo construit sa page de résultats en JavaScript et soumet à des défis les clients qui ne sont pas un vrai navigateur : le scraper soi-même implique donc d'en faire tourner un. Un endpoint de plugin dédié prend un mot-clé et renvoie les résultats déjà parsés : résultats organiques avec position, titre, URL, URL affichée, domaine et description, les annonces de la première page dans une liste du haut et une du bas, et les recherches associées. La première page est rendue dans un vrai navigateur via une sortie dans le pays de votre choix, pour que ses annonces se chargent ; les pages suivantes ajoutent des résultats organiques. La réponse a le même format que notre endpoint Google /serpApi, donc un seul pipeline traite les deux moteurs.
Ce que vous pouvez extraire
- Résultats organiques avec position, titre, URL, URL affichée, domaine et description
- Annonces du haut et du bas de la première page de résultats, avec le domaine de l'annonceur
- Recherches associées
- Pages consultées et un indicateur hasMore
- Jeux de résultats par région et par langue (proxy_country + language)
- Jusqu'à 10 pages de résultats organiques par appel
Endpoints dédiés
/search/duckduckgo Résultats de recherche DuckDuckGo
Résultats de recherche pour un mot-clé : organic (position, title, url, displayedUrl, domain, description), topAds et bottomAds de la première page, et relatedSearches, avec un décompte pour chaque liste. Choisissez la région avec proxy_country et language ; collectez jusqu'à 10 pages avec pages_to_check. Mêmes paramètres et même format de réponse que /serpApi ; totalResults vaut null, car DuckDuckGo n'affiche pas de nombre de résultats.
Comment le scraper
curl -X POST \
-H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
"https://api.scrapeunblocker.com/search/duckduckgo?keyword=car%20insurance&pages_to_check=1&proxy_country=US"import requests
resp = requests.post(
"https://api.scrapeunblocker.com/search/duckduckgo",
headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
params={"keyword": "car insurance", "pages_to_check": "1", "proxy_country": "US"},
)
print(resp.text)import { ScrapeUnblockerClient } from 'scrapeunblocker';
const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });
const results = await su.duckduckgoSearch('car insurance', {
pagesToCheck: 1,
proxyCountry: 'US',
});
console.log(results); Les requêtes sont en POST et passent leurs paramètres dans la query string. Le rendu navigateur a toujours lieu : aucun flag à activer.
Exemple de réponse
{
"engine": "duckduckgo",
"keyword": "car insurance",
"country": "US",
"language": "en",
"totalResults": null,
"resultsCollected": 14,
"topAdsCount": 3,
"bottomAdsCount": 1,
"organicResultsCount": 10,
"topAds": [
{
"position": 2,
"title": "Side-By-Side Comparison - Car Insurance From $29/Mo",
"url": "https://www.nerdwallet.com/m/insurance/auto-insurance/compare-quotes-control-29?...",
"displayedUrl": "https://www.nerdwallet.com › insurance › car",
"domain": "nerdwallet.com",
"description": "Discover how much you could save on car insurance. Get multiple quotes in minutes!..."
}
],
"bottomAds": [
{
"position": 1,
"title": "GEICO® Official Site - Get a Free GEICO® Quote Today",
"url": "https://ad.doubleclick.net/searchads/link/click?lid=43700084044715165&...",
"displayedUrl": "https://www.geico.com › Auto",
"domain": "geico.com",
"description": "Get a Free Quote Today. GEICO®'s Car Insurance Quotes Are Personalized For You..."
}
],
"organic": [
{
"position": 1,
"title": "Cheapest Car Insurance in New York: Rates & Top Companies",
"url": "https://insurify.com/car-insurance/new-york/",
"displayedUrl": "https://insurify.com › car-insurance › new-york",
"domain": "insurify.com",
"description": "Compare the cheapest car insurance in New York for 2026, including average rates, top insurers..."
}
],
"relatedSearches": ["car insurance quotes online", "car insurance near me", "compare car insurance"],
"pagesChecked": 1,
"hasMore": true
} Lire la documentation de l'API
Questions fréquentes
Est-il légal de scraper DuckDuckGo ?
Collecter des données DuckDuckGo publiques comme les résultats organiques, les annonces et les recherches associées est licite dans de nombreuses juridictions, mais les règles dépendent de votre pays, des données collectées et de leur usage. ScrapeUnblocker renvoie les résultats publics ; ce que vous collectez et la façon dont vous l'utilisez relève de votre responsabilité.
Comment scraper DuckDuckGo sans me faire bloquer ?
DuckDuckGo utilise la détection de bots et soumet à des défis les clients qui ne sont pas un vrai navigateur. Le plugin /search/duckduckgo rend la première page de résultats dans un vrai navigateur via une sortie dans le pays de votre choix, réessaie via une sortie fraîche lorsqu'une page revient bloquée, et renvoie du JSON parsé. Dans le benchmark de ScrapeUnblocker, 100 % des 1 040 appels avec des requêtes différentes ont renvoyé de vrais résultats, en environ 3,1 s par appel.
Quelles données DuckDuckGo puis-je obtenir ?
/search/duckduckgo renvoie du JSON au même format que /serpApi : les résultats organiques avec position, titre, URL, URL affichée, domaine et description, les annonces du haut et du bas dans leurs propres listes, relatedSearches et un décompte pour chaque liste, ainsi que pagesChecked et hasMore. Les annonces ne viennent que de la première page, et DuckDuckGo ne les affiche pas pour chaque requête. totalResults vaut toujours null, car DuckDuckGo n'affiche pas de nombre de résultats.
Ai-je besoin d'une API ou d'un compte DuckDuckGo ?
Non. DuckDuckGo ne propose pas d'API officielle pour sa liste de résultats ; son Instant Answer API renvoie des résumés de sujets, pas des résultats de recherche. Le plugin prend un mot-clé et renvoie les résultats en JSON parsé, sans compte de votre côté, et comme le format correspond à /serpApi, du code écrit pour les résultats Google lit les résultats DuckDuckGo en changeant seulement le chemin.
Puis-je scraper les résultats DuckDuckGo d'un pays précis ?
Oui. Passez proxy_country avec un code pays à deux lettres (US par défaut) et language avec un code de langue à deux lettres (en par défaut). proxy_country fixe la région DuckDuckGo et la sortie par laquelle la première page est rendue, les résultats et les annonces suivent donc ce pays, et language fixe la langue de l'interface.
Combien coûte le scraping de DuckDuckGo ?
Chaque page de résultats récupérée est facturée comme une requête : un appel pages_to_check=3 qui renvoie trois pages compte pour 3 requêtes, et pagesChecked indique le nombre exact. 1 requête = 1 crédit, 1,00 EUR pour 1 000 en paiement à l'usage, en descendant jusqu'à environ 0,55 EUR pour 1 000 sur l'offre Ultimate. Les blocages et les timeouts ne sont pas facturés, et l'essai gratuit inclut 500 requêtes sans carte bancaire.
Scrapers similaires
Commencez à scraper ce site dès aujourd'hui
Palier gratuit inclus. Aucune carte bancaire requise pour tester.