DuckDuckGo Maps API Documentation
DuckDuckGo Maps API returns the places DuckDuckGo Maps shows for a search: name, address, GPS coordinates, phone, website, rating, review count, opening hours, amenities, photos and review snippets.
Places come from Yelp, Tripadvisor or Apple Maps, as DuckDuckGo shows them, and the source field names which one.
A search returns up to about 20 places.
Every search needs one of location, lat and lon, or bounding_box, even when q names a place.
A place named in q (e.g. coffee shops in brooklyn) can move the search there, and an ambiguous name such as springfield is usually read as the one nearest your location.
With bounding_box, every place is inside the box.
The distance of each place, in meters, comes back only when you search around a point with location or lat and lon.
When the query names a city or a region rather than places in it, the response describes that area in place_result.
open_state is one of open, closed, closing_soon, opening_soon, as of the time of the search. A place that has closed for good has is_permanently_closed instead.
Places carry the IDs other engines take: pass apple_maps_place_id to the Apple Maps Places API as place_ids,
yelp_place_id to the Yelp Place API or the Yelp Reviews API as place_id,
and tripadvisor_place_id to the Tripadvisor Place API or the Tripadvisor Reviews API as place_id.
API Parameters
Search Query
-
- Name
-
q - Required
- Required
- Description
-
Parameter defines the query you want to search on DuckDuckGo Maps, at most 500 characters. It can name the place to search in, e.g.
coffee shops in brooklyn. Every search also needslocation,latandlon, orbounding_box, and an ambiguous place name such asspringfieldis usually read as the one nearest them.
Geographic Location
-
- Name
-
location - Required
- Optional
- Description
-
Defines the location to search around by name, at most 200 characters (e.g.
Austin, Texas, United States). The location is resolved to GPS coordinates using the locations API. See the full list of supported locations. One oflocation,latandlon, orbounding_boxis required. It can't be used withlat,lonorbounding_box.
-
- Name
-
lat - Required
- Optional
- Description
-
Defines the latitude of the point to search around, between
-90and90. It must be used together withlon. One oflocation,latandlon, orbounding_boxis required.
-
- Name
-
lon - Required
- Optional
- Description
-
Defines the longitude of the point to search around, between
-180and180. It must be used together withlat. One oflocation,latandlon, orbounding_boxis required.
-
- Name
-
bounding_box - Required
- Optional
- Description
-
Defines the area to search in as four decimal degrees
west,south,east,north, with or without square brackets (e.g.-74.01,40.70,-73.95,40.76). The two latitudes can come in either order, so thebboxvalue of a DuckDuckGo Maps URL works as is. Each side spans at most60degrees, and the area can't cross the antimeridian. Every place returned is inside the box; in a large box DuckDuckGo picks which places come back, and can return few places or none. One oflocation,latandlon, orbounding_boxis required. It can't be used withlocation,latorlon.
Engine
-
- Name
-
engine - Required
- Required
- Description
-
Parameter defines an engine that will be used to retrieve real-time data. It must be set to
duckduckgo_maps.
API key
-
- Name
-
api_key - Required
- Required
- Description
-
The
api_keyauthenticates your requests. Use it as a query parameter (https://www.searchapi.io/api/v1/search?api_key=YOUR_API_KEY) or in the Authorization header (Bearer YOUR_API_KEY).
Zero Data Retention
-
- Name
-
zero_retention - Enterprise Only
- Enterprise Only
- Required
- Optional
- Description
-
Set this parameter to
trueto disable all logging and persistent storage. No request parameters, HTML, or JSON responses are stored or logged. Suitable for high-compliance use cases. Debugging and support may be limited while enabled.
API Examples
Full Response
https://www.searchapi.io/api/v1/search?engine=duckduckgo_maps&location=Brooklyn%2CNew+York%2CUnited+States&q=coffee+shops+in+brooklyn
- Python
- Node
- Ruby
- Java
- Go
- PHP
- Bash
- R
- Kotlin
- Swift
- C#
- C
- C++
- requests
import requests
url = "https://www.searchapi.io/api/v1/search"
params = {
"engine": "duckduckgo_maps",
"q": "coffee shops in brooklyn",
"location": "Brooklyn,New York,United States"
}
response = requests.get(url, params=params)
print(response.text)
{
"search_metadata": {
"id": "search_qyzmtB1aQ5GqEv6CD6043SDR",
"status": "Success",
"created_at": "2026-10-26T11:26:19Z",
"request_time_taken": 1.47,
"parsing_time_taken": 0.03,
"total_time_taken": 1.5,
"request_url": null,
"html_url": "https://www.searchapi.io/api/v1/searches/search_qyzmtB1aQ5GqEv6CD6043SDR.html",
"json_url": "https://www.searchapi.io/api/v1/searches/search_qyzmtB1aQ5GqEv6CD6043SDR"
},
"search_parameters": {
"engine": "duckduckgo_maps",
"q": "coffee shops in brooklyn",
"location": "Brooklyn,New York,United States",
"location_used": "Brooklyn,New York,United States"
},
"search_information": {
"query_displayed": "coffee shops in brooklyn"
},
"local_results": [
{
"position": 1,
"title": "Brooklyn Perk",
"source": "Yelp",
"link": "https://www.yelp.com/biz/brooklyn-perk-brooklyn?adjust_creative=duckduckgo&utm_campaign=yelp_feed&ut...",
"apple_maps_place_id": "IDB63A0308DF65C21",
"yelp_place_id": "s87VovckLhD3jVwGFeK3UQ",
"address": "605 Flatbush Ave, Brooklyn, NY 11225",
"city": "Brooklyn",
"country_code": "US",
"gps_coordinates": {
"latitude": 40.6586013,
"longitude": -73.9603457
},
"distance": 2570,
"phone": "+19179669331",
"phone_formatted": "+1 917 966 9331",
"website": "https://www.brooklynperkcoffee.com",
"rating": 4.5,
"reviews": 87,
"price_score": 1,
"type": "Coffee & tea",
"open_state": "opening_soon",
"open_hours": {
"monday": [
"07:30–17:00"
],
"tuesday": [
"07:30–17:00"
],
"wednesday": [
"07:30–17:00"
],
"thursday": [
"07:30–17:00"
],
"friday": [
"07:30–17:00"
],
"saturday": [
"08:00–17:30"
],
"sunday": [
"08:00–17:30"
]
},
"timezone": "America/New_York",
"amenities": [
"outdoor_seating",
"restaurant_takeout",
"wheelchair_accessible",
"wifi_free"
],
"thumbnail": "https://s3-media0.fl.yelpcdn.com/bphoto/mZyYT-OiHze_dS4ONhnO_Q/o.jpg",
"images": [
"https://s3-media0.fl.yelpcdn.com/bphoto/4DW9pjQ8SBDgp2LKKg31OQ/o.jpg",
"..."
],
"images_link": "https://www.yelp.com/biz_photos/brooklyn-perk-brooklyn?adjust_creative=duckduckgo&utm_campaign=yelp_...",
"user_reviews": [
{
"review_id": "GsNgxKs0Yy3D78l6Xe7ZrQ",
"link": "https://www.yelp.com/biz/brooklyn-perk-brooklyn?adjust_creative=duckduckgo&utm_campaign=yelp_feed&ut...",
"snippet": "I always go here for drinks to grab a frappe or caramel iced latte and they don't miss",
"rating": 5,
"iso_date": "2026-05-21T10:55:30Z",
"user": {
"name": "Darriell M.",
"link": "https://www.yelp.com/user_details?userid=_3DTCdoA-Op1s3680jeGNw",
"thumbnail": "https://s3-media0.fl.yelpcdn.com/photo/bMeMoluIgbfIOSCIjcWzXw/l.jpg"
}
},
"..."
]
},
"..."
]
}
Places from Tripadvisor
https://www.searchapi.io/api/v1/search?engine=duckduckgo_maps&location=Berlin%2CBerlin%2CGermany&q=cafe
- Python
- Node
- Ruby
- Java
- Go
- PHP
- Bash
- R
- Kotlin
- Swift
- C#
- C
- C++
- requests
import requests
url = "https://www.searchapi.io/api/v1/search"
params = {
"engine": "duckduckgo_maps",
"q": "cafe",
"location": "Berlin,Berlin,Germany"
}
response = requests.get(url, params=params)
print(response.text)
{
"local_results": [
{
"position": 1,
"title": "Father Carpenter",
"source": "Tripadvisor",
"link": "https://www.tripadvisor.com/Restaurant_Review-g187323-d8561890-Reviews-Father_Carpenter-Berlin.html?...",
"apple_maps_place_id": "I2BC0FEFD3038BBD5",
"tripadvisor_place_id": "8561890",
"address": "Muenzstr. 21, Berlin, DE 10178",
"city": "Berlin",
"country_code": "DE",
"neighborhoods": [
"Mitte (Borough)",
"Mitte"
],
"gps_coordinates": {
"latitude": 52.5244171,
"longitude": 13.4066087
},
"distance": 503,
"phone": "+493040044289",
"phone_formatted": "+49 30 40044289",
"website": "https://www.fathercarpenter.com",
"rating": 4.5,
"reviews": 557,
"price_score": 2,
"type": "Coffee and tea",
"types": [
"Coffee & Tea",
"Australian",
"European",
"Cafe"
],
"open_state": "open",
"open_hours": {
"monday": [
"09:00–16:00"
],
"tuesday": [
"09:00–16:00"
],
"wednesday": [
"09:00–16:00"
],
"thursday": [
"09:00–16:00"
],
"friday": [
"09:00–16:00"
],
"saturday": [
"10:00–17:00"
],
"sunday": [
"10:00–17:00"
]
},
"timezone": "Europe/Berlin",
"amenities": [
"outdoor_seating",
"restaurant_takeout",
"wheelchair_accessible",
"wifi_free"
],
"thumbnail": "https://dynamic-media.tacdn.com/media/photo-o/12/48/37/3b/photo0jpg.jpg",
"images": [
"https://dynamic-media.tacdn.com/media/photo-o/08/d5/0a/91/versteckte-ruhige-lage.jpg",
"..."
],
"user_reviews": [
{
"review_id": "1081647205",
"link": "https://www.tripadvisor.com/ShowUserReviews-g187323-d8561890-r1081647205-Father_Carpenter-Berlin.htm...",
"snippet": "Relaxing ambience, good value for money, tasty food.",
"rating": 5,
"iso_date": "2026-10-13T09:53:43Z",
"user": {
"name": "Riverdale114",
"thumbnail": "https://dynamic-media-cdn.tripadvisor.com/media/photo-o/02/c0/26/7a/riverdale114.jpg"
}
},
"..."
]
},
"..."
]
}
Search Around a Point
https://www.searchapi.io/api/v1/search?engine=duckduckgo_maps&lat=40.7128&lon=-74.0060&q=pizza
- Python
- Node
- Ruby
- Java
- Go
- PHP
- Bash
- R
- Kotlin
- Swift
- C#
- C
- C++
- requests
import requests
url = "https://www.searchapi.io/api/v1/search"
params = {
"engine": "duckduckgo_maps",
"q": "pizza",
"lat": "40.7128",
"lon": "-74.0060"
}
response = requests.get(url, params=params)
print(response.text)
{
"local_results": [
{
"position": 1,
"title": "Prince Street Pizza",
"source": "Yelp",
"link": "https://www.yelp.com/biz/prince-street-pizza-new-york-2?adjust_creative=duckduckgo&utm_campaign=yelp...",
"yelp_place_id": "zj8Lq1T8KIC5zwFief15jg",
"address": "27 Prince St, New York, NY 10012",
"city": "New York",
"country_code": "US",
"gps_coordinates": {
"latitude": 40.7230267,
"longitude": -73.9945668
},
"distance": 1491,
"phone": "+12129664100",
"phone_formatted": "+1 212 966 4100",
"rating": 4.5,
"reviews": 5728,
"price_score": 1,
"type": "Pizza",
"open_state": "closed",
"open_hours": {
"monday": [
"10:00–03:00"
],
"tuesday": [
"10:00–03:00"
],
"wednesday": [
"10:00–00:00"
],
"thursday": [
"10:00–05:00"
],
"friday": [
"10:00–05:00"
],
"saturday": [
"10:00–05:00"
],
"sunday": [
"10:00–03:00"
]
},
"timezone": "America/New_York",
"amenities": [
"restaurant_delivery",
"restaurant_takeout",
"wheelchair_accessible"
],
"thumbnail": "https://s3-media0.fl.yelpcdn.com/bphoto/Jo9jBP5y6G_bG_g3H31fiw/o.jpg",
"images": [
"https://s3-media0.fl.yelpcdn.com/bphoto/hsgJVB7D_Cbk8K30djXpng/o.jpg",
"..."
],
"images_link": "https://www.yelp.com/biz_photos/prince-street-pizza-new-york-2?adjust_creative=duckduckgo&utm_campai...",
"menu_link": "https://www.yelp.com/menu/prince-street-pizza-new-york-2?adjust_creative=duckduckgo&utm_campaign=yel...",
"user_reviews": [
{
"review_id": "6PDY1oZIMVbT91Egg1MG6w",
"link": "https://www.yelp.com/biz/prince-street-pizza-new-york-2?adjust_creative=duckduckgo&utm_campaign=yelp...",
"snippet": "Order this Uber eats at 11:18 PM. Ordered a regular cheese pie and a pepperoni pie for $53. Both pies came underdone and tasted like shit. Ridiculous that these New York City places sell pizza for...",
"rating": 3,
"iso_date": "2026-10-10T22:15:04Z",
"user": {
"name": "Daniella M.",
"link": "https://www.yelp.com/user_details?userid=Olv3zcjc64AOp1TxStCb-g"
}
},
"..."
]
},
"..."
]
}
Search in a Bounding Box
https://www.searchapi.io/api/v1/search?bounding_box=-122.410%2C37.785%2C-122.403%2C37.790&engine=duckduckgo_maps&q=coffee
- Python
- Node
- Ruby
- Java
- Go
- PHP
- Bash
- R
- Kotlin
- Swift
- C#
- C
- C++
- requests
import requests
url = "https://www.searchapi.io/api/v1/search"
params = {
"engine": "duckduckgo_maps",
"q": "coffee",
"bounding_box": "-122.410,37.785,-122.403,37.790"
}
response = requests.get(url, params=params)
print(response.text)
{
"local_results": [
{
"position": 1,
"title": "Capital One Café",
"source": "Yelp",
"link": "https://www.yelp.com/biz/capital-one-caf%C3%A9-san-francisco-3?adjust_creative=duckduckgo&utm_campai...",
"apple_maps_place_id": "IC1A8A70F6B7CD30E",
"yelp_place_id": "HdZLo3v4zNVpzx1CQjg5MA",
"address": "101 Post St, San Francisco, CA 94108",
"city": "San Francisco",
"country_code": "US",
"gps_coordinates": {
"latitude": 37.7886919,
"longitude": -122.4038959
},
"phone": "+14152484920",
"phone_formatted": "+1 415 248 4920",
"website": "https://www.capitalone.com/local/sanfrancisco-unionsquare/",
"rating": 4.5,
"reviews": 525,
"price_score": 1,
"type": "Banks & credit unions",
"open_state": "closed",
"open_hours": {
"monday": [
"07:00–18:00"
],
"tuesday": [
"07:00–18:00"
],
"wednesday": [
"07:00–18:00"
],
"thursday": [
"07:00–18:00"
],
"friday": [
"07:00–18:00"
],
"saturday": [
"09:00–17:00"
],
"sunday": [
"09:00–17:00"
]
},
"timezone": "America/Los_Angeles",
"amenities": [
"dogs_allowed",
"restaurant_takeout",
"wifi_free"
],
"thumbnail": "https://s3-media0.fl.yelpcdn.com/bphoto/vxVi4xWEYfBORS6jAZn9Ow/o.jpg",
"images": [
"https://s3-media0.fl.yelpcdn.com/bphoto/tKNd_Yddg9ofpjMEiyCrOw/o.jpg",
"..."
],
"images_link": "https://www.yelp.com/biz_photos/capital-one-caf%C3%A9-san-francisco-3?adjust_creative=duckduckgo&utm...",
"user_reviews": [
{
"review_id": "Z34ma0tuqtKax2U0d_6oCA",
"link": "https://www.yelp.com/biz/capital-one-caf%C3%A9-san-francisco-3?adjust_creative=duckduckgo&utm_campai...",
"snippet": "Impressed! I've had the venture x card for about a year and just found out recently there was a cafe in SF. You get half off of all beverages which brings your coffee anywhere from $2.5-$4...",
"rating": 5,
"iso_date": "2026-09-25T19:51:52Z",
"user": {
"name": "Candice H.",
"link": "https://www.yelp.com/user_details?userid=D-p_7WVdlyGUE3XFsTt8YQ",
"thumbnail": "https://s3-media0.fl.yelpcdn.com/photo/pDh5E446cjlWh8WpnAfaZA/l.jpg"
}
},
"..."
]
},
"..."
]
}
Area Result
The description panel DuckDuckGo shows beside the map is not part of the response.
https://www.searchapi.io/api/v1/search?engine=duckduckgo_maps&location=London%2CEngland%2CUnited+Kingdom&q=london
- Python
- Node
- Ruby
- Java
- Go
- PHP
- Bash
- R
- Kotlin
- Swift
- C#
- C
- C++
- requests
import requests
url = "https://www.searchapi.io/api/v1/search"
params = {
"engine": "duckduckgo_maps",
"q": "london",
"location": "London,England,United Kingdom"
}
response = requests.get(url, params=params)
print(response.text)
{
"place_result": {
"title": "London",
"region": "England",
"country": "United Kingdom",
"gps_coordinates": {
"latitude": 51.5033768,
"longitude": -0.0795183
},
"bounds": {
"north_latitude": 51.6933585,
"south_latitude": 51.2809717,
"east_longitude": 0.3417206,
"west_longitude": -0.5179378
}
}
}