curl --request POST \
--url https://api.aisa.one/apis/v1/serpapi/duck-duck-go-maps \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"q": "Coffee"
}'import requests
url = "https://api.aisa.one/apis/v1/serpapi/duck-duck-go-maps"
payload = { "q": "Coffee" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({q: 'Coffee'})
};
fetch('https://api.aisa.one/apis/v1/serpapi/duck-duck-go-maps', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/serpapi/duck-duck-go-maps",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'q' => 'Coffee'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/serpapi/duck-duck-go-maps"
payload := strings.NewReader("{\n \"q\": \"Coffee\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/serpapi/duck-duck-go-maps")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"q\": \"Coffee\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/serpapi/duck-duck-go-maps")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"q\": \"Coffee\"\n}"
response = http.request(request)
puts response.read_body{
"search_metadata": {
"id": "<string>",
"status": "<string>",
"created_at": "<string>",
"processed_at": "<string>",
"json_endpoint": "<string>",
"raw_html_file": "<string>",
"total_time_taken": 123,
"prettify_html_file": "<string>",
"duckduckgo_maps_url": "<string>"
},
"search_parameters": {
"q": "<string>",
"engine": "<string>",
"bbox": "<string>",
"strict_bbox": "<string>"
},
"error": "<string>",
"local_results": [
{
"title": "<string>",
"position": 123,
"city": "<string>",
"link": "<string>",
"type": "<string>",
"hours": "<string>",
"phone": "<string>",
"price": "<string>",
"types": [
"<string>"
],
"images": [
"<string>"
],
"rating": 123,
"source": [
{
"name": "<string>",
"place_id": "<string>"
}
],
"address": "<string>",
"reviews": 123,
"website": "<string>",
"timezone": "<string>",
"thumbnail": "<string>",
"review_details": [
{
"snippet": "<string>",
"date": "<string>",
"user": {
"name": "<string>",
"link": "<string>"
},
"rating": 123
}
],
"gps_coordinates": {
"latitude": 123,
"longitude": 123
},
"operating_hours": {
"friday": "<string>",
"monday": "<string>",
"sunday": "<string>",
"tuesday": "<string>",
"saturday": "<string>",
"thursday": "<string>",
"wednesday": "<string>"
}
}
]
}DuckDuckGo Maps search
curl --request POST \
--url https://api.aisa.one/apis/v1/serpapi/duck-duck-go-maps \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"q": "Coffee"
}'import requests
url = "https://api.aisa.one/apis/v1/serpapi/duck-duck-go-maps"
payload = { "q": "Coffee" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({q: 'Coffee'})
};
fetch('https://api.aisa.one/apis/v1/serpapi/duck-duck-go-maps', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/serpapi/duck-duck-go-maps",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'q' => 'Coffee'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/serpapi/duck-duck-go-maps"
payload := strings.NewReader("{\n \"q\": \"Coffee\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/serpapi/duck-duck-go-maps")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"q\": \"Coffee\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/serpapi/duck-duck-go-maps")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"q\": \"Coffee\"\n}"
response = http.request(request)
puts response.read_body{
"search_metadata": {
"id": "<string>",
"status": "<string>",
"created_at": "<string>",
"processed_at": "<string>",
"json_endpoint": "<string>",
"raw_html_file": "<string>",
"total_time_taken": 123,
"prettify_html_file": "<string>",
"duckduckgo_maps_url": "<string>"
},
"search_parameters": {
"q": "<string>",
"engine": "<string>",
"bbox": "<string>",
"strict_bbox": "<string>"
},
"error": "<string>",
"local_results": [
{
"title": "<string>",
"position": 123,
"city": "<string>",
"link": "<string>",
"type": "<string>",
"hours": "<string>",
"phone": "<string>",
"price": "<string>",
"types": [
"<string>"
],
"images": [
"<string>"
],
"rating": 123,
"source": [
{
"name": "<string>",
"place_id": "<string>"
}
],
"address": "<string>",
"reviews": 123,
"website": "<string>",
"timezone": "<string>",
"thumbnail": "<string>",
"review_details": [
{
"snippet": "<string>",
"date": "<string>",
"user": {
"name": "<string>",
"link": "<string>"
},
"rating": 123
}
],
"gps_coordinates": {
"latitude": 123,
"longitude": 123
},
"operating_hours": {
"friday": "<string>",
"monday": "<string>",
"sunday": "<string>",
"tuesday": "<string>",
"saturday": "<string>",
"thursday": "<string>",
"wednesday": "<string>"
}
}
]
}Request contract
- Method and path: POST /apis/v1/serpapi/duck-duck-go-maps
- Availability: enabled
- Request URL template:
https://api.aisa.one/apis/v1/serpapi/duck-duck-go-maps - Runtime facts: 1d8d2010628130bd331b470b564dd1cd5784989899ccf3e384a8de02a69e0558
{
"operationId": "serpapi.duck-duck-go-maps",
"method": "POST",
"path": "/apis/v1/serpapi/duck-duck-go-maps",
"servers": [
{
"url": "https://api.aisa.one"
}
],
"parameters": [],
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"examples": [
"Coffee",
"Pizza restaurants",
"Gas stations"
],
"description": "Search query for DuckDuckGo Maps (e.g., 'Coffee', 'Italian restaurants', 'Hotels')."
},
"lat": {
"type": "number",
"examples": [
30.267153,
40.7128
],
"description": "GPS latitude coordinate for the search center point. Must be used together with lon parameter. Cannot be used together with bbox parameter."
},
"lon": {
"type": "number",
"examples": [
-97.7430608,
-74.006
],
"description": "GPS longitude coordinate for the search center point. Must be used together with lat parameter. Cannot be used together with bbox parameter."
},
"bbox": {
"type": "string",
"examples": [
"30.341552964181687,-97.87405344947078,30.16321730812698,-97.50702877159034",
"40.7,-74.0,40.6,-73.9"
],
"description": "Bounding box coordinates formatted as 'latitude_tl,longitude_tl,latitude_br,longitude_br' where tl=top-left and br=bottom-right. Cannot be used together with lat/lon parameters. Use this to constrain search results to a specific geographic area."
},
"strict_bbox": {
"type": "integer",
"examples": [
0,
1
],
"description": "Controls strict bounding box adherence. Set to 1 (default/strict) to limit results strictly within the bbox, or 0 (off) to allow results outside the bbox boundaries. Only relevant when bbox parameter is used."
}
}
}
}
}
},
"x-aisa-status": "enabled",
"x-aisa-pricing": {
"cost_contract": "response_units",
"customer_multiplier": 1.0,
"customer_pricing": "provider_cost_multiplier",
"default_request_estimate_usd": 0.0253,
"estimate_source": "profile_seed",
"evidence_source": "response_body",
"maximum_units": 10000000,
"unit": "provider_credit",
"unit_rate_usd": 1e-06
},
"components": {
"securitySchemes": {
"bearerAuth": {
"scheme": "bearer",
"type": "http"
}
}
}
}
Cost and request rules
Usage-based billing; Default request estimate: $0.0253 USD (not a fixed price). Declared unit rate: $0.000001 USD per provider_credit. Account-specific pricing and final settlement may differ. Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.- Default request reference estimate (USD): 0.0253
- Declared unit rate (USD): 1e-06
- Billing unit: provider_credit
- Cost contract: response_units
- Published reference multiplier: 1.0
- Declared maximum count/units: 10000000
- Settlement evidence source: response_body
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Search query for DuckDuckGo Maps (e.g., 'Coffee', 'Italian restaurants', 'Hotels').
"Coffee"
"Pizza restaurants"
"Gas stations"
GPS latitude coordinate for the search center point. Must be used together with lon parameter. Cannot be used together with bbox parameter.
30.267153
40.7128
GPS longitude coordinate for the search center point. Must be used together with lat parameter. Cannot be used together with bbox parameter.
-97.7430608
-74.006
Bounding box coordinates formatted as 'latitude_tl,longitude_tl,latitude_br,longitude_br' where tl=top-left and br=bottom-right. Cannot be used together with lat/lon parameters. Use this to constrain search results to a specific geographic area.
"30.341552964181687,-97.87405344947078,30.16321730812698,-97.50702877159034"
"40.7,-74.0,40.6,-73.9"
Controls strict bounding box adherence. Set to 1 (default/strict) to limit results strictly within the bbox, or 0 (off) to allow results outside the bbox boundaries. Only relevant when bbox parameter is used.
0
1