DuckDuckGo Search Scraper — Organic SERP API
Pricing
from $0.45 / 1,000 organic search results
DuckDuckGo Search Scraper — Organic SERP API
Get clean, paginated DuckDuckGo organic search results with rank, title, URL, domain, and snippet. Fast HTTP, 68 regions, and pay-per-result pricing.
Pricing
from $0.45 / 1,000 organic search results
Rating
0.0
(0)
Developer
DataScraperES
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Collect structured DuckDuckGo organic search results for one query or a large keyword list. Receive ranked URLs, titles, snippets, positions, localization context, and pagination metadata in an export-ready Apify Dataset.
What this Actor does
The Actor normalizes and deduplicates queries, requests the selected search market, follows result pages within the configured limits, removes duplicate organic URLs for each query, and saves one Dataset item per delivered organic result. Query and pagination metadata make repeated ranking checks easier to interpret.
Use cases
- Track organic rankings across keywords and countries.
- Compare competitors, domains, titles, and snippets in search results.
- Build keyword-research and content-planning datasets.
- Compare visibility across Google, Bing, Yahoo, and DuckDuckGo.
How to use
- Add one or more search queries.
- Select the market or region and Safe Search options when available.
- Choose the result and page limits.
- Start the Actor and export the Dataset when it finishes.
Input
Submit 1–1,000 unique queries of up to 500 characters. maxResultsPerQuery accepts 1–100, maxPagesPerQuery accepts 1–10, region localizes results, and safeSearch supports Strict, Moderate, or Off. Duplicate and blank queries are removed automatically.
This exact input produced the complete output below:
{"queries": ["OpenAI"],"maxResultsPerQuery": 5,"maxPagesPerQuery": 1,"region": "us-en","safeSearch": "Moderate"}
Output
Each charged row is one organic result with query and region context, stable result ID, page and page position, global position, title, destination URL, domain, display URL, description, pagination status, and collection timestamp.
This is the complete first Dataset item from a real successful run:
{"type": "organicResult","query": "OpenAI","queryId": "5519578e64416d7ca87c9d1f","region": "us-en","safeSearch": "Moderate","pagesFetched": 1,"organicResultsFound": 5,"paginationStoppedReason": "max_results_reached","fetchedAt": "2026-08-24T10:53:05.942821+02:00","resultId": "5e0daa044968945e105fff34198278e9","page": 1,"pagePosition": 1,"position": 1,"title": "Official site","url": "https://openai.com/","domain": "openai.com","displayUrl": "openai.com","description": "OpenAI"}
Pricing
Each delivered organic result triggers one organic-result event.
| Tier | Price per result | Price per 1,000 results |
|---|---|---|
| Free | $0.0006 | $0.60 |
| Bronze | $0.00054 | $0.54 |
| Silver | $0.00048 | $0.48 |
| Gold | $0.00045 | $0.45 |
| Platinum | $0.00045 | $0.45 |
| Diamond | $0.00045 | $0.45 |
Empty queries, duplicates, failed requests, status records, and run summaries are not charged as organic results. Apify platform usage can still apply according to your plan.
API and integrations
Run the Actor through Apify Console, API, CLI, schedules, tasks, or webhooks. Consume results through the default Dataset API or connect them to spreadsheets, databases, SEO dashboards, and supported automation tools. Export formats include JSON, JSONL, CSV, Excel, XML, and RSS.
Related Actors
| Actor | Best for |
|---|---|
| Google SERP Scraper API – Search Results Scraper | Comparing DuckDuckGo results with Google organic rankings. |
| Bing Search Scraper – SERP Results | Collecting Bing results with markets, SafeSearch, and optional SERP features. |
| Yahoo Search Results Scraper | Adding localized Yahoo results to a cross-engine comparison. |
Limits and data quality
DuckDuckGo can expose fewer results than requested and may change ordering, snippets, or availability between runs. This Actor covers organic web results, not image, news, video, or advertisement search. Configured limits are maxima, not guaranteed counts, and current search-engine availability determines what can be delivered.
Frequently asked questions
Are positions global across pages?
Yes. The main position field represents the organic ranking across the collected pages for that query.
Why did I receive fewer results than requested?
The source may expose fewer unique organic URLs, pagination may end, duplicate destinations may be removed, or a temporary restriction may stop the query. Review the pagination and status fields in the result.
Can I run the same queries on a schedule?
Yes. Apify schedules can repeat the Actor, and each Dataset preserves its collection timestamp for comparison.
Responsible use
Use search-result data for lawful purposes. Respect the search engine's terms, applicable privacy and data-protection laws, copyright, and the rights of listed websites. Rankings and snippets are observations at collection time, not permanent facts.
Support
Open an issue in the Actor's Issues tab with the run ID, affected query, localization settings, and expected result. Never include API tokens, passwords, or private credentials.