# Live-поиск упоминаний LLM

**API:** Data API

**Endpoint:** `POST /v1/beta/dataforseo/ai_optimization/llm_mentions/search/live`

**Tags:** DataForSEO

Отдельные ответы, в которых ассистент упомянул вашу цель. Возвращает `total_count`, `current_offset`, `search_after_token` и `items` — после первых страниц постраничная навигация выполняется по токену, а не по `offset`. ⚠️ `target` — это **массив объектов**, каждый `{"domain": "..."}` или `{"keyword": "..."}`; строка сама по себе отклоняется как неверный тип, а массив строк — с сообщением 'Each target item must be an object'. Поля фильтра берутся из `get_dataforseo_ai_llm_mentions_available_filters`. Упаковано в конверт DataForSEO: данные в `tasks[0].result`, результат в `tasks[0].status_code` — отклонённый запрос всё равно возвращает HTTP 200. Если нужны счётчики, а не сами упоминания, используйте `post_dataforseo_ai_llm_mentions_aggregated_metrics_live`.

### Справочная информация о цене

- Тарификация: по заявленной стоимости ответа.
- Ориентировочная стоимость запроса: 0.701 USD.
- Справочный коэффициент клиента: 1.0. Не применяйте его повторно к уже рассчитанной сумме клиента.

