DuckDuckGo Maps Scraper avatar

DuckDuckGo Maps Scraper

Pricing

from $1.99 / 1,000 search results

Go to Apify Store
DuckDuckGo Maps Scraper

DuckDuckGo Maps Scraper

Scrapes local business and place results from DuckDuckGo Maps. Extracts name, address, phone, website, rating, reviews, category, hours, and coordinates.

Pricing

from $1.99 / 1,000 search results

Rating

0.0

(0)

Developer

Search API

Search API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 days ago

Last modified

Features

Limited permissions

Share

Scrapes the public DuckDuckGo Maps results page and returns normalized local business records. The actor reads the ranked place list rendered in the Maps sidebar (and DuckDuckGo's own embedded React payload behind it), then preserves the values shown there: names, addresses, phones, rating providers, ratings, review counts, categories, prices, hours, open status, review text, thumbnails, and search provenance.

Input

FieldRequiredDefaultDescription
queryYes—Place or business query, such as coffee shops.
locationNo—City, neighborhood, or address appended as near <location>.
maxItemsNo50Number of cards to return, from 1 to 500.
categoryNo—Case-insensitive category filter.
minRatingNo—Keep cards at or above a rating from 0 to 5.
openNowNofalseKeep cards whose visible status starts with Open.
regionNous-enDuckDuckGo market code.
proxyConfigurationNo—Optional Apify proxy settings.
maxRequestRetriesNo2Retries for transient navigation and server failures, from 0 to 5. A detected CAPTCHA or access denial ends the run without retrying.
requestTimeoutSecsNo45Maximum page navigation wait, from 10 to 120 seconds.
headlessNotrueRun the browser without a visible window.

The complete input contract, including types and bounds, is in .actor/input_schema.json.

Example:

{
"query": "coffee shops",
"location": "New York",
"maxItems": 20,
"region": "us-en"
}

Output

Every record has a stable generated id and uid, output and source positions, the visible business fields, and provenance fields such as sourceUrl, dataSource, retrievalMethod, searchUrl, searchMetadata, and scrapedAt.

A record is only emitted for a real ranked place: the name must come with a visible address or coordinates. DuckDuckGo's single focused place panel (article[data-testid="maps-vertical-detail"]) is not a search result and is never read. When the Maps surface returns no ranked place, the run stores 0 rows instead of inventing a place from the query text.

link/detailUrl carry the place's provider listing URL (for example its Yelp page). A map-provider place link (maps.apple.com, maps.google.*, …) is never used as the result link; when it is the only URL the payload has, it is reported as providerUrl instead.

The dataset declares more than 70 possible fields. Fields unavailable on the current public card are omitted — DuckDuckGo does not publish e-mail addresses, opening-time navigation URLs, claimed/verified flags, chain data or payment options, so those stay empty. The overview view contains the common business fields; fullDetails exposes the complete normalized record.

The full dataset field schema, types, and requiredness are in .actor/dataset_schema.json.

How to use

Enter a place query and optional location in the Apify Input tab, set filters, and start the Actor. Review business records in the Output dataset. Queries with no local intent can return an empty dataset because DuckDuckGo may show only a focused place panel instead of ranked places.

Source behavior

DuckDuckGo can change its Maps markup, return fewer cards, or show no local results for a query. The actor returns only cards it can read from the live public page and does not invent coordinates, websites, or source identifiers when the page does not expose them.

A query with no local intent (for example artificial intelligence) is not an error: DuckDuckGo answers it with a single focused place panel and no ranked list, so the actor logs the empty surface and stores nothing. Give the query local intent, or pair it with location, to get places.