> ## Documentation Index
> Fetch the complete documentation index at: https://aisa.one/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> - Base URLs: models `https://api.aisa.one/v1` (Gemini GenerateContent: `https://api.aisa.one/v1beta`); data APIs `https://api.aisa.one/apis/v1`. The `servers` of each operation in https://aisa.one/openapi.yaml is authoritative.
> - Auth: `Authorization: Bearer $AISA_API_KEY`. Never print, log, or commit the key.
> - MCP (preferred for agents): `https://mcp.aisa.one/mcp`, signed in with OAuth, so there is no key to paste.
> - Agent Skill: `npx skills add AIsa-team/agent-skills --skill aisa`. Fallback with the AIsa CLI: `aisa skills install aisa`.
> - Spending: docs, https://aisa.one/models, https://aisa.one/api, `/v1/models`, and MCP `search`, `list_categories`, `get_details`, `batch_quote`, and the `account` operation are free. Quote the exact calls before running them (MCP `batch_quote`, CLI `aisa quote --json`). If the quote reports `auto_execute_eligible: true`, run it unless the user set a tighter limit or asked only for a quote. Otherwise, tell the user in one message the planned calls, the quoted price, and a total USD budget for the task, then wait for approval. Direct HTTP calls follow the stricter rule at https://aisa.one/docs/get-started/cli.md#direct-http-fallback. Do not make paid calls to test availability. Full rule: https://aisa.one/llms.txt

# DuckDuckGo Maps search

> <!-- aisa-pricing:start -->
按用量计费；默认请求预估费用：$0.0253 USD（不是固定价格）。 声明的单位费率：每 provider_credit $0.000001 USD。 最终费用以账户适用价格及实际结算为准。
<!-- aisa-pricing:end -->

## 请求规范

* **方法与路径:** POST /apis/v1/serpapi/duck-duck-go-maps
* **可用状态:** enabled
* **请求 URL 模板:** `https://api.aisa.one/apis/v1/serpapi/duck-duck-go-maps`
* **Runtime 事实版本:** 1d8d2010628130bd331b470b564dd1cd5784989899ccf3e384a8de02a69e0558

