DuckDuckGo Local Places Scraper avatar

DuckDuckGo Local Places Scraper

Pricing

Pay per event

Go to Apify Store
DuckDuckGo Local Places Scraper

DuckDuckGo Local Places Scraper

Extract DuckDuckGo local business results with names, addresses, phones, websites, ratings, coordinates, provider links, and query ranks.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Scrape DuckDuckGo local places results for business names, categories, addresses, phones, websites, ratings, coordinates, and search metadata.

What does DuckDuckGo Local Places Scraper do?

DuckDuckGo Local Places Scraper turns DuckDuckGo local search pages into a clean dataset of business/place records.

It accepts search phrases such as dentists near Austin, coffee shops near Seattle, or plumbers in London.

For every returned local place, it saves contact and location details that are useful for lead generation, local SEO, market research, and enrichment workflows.

Who is it for?

  • 🧭 Local lead generation agencies building prospect lists.
  • 📍 SEO teams comparing local visibility across cities.
  • 🧪 Market researchers checking business density by category.
  • 🧰 Sales teams looking for websites, phones, and addresses.
  • 🏢 Operations teams validating local branch data.

Why use this actor?

DuckDuckGo aggregates local data from public providers and exposes useful business facts without requiring a user login.

This actor focuses on the local places vertical instead of general web results.

It is a lightweight HTTP actor, so runs are fast and inexpensive compared with browser-based scraping.

What data can you extract?

FieldDescription
querySearch phrase used for the result
rankResult position for that query
nameBusiness or place name
categoryDuckDuckGo category when available
addressFull address
phoneNormalized phone number
displayPhoneHuman-readable phone
websiteBusiness website
sourceUrlProvider listing URL, often Yelp
ratingRating value
reviewCountReview count
latitude / longitudeCoordinates
hoursOpening-hours object
imageUrlPlace image URL
sourceEngineSource shown by DuckDuckGo
scrapedAtTimestamp

How much does it cost to scrape DuckDuckGo local places?

The actor uses pay-per-event pricing: a small start charge per run plus a per-place charge for each saved result.

ChargeFree tierBronzeSilverGoldPlatinumDiamond
Run start$0.005$0.005$0.005$0.005$0.005$0.005
Saved place$0.000207$0.000180$0.0001404$0.000108$0.000072$0.0000504

Example costs on the Free tier:

  • 20 saved places: about $0.0091 ($0.005 start + 20 × $0.000207).
  • 50 saved places: about $0.0154.
  • 100 saved places: about $0.0257.

For the first test run, keep the default two queries and 20 places per query. You only pay per saved result, so a query with fewer available DuckDuckGo local places costs less.

Input

The main input is queries.

Use natural DuckDuckGo local phrases.

Good examples:

  • dentists near Austin
  • coffee shops near Seattle
  • roofers in Phoenix
  • vegan restaurants in Berlin
  • hotels near Prague old town

Input options

OptionTypeDefaultNotes
queriesarrayrequiredLocal search phrases
maxResultsPerQueryinteger20DuckDuckGo commonly returns about 20 places
regionstringus-enDuckDuckGo locale hint
requestDelayMsinteger750Polite delay between queries

Output example

{
"query": "dentists near Austin",
"rank": 1,
"name": "Northland Dental Studio",
"category": "General dentistry",
"address": "3307 Northland Dr, Ste 230, Austin, TX 78731",
"phone": "+15123882220",
"displayPhone": "+1 512 388 2220",
"website": "https://www.northlanddentalstudio.com",
"sourceUrl": "https://www.yelp.com/biz/northland-dental-studio-austin-2",
"rating": 5,
"reviewCount": 62,
"latitude": 30.3347952,
"longitude": -97.7575592,
"sourceEngine": "Yelp",
"scrapedAt": "2026-05-30T00:00:00.000Z"
}

How to run

  1. Open the actor on Apify.
  2. Add one or more local search queries.
  3. Keep the default result limit for a quick first run.
  4. Start the actor.
  5. Download results as JSON, CSV, Excel, or via API.

