DuckDuckGo Search Scraper - Organic SERP Data avatar

DuckDuckGo Search Scraper - Organic SERP Data

Pricing

from $0.30 / 1,000 results

Go to Apify Store
DuckDuckGo Search Scraper - Organic SERP Data

DuckDuckGo Search Scraper - Organic SERP Data

Scrape organic duckduckgo.com SERPs with positions, titles, URLs, domains, and snippets. Localize by country, apply Safe Search and time filters, and export structured data for SEO rank tracking, competitor research, and lead discovery

Pricing

from $0.30 / 1,000 results

Rating

0.0

(0)

Developer

Iñigo Garcia Olaizola

Iñigo Garcia Olaizola

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

DuckDuckGo Search Scraper — Organic SERP Data by Country & Time

Scrape organic DuckDuckGo search results and download structured ranking data for SEO research, competitor monitoring, content discovery, and lead generation. Use it as a privacy-focused Google Search alternative with country, Safe Search, and publication-time filters.

🤖 What does DuckDuckGo Search Scraper do?

DuckDuckGo Search Scraper collects organic web results for one or more search queries and saves them to an Apify dataset.

  • Organic rankings — collect result positions without ads or interface widgets
  • Search result details — extract titles, destination URLs, domains, and snippets
  • Multiple queries — research several keywords in one run
  • Country targeting — compare results across supported countries
  • Safe Search controls — choose strict, moderate, or disabled filtering
  • Time filters — focus on results from the past day, week, month, or year
  • Flexible exports — download JSON, CSV, Excel, XML, or RSS

Great for: rank tracking, keyword research, competitor analysis, content research, brand monitoring, link prospecting, and lead discovery.

SEO keywords: DuckDuckGo scraper, DuckDuckGo search results, organic SERP scraper, Google Search alternative, SEO rank tracker, DuckDuckGo API alternative, Apify Actor.

💡 Why scrape DuckDuckGo search results?

  • 📈 Track organic visibility — monitor which pages rank for important keywords
  • 🕵️ Research competitors — discover the domains and content winning each SERP
  • 🌍 Compare countries — identify regional differences in rankings and sources
  • 📰 Find recent content — narrow discovery to a recent publication period
  • 🔗 Build prospect lists — collect relevant websites for outreach or enrichment
  • 🤖 Power automated workflows — connect structured search data to APIs, agents, and dashboards

🚀 Quick Start

  1. Add the Actor — open DuckDuckGo Search Scraper in Apify Store.
  2. Enter your searches — add one or more values to queries.
  3. Choose a limit — set maxItems and, if needed, maxPagesPerQuery.
  4. Refine the search — select country, safeSearch, or timeRange.
  5. Run the Actor — click Run or start it through the Apify API or SDK.
  6. Download results — open the Dataset tab and export your preferred format.

📝 Input Parameters

ParameterTypeRequiredDescription
queriesArray of stringsYesOne or more DuckDuckGo search queries, processed in the order provided.
maxItemsIntegerYesMaximum results saved across all queries. Default 10. Set 0 to use only the per-query page limit.
countryStringNoTwo-letter country code for localized results, such as us, gb, de, es, or ru. Default us.
proxyCountryStringNoOptional two-letter country code for the network location. Leave empty to use the configured proxy pool.
safeSearchEnumNoExplicit-content filtering: "strict" · "moderate" · "off". Default "moderate".
timeRangeEnumNoPublication-time filter: "any" · "day" · "week" · "month" · "year". Default "any".
maxPagesPerQueryIntegerNoMaximum result pages collected for each query, from 1 to 10. Default 10.

Unsupported country codes fall back to us. Use gb for the United Kingdom; the common uk alias is also accepted.

SEO rank research across several keywords

{
"queries": [
"best web scraping tools",
"browser automation platform",
"data for AI agents"
],
"maxItems": 100,
"country": "us",
"safeSearch": "moderate",
"timeRange": "any",
"maxPagesPerQuery": 10
}

Recent German-language market research

{
"queries": [
"Datenschutz Browser",
"Suchmaschinen Marktanteil"
],
"maxItems": 40,
"country": "de",
"proxyCountry": "de",
"safeSearch": "strict",
"timeRange": "month",
"maxPagesPerQuery": 4
}

📊 Output Results

Each dataset item contains one organic DuckDuckGo search result:

  • query (string) — search query that produced the result
  • position (number) — result position in the complete dataset
  • title (string) — result headline
  • url (string) — destination URL
  • displayUrl (string, optional) — readable URL shown in search results
  • domain (string, optional) — destination hostname
  • snippet (string, optional) — descriptive text shown with the result

Example result:

{
"query": "best web scraping tools",
"position": 1,
"title": "Apify Store - 53,000+ web scraping and automation tools",
"url": "https://apify.com/store",
"displayUrl": "apify.com/store",
"domain": "apify.com",
"snippet": "Ready-to-use web scraping and automation tools for popular websites and data workflows."
}

Positions are contiguous across the complete run, including runs containing multiple queries.

🧭 Tips & Common Recipes

  • Track one keyword deeply: use one query with a higher maxItems value.
  • Compare several topics: add multiple queries and set a shared result limit.
  • Monitor recent coverage: set timeRange to "day", "week", or "month".
  • Compare markets: repeat the same query in separate runs with different country values.
  • Align regional signals: set country and proxyCountry to the same code.
  • Control sensitive results: choose "strict" or "off" with safeSearch.

⚙️ Best Practices

  • Use focused queries to improve the relevance of collected domains and snippets.
  • Keep the same country and filters when comparing rankings over time.
  • Set a realistic maxItems limit to avoid collecting results you do not need.
  • Search rankings change naturally by location, time, and DuckDuckGo index updates.

🌍 Proxy Usage

Residential proxies are recommended for reliable search collection at scale. Use proxyCountry when the network location should match a specific market; otherwise, leave it empty and rely on the configured proxy pool.

  • Follow DuckDuckGo's terms, policies, and applicable robots instructions.
  • Use reasonable collection volumes and avoid abusive traffic patterns.
  • Handle personal data responsibly and comply with applicable privacy laws, including GDPR.
  • Respect copyright, database rights, and attribution requirements when republishing data.
  • Confirm that your intended use is lawful in the relevant jurisdiction.

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by DuckDuckGo. All trademarks are the property of their respective owners.

❓ FAQ

Can I search more than one query in a run?

Yes. Add each search term to queries. Results are collected in the same order and share the global maxItems limit.

What is the difference between country and proxyCountry?

country localizes the search results. proxyCountry selects the requested network location. Matching them generally gives the most consistent regional results, but they can differ when your workflow requires it.

Does the Actor include advertisements?

No. The output focuses on organic search results.

Why did I receive fewer results than maxItems?

maxItems is a maximum, not a guarantee. A query can have fewer available results, and maxPagesPerQuery can stop collection before the global limit.

Can I use the results through an API?

Yes. Start runs and retrieve dataset items with the Apify API, JavaScript SDK, Python SDK, webhooks, or integrations.

🛟 Support

Need a custom field, search option, or export workflow?

Open an issue or contact the developer at https://igolaizola.com/#contact or https://t.me/igolaizola.