[完整 OpenAPI 定义](https://aisa.one/docs/reference-contracts/zh/serpapi.json)

有效请求与价格声明（包括认证和引用的 schema）：

```json theme={null}
{
  "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"
      }
    }
  }
}
```

## 费用与请求规则

按用量计费；默认请求预估费用：\$0.0253 USD（不是固定价格）。 声明的单位费率：每 provider\_credit \$0.000001 USD。 最终费用以账户适用价格及实际结算为准。

公开参考值不是你的账户报价或最终扣费。对于支持 X-AISA-Cost-Mode: quote 的接口，执行前请针对完整请求获取免费报价；执行后通过响应费用元数据和 Usage Logs 核对结算费用。1 USD 等于 1,000,000 个整数 micro-USD。

* **默认请求参考估价（USD）:** 0.0253
* **声明的单位费率（USD）:** 1e-06
* **计费单位:** provider\_credit
* **计费依据:** response\_units
* **公开参考倍率:** 1.0
* **声明的最大计数或单位数:** 10000000
* **结算证据来源:** response\_body


## OpenAPI

````yaml reference-contracts/zh/serpapi.json POST /apis/v1/serpapi/duck-duck-go-maps
openapi: 3.1.0
info:
  description: ''
  title: SerpApi
  version: '1'
  x-aisa-capabilities:
    idempotency: Idempotency-Key
    max_price: X-AISA-Max-Price-USD
    quote:
      header: X-AISA-Cost-Mode
      value: quote
  x-aisa-configured-paths:
    - /apis/v1/serpapi/amazon-product
    - /apis/v1/serpapi/amazon-search
    - /apis/v1/serpapi/app-store-search-apps
    - /apis/v1/serpapi/baidu-news
    - /apis/v1/serpapi/baidu-search
    - /apis/v1/serpapi/bing-copilot
    - /apis/v1/serpapi/bing-images
    - /apis/v1/serpapi/bing-maps
    - /apis/v1/serpapi/bing-news
    - /apis/v1/serpapi/bing-search
    - /apis/v1/serpapi/bing-shopping
    - /apis/v1/serpapi/bing-videos
    - /apis/v1/serpapi/brave-ai-mode
    - /apis/v1/serpapi/duck-duck-go-light-search
    - /apis/v1/serpapi/duck-duck-go-maps
    - /apis/v1/serpapi/duck-duck-go-search
    - /apis/v1/serpapi/duckduckgo-light
    - /apis/v1/serpapi/duckduckgo-maps
    - /apis/v1/serpapi/duckduckgo-news
    - /apis/v1/serpapi/duckduckgo-search
    - /apis/v1/serpapi/ebay-product
    - /apis/v1/serpapi/ebay-search
    - /apis/v1/serpapi/event-search
    - /apis/v1/serpapi/facebook-profile
    - /apis/v1/serpapi/finance-search
    - /apis/v1/serpapi/get-facebook-profile
    - /apis/v1/serpapi/get-google-about-this-result
    - /apis/v1/serpapi/get-google-hotels-autocomplete-suggestions
    - /apis/v1/serpapi/get-google-images-related-content
    - /apis/v1/serpapi/get-google-patent-details
    - /apis/v1/serpapi/google-ads
    - /apis/v1/serpapi/google-ads-transparency
    - /apis/v1/serpapi/google-ai-mode
    - /apis/v1/serpapi/google-ai-overview
    - /apis/v1/serpapi/google-events
    - /apis/v1/serpapi/google-finance
    - /apis/v1/serpapi/google-flights
    - /apis/v1/serpapi/google-forums-search
    - /apis/v1/serpapi/google-hotels
    - /apis/v1/serpapi/google-images
    - /apis/v1/serpapi/google-jobs
    - /apis/v1/serpapi/google-jobs-search
    - /apis/v1/serpapi/google-keywords-ideas
    - /apis/v1/serpapi/google-lens
    - /apis/v1/serpapi/google-lens-search
    - /apis/v1/serpapi/google-light
    - /apis/v1/serpapi/google-light-search
    - /apis/v1/serpapi/google-local
    - /apis/v1/serpapi/google-maps
    - /apis/v1/serpapi/google-maps-search
    - /apis/v1/serpapi/google-news
    - /apis/v1/serpapi/google-patents
    - /apis/v1/serpapi/google-play-product
    - /apis/v1/serpapi/google-play-search-apps
    - /apis/v1/serpapi/google-scholar
    - /apis/v1/serpapi/google-scholar-author
    - /apis/v1/serpapi/google-scholar-cite
    - /apis/v1/serpapi/google-serp-organic
    - /apis/v1/serpapi/google-shopping
    - /apis/v1/serpapi/google-trends
    - /apis/v1/serpapi/google-videos
    - /apis/v1/serpapi/google-videos-light
    - /apis/v1/serpapi/home-depot-search
    - /apis/v1/serpapi/hotel-search
    - /apis/v1/serpapi/image-search
    - /apis/v1/serpapi/instagram-profile
    - /apis/v1/serpapi/naver-ai-overview
    - /apis/v1/serpapi/naver-search
    - /apis/v1/serpapi/news-search
    - /apis/v1/serpapi/open-table-reviews
    - /apis/v1/serpapi/play-search
    - /apis/v1/serpapi/scholar-search
    - /apis/v1/serpapi/search
    - /apis/v1/serpapi/search-apple-app-store
    - /apis/v1/serpapi/search-google-images-light
    - /apis/v1/serpapi/search-google-local-services
    - /apis/v1/serpapi/search-public-google-ads
    - /apis/v1/serpapi/search-yelp
    - /apis/v1/serpapi/shopping-search
    - /apis/v1/serpapi/trends-search
    - /apis/v1/serpapi/tripadvisor-search
    - /apis/v1/serpapi/walmart-product
    - /apis/v1/serpapi/walmart-search
    - /apis/v1/serpapi/yahoo-images
    - /apis/v1/serpapi/yahoo-search
    - /apis/v1/serpapi/yahoo-videos
    - /apis/v1/serpapi/yandex-images
    - /apis/v1/serpapi/yandex-images-search
    - /apis/v1/serpapi/yandex-search
    - /apis/v1/serpapi/yandex-videos
    - /apis/v1/serpapi/yelp-search
    - /apis/v1/serpapi/you-tube-search
    - /apis/v1/serpapi/youtube-search-videos
  x-aisa-document:
    facts_hash: 1d8d2010628130bd331b470b564dd1cd5784989899ccf3e384a8de02a69e0558
    generator_version: '3'
    protocol_version: '1'
    schema_version: '1'
    seed_month: 2026-10
    composer_version: '28'
    response_pending:
      - operation_id: serpapi.amazon-product
        path: /apis/v1/serpapi/amazon-product
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.amazon-search
        path: /apis/v1/serpapi/amazon-search
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.app-store-search-apps
        path: /apis/v1/serpapi/app-store-search-apps
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.baidu-news
        path: /apis/v1/serpapi/baidu-news
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.baidu-search
        path: /apis/v1/serpapi/baidu-search
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.bing-copilot
        path: /apis/v1/serpapi/bing-copilot
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.bing-images
        path: /apis/v1/serpapi/bing-images
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.bing-news
        path: /apis/v1/serpapi/bing-news
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.bing-search
        path: /apis/v1/serpapi/bing-search
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.bing-shopping
        path: /apis/v1/serpapi/bing-shopping
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.bing-videos
        path: /apis/v1/serpapi/bing-videos
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.brave-ai-mode
        path: /apis/v1/serpapi/brave-ai-mode
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.duck-duck-go-light-search
        path: /apis/v1/serpapi/duck-duck-go-light-search
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.duckduckgo-light
        path: /apis/v1/serpapi/duckduckgo-light
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.duckduckgo-maps
        path: /apis/v1/serpapi/duckduckgo-maps
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.duckduckgo-news
        path: /apis/v1/serpapi/duckduckgo-news
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.duckduckgo-search
        path: /apis/v1/serpapi/duckduckgo-search
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.ebay-product
        path: /apis/v1/serpapi/ebay-product
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.ebay-search
        path: /apis/v1/serpapi/ebay-search
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.facebook-profile
        path: /apis/v1/serpapi/facebook-profile
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.get-google-about-this-result
        path: /apis/v1/serpapi/get-google-about-this-result
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.get-google-hotels-autocomplete-suggestions
        path: /apis/v1/serpapi/get-google-hotels-autocomplete-suggestions
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.get-google-images-related-content
        path: /apis/v1/serpapi/get-google-images-related-content
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.get-google-patent-details
        path: /apis/v1/serpapi/get-google-patent-details
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-ads
        path: /apis/v1/serpapi/google-ads
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-ads-transparency
        path: /apis/v1/serpapi/google-ads-transparency
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-ai-mode
        path: /apis/v1/serpapi/google-ai-mode
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-ai-overview
        path: /apis/v1/serpapi/google-ai-overview
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-events
        path: /apis/v1/serpapi/google-events
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-finance
        path: /apis/v1/serpapi/google-finance
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-flights
        path: /apis/v1/serpapi/google-flights
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-forums-search
        path: /apis/v1/serpapi/google-forums-search
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-hotels
        path: /apis/v1/serpapi/google-hotels
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-images
        path: /apis/v1/serpapi/google-images
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-jobs
        path: /apis/v1/serpapi/google-jobs
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-jobs-search
        path: /apis/v1/serpapi/google-jobs-search
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-keywords-ideas
        path: /apis/v1/serpapi/google-keywords-ideas
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-lens
        path: /apis/v1/serpapi/google-lens
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-light
        path: /apis/v1/serpapi/google-light
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-light-search
        path: /apis/v1/serpapi/google-light-search
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-local
        path: /apis/v1/serpapi/google-local
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-maps
        path: /apis/v1/serpapi/google-maps
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-news
        path: /apis/v1/serpapi/google-news
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-patents
        path: /apis/v1/serpapi/google-patents
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-play-product
        path: /apis/v1/serpapi/google-play-product
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-play-search-apps
        path: /apis/v1/serpapi/google-play-search-apps
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-scholar
        path: /apis/v1/serpapi/google-scholar
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-serp-organic
        path: /apis/v1/serpapi/google-serp-organic
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-shopping
        path: /apis/v1/serpapi/google-shopping
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-trends
        path: /apis/v1/serpapi/google-trends
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-videos
        path: /apis/v1/serpapi/google-videos
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.google-videos-light
        path: /apis/v1/serpapi/google-videos-light
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.home-depot-search
        path: /apis/v1/serpapi/home-depot-search
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.hotel-search
        path: /apis/v1/serpapi/hotel-search
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.instagram-profile
        path: /apis/v1/serpapi/instagram-profile
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.naver-ai-overview
        path: /apis/v1/serpapi/naver-ai-overview
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.naver-search
        path: /apis/v1/serpapi/naver-search
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.open-table-reviews
        path: /apis/v1/serpapi/open-table-reviews
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.play-search
        path: /apis/v1/serpapi/play-search
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.search-apple-app-store
        path: /apis/v1/serpapi/search-apple-app-store
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.search-google-local-services
        path: /apis/v1/serpapi/search-google-local-services
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.search-public-google-ads
        path: /apis/v1/serpapi/search-public-google-ads
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.tripadvisor-search
        path: /apis/v1/serpapi/tripadvisor-search
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.walmart-product
        path: /apis/v1/serpapi/walmart-product
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.walmart-search
        path: /apis/v1/serpapi/walmart-search
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.yahoo-images
        path: /apis/v1/serpapi/yahoo-images
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.yahoo-search
        path: /apis/v1/serpapi/yahoo-search
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.yahoo-videos
        path: /apis/v1/serpapi/yahoo-videos
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.yandex-images
        path: /apis/v1/serpapi/yandex-images
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.yandex-images-search
        path: /apis/v1/serpapi/yandex-images-search
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.yandex-search
        path: /apis/v1/serpapi/yandex-search
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.yandex-videos
        path: /apis/v1/serpapi/yandex-videos
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.yelp-search
        path: /apis/v1/serpapi/yelp-search
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.you-tube-search
        path: /apis/v1/serpapi/you-tube-search
        method: POST
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: serpapi.youtube-search-videos
        path: /apis/v1/serpapi/youtube-search-videos
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
    document_hash: sha256:0a3d81b177cc3032030040480fa81ea93d74d80e98c1a46531156a46f060df86
  x-aisa-plans:
    builder: 1
    display_plan: payg
    payg: 1
    similarweb_payg: 1
    team: 1
    version: e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb
  x-aisa-provider: serpapi
  x-aisa-catalogs:
    serpapi:
      title: SerpApi
      description: ''
      x-aisa-document:
        facts_hash: 1d8d2010628130bd331b470b564dd1cd5784989899ccf3e384a8de02a69e0558
        generator_version: '3'
        protocol_version: '1'
        schema_version: '1'
        seed_month: 2026-10
      x-aisa-plans:
        builder: 1
        display_plan: payg
        payg: 1
        similarweb_payg: 1
        team: 1
        version: e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb
      x-aisa-capabilities:
        idempotency: Idempotency-Key
        max_price: X-AISA-Max-Price-USD
        quote:
          header: X-AISA-Cost-Mode
          value: quote
servers:
  - url: https://api.aisa.one
security:
  - bearerAuth: []
paths:
  /apis/v1/serpapi/duck-duck-go-maps:
    post:
      tags:
        - SerpApi
      summary: DuckDuckGo Maps search
      description: >-
        <!-- aisa-pricing:start -->

        按用量计费；默认请求预估费用：$0.0253 USD（不是固定价格）。 声明的单位费率：每 provider_credit $0.000001
        USD。 最终费用以账户适用价格及实际结算为准。

        <!-- aisa-pricing:end -->
      operationId: serpapi.duck-duck-go-maps
      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.
      responses:
        '200':
          description: Tool result data
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Response576A0Ea506F3_connect_SERPAPI_DUCK_DUCK_GO_MAPS__output__public_data
        default:
          content:
            application/json:
              schema: {}
          description: >-
            Error response; upstream passthrough responses may use provider
            formats
components:
  schemas:
    Response576A0Ea506F3_connect_SERPAPI_DUCK_DUCK_GO_MAPS__output__public_data:
      $ref: >-
        #/components/schemas/Response576A0Ea506F3_connect_SERPAPI_DUCK_DUCK_GO_MAPS__output__f5ed9636cb254c80
    Response576A0Ea506F3_connect_SERPAPI_DUCK_DUCK_GO_MAPS__output__f5ed9636cb254c80:
      type: object
      required:
        - search_metadata
        - search_parameters
      properties:
        error:
          type: string
        local_results:
          type: array
          items:
            $ref: >-
              #/components/schemas/Response576A0Ea506F3_connect_SERPAPI_DUCK_DUCK_GO_MAPS__output__1d583144b0916cca
        search_metadata:
          $ref: >-
            #/components/schemas/Response576A0Ea506F3_connect_SERPAPI_DUCK_DUCK_GO_MAPS__output__44b3ef276bbe62b1
        search_parameters:
          $ref: >-
            #/components/schemas/Response576A0Ea506F3_connect_SERPAPI_DUCK_DUCK_GO_MAPS__output__65e7d2e048b9704a
    Response576A0Ea506F3_connect_SERPAPI_DUCK_DUCK_GO_MAPS__output__1d583144b0916cca:
      type: object
      required:
        - position
        - title
      properties:
        city:
          type: string
        link:
          type: string
        type:
          type: string
        hours:
          type: string
        phone:
          type: string
        price:
          type: string
        title:
          type: string
        types:
          type: array
          items:
            type: string
        images:
          type: array
          items:
            type: string
        rating:
          type: number
        source:
          type: array
          items:
            $ref: >-
              #/components/schemas/Response576A0Ea506F3_connect_SERPAPI_DUCK_DUCK_GO_MAPS__output__cc9c8e8b73ffe62d
        address:
          type: string
        reviews:
          type: integer
        website:
          type: string
        position:
          type: integer
        timezone:
          type: string
        thumbnail:
          type: string
        review_details:
          type: array
          items:
            $ref: >-
              #/components/schemas/Response576A0Ea506F3_connect_SERPAPI_DUCK_DUCK_GO_MAPS__output__841dd14ff3639a8a
        gps_coordinates:
          $ref: >-
            #/components/schemas/Response576A0Ea506F3_connect_SERPAPI_DUCK_DUCK_GO_MAPS__output__7e52326b531543ba
        operating_hours:
          $ref: >-
            #/components/schemas/Response576A0Ea506F3_connect_SERPAPI_DUCK_DUCK_GO_MAPS__output__d13a28c093da75e5
    Response576A0Ea506F3_connect_SERPAPI_DUCK_DUCK_GO_MAPS__output__44b3ef276bbe62b1:
      type: object
      required:
        - id
        - status
        - json_endpoint
        - created_at
        - processed_at
        - duckduckgo_maps_url
        - raw_html_file
        - prettify_html_file
        - total_time_taken
      properties:
        id:
          type: string
        status:
          type: string
        created_at:
          type: string
        processed_at:
          type: string
        json_endpoint:
          type: string
        raw_html_file:
          type: string
        total_time_taken:
          type: number
        prettify_html_file:
          type: string
        duckduckgo_maps_url:
          type: string
    Response576A0Ea506F3_connect_SERPAPI_DUCK_DUCK_GO_MAPS__output__65e7d2e048b9704a:
      type: object
      required:
        - engine
        - q
      properties:
        q:
          type: string
        bbox:
          type: string
        engine:
          type: string
        strict_bbox:
          type: string
    Response576A0Ea506F3_connect_SERPAPI_DUCK_DUCK_GO_MAPS__output__cc9c8e8b73ffe62d:
      type: object
      required:
        - name
        - place_id
      properties:
        name:
          type: string
        place_id:
          type: string
    Response576A0Ea506F3_connect_SERPAPI_DUCK_DUCK_GO_MAPS__output__841dd14ff3639a8a:
      type: object
      required:
        - snippet
      properties:
        date:
          type: string
        user:
          $ref: >-
            #/components/schemas/Response576A0Ea506F3_connect_SERPAPI_DUCK_DUCK_GO_MAPS__output__19ffa57297b54be9
        rating:
          type: number
        snippet:
          type: string
    Response576A0Ea506F3_connect_SERPAPI_DUCK_DUCK_GO_MAPS__output__7e52326b531543ba:
      type: object
      required:
        - latitude
        - longitude
      properties:
        latitude:
          type: number
        longitude:
          type: number
    Response576A0Ea506F3_connect_SERPAPI_DUCK_DUCK_GO_MAPS__output__d13a28c093da75e5:
      type: object
      properties:
        friday:
          type: string
        monday:
          type: string
        sunday:
          type: string
        tuesday:
          type: string
        saturday:
          type: string
        thursday:
          type: string
        wednesday:
          type: string
    Response576A0Ea506F3_connect_SERPAPI_DUCK_DUCK_GO_MAPS__output__19ffa57297b54be9:
      type: object
      required:
        - name
      properties:
        link:
          type: string
        name:
          type: string
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.