Tips for better results

  • Include both category and location in each query.
  • Use city names, neighborhoods, or landmarks.
  • Use multiple queries for larger lead lists.
  • Keep phrases concise.
  • Compare related terms such as dentists, orthodontists, and dental clinic.

Integrations

Use the dataset with:

  • CRM enrichment workflows.
  • Local SEO dashboards.
  • Google Sheets exports.
  • Data warehouses.
  • Apify webhooks.
  • Clay, Make, Zapier, or n8n automations.

API usage with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/duckduckgo-local-places-scraper').call({
queries: ['dentists near Austin'],
maxResultsPerQuery: 20
});
console.log(run.defaultDatasetId);

API usage with Python

from apify_client import ApifyClient
client = ApifyClient('MY-APIFY-TOKEN')
run = client.actor('automation-lab/duckduckgo-local-places-scraper').call(run_input={
'queries': ['coffee shops near Seattle'],
'maxResultsPerQuery': 20,
})
print(run['defaultDatasetId'])

API usage with cURL

curl -X POST 'https://api.apify.com/v2/acts/automation-lab~duckduckgo-local-places-scraper/runs?token=MY-APIFY-TOKEN' \
-H 'Content-Type: application/json' \
-d '{"queries":["plumbers in Phoenix"],"maxResultsPerQuery":20}'

MCP usage

Use Apify MCP with Claude Desktop or Claude Code.

MCP URL:

https://mcp.apify.com/?tools=automation-lab/duckduckgo-local-places-scraper

Claude Code setup:

$claude mcp add apify-duckduckgo-local --transport http https://mcp.apify.com/?tools=automation-lab/duckduckgo-local-places-scraper

Claude Desktop JSON config:

{
"mcpServers": {
"apify-duckduckgo-local": {
"url": "https://mcp.apify.com/?tools=automation-lab/duckduckgo-local-places-scraper"
}
}
}

Example prompts:

  • "Run the DuckDuckGo Local Places Scraper for dentists near Austin."
  • "Find coffee shops near Seattle and summarize which have websites."
  • "Export local roofers in Phoenix to a CSV-ready table."

Legality

This actor collects publicly available local-search data.

You are responsible for using the data in compliance with applicable privacy, marketing, and database laws.

Do not use scraped contact data for unlawful spam or prohibited outreach.

Limitations

DuckDuckGo may return fewer than the requested maximum.

DuckDuckGo local results are not available for every query or country.

Some records may miss websites, phones, ratings, or coordinates depending on upstream data.

FAQ

Why did I get no results?

Try a more explicit local query such as dentists near Austin instead of just dentists.

Why are there only about 20 results per query?

DuckDuckGo's local endpoint commonly exposes a compact set of local places. Use multiple queries or locations for larger coverage.

Why is a website missing?

DuckDuckGo may know the provider listing but not the business website for every place.

Changelog

Initial version extracts DuckDuckGo local place records from the public local endpoint.

Data quality notes

The actor keeps provider IDs when DuckDuckGo exposes them.

It keeps the original provider URL separately from the business website.

It stores coordinates as numbers for easier map usage.

It stores hours as an object because the available day keys can vary.

Performance

The actor uses HTTP requests, not a browser.

Default memory is 256 MB.

The default delay is conservative for polite repeated queries.

Best practices

Start with 2-5 queries.

Review a sample dataset before scaling up.

Use exact locations when possible.

Deduplicate downstream by website, phone, or provider ID.

Example query sets

  • dentists near Austin
  • orthodontists near Austin
  • emergency dentist Austin
  • coffee shops near Seattle
  • coffee roasters Seattle
  • plumbers in Phoenix
  • roofers in Phoenix
  • vegan restaurants Berlin

Support

If a query returns fewer results than expected, include the exact input when requesting support.

This helps reproduce the source response and separate actor issues from DuckDuckGo coverage limits.

Summary

DuckDuckGo Local Places Scraper is a focused local-business extraction tool for teams that need alternative local search data.

It is designed to be simple, fast, and API-friendly.

Use it when you need business names, contact fields, source links, ratings, and coordinates from DuckDuckGo local results.