Только справочные метаданные, а не предложение для аккаунта, гарантированная цена или лимит расходов. Кредиты ресурсов — не кредиты 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": "array",
  "items": {
    "type": "object",
    "properties": {
      "target": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "domain": {
              "type": "string",
              "description": "целевой домен. Обязательное поле, если не указано keyword. В поле domain можно указать до 63 символов; домен указывается без https:// и www."
            },
            "keyword": {
              "type": "string",
              "description": "целевое ключевое слово. Обязательное поле, если не указан domain. В поле keyword можно указать до 250 символов. Все %## будут декодированы (символ «+» декодируется в пробел). Если в keyword нужен символ «%», укажите его как «%25»; если нужен символ «+», укажите его как «%2B». Подробнее о правилах и ограничениях полей keyword и keywords в API DataForSEO читайте в этой статье Help Center."
            },
            "search_filter": {
              "type": "string",
              "description": "фильтр поиска сущностей: include или exclude; по умолчанию include."
            },
            "search_scope": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "область поиска. Для сущностей-доменов: any, sources, search_results. Для сущностей-ключевых слов: any, question, answer, brand_entities, fan_out_queries. Значение по умолчанию: any."
            },
            "include_subdomains": {
              "type": "boolean",
              "description": "указывает, будут ли поддомены целевого домена включены в поиск. Необязательное поле. Если задано true, поддомены включаются в поиск. Значение по умолчанию: false."
            },
            "match_type": {
              "type": "string",
              "description": "Тип соответствия целевого ключевого слова определяет, как сопоставляется указанное ключевое слово. Необязательное поле возможные значения: word_match — полнотекстовый поиск по фразам, соответствующим указанному исходному ключевому слову с дополнительными словами до, после или внутри ключевой фразы (например, по запросу \"light\" будут найдены \"light bulb\", \"light switch\"); partial_match — поиск подстроки, который находит все вхождения указанной последовательности символов, даже если она встречается внутри более длинного слова (например, по запросу \"light\" будут найдены \"lighting\", \"highlight\"); значение по умолчанию: word_match"
            }
          },
          "oneOf": [
            {
              "required": [
                "domain"
              ]
            },
            {
              "required": [
                "keyword"
              ]
            }
          ]
        },
        "description": "массив объектов с целевыми сущностями. Обязательное поле. В поле target можно указать до 10 сущностей (объектов). Одна целевая сущность может содержать либо один домен, либо одно ключевое слово и связанные параметры. Примеры: массив target с сущностью-доменом [{\"domain\": \"en.wikipedia.org\", \"search_filter\": \"exclude\"}] / массив target с сущностью-ключевым словом [{\"keyword\": \"bmw\", \"search_scope\": [\"question\"], \"match_type \": \"partial_match\"}] / массив target с несколькими сущностями [{\"domain\": \"en.wikipedia.org\", \"search_filter\": \"exclude\"}, {\"keyword\": \"bmw\", \"match_type \": \"partial_match\", \"search_scope\": [\"answer\"]}]"
      },
      "location_name": {
        "type": "string",
        "description": "полное название местоположения поиска. Необязательное поле. Если используете это поле, указывать location_code не нужно; если поле не указано, по умолчанию используется location_code со значением 2840. Список доступных местоположений поисковой системы с их location_name можно получить отдельным запросом к https://api.dataforseo.com/v3/ai_optimization/llm_mentions/locations_and_languages. Примечание: данные chat_gpt доступны только для United States."
      },
      "location_code": {
        "type": "integer",
        "description": "код местоположения поиска. Необязательное поле. Если используете это поле, указывать location_name не нужно. Список доступных местоположений поисковой системы с их location_code можно получить отдельным запросом к https://api.dataforseo.com/v3/ai_optimization/llm_mentions/locations_and_languages. Значение по умолчанию: 2840. Примечание: данные chat_gpt доступны только для 2840."
      },
      "language_name": {
        "type": "string",
        "description": "полное название языка поиска. Необязательное поле. Если используете это поле, указывать language_code не нужно; если поле не указано, по умолчанию используется language_code со значением en. Список доступных языков поисковой системы с их language_name можно получить отдельным запросом к https://api.dataforseo.com/v3/ai_optimization/llm_mentions/locations_and_languages. Примечание: данные chat_gpt доступны только на английском языке."
      },
      "language_code": {
        "type": "string",
        "description": "код языка поиска. Необязательное поле. Если используете это поле, указывать language_name не нужно. Список доступных языков поисковой системы с их language_code можно получить отдельным запросом к https://api.dataforseo.com/v3/ai_optimization/llm_mentions/locations_and_languages. Значение по умолчанию: en. Примечание: данные chat_gpt доступны только для en."
      },
      "platform": {
        "type": "string",
        "description": "целевая платформа. Необязательное поле. Возможные значения: chat_gpt, google. Значение по умолчанию: google. Примечание: возвращаемые данные зависят от выбранной платформы. Примечание #2: данные chat_gpt доступны только для США и английского языка."
      },
      "filters": {
        "type": "array",
        "items": {},
        "description": "массив параметров фильтрации результатов необязательное поле можно добавить несколько фильтров одновременно (не более 8) между условиями нужно указать логический оператор and или or поддерживаются следующие операторы: =, , in, not_in, like, not_like, ilike, not_ilike, match, not_match оператор % можно использовать с like и not_like для сопоставления любой строки из нуля или более символов пример: [\"ai_search_volume\",\">\",\"1000\"] Полный список возможных фильтров доступен здесь."
      },
      "order_by": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "правила сортировки результатов необязательное поле можно использовать те же значения, что и в массиве filters, для сортировки результатов возможные типы сортировки: asc — результаты сортируются по возрастанию desc — результаты сортируются по убыванию для задания типа сортировки используйте запятую пример: [\"ai_search_volume,desc\"] обратите внимание, что в одном запросе можно задать не более трёх правил сортировки несколько правил сортировки нужно разделять запятой"
      },
      "offset": {
        "type": "integer",
        "description": "смещение в массиве результатов возвращаемых данных об упоминаниях необязательное поле значение по умолчанию: 0 пример: если указать значение 10, первые десять объектов упоминаний в массиве результатов будут пропущены, а данные будут предоставлены для последующих объектов; Примечание: максимальное значение — 9 000, если нужно сместить больше результатов, используйте search_after_token"
      },
      "search_after_token": {
        "type": "string",
        "description": "токен для последующих запросов необязательное поле возвращается в одноимённом поле ответа на каждый запрос; используйте этот параметр, чтобы избежать тайм-аутов при получении более 20 000 результатов в одном запросе; указав уникальное значение search_after_token из массива ответа, вы получите последующие результаты исходной задачи; значения search_after_token уникальны для каждой последующей задачи; Примечание: если в запросе указан search_after_token, все остальные параметры должны совпадать с предыдущим запросом"
      },
      "limit": {
        "type": "integer",
        "description": "максимальное количество возвращаемых объектов необязательное поле значение по умолчанию: 100 максимальное значение: 1000"
      },
      "tag": {
        "type": "string",
        "description": "пользовательский идентификатор задачи. Необязательное поле. Ограничение — 255 символов. Этот параметр позволяет идентифицировать задачу и сопоставить её с результатом. Указанное значение tag вы найдёте в объекте data ответа."
      }
    },
    "required": [
      "target"
    ]
  }
}
```

## Responses

### 200 — Успешный ответ

Headers:
- `X-Request-Id` (string) — Идентификатор запроса, который нужно указать при обращении в поддержку Felo.

**application/json**

Schema: object

```json
{
  "type": "object",
  "properties": {
    "version": {
      "type": "string",
      "description": "текущая версия API"
    },
    "status_code": {
      "type": "integer",
      "description": "общий код состояния. Полный список кодов ответа можно найти здесь. Примечание: мы настоятельно рекомендуем предусмотреть систему обработки связанных исключительных ситуаций и ошибок."
    },
    "status_message": {
      "type": "string",
      "description": "общее информационное сообщение. Полный список общих информационных сообщений можно найти здесь."
    },
    "time": {
      "type": "string",
      "description": "время выполнения, секунды"
    },
    "cost": {
      "type": "number",
      "description": "общая стоимость задач, USD"
    },
    "tasks_count": {
      "type": "integer",
      "description": "число задач в массиве tasks"
    },
    "tasks_error": {
      "type": "integer",
      "description": "число задач в массиве tasks, возвращённых с ошибкой"
    },
    "tasks": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "массив задач"
    },
    "tasks.id": {
      "type": "string",
      "description": "идентификатор задачи. Уникальный идентификатор задачи в нашей системе в формате UUID."
    },
    "tasks.status_code": {
      "type": "integer",
      "description": "код состояния задачи, сформированный DataForSEO; может находиться в диапазоне 10000-60000. Полный список кодов ответа можно найти здесь."
    },
    "tasks.status_message": {
      "type": "string",
      "description": "информационное сообщение задачи. Полный список общих информационных сообщений можно найти здесь."
    },
    "tasks.time": {
      "type": "string",
      "description": "время выполнения, секунды"
    },
    "tasks.cost": {
      "type": "number",
      "description": "стоимость задачи, USD"
    },
    "tasks.result_count": {
      "type": "integer",
      "description": "число элементов в массиве result"
    },
    "tasks.path": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "путь URL"
    },
    "tasks.data": {
      "type": "object",
      "description": "содержит те же параметры, что вы указали в POST-запросе"
    },
    "tasks.result": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "массив результатов"
    },
    "tasks.result.total_count": {
      "type": "integer",
      "description": "общее количество результатов, релевантных запросу"
    },
    "tasks.result.current_offset": {
      "type": "integer",
      "description": "количество объектов упоминаний, пропущенных в массиве items"
    },
    "tasks.result.search_after_token": {
      "type": "string",
      "description": "токен для последующих запросов указав уникальный search_after_token при создании новой задачи, вы получите последующие результаты исходной задачи; значения search_after_token уникальны для каждой последующей задачи"
    },
    "tasks.result.items_count": {
      "type": "integer",
      "description": "количество результатов, возвращённых в массиве items"
    },
    "tasks.result.items": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "содержит данные о релевантных упоминаниях"
    },
    "tasks.result.items.platform": {
      "type": "string",
      "description": "платформа, переданная в массиве POST"
    },
    "tasks.result.items.model_name": {
      "type": "string",
      "description": "название модели AI, из которой получены данные Примечание: для типа платформы google значение всегда google_ai_overview"
    },
    "tasks.result.items.location_code": {
      "type": "integer",
      "description": "код местоположения в массиве POST"
    },
    "tasks.result.items.language_code": {
      "type": "string",
      "description": "код языка в массиве POST"
    },
    "tasks.result.items.question": {
      "type": "string",
      "description": "релевантный вопрос"
    },
    "tasks.result.items.answer": {
      "type": "string",
      "description": "релевантный ответ в формате Markdown содержимое результата, отформатированное на языке разметки Markdown"
    },
    "tasks.result.items.sources": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "массив источников источники, которые модель цитировала или на которые опиралась в итоговом ответе"
    },
    "tasks.result.items.sources.snippet": {
      "type": "string",
      "description": "описание источника"
    },
    "tasks.result.items.sources.source_name": {
      "type": "string",
      "description": "название источника"
    },
    "tasks.result.items.sources.thumbnail": {
      "type": "string",
      "description": "миниатюра источника"
    },
    "tasks.result.items.sources.markdown": {
      "type": "string",
      "description": "содержимое элемента в формате Markdown содержимое результата, отформатированное на языке разметки Markdown"
    },
    "tasks.result.items.sources.position": {
      "type": "integer",
      "description": "позиция в результатах"
    },
    "tasks.result.items.sources.title": {
      "type": "string",
      "description": "заголовок источника"
    },
    "tasks.result.items.sources.domain": {
      "type": "string",
      "description": "домен источника"
    },
    "tasks.result.items.sources.url": {
      "type": "string",
      "description": "URL источника"
    },
    "tasks.result.items.sources.publication_date": {
      "type": "string",
      "description": "дата и время публикации результата в формате: “year-month-date:minutes:UTC_difference_hours:UTC_difference_minutes” пример: 2019-11-15 12:57:46 +00:00"
    },
    "tasks.result.items.search_results": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "массив результатов поиска все результаты веб-поиска, которые модель получила при поиске информации, включая дубликаты и неиспользованные записи"
    },
    "tasks.result.items.search_results.description": {
      "type": "string",
      "description": "описание результата"
    },
    "tasks.result.items.search_results.breadcrumb": {
      "type": "string",
      "description": "хлебные крошки"
    },
    "tasks.result.items.search_results.position": {
      "type": "integer",
      "description": "позиция в результатах"
    },
    "tasks.result.items.search_results.title": {
      "type": "string",
      "description": "заголовок результата"
    },
    "tasks.result.items.search_results.domain": {
      "type": "string",
      "description": "домен результата"
    },
    "tasks.result.items.search_results.url": {
      "type": "string",
      "description": "URL результата"
    },
    "tasks.result.items.search_results.publication_date": {
      "type": "string",
      "description": "дата и время публикации результата в формате: “year-month-date:minutes:UTC_difference_hours:UTC_difference_minutes” пример: 2019-11-15 12:57:46 +00:00"
    },
    "tasks.result.items.ai_search_volume": {
      "type": "integer",
      "description": "текущий показатель объёма AI-поиска для ключевого слова. Подробнее об этой метрике здесь."
    },
    "tasks.result.items.monthly_searches": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "ежемесячные объёмы AI-поиска массив объектов с объёмами AI-поиска за определённый месяц года"
    },
    "tasks.result.items.monthly_searches.year": {
      "type": "integer",
      "description": "год"
    },
    "tasks.result.items.monthly_searches.month": {
      "type": "integer",
      "description": "месяц"
    },
    "tasks.result.items.monthly_searches.search_volume": {
      "type": "integer",
      "description": "объём AI-поиска за определённый месяц года подробнее об этой метрике читайте здесь"
    },
    "tasks.result.items.first_response_at": {
      "type": "string",
      "description": "дата и время первой фиксации данных ответа в формате UTC: “yyyy-mm-dd hh-mm-ss +00:00” пример: 2025-10-21 06:25:30 +00:00"
    },
    "tasks.result.items.last_response_at": {
      "type": "string",
      "description": "дата и время последнего обновления данных ответа в формате UTC: “yyyy-mm-dd hh-mm-ss +00:00” пример: 2025-10-21 06:25:30 +00:00"
    },
    "tasks.result.items.brand_entities": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "массив сущностей брендов содержит информацию о брендах, упомянутых в ответе"
    },
    "tasks.result.items.brand_entities.position": {
      "type": "integer",
      "description": "позиция в результатах"
    },
    "tasks.result.items.brand_entities.title": {
      "type": "string",
      "description": "название бренда"
    },
    "tasks.result.items.brand_entities.category": {
      "type": "string",
      "description": "категория бренда"
    },
    "tasks.result.items.fan_out_queries": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "массив fan-out запросов содержит связанные поисковые запросы, производные от основного запроса, для более полного ответа"
    }
  }
}
```

### 400 — Запрос не удалось обработать. Проверьте параметры запроса.

### 401 — Требуется действительный API-ключ Felo.

### 402 — Запрос не может быть выполнен: не выполнено требование биллинга.

### 403 — Аккаунту не разрешено выполнять эту операцию.

### 429 — Достигнут лимит запросов или расходов.

### 502 — Сервис не смог выполнить запрос.

### 503 — API или сервис биллинга временно недоступны.

### 504 — Истекло время ожидания обработки запроса.

### default — Ответ с ошибкой; сквозные ответы upstream могут использовать форматы провайдера

**application/json**

Schema:

```json
{}
```
