---
title: "Answer"
description: "Ask Google AI Mode a question and get its answer, with citations, sources, cards and mentions."
---

> Every apinoa docs page as markdown: https://apinoa.com/llms.txt (all in one file: https://apinoa.com/llms-full.txt; this API family in one file: https://apinoa.com/docs/answers/llms.txt)

```http
POST /v1/google-ai-mode/answer
```

Send the inputs as a JSON body. An answer takes seconds: allow up to 120 seconds.

## Request

```bash tab="cURL"
curl -X POST "https://gateway.apinoa.com/v1/google-ai-mode/answer" \
  -H "x-api-key: $APINOA_API_KEY" \
  -H "content-type: application/json" \
  -d '{"prompt": "What are the best running shoes for beginners?"}'
```

```js tab="JavaScript"
const res = await fetch("https://gateway.apinoa.com/v1/google-ai-mode/answer", {
  method: "POST",
  headers: { "x-api-key": process.env.APINOA_API_KEY, "content-type": "application/json" },
  body: JSON.stringify({ prompt: "What are the best running shoes for beginners?" }),
});
const { success, data, error } = await res.json();
```

```python tab="Python"
import os

import requests

res = requests.post(
    "https://gateway.apinoa.com/v1/google-ai-mode/answer",
    json={"prompt": "What are the best running shoes for beginners?"},
    headers={"x-api-key": os.environ["APINOA_API_KEY"]},
    timeout=120,
)
body = res.json()
```

## Parameters

| Parameter | Type | Required | Notes |
|---|---|---|---|
| `prompt` | string | yes | The question, as a person would type it. |
| `conversation` | string |  | An earlier answer's `conversation.id`: ask a follow-up in the same conversation. |
| `country` | string |  | The market the answer is asked from, as an ISO 3166 country code. Each engine's page lists its countries. |
| `include` | enum list |  | `page`: also return the answer as a self-contained HTML page, in `page`. |
| `language` | string |  | The language to answer in, as a language tag (`en`, `ko-KR`). |

The same parameters, and every response type, are in the OpenAPI document: https://apinoa.com/openapi.json

## Response

