# AI 回答エンジンにクエリを送り、GEO/AEO の可視性を確認します。

**API:** Data API

**Endpoint:** `POST /v1/beta/oxylabs/ai-search`

**Tags:** Oxylabs

source に google_search または google_ai_mode を指定し、記載された他のリクエストフィールドとともに、同期的な AI 支援検索を実行します。このエンドポイントは chatgpt、gemini、perplexity を同期ソースとして受け付けません。

### 料金の参考情報

- 計測方法：成功リクエストあたりの固定コスト基準。
- 参考リクエスト見積もり：USD 0.00145。
- 参照用の顧客乗数：1.45。確定済みの顧客金額には再適用しないでください。

参考情報のメタデータであり、アカウントへの見積もり、保証された価格、支出上限ではありません。リソースクレジットは Felo クレジットではありません。最終的な請求は Felo の請求記録に従います。

## Base URL

- `https://openapi.felo.ai`

## Authentication

- `FeloBearerAuth` (http bearer, bearer format Felo API Key)
- `FeloApiKey` (apiKey in header `X-API-Key`)

## Request body

Required: **yes**

### application/json

Schema:

```json
{
  "type": "object",
  "description": "Google の回答エンジン向けのパススルー本文。`source` でエンジンを選択します。`query`、`render`、`parse`、`geo_location` は Google のソースが想定するパラメータです。その他の上流パラメータはそのまま渡されます。",
  "additionalProperties": true,
  "properties": {
    "source": {
      "type": "string",
      "enum": [
        "google_search",
        "google_ai_mode"
      ],
      "description": "クエリする Google AI 回答エンジン。`google_search` は Google AI Overviews を返し、`google_ai_mode` は Google AI Mode を返します。ChatGPT/Gemini/Perplexity には代わりに非同期エンドポイント `post_oxylabs_llm` を使用してください。",
      "example": "google_search"
    },
    "query": {
      "type": "string",
      "description": "検索クエリ。`google_search` と `google_ai_mode` では必須です。",
      "example": "best noise cancelling headphones 2026"
    },
    "render": {
      "type": "string",
      "enum": [
        "html"
      ],
      "description": "`google_search` と `google_ai_mode` では、\"html\" に設定すると解析前にページをレンダリングします。",
      "example": "html"
    },
    "parse": {
      "type": "boolean",
      "description": "生の出力ではなく、構造化された解析済みの結果を返します。すべてのソースで有効にすることを推奨します。",
      "example": true
    },
    "geo_location": {
      "type": "string",
      "description": "クエリの国レベルの位置情報（例：\"United States\"）。",
      "example": "United States"
    }
  },
  "required": [
    "source"
  ]
}
```

Example:

```json
{
  "source": "google_ai_mode",
  "query": "best noise cancelling headphones 2026",
  "parse": true,
  "render": "html",
  "geo_location": "United States"
}
```

## Responses

### 200 — クエリは正常に完了しました。`results[]` にはクエリごとに 1 件の結果が格納されます。`content` 内の解析済みの形はソースによって異なります（各プロパティの説明を参照）。以下の例は `google_search`（Google AI 概要）の形を示しています。

Headers:
- `X-Request-Id` (string) — Felo サポートに問い合わせる際に伝えるリクエスト識別子。

**application/json**

Schema: object

```json
{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "description": "クエリごとに 1 エントリ。Realtime の単一クエリは結果を 1 件だけ返し、その結果が課金単位です。",
      "items": {
        "type": "object",
        "properties": {
          "content": {
            "type": "object",
            "description": "解析済みの回答ペイロード。構造は Google のソースによって異なります：\n- `google_search` → `content.results.ai_overviews[]`（`answer_text` と `references[]{source, url}` を含む。以下を参照）。\n- `google_ai_mode` → `content.citations[]{text, urls[]}`。",
            "properties": {
              "results": {
                "type": "object",
                "description": "Google タイプの解析済み結果コンテナ。",
                "properties": {
                  "ai_overviews": {
                    "type": "array",
                    "description": "クエリに対して返された Google AI Overviews。",
                    "items": {
                      "type": "object",
                      "properties": {
                        "answer_text": {
                          "type": "array",
                          "description": "AI が生成した回答。インライン参照を含む可能性がある断片に分割されます。",
                          "items": {
                            "type": "object",
                            "properties": {
                              "fragments": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "references": {
                                      "type": "array",
                                      "items": {}
                                    }
                                  }
                                }
                              }
                            }
                          }
                        },
                        "references": {
                          "type": "array",
                          "description": "この概要で引用されたソース。",
                          "items": {
                            "type": "object",
                            "properties": {
                              "source": {
                                "type": "string"
                              },
                              "url": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
```

### 400 — リクエストを処理できませんでした。リクエストパラメータを確認してください。

### 401 — 有効な Felo API キーが必要です。

### 402 — 請求要件が満たされていないため、リクエストを続行できません。

### 403 — このアカウントにはこの操作を行う権限がありません。

### 429 — リクエストまたは支出の上限に達しました。

### 502 — サービスがリクエストを完了できませんでした。

### 503 — API または請求サービスが一時的に利用できません。

### 504 — リクエストの処理中にサービスがタイムアウトしました。

### default — エラーレスポンス。上流のパススルーレスポンスはプロバイダーの形式を使用する場合があります

**application/json**

Schema:

```json
{}
```
