DataForSEO
SEO, search-engine results, keyword research, backlinks and AI visibility data.
Live ChatGPT LLM Responses
Sends a user_prompt to a ChatGPT model and returns its reply, synchronously. model_name picks the model - see get_dataforseo_ai_chat_gpt_llm_responses_models, and an unlisted name is rejected outright. max_output_tokens, temperature and top_p behave as they do on the vendor's own API, and web_search or force_web_search let it browse. Returns model_name, input_tokens, output_tokens, reasoning_tokens, web_search, money_spent, datetime, items and fan_out_queries. Read money_spent on the response to see what a prompt actually cost. Wrapped in DataForSEO's envelope: data in tasks[0].result, outcome in tasks[0].status_code - a rejected request still returns HTTP 200. ⚠️ This is a general LLM call routed through a data provider, not an SEO measurement. If you want to know what ChatGPT tells users about a brand, post_dataforseo_ai_chat_gpt_llm_scraper_live reproduces the consumer experience instead.
Pricing reference
- Metering: Reported response cost.
- Reference request estimate: USD 0.0695.
- Reference customer multiplier: 1.0. Do not apply it again to a settled customer amount.
Reference metadata only, not an account quote, a guaranteed price or a spending cap. Resource credits are not Felo credits. Final charges follow Felo billing records.
- Type: array (object | null)[]
- forceType: boolean | null
_web _search force AI agent to use web search
optional field
to enable this parameter,web_searchmust also be enabled;
when enabled, the AI model is forced to access and cite current web information;
default value:false;
Note: even if the parameter is set totrue, there is no guarantee web sources will be cited in the response
Note #2: not supported in reasoning models - maxType: integer | null
_output _tokens maximum number of tokens in the AI response
optional field
minimum value for reasoning models (e.g.,reasoningistruein the Models endpoint):1024;
minimum value for non-reasoning models:16;
maximum value:4096;
default value:2048
Note: ifweb_searchis set totrueor the reasoning model is specified in the request, the output token count may exceed the specifiedmax_output_tokenslimit - messageType: array (object | null)[] | null
_chain conversation history optional field array of message objects representing previous conversation turns; each object must contain: role string with either user or ai role; message string with message content (max 500 characters); you can specify maximum of 10 message objects in the array; Note: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai); example: "message_chain": [{"role":"user","message":"Hello, what’s up?"},{"role":"ai","message":"Hello! I’m doing well, thank you. How can I assist you today?"}]
- messageType: string | null
message text
- roleType: string | null
role of the user from whom the message originates
- modelType: string
_name name of the AI model
required fieldmodel_nameconsists of the actual model name and version name;
if the basic model name is specified, its latest version will be set by default;
for example, ifgpt-4.1is specified, thegpt-4.1-2025-04-14will be set asmodel_nameautomatically;
you can receive the list of available LLM models by making a separate request to thehttps://api.dataforseo.com/v3/ai_optimization/chat_gpt/llm_responses/models - systemType: string | null
_message instructions for the AI behaviour
optional field
defines the AI's role, tone, or specific behavior
you can specify up to 500 characters in thesystem_messagefield - tagType: string | null
user-defined task identifier
optional field
the character limit is 255
you can use this parameter to identify the task and match it with the result
you will find the specifiedtagvalue in thedataobject of the response - temperatureType: number | null
randomness of the AI response
optional field
higher values make output more diverse;
lower values make output more focused;
minimum value:0
maximum value:2
default value:0.94
Note: not supported in reasoning models - topType: number | null
_p diversity of the AI response
optional field
controls diversity of the response by limiting token selection;
minimum value:0
maximum value:1
default value:0.92Note:
top_pcannot be used together withtemperaturein the same request - userType: string
_prompt prompt for the AI model
required field
the question or task you want to send to the AI model;
you can specify up to 500 characters in theuser_promptfield - webType: boolean | null
_search - webType: string | null
_search _city city name of the location
optional field
Note: not supported ino3-mini,o1-pro,o1models - webType: string | null
_search _country _iso _code ISO country code of the location
optional field
to enable this parameter,web_searchmust also be enabled;
when enabled, the AI model will search the web from the country you specify;
Note: not supported ino3-mini,o1-pro,o1models
- Type: object | null · Response36Afe1097B20_AiOptimizationChatGptLlmResponsesLiveResponseInfo200
- Type: number | null Format: doublecost
total tasks cost, USD
- Type: integer | nullstatus
_code general status code you can find the full list of the response codes here
- Type: string | nullstatus
_message general informational message you can find the full list of general informational messages here
- Type: array (object | null)[] | nulltasks
array of tasks
- Type: object | null · Response36Afe1097B20_AiOptimizationChatGptLlmResponsesLiveTaskInfo
- costType: number | null Format: double
total tasks cost, USD
- dataType: object | null
contains the same parameters that you specified in the POST request
- propertyType: object | null
Name
- idType: string | null
task identifier unique task identifier in our system in the UUID format
- pathType: array (string | null)[] | null
URL path
- resultType: array (object | null)[] | null
array of results
- datetimeType: string | null
date and time when the result was received
in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00”
example:2019-11-15 12:57:46 +00:00 - fanType: array (string | null)[] | null
_out _queries array of fan-out queries
contains related search queries derived from the main query to provide a more comprehensive response - inputType: integer | null
_tokens number of tokens in the input
total count of tokens processed - itemsType: array (object | null)[] | null
array of response items
contains structured AI response data- typeType: string | null
type of element
- modelType: string | null
_name name of the AI model used
- moneyType: number | null
_spent - outputType: integer | null
_tokens number of tokens in the output
total count of tokens generated in the AI response - reasoningType: integer | null
_tokens number of reasoning tokens
total count of tokens used to generate reasoning content - webType: boolean | null
_search indicates if web search was used
- resultType: integer | null Format: int64
_count number of elements in the result array
- statusType: integer | null
_code status code of the task generated by DataForSEO, can be within the following range: 10000-60000 you can find the full list of the response codes here
- statusType: string | null
_message informational message of the task you can find the full list of general informational messages here
- timeType: string | null
execution time, seconds
- Type: integer | null Format: int64tasks
_count the number of tasks in the tasks array
- Type: integer | null Format: int64tasks
_error the number of tasks in the tasks array returned with an error
- Type: string | nulltime
total execution time, seconds
- Type: string | nullversion
the current version of the API
application/json - 400
The request could not be processed. Check the request parameters.
- 401
A valid Felo API key is required.
- 402
The request cannot proceed because a billing requirement is not met.
- 403
The account is not permitted to perform this operation.
- 429
A request or spending limit has been reached.
- 502
The service could not complete the request.
- 503
The API or billing service is temporarily unavailable.
- 504
The service timed out while processing the request.
- default
Error response; upstream passthrough responses may use provider formats
application/json
curl https://openapi.felo.ai/v1/beta/dataforseo/ai_optimization/chat_gpt/llm_responses/live \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '[
{
"system_message": "communicate as if we are in a business meeting",
"message_chain": [
{
"role": "user",
"message": "Hello, what’s up?"
},
{
"role": "ai",
"message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?"
}
],
"max_output_tokens": 200,
"temperature": 0.3,
"top_p": 0.5,
"model_name": "gpt-4.1-mini",
"web_search": true,
"web_search_country_iso_code": "FR",
"web_search_city": "Paris",
"user_prompt": "provide information on how relevant the amusement park business is in France now"
}
]'
{
"version": null,
"status_code": null,
"status_message": null,
"time": null,
"cost": null,
"tasks_count": null,
"tasks_error": null,
"tasks": [
{
"id": null,
"status_code": null,
"status_message": null,
"time": null,
"cost": null,
"result_count": null,
"path": [
null
],
"data": null,
"result": [
{
"model_name": null,
"input_tokens": null,
"output_tokens": null,
"reasoning_tokens": null,
"web_search": null,
"money_spent": null,
"datetime": null,
"items": [
{
"type": null
}
],
"fan_out_queries": [
null
]
}
]
}
]
}