Returns [`Answer`](/docs/api-reference/answers/response-schema#answer) in `data`. A real response, shortened: arrays keep their first entries and long text is cut.

```json
{
  "success": true,
  "data": {
    "engine": "google-ai-mode",
    "prompt": "What are the best running shoes for beginners?",
    "askedAt": "2026-10-30T01:03:14.053Z",
    "country": "US",
    "outcome": "answered",
    "title": "Best Running Shoes for Beginners",
    "blocks": [
      {
        "type": "paragraph",
        "markdown": "Choosing the right running shoes as a beginner comes down to finding a protective, comfortable **daily trainer** that offers a balanced mix of stability and sho…"
      },
      {"type": "heading", "level": 3, "markdown": "Top Running Shoes for Beginners"},
      {"type": "cards", "cards": [0]}
    ],
    "text": "Choosing the right running shoes as a beginner comes down to finding a protective, comfortable daily trainer that offers a balanced mix of stability and shock a…",
    "markdown": "Choosing the right running shoes as a beginner comes down to finding a protective, comfortable **daily trainer** that offers a balanced mix of stability and sho…",
    "citations": [{"start": 171, "end": 282, "sources": [0, 1]}, {"start": 317, "end": 408, "sources": [3]}],
    "sources": [
      {
        "url": "https://www.reddit.com/r/AskRunningShoeGeeks/comments/1ngm9bj/advice_on_daily_runners_for_beginner_should_i/",
        "title": "Advice on daily runners for beginner - should i listen less to you guys?",
        "site": "Reddit",
        "favicon": "https://encrypted-tbn2.gstatic.com/faviconV2?url=https://www.reddit.com&client=AIM&size=128&type=FAVICON&fallback_opts=TYPE,SIZE,URL",
        "snippet": "The Saucony Triumph is frequently suggested as a suitable cushioned daily trainer for beginners, with having less cushion than the...",
        "cited": true,
        "ext": {"origin": "https://www.reddit.com"}
      },
      {
        "url": "https://www.google.com/search?q=product&prds=pvt:hg,pvo:29,productid:5825792439568125735,catalogid:10929777223096081606,gpcid:5310959131376330242,mid:5764628895…",
        "title": "ASICS Men's Gel-Nimbus 28",
        "site": "Google",
        "favicon": "https://encrypted-tbn1.gstatic.com/faviconV2?url=https://www.google.com&client=AIM&size=128&type=FAVICON&fallback_opts=TYPE,SIZE,URL",
        "snippet": "The Gel-Nimbus 28 is a refined max-cushion daily neutral shoe. It's 7% lighter than the Nimbus 27, with a 43.5 / 35.5 mm stack. Th...",
        "cited": true,
        "ext": {"origin": "https://www.google.com"}
      }
    ],
    "cards": [
      {
        "type": "product",
        "title": "ASICS Men's Novablast 6",
        "url": "https://www.google.com/search?ibp=oshop&prds=pvt:a,pvo:29,mid:576462896392334029,imageDocid:13241215194731966452,gpcid:5626042281368975415,headlineOfferDocid:24…",
        "image": "data:image/jpeg;base64,/9j/4AAQSkZJRgABA…",
        "price": {"text": "$155.00", "amount": 155, "currency": "USD"},
        "rating": 4.66,
        "reviews": 1546,
        "merchant": "ASICS",
        "sponsored": false,
        "ext": {
          "productId": "7161459321851462405",
          "catalogId": "8790407336806612921",
          "offerId": "2453831124051266496",
          "merchantId": "576462896392334029",
          "moreMerchants": true,
          "reviewsShown": "1.5K",
          "merchantUrl": "http://www.asics.com/us/",
          "delivery": {"from": "2026-11-03", "to": "2026-11-09"}
        }
      },
      {
        "type": "product",
        "title": "Brooks Men's Ghost 18",
        "url": "https://www.google.com/search?ibp=oshop&prds=pvt:a,pvo:29,mid:576462236222818190,imageDocid:7301987987080420790,gpcid:7326703641027475137,headlineOfferDocid:214…",
        "image": "data:image/jpeg;base64,/9j/4AAQSkZJRgABA…",
        "price": {"text": "$150.00", "amount": 150, "currency": "USD"},
        "rating": 4.53,
        "reviews": 674,
        "merchant": "Brooks Running",
        "sponsored": false,
        "ext": {
          "productId": "2256397734681246202",
          "catalogId": "12711205400595365682",
          "offerId": "2148487881347949421",
          "merchantId": "576462236222818190",
          "moreMerchants": true,
          "merchantUrl": "https://www.BrooksRunning.com",
          "delivery": {"from": "2026-10-28", "to": "2026-10-30"}
        }
      }
    ],
    "mentions": [
      {"name": "ASICS Novablast 6", "kind": "product", "at": 1767, "card": 4},
      {"name": "Brooks Ghost 18", "kind": "product", "at": 1870, "card": 5}
    ],
    "suggestions": [],
    "conversation": {"id": "c_0nTtfHpv8jl7f55V-cg1Yg", "turn": 1, "expiresAt": "2026-10-30T01:33:16.375Z"}
  }
}
```

## Errors

| Status | Code | Meaning |
|---|---|---|
| 400 | `INVALID_PARAMS` | A parameter is missing, unknown or out of range, or the engine does not take it. The message names it. |
| 401 | `UNAUTHORIZED` | The `x-api-key` header is missing, or the key is revoked or unknown. |
| 402 | `INSUFFICIENT_BALANCE` | The balance does not cover this call. Top up in the dashboard. |
| 429 | `MARKETPLACE_SATURATED` | Too many concurrent calls. Retry after the `Retry-After` seconds. |
| 502 | `UPSTREAM_ERROR` | The engine answered with something unusable. Retry with backoff. |
| 502 | `UPSTREAM_TIMEOUT` | The engine did not answer in time. Retry. |
| 503 | `SERVICE_UNAVAILABLE` | A temporary failure. Retry with backoff. |

Every code is listed in [Errors](/docs/errors). Failed calls are not billed.

## Pricing

**Price** $0.0012 per call. [List price](https://apinoa.com/en/pricing); the rate steps down above 1,000 calls a day.

## Notes

- To ask a follow-up, pass the answer's `conversation.id` as `conversation`.
- `language` sets the language of the answer.
