Buscadores
DuckDuckGo Scraper
duckduckgo.com
DuckDuckGo construye su página de resultados con JavaScript y pone desafíos a los clientes que no son un navegador real, así que hacer scraping por tu cuenta implica ejecutar uno. Un endpoint de plugin dedicado recibe una palabra clave y devuelve los resultados ya analizados: resultados orgánicos con posición, título, URL, URL visible, dominio y descripción, los anuncios de la primera página en una lista superior y otra inferior, y búsquedas relacionadas. La primera página se renderiza en un navegador real a través de un exit en el país que elijas, así que sus anuncios se cargan; las páginas siguientes añaden resultados orgánicos. La respuesta tiene la misma estructura que nuestro endpoint /serpApi de Google, de modo que un solo pipeline gestiona ambos buscadores.
Qué puedes extraer
- Resultados orgánicos con posición, título, URL, URL visible, dominio y descripción
- Anuncios superiores e inferiores de la primera página de resultados, con el dominio del anunciante
- Búsquedas relacionadas
- Páginas revisadas y un indicador hasMore
- Conjuntos de resultados por región e idioma (proxy_country + language)
- Hasta 10 páginas de resultados orgánicos por llamada
Endpoints dedicados
/search/duckduckgo Resultados de búsqueda de DuckDuckGo
Resultados de búsqueda para una palabra clave: organic (position, title, url, displayedUrl, domain, description), topAds y bottomAds de la primera página, y relatedSearches, más un recuento para cada lista. Elige la región con proxy_country y language; recopila hasta 10 páginas con pages_to_check. Mismos parámetros y misma estructura de respuesta que /serpApi; totalResults es null, ya que DuckDuckGo no muestra un número de resultados.
Cómo rastrearlo
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); Las peticiones son POST y sus parámetros van en la query string. El renderizado en navegador siempre ocurre: no hay ningún flag que activar.
Ejemplo de respuesta
{
"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
} Preguntas frecuentes
¿Es legal hacer scraping de DuckDuckGo?
Recopilar datos públicos de DuckDuckGo como resultados orgánicos, anuncios y búsquedas relacionadas es lícito en muchas jurisdicciones, pero las normas dependen de tu país, de los datos que recopiles y de cómo los uses. ScrapeUnblocker devuelve los resultados públicos; qué recopilas y cómo lo usas es responsabilidad tuya.
¿Cómo hago scraping de DuckDuckGo sin que me bloqueen?
DuckDuckGo usa detección de bots y pone desafíos a los clientes que no son un navegador real. El plugin /search/duckduckgo renderiza la primera página de resultados en un navegador real a través de un exit en el país que elijas, reintenta con un exit nuevo cuando una página llega bloqueada y devuelve JSON parseado. En el benchmark de ScrapeUnblocker devolvió resultados reales en el 100 % de 1.040 llamadas con consultas distintas, unos 3,1 s por llamada.
¿Qué datos de DuckDuckGo puedo obtener?
/search/duckduckgo devuelve JSON con la misma estructura que /serpApi: resultados orgánicos con posición, título, URL, URL visible, dominio y descripción, anuncios superiores e inferiores en sus propias listas, relatedSearches y un recuento para cada lista, además de pagesChecked y hasMore. Los anuncios vienen solo de la primera página y DuckDuckGo no los muestra en todas las consultas. totalResults siempre es null, porque DuckDuckGo no muestra un número de resultados.
¿Necesito una API o una cuenta de DuckDuckGo?
No. DuckDuckGo no ofrece una API oficial para su lista de resultados; su Instant Answer API devuelve resúmenes de temas, no resultados de búsqueda. El plugin recibe una palabra clave y devuelve los resultados como JSON parseado, sin cuenta por tu parte, y como la estructura coincide con /serpApi, el código escrito para resultados de Google lee los de DuckDuckGo cambiando solo la ruta.
¿Puedo hacer scraping de resultados de DuckDuckGo desde un país concreto?
Sí. Pasa proxy_country con un código de país de dos letras (por defecto US) y language con un código de idioma de dos letras (por defecto en). proxy_country fija la región de DuckDuckGo y el exit a través del que se renderiza la primera página, así que los resultados y los anuncios siguen ese país, y language fija el idioma de la interfaz.
¿Cuánto cuesta hacer scraping de DuckDuckGo?
Cada página de resultados obtenida se factura como una petición: una llamada con pages_to_check=3 que devuelve tres páginas cuenta como 3 peticiones, y pagesChecked muestra el número exacto. 1 petición = 1 crédito, 1,00 EUR por cada 1.000 en Pay as you go, bajando hasta unos 0,55 EUR por cada 1.000 en el plan Ultimate. No se facturan los bloqueos ni los timeouts, y la prueba gratuita incluye 500 peticiones sin tarjeta.
Scrapers relacionados
Empieza a rastrear este sitio hoy
Plan gratuito incluido. No necesitas tarjeta para probarlo.