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.
- 类型: array object[]
- model类型: string
_name 必填name of the AI model required field model_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, if gpt-4.1 is specified, the gpt-4.1-2025-04-14 will be set as model_name automatically; you can receive the list of available LLM models by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/chat_gpt/llm_responses/models
- user类型: 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 the user_prompt field
- force类型: boolean
_web _search force AI agent to use web search optional field to enable this parameter, web_search must 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 to true, there is no guarantee web sources will be cited in the response Note #2: not supported in reasoning models
- max类型: integer
_output _tokens maximum number of tokens in the AI response optional field minimum value for reasoning models (e.g., reasoning is true in the Models endpoint): 1024; minimum value for non-reasoning models: 16; maximum value: 4096; default value: 2048 Note: if web_search is set to true or the reasoning model is specified in the request, the output token count may exceed the specified max_output_tokens limit
- message类型: array object[]
_chain conversation history optional field array of message objects representing previous conversation turns; each object must contain role and message parameters: role string with either user or ai role; message string with message content (max 500 characters); you can specify the maximum of 10 message objects in the array; 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?"}]
- message类型: string必填
- role类型: string 枚举必填值
- user
- ai
- system类型: string
_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 the system_message field
- tag类型: string
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 specified tag value in the data object of the response
- temperature类型: number
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
- top类型: number
_p - web类型: boolean
_search enable web search optional field when enabled, the AI model can access and cite current web information; default value: false; Note: refer to the Models endpoint for a list of models that support web_search;
- web类型: string
_search _city city name of the location optional field Note: specify web_search_country_iso_code to use this parameter Note #2: not supported in o3-mini, o1-pro, o1 models
- web类型: string
_search _country _iso _code ISO country code of the location optional field required if web_search_city is specified; to enable this parameter, web_search must also be enabled; when enabled, the AI model will search the web from the country you specify; Note: not supported in o3-mini, o1-pro, o1 models
- 类型: object200
Successful response
- 类型: numbercost
total tasks cost, USD
- 类型: integerstatus
_code general status code you can find the full list of the response codes here Note: we strongly recommend designing a necessary system for handling related exceptional or error conditions
- 类型: stringstatus
_message general informational message you can find the full list of general informational messages here
- 类型: array string[]tasks
array of tasks
- 类型: integertasks
_count the number of tasks in the tasks array
- 类型: integertasks
_error the number of tasks in the tasks array returned with an error
- 类型: numbertasks
.cost cost of the task, USD includes the base task price plus the money_spent value
- 类型: objecttasks
.data contains the same parameters that you specified in the POST request
- 类型: stringtasks
.id task identifier unique task identifier in our system in the UUID format
- 类型: array string[]tasks
.path URL path
- 类型: array string[]tasks
.result array of results
- 类型: integertasks
.result _count number of elements in the result array
- 类型: stringtasks
.result .datetime 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
- 类型: array string[]tasks
.result .fan _out _queries array of fan-out queries contains related search queries derived from the main query to provide a more comprehensive response
- 类型: integertasks
.result .input _tokens number of tokens in the input total count of tokens processed
- 类型: array string[]tasks
.result .items array of response items contains structured AI response data
- 类型: objecttasks
.result .items .message element in the response
- 类型: array string[]tasks
.result .items .message .sections array of content sections contains different parts of the AI response
- 类型: array string[]tasks
.result .items .message .sections .annotations array of references used to generate the response equals null if the web_search parameter is not set to true Note: annotations may return empty even when web_search is true, as the AI will attempt to retrieve web information but may not find relevant results
- 类型: stringtasks
.result .items .message .sections .annotations .title the domain name or title of the quoted source
- 类型: stringtasks
.result .items .message .sections .annotations .url URL of the quoted source
- 类型: stringtasks
.result .items .message .sections .text AI-generated text content
- 类型: stringtasks
.result .items .message .sections .type type of element='text'
- 类型: stringtasks
.result .items .message .type type of the element = 'message'
- 类型: objecttasks
.result .items .reasoning element in the response
- 类型: array string[]tasks
.result .items .reasoning .sections reasoning chain sections array of objects containing the reasoning chain sections generated by the LLM
- 类型: stringtasks
.result .items .reasoning .sections .text text of the reasoning chain section text of the reasoning chain section summarizing the model's thought process
- 类型: stringtasks
.result .items .reasoning .sections .type type of element='summary_text'
- 类型: stringtasks
.result .items .reasoning .type type of the element = 'reasoning' Note: this element is supported only in reasoning models and is not guaranteed to be returned
- 类型: stringtasks
.result .model _name name of the AI model used
- 类型: numbertasks
.result .money _spent cost of AI tokens, USD the price charged by the third-party AI model provider for according to its Pricing
- 类型: integertasks
.result .output _tokens number of tokens in the output total count of tokens generated in the AI response
- 类型: integertasks
.result .reasoning _tokens number of reasoning tokens total count of tokens used to generate reasoning content
- 类型: booleantasks
.result .web _search indicates if web search was used
- 类型: integertasks
.status _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
- 类型: stringtasks
.status _message informational message of the task you can find the full list of general informational messages here
- 类型: stringtasks
.time execution time, seconds
- 类型: stringtime
execution time, seconds
- 类型: stringversion
the current version of the API
application/json - 400
Bad request
- 401
Unauthorized
- 402
The request cannot proceed because a billing requirement is not met.
- 403
The account is not permitted to perform this operation.
- 429
Rate limit exceeded
- 500
Internal server error
- 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
The operation failed. Keep the response request ID when contacting Felo support.
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 '[
{
"user_prompt": "",
"model_name": "",
"max_output_tokens": 1,
"temperature": 1,
"top_p": 1,
"web_search": true,
"force_web_search": true,
"web_search_country_iso_code": "",
"web_search_city": "",
"system_message": "",
"message_chain": [
{
"role": "user",
"message": ""
}
],
"tag": ""
}
]'
{
"version": "string",
"status_code": 1,
"status_message": "string",
"time": "string",
"cost": 1,
"tasks_count": 1,
"tasks_error": 1,
"tasks": [
"string"
],
"tasks.id": "string",
"tasks.status_code": 1,
"tasks.status_message": "string",
"tasks.time": "string",
"tasks.cost": 1,
"tasks.result_count": 1,
"tasks.path": [
"string"
],
"tasks.data": {},
"tasks.result": [
"string"
],
"tasks.result.model_name": "string",
"tasks.result.input_tokens": 1,
"tasks.result.output_tokens": 1,
"tasks.result.reasoning_tokens": 1,
"tasks.result.web_search": true,
"tasks.result.money_spent": 1,
"tasks.result.datetime": "string",
"tasks.result.items": [
"string"
],
"tasks.result.items.reasoning": {},
"tasks.result.items.reasoning.type": "string",
"tasks.result.items.reasoning.sections": [
"string"
],
"tasks.result.items.reasoning.sections.type": "string",
"tasks.result.items.reasoning.sections.text": "string",
"tasks.result.items.message": {},
"tasks.result.items.message.type": "string",
"tasks.result.items.message.sections": [
"string"
],
"tasks.result.items.message.sections.type": "string",
"tasks.result.items.message.sections.text": "string",
"tasks.result.items.message.sections.annotations": [
"string"
],
"tasks.result.items.message.sections.annotations.title": "string",
"tasks.result.items.message.sections.annotations.url": "string",
"tasks.result.fan_out_queries": [
"string"
]
}