{"id":22016,"date":"2025-07-25T14:35:15","date_gmt":"2025-07-25T14:35:15","guid":{"rendered":"https:\/\/docs.dataforseo.com\/v3\/?page_id=22016"},"modified":"2026-04-07T21:48:58","modified_gmt":"2026-04-07T21:48:58","slug":"ai_optimization-chat_gpt-llm_responses-task_get","status":"publish","type":"page","link":"https:\/\/docs.dataforseo.com\/v3\/ai_optimization-chat_gpt-llm_responses-task_get\/","title":{"rendered":"ai_optimization\/chat_gpt\/llm_responses\/task_get"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><p>[vc_row][vc_column][vc_column_text]<\/p>\n<h2>Get Chat GPT LLM Responses<\/h2>\n<p>\u200c<br \/>\nChat GPT LLM Responses endpoint allows you to retrieve structured responses from a specific Chat GPT model, based on the input parameters.<\/p>\n<p>Tasks using the Standard method <strong>may take up to 72 hours to complete<\/strong>. If the task is not completed within this time, it is marked as failed, and the $0.01 advance is refunded. It is also important to note that if your account balance is negative, you will not receive the results even if the task is completed successfully.<\/p>\n<p>[\/vc_column_text]    <div class=\"endpoint\">\n        <img decoding=\"async\" class=\"endpoint__icon\" src=\"https:\/\/docs.dataforseo.com\/v3\/wp-content\/themes\/dataforseo\/assets\/img\/icons\/checked-circle.svg\" alt=\"checked\">\n\n                    GET            <button class=\"btn-reset button-link copy-button\" data-href=\"https:\/\/api.dataforseo.com\/v3\/ai_optimization\/chat_gpt\/llm_responses\/task_get\/$id\">\n                https:\/\/api.dataforseo.com\/v3\/ai_optimization\/chat_gpt\/llm_responses\/task_get\/$id                <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n                    <use href=\"https:\/\/docs.dataforseo.com\/v3\/wp-content\/themes\/dataforseo\/assets\/img\/icons\/sprite.svg#layers\"><\/use>\n                <\/svg>\n            <\/button>\n            <\/div>\n    \t<article class=\"info-card info-card--yellow\">\n\t\t<header class=\"info-card__header\">\n\t\t\t<div class=\"info-card__icon\">\n\t\t\t\t<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n\t\t\t\t\t<use href=\"https:\/\/docs.dataforseo.com\/v3\/wp-content\/themes\/dataforseo\/assets\/img\/icons\/sprite.svg#label\"><\/use>\n\t\t\t\t<\/svg>\n\t\t\t<\/div>\n\t\t\t<div class=\"info-card__title\">Pricing<\/div>\n\t\t<\/header>\n\t\t<div class=\"info-card__content\">\n\t\t\t<p> Your account will be charged only for posting a task. You can get the results of the task within the next 30 days for free.<br \/>\nThe cost can be calculated on the <a title=\"Pricing\" href=\"https:\/\/dataforseo.com\/pricing\/ai-optimization\/llm-responses\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing<\/a> page.<\/p>\n\t\t<\/div>\n\t<\/article>\n\t[vc_column_text]<\/p>\n<p><strong>Description of the fields for sending a request:<\/strong><br \/>\n<div class=\"dfs-doc-container dfs-doc-request\"><table><thead><tr><th>Field name<\/th><th>Type<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr data-doc-id=\"id\"><td><code>id<\/code><\/td><td>string<\/td><td><p><em>task identifier<\/em><br><strong>unique task identifier in our system in the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Universally_unique_identifier\">UUID<\/a> format<\/strong><br>you will be able to use it within <strong>30 days<\/strong> to request the results of the task at any time<\/p><\/td><\/tr><\/tbody><\/table><\/div><br \/>\n\u200c<br \/>\nAs a response of the API server, you will receive <a href=\"https:\/\/en.wikipedia.org\/wiki\/JSON\">JSON<\/a>-encoded data containing a <code>tasks<\/code> array with the information specific to the set tasks.<\/p>\n<p><strong>Description of the fields in the results array:<\/strong><br \/>\n<div class=\"dfs-doc-container dfs-doc-response\"><div class=\"api-block-main\"><div class=\"api-section\"><table><thead><tr><th>Field name<\/th><th>Type<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr data-doc-id=\"version\"><td><code>version<\/code><\/td><td>string<\/td><td><p><em>the current version of the API<\/em><\/p><\/td><\/tr><tr data-doc-id=\"status_code\"><td><code>status_code<\/code><\/td><td>integer<\/td><td><p><i>general status code<\/i><br>you can find the full list of the response codes <a href=\"\/v3\/appendix\/errors\">here<\/a><br><strong>Note:<\/strong> we strongly recommend designing a necessary system for handling related exceptional or error conditions<\/p><\/td><\/tr><tr data-doc-id=\"status_message\"><td><code>status_message<\/code><\/td><td>string<\/td><td><p><em>general informational message<\/em><br>you can find the full list of general informational messages <a href=\"\/v3\/appendix\/errors\">here<\/a><\/p><\/td><\/tr><tr data-doc-id=\"time\"><td><code>time<\/code><\/td><td>string<\/td><td><p><em>execution time, seconds<\/em><\/p><\/td><\/tr><tr data-doc-id=\"cost\"><td><code>cost<\/code><\/td><td>float<\/td><td><p><em>total tasks cost, USD<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks_count\"><td><code>tasks_count<\/code><\/td><td>integer<\/td><td><p><em>the number of tasks in the <strong><code>tasks<\/code><\/strong> array<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks_error\"><td><code>tasks_error<\/code><\/td><td>integer<\/td><td><p><em>the number of tasks in the <strong><code>tasks<\/code><\/strong> array returned with an error<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks\"><td><strong><code>tasks<\/code><\/strong><\/td><td>array<\/td><td><p><em>array of tasks<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-id\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>id<\/code><\/td><td>string<\/td><td><p><em>task identifier<\/em><br><strong>unique task identifier in our system in the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Universally_unique_identifier\">UUID<\/a> format<\/strong><\/p><\/td><\/tr><tr data-doc-id=\"tasks-status_code\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>status_code<\/code><\/td><td>integer<\/td><td><p><em>status code of the task<\/em><br>generated by DataForSEO; can be within the following range: 10000-60000<br>you can find the full list of the response codes <a href=\"\/v3\/appendix\/errors\">here<\/a><\/p><\/td><\/tr><tr data-doc-id=\"tasks-status_message\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>status_message<\/code><\/td><td>string<\/td><td><p><em>informational message of the task<\/em><br>you can find the full list of general informational messages <a href=\"\/v3\/appendix\/errors\">here<\/a><\/p><\/td><\/tr><tr data-doc-id=\"tasks-time\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>time<\/code><\/td><td>string<\/td><td><p><em>execution time, seconds<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-cost\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>cost<\/code><\/td><td>float<\/td><td><p><em>cost of the task, USD<\/em><br>includes the base task price plus the <code>money_spent<\/code> value<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result_count\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>result_count<\/code><\/td><td>integer<\/td><td><p><em>number of elements in the <code>result<\/code> array<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-path\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>path<\/code><\/td><td>array<\/td><td><p><em>URL path<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-data\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>data<\/code><\/td><td>object<\/td><td><p><em>contains the same parameters that you specified in the POST request<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<strong><code>result<\/code><\/strong><\/td><td>array<\/td><td><p><em>array of results<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-model_name\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>model_name<\/code><\/td><td>string<\/td><td><p><em>name of the AI model used<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-input_tokens\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>input_tokens<\/code><\/td><td>integer<\/td><td><p><em>number of tokens in the input<\/em><br>total count of tokens processed<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-output_tokens\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>output_tokens<\/code><\/td><td>integer<\/td><td><p><em>number of tokens in the output<\/em><br>total count of tokens generated in the AI response<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-reasoning_tokens\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>reasoning_tokens<\/code><\/td><td>integer<\/td><td><p><em>number of reasoning tokens<\/em><br>total count of tokens used to generate reasoning content<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-web_search\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>web_search<\/code><\/td><td>boolean<\/td><td><p><em>indicates if web search was used<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-money_spent\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>money_spent<\/code><\/td><td>float<\/td><td><p><em>cost of AI tokens, USD<\/em><br>the price charged by the third-party AI model provider for according to its <a href=\"https:\/\/platform.openai.com\/docs\/pricing\" target=\"_blank\">Pricing<\/a><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-datetime\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>datetime<\/code><\/td><td>string<\/td><td><p><em>date and time when the result was received<\/em><br>in the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d<br>example:<br><code class=\"long-string\">2019-11-15 12:57:46 +00:00<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-items\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong><code>items<\/code><\/strong><\/td><td>array<\/td><td><p><em>array of response items<\/em><br>contains structured AI response data<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-items-type:reasoning\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong><code>reasoning<\/code><\/strong><\/td><td>object<\/td><td><p><em>element in the response<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-items-type:reasoning-type\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>type<\/code><\/td><td>string<\/td><td><p><em>type of the element = <strong>'reasoning'<\/strong><\/em><br><strong>Note:<\/strong> this element is supported only in reasoning models and is not guaranteed to be returned<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-items-type:reasoning-sections\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong><code>sections<\/code><\/strong><\/td><td>array<\/td><td><p><em>reasoning chain sections<\/em><br>array of objects containing the reasoning chain sections generated by the LLM<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-items-type:reasoning-sections-type\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>type<\/code><\/td><td>string<\/td><td><p><em>type of element<em>=<\/em><strong>'summary_text'<\/strong><\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-items-type:reasoning-sections-text\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>text<\/code><\/td><td>string<\/td><td><p><em>text of the reasoning chain section<\/em><br>text of the reasoning chain  section summarizing the model's thought process<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-items-type:message\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong><code>message<\/code><\/strong><\/td><td>object<\/td><td><p><em>element in the response<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-items-type:message-type\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>type<\/code><\/td><td>string<\/td><td><p><em>type of the element = <strong>'message'<\/strong><\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-items-type:message-sections\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong><code>sections<\/code><\/strong><\/td><td>array<\/td><td><p><em>array of content sections<\/em><br>contains different parts of the AI response<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-items-type:message-sections-type\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>type<\/code><\/td><td>string<\/td><td><p><em>type of element<em>=<\/em><strong>'text'<\/strong><\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-items-type:message-sections-text\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>text<\/code><\/td><td>string<\/td><td><p><em>AI-generated text content<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-items-type:message-sections-annotations\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong><code>annotations<\/code><\/strong><\/td><td>array<\/td><td><p><em>array of references used to generate the response<\/em><br>equals <code>null<\/code> if the <code>web_search<\/code> parameter is not set to <code>true<\/code><br><strong>Note:<\/strong> <code>annotations<\/code> may return empty even when <code>web_search<\/code> is <code>true<\/code>, as the AI will attempt to retrieve web information but may not find relevant results<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-items-type:message-sections-annotations-title\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>title<\/code><\/td><td>string<\/td><td><p><em>the domain name or title of the quoted source<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-items-type:message-sections-annotations-url\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>url<\/code><\/td><td>string<\/td><td><p><em>URL of the quoted source<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-fan_out_queries\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>fan_out_queries<\/code><\/td><td>array<\/td><td><p><em>array of fan-out queries<\/em><br>contains related search queries derived from the main query to provide a more comprehensive response<\/p><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><br \/>\n\u200c\u200c[\/vc_column_text][\/vc_column][\/vc_row]<\/p>\n<blockquote><p>Instead of \u2018login\u2019 and \u2018password\u2019 use your credentials from https:\/\/app.dataforseo.com\/api-access<\/p><\/blockquote><div id=\"curl\" class=\"tab-content example__content\"><div class=\"example__code\"><pre><code class=\"language-bash hljs\"># Instead of &#039;login&#039; and &#039;password&#039; use your credentials from https:\/\/app.dataforseo.com\/api-access \r\nlogin=&quot;login&quot; \r\npassword=&quot;password&quot; \r\ncred=&quot;$(printf ${login}:${password} | base64)&quot; \r\nid=&quot;02031608-0696-0110-0000-a81d0414edbe&quot; \r\ncurl --location --request GET &quot;https:\/\/api.dataforseo.com\/v3\/ai_optimization\/chat_gpt\/llm_responses\/task_get\/${id}&quot; \r\n--header &quot;Authorization: Basic ${cred}&quot;  \r\n--header &quot;Content-Type: application\/json&quot; \r\n--data-raw &quot;&quot;<\/code><\/pre><\/div><\/div><div id=\"php\" class=\"tab-content example__content\"><div class=\"example__code\"><pre><code class=\"language-php hljs\">&lt;?php\r\n\r\n\/**\r\n * Method: GET\r\n * Endpoint: https:\/\/api.dataforseo.com\/v3\/ai_optimization\/chat_gpt\/llm_responses\/task_get\/$id\r\n * @see https:\/\/docs.dataforseo.com\/v3\/ai_optimization\/chat_gpt\/llm_responses\/task_get\r\n *\/\r\n\r\nrequire_once __DIR__ . &#039;\/..\/..\/..\/..\/..\/lib\/RestClient.php&#039;;\r\n$config = require __DIR__ . &#039;\/..\/..\/..\/..\/..\/lib\/config.php&#039;;\r\n\r\n$client = new RestClient($config[&#039;base_url&#039;], null, $config[&#039;login&#039;], $config[&#039;password&#039;]);\r\n\r\ntry {\r\n    $taskId = &#039;07211938-0696-0613-0000-674a0f948d6b&#039;;\r\n    $result = $client-&gt;get(&quot;\/v3\/ai_optimization\/chat_gpt\/llm_responses\/task_get\/{$taskId}&quot;);\r\n    print_r($result);\r\n    \/\/ do something with get result\r\n} catch (RestClientException $e) {\r\n    printf(\r\n        &quot;HTTP code: %dnError code: %dnMessage: %snTrace: %sn&quot;,\r\n        $e-&gt;getHttpCode(),\r\n        $e-&gt;getCode(),\r\n        $e-&gt;getMessage(),\r\n        $e-&gt;getTraceAsString()\r\n    );\r\n}\r\n\r\n?&gt;<\/code><\/pre><\/div><\/div><div id=\"javascript\" class=\"tab-content example__content\"><div class=\"example__code\"><pre><code class=\"language-javascript hljs\">const task_id = &#039;02231934-2604-0066-2000-570459f04879&#039;;\r\n\r\nconst axios = require(&#039;axios&#039;);\r\n\r\naxios({\r\n    method: &#039;get&#039;,\r\n    url: &#039;https:\/\/api.dataforseo.com\/v3\/ai_optimization\/chat_gpt\/llm_responses\/task_get\/&#039; + task_id,\r\n    auth: {\r\n        username: &#039;login&#039;,\r\n        password: &#039;password&#039;\r\n    },\r\n    headers: {\r\n        &#039;content-type&#039;: &#039;application\/json&#039;\r\n    }\r\n}).then(function (response) {\r\n    var result = response[&#039;data&#039;][&#039;tasks&#039;];\r\n    \/\/ Result data\r\n    console.log(result);\r\n}).catch(function (error) {\r\n    console.log(error);\r\n});<\/code><\/pre><\/div><\/div><div id=\"python\" class=\"tab-content example__content\"><div class=\"example__code\"><pre><code class=\"language-python hljs\">&quot;&quot;&quot;\r\nMethod: GET\r\nEndpoint: https:\/\/api.dataforseo.com\/v3\/ai_optimization\/chat_gpt\/llm_responses\/task_get\/$id\r\n@see https:\/\/docs.dataforseo.com\/v3\/ai_optimization\/chat_gpt\/llm_responses\/task_get\r\n&quot;&quot;&quot;\r\n\r\nimport sys\r\nimport os\r\nsys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), &#039;..\/..\/..\/..\/..\/&#039;)))\r\nfrom lib.client import RestClient\r\nfrom lib.config import username, password\r\nclient = RestClient(username, password)\r\n\r\ntry:\r\n    task_id = &#039;07211938-0696-0613-0000-674a0f948d6b&#039;\r\n    response = client.get(f&#039;\/v3\/ai_optimization\/chat_gpt\/llm_responses\/task_get\/{task_id}&#039;)\r\n    print(response)\r\n    # do something with get result\r\nexcept Exception as e:\r\n    print(f&#039;An error occurred: {e}&#039;)<\/code><\/pre><\/div><\/div><div id=\"csharp\" class=\"tab-content example__content\"><div class=\"example__code\"><pre><code class=\"language-csharp hljs\">using System;\r\nusing System.Linq;\r\nusing System.Net.Http;\r\nusing System.Net.Http.Headers;\r\nusing System.Text;\r\nusing System.Collections.Generic;\r\nusing System.Threading.Tasks;\r\nusing Newtonsoft.Json;\r\nnamespace DataForSeoSdk;\r\n\r\npublic class AiOptimization\r\n{\r\n\r\n    private static readonly HttpClient _httpClient;\r\n    \r\n    static AiOptimization()\r\n    {\r\n        _httpClient = new HttpClient\r\n        {\r\n            BaseAddress = new Uri(&quot;https:\/\/api.dataforseo.com\/&quot;)\r\n        };\r\n        _httpClient.DefaultRequestHeaders.Authorization =\r\n            new AuthenticationHeaderValue(&quot;Basic&quot;, ApiConfig.Base64Auth);\r\n    }\r\n    \r\n    \/\/\/ &lt;summary&gt;\r\n    \/\/\/ Method: GET\r\n    \/\/\/ Endpoint: https:\/\/api.dataforseo.com\/v3\/ai_optimization\/chat_gpt\/llm_responses\/task_get\r\n    \/\/\/ &lt;\/summary&gt;\r\n    \/\/\/ &lt;see href=&quot;https:\/\/docs.dataforseo.com\/v3\/ai_optimization\/chat_gpt\/llm_responses\/task_get&quot;\/&gt;\r\n    \r\n    public static async Task ChatgptLlmResponsesTaskGetById()\r\n    {\r\n\t\t\/\/ use the task identifier that you recieved upon setting a task\r\n\t    string taskId = &quot;07211938-0696-0613-0000-674a0f948d6b&quot;;\r\n\t    using var response = await _httpClient.GetAsync(&quot;\/v3\/ai_optimization\/chat_gpt\/llm_responses\/task_get\/&quot; + taskId);\r\n\t    var result = JsonConvert.DeserializeObject&lt;dynamic&gt;(await response.Content.ReadAsStringAsync());\r\n\t    \/\/ you can find the full list of the response codes here https:\/\/docs.dataforseo.com\/v3\/appendix\/errors\r\n\t    if (result.status_code == 20000)\r\n\t    {\r\n\t        \/\/ do something with result\r\n\t        Console.WriteLine(result);\r\n\t    }\r\n\t    else\r\n\t        Console.WriteLine($&quot;error. Code: {result.status_code} Message: {result.status_message}&quot;);\r\n    }<\/code><\/pre><\/div><\/div><blockquote><p>The above command returns JSON structured like this:<\/p><\/blockquote><div class=\"example example--json\"><div class=\"example__content\"><div class=\"example__code example__code-json\"><pre><code class=\"language-json hljs\">{\r\n  &quot;version&quot;: &quot;0.1.20250724&quot;,\r\n  &quot;status_code&quot;: 20000,\r\n  &quot;status_message&quot;: &quot;Ok.&quot;,\r\n  &quot;time&quot;: &quot;0.0849 sec.&quot;,\r\n  &quot;cost&quot;: 0,\r\n  &quot;tasks_count&quot;: 1,\r\n  &quot;tasks_error&quot;: 0,\r\n  &quot;tasks&quot;: [\r\n    {\r\n      &quot;id&quot;: &quot;02249714-1807-0791-0000-0423e705a8rr&quot;,\r\n      &quot;status_code&quot;: 20000,\r\n      &quot;status_message&quot;: &quot;Ok.&quot;,\r\n      &quot;time&quot;: &quot;0.0310 sec.&quot;,\r\n      &quot;cost&quot;: 0,\r\n      &quot;result_count&quot;: 1,\r\n      &quot;path&quot;: [\r\n        &quot;v3&quot;,\r\n        &quot;ai_optimization&quot;,\r\n        &quot;chat_gpt&quot;,\r\n        &quot;llm_responses&quot;,\r\n        &quot;task_get&quot;,\r\n        &quot;07241735-1535-0613-0000-0722e701b5ff&quot;\r\n      ],\r\n      &quot;data&quot;: {\r\n        &quot;api&quot;: &quot;ai_optimization&quot;,\r\n        &quot;function&quot;: &quot;llm_responses&quot;,\r\n        &quot;se&quot;: &quot;chat_gpt&quot;,\r\n        &quot;system_message&quot;: &quot;communicate as if we are in a business meeting&quot;,\r\n        &quot;message_chain&quot;: [\r\n          {\r\n            &quot;role&quot;: &quot;user&quot;,\r\n            &quot;message&quot;: &quot;Hello, what&#039;s up?&quot;\r\n          },\r\n          {\r\n            &quot;role&quot;: &quot;ai&quot;,\r\n            &quot;message&quot;: &quot;Hello! I\u2019m doing well, thank you. How can I assist you today? Are there any specific topics or projects you\u2019d like to discuss in our meeting?&quot;\r\n          }\r\n        ],\r\n        &quot;max_output_tokens&quot;: 1024,\r\n        &quot;temperature&quot;: 0.3,\r\n        &quot;top_p&quot;: 0.5,\r\n        &quot;web_search_country_iso_code&quot;: &quot;FR&quot;,\r\n        &quot;model_name&quot;: &quot;gpt-4.1-mini&quot;,\r\n        &quot;web_search&quot;: true,\r\n        &quot;user_prompt&quot;: &quot;provide information on how relevant the amusement park business is in France now&quot;\r\n      },\r\n      &quot;result&quot;: [\r\n        {\r\n          &quot;model_name&quot;: &quot;gpt-4.1-mini-2025-04-14&quot;,\r\n          &quot;input_tokens&quot;: 374,\r\n          &quot;output_tokens&quot;: 594,\r\n          &quot;reasoning_tokens&quot;: 576,\r\n          &quot;web_search&quot;: true,\r\n          &quot;money_spent&quot;: 0.0286,\r\n          &quot;datetime&quot;: &quot;2025-07-17 11:58:28 +00:00&quot;,\r\n          &quot;items&quot;: [\r\n            {\r\n              &quot;type&quot;: &quot;reasoning&quot;,\r\n              &quot;sections&quot;: [\r\n                {\r\n                  &quot;type&quot;: &quot;summary_text&quot;,\r\n                  &quot;text&quot;: &quot;**Exploring a riddle**nnThis likely refers to a riddle or joke. The classic answer seems to be a cup that&#039;s closed at the top and bottom, making it essentially useless. Or, is it a trophy cup or even a cupcake? I need to think through this riddle: I have a cup with no bottom and a closed top. How can I drink from it? The punchline might simply be that you can&#039;t drink from it. Hm, I wonder if there might be other interpretations too!&quot;\r\n                },\r\n                {\r\n                  &quot;type&quot;: &quot;summary_text&quot;,\r\n                  &quot;text&quot;: &quot;**Pondering a riddle\u2019s meaning**nnI\u2019m considering if this cup could also mean something like hiccup \u2014 closed at the top and bottom? But if there\u2019s no bottom, anything liquid just falls out. A closed top means you can\u2019t pour anything in. So it may not be a traditional drinking cup. Maybe it\u2019s an acorn cup, although it has an open top. The joke could suggest inverting it, but that still leaves it open. I\u2019m not sure how it all ties back to drinking from it!&quot;\r\n                },\r\n                {\r\n                  &quot;type&quot;: &quot;summary_text&quot;,\r\n                  &quot;text&quot;: &quot;**Clarifying the riddle\u2019s punchline**nnSo, the answer seems to be that you&#039;re meant to drink from the rim, but since there\u2019s no bottom and the top is closed, it&#039;s impossible to do that. The correct response points to a thimble instead, which has an open bottom. The punchline is clear: You can&#039;t drink; it&#039;s a thimble. The riddle plays on the expectation of a witty response. To keep it light, I could say, You don&#039;t! That&#039;s a thimble! and add a playful tone.&quot;\r\n                }\r\n              ]\r\n            },\r\n            {\r\n              &quot;type&quot;: &quot;message&quot;,\r\n              &quot;sections&quot;: [\r\n                {\r\n                  &quot;type&quot;: &quot;text&quot;,\r\n                  &quot;text&quot;: &quot;The amusement park industry in France remains a significant contributor to the country&#039;s economy and tourism sector. In 2024, the French amusement parks market generated approximately USD 3.25 billion in revenue and is projected to reach USD 4.27 billion by 2030, growing at a compound annual growth rate (CAGR) of 4.4% from 2025 to 2030. ([grandviewresearch.com](https:\/\/www.grandviewresearch.com\/horizon\/outlook\/amusement-parks-market\/france?utm_source=openai))nnFrance is home to several major amusement parks that attract millions of visitors annually. Disneyland Paris, Europe&#039;s most visited theme park, welcomed over 375 million visitors by 2022. In 2023, it generated a profit of $343 million for Disney. ([en.wikipedia.org](https:\/\/en.wikipedia.org\/wiki\/Disneyland_Paris?utm_source=openai)) Parc Ast\u00e9rix, another prominent park, achieved a record attendance of over 2.8 million visitors in 2023. ([en.wikipedia.org](https:\/\/en.wikipedia.org\/wiki\/Parc_Ast%C3%A9rix?utm_source=openai)) Le Puy du Fou, known for its historical theme, attracted 2.8 million visitors in 2024, making it the third most visited park in France that year. ([en.wikipedia.org](https:\/\/en.wikipedia.org\/wiki\/Le_Puy_du_Fou?utm_source=openai))nnThe industry is also witnessing technological advancements, with parks incorporating augmented reality (AR) and virtual reality (VR) attractions to enhance visitor experiences. Additionally, there is a growing emphasis on sustainability, with parks implementing eco-friendly practices such as recycling programs and energy-efficient operations. ([6wresearch.com](https:\/\/www.6wresearch.com\/industry-report\/france-amusement-park-market-outlook?utm_source=openai))nnHowever, the sector faces challenges, including rising operational costs and changing consumer preferences. In 2024, the average price of a hotel night in France increased by 26% since 2019, leading to shorter vacations and a shift towards budget-friendly accommodations. ([lemonde.fr](https:\/\/www.lemonde.fr\/en\/economy\/article\/2024\/10\/19\/when-vacations-keep-getting-more-expensive_6729824_19.html?utm_source=openai)) Despite these challenges, the amusement park industry in France continues to be a vital and evolving part of the country&#039;s tourism landscape.nnn## Rising Costs Impacting French Vacation Habits:n- [When vacations keep getting more expensive](https:\/\/www.lemonde.fr\/en\/economy\/article\/2024\/10\/19\/when-vacations-keep-getting-more-expensive_6729824_19.html?utm_source=openai) &quot;,\r\n                  &quot;annotations&quot;: [\r\n                    {\r\n                      &quot;title&quot;: &quot;France Amusement Parks Market Size &amp; Outlook, 2030&quot;,\r\n                      &quot;url&quot;: &quot;https:\/\/www.grandviewresearch.com\/horizon\/outlook\/amusement-parks-market\/france?utm_source=openai&quot;\r\n                    },\r\n                    {\r\n                      &quot;title&quot;: &quot;Disneyland Paris&quot;,\r\n                      &quot;url&quot;: &quot;https:\/\/en.wikipedia.org\/wiki\/Disneyland_Paris?utm_source=openai&quot;\r\n                    },\r\n                    {\r\n                      &quot;title&quot;: &quot;Parc Ast\u00e9rix&quot;,\r\n                      &quot;url&quot;: &quot;https:\/\/en.wikipedia.org\/wiki\/Parc_Ast%C3%A9rix?utm_source=openai&quot;\r\n                    },\r\n                    {\r\n                      &quot;title&quot;: &quot;Le Puy du Fou&quot;,\r\n                      &quot;url&quot;: &quot;https:\/\/en.wikipedia.org\/wiki\/Le_Puy_du_Fou?utm_source=openai&quot;\r\n                    },\r\n                    {\r\n                      &quot;title&quot;: &quot;France Amusement park Market (2025-2031) | Industry &amp; Revenue&quot;,\r\n                      &quot;url&quot;: &quot;https:\/\/www.6wresearch.com\/industry-report\/france-amusement-park-market-outlook?utm_source=openai&quot;\r\n                    },\r\n                    {\r\n                      &quot;title&quot;: &quot;When vacations keep getting more expensive&quot;,\r\n                      &quot;url&quot;: &quot;https:\/\/www.lemonde.fr\/en\/economy\/article\/2024\/10\/19\/when-vacations-keep-getting-more-expensive_6729824_19.html?utm_source=openai&quot;\r\n                    },\r\n                    {\r\n                      &quot;title&quot;: &quot;When vacations keep getting more expensive&quot;,\r\n                      &quot;url&quot;: &quot;https:\/\/www.lemonde.fr\/en\/economy\/article\/2024\/10\/19\/when-vacations-keep-getting-more-expensive_6729824_19.html?utm_source=openai&quot;\r\n                    }\r\n                  ]\r\n                }\r\n              ]\r\n            }\r\n          ],\r\n          &quot;fan_out_queries&quot;: [\r\n            &quot;current relevance of amusement park business in France 2024&quot;\r\n          ]\r\n        }\r\n      ]\r\n    }\r\n  ]\r\n}<\/code><\/pre><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>[vc_row][vc_column][vc_column_text] Get Chat GPT LLM Responses \u200c Chat GPT LLM Responses endpoint allows you to retrieve structured responses from a specific Chat GPT model, based on the input parameters. Tasks using the Standard method may take up to 72 hours to complete. If the task is not completed within this time, it is marked as [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template.php","meta":{"apibase_doc_request_yaml":"parameters:\n  - name: id\n    type: string\n    description: |\n      <em>task identifier<\/em><br><strong>unique task identifier in our system in the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Universally_unique_identifier\">UUID<\/a> format<\/strong><br>you will be able to use it within <strong>30 days<\/strong> to request the results of the task at any time","apibase_doc_request_additional_yaml":"","apibase_doc_response_yaml":"parameters:\n  - name: version\n    type: string\n    description: |\n      <em>the current version of the API<\/em>\n  - name: status_code\n    type: integer\n    description: |\n      <i>general status code<\/i><br>you can find the full list of the response codes <a href=\"\/v3\/appendix\/errors\">here<\/a><br><strong>Note:<\/strong> we strongly recommend designing a necessary system for handling related exceptional or error conditions\n  - name: status_message\n    type: string\n    description: |\n      <em>general informational message<\/em><br>you can find the full list of general informational messages <a href=\"\/v3\/appendix\/errors\">here<\/a>\n  - name: time\n    type: string\n    description: |\n      <em>execution time, seconds<\/em>\n  - name: cost\n    type: float\n    description: |\n      <em>total tasks cost, USD<\/em>\n  - name: tasks_count\n    type: integer\n    description: |\n      <em>the number of tasks in the <strong><code>tasks<\/code><\/strong> array<\/em>\n  - name: tasks_error\n    type: integer\n    description: |\n      <em>the number of tasks in the <strong><code>tasks<\/code><\/strong> array returned with an error<\/em>\n  - name: tasks\n    type: array\n    description: |\n      <em>array of tasks<\/em>\n    items:\n      children:\n        - name: id\n          type: string\n          description: |\n            <em>task identifier<\/em><br><strong>unique task identifier in our system in the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Universally_unique_identifier\">UUID<\/a> format<\/strong>\n        - name: status_code\n          type: integer\n          description: |\n            <em>status code of the task<\/em><br>generated by DataForSEO; can be within the following range: 10000-60000<br>you can find the full list of the response codes <a href=\"\/v3\/appendix\/errors\">here<\/a>\n        - name: status_message\n          type: string\n          description: |\n            <em>informational message of the task<\/em><br>you can find the full list of general informational messages <a href=\"\/v3\/appendix\/errors\">here<\/a>\n        - name: time\n          type: string\n          description: |\n            <em>execution time, seconds<\/em>\n        - name: cost\n          type: float\n          description: |\n            <em>cost of the task, USD<\/em><br>includes the base task price plus the <code>money_spent<\/code> value\n        - name: result_count\n          type: integer\n          description: |\n            <em>number of elements in the <code>result<\/code> array<\/em>\n        - name: path\n          type: array\n          description: |\n            <em>URL path<\/em>\n        - name: data\n          type: object\n          description: |\n            <em>contains the same parameters that you specified in the POST request<\/em>\n        - name: result\n          type: array\n          description: |\n            <em>array of results<\/em>\n          items:\n            children:\n              - name: model_name\n                type: string\n                description: |\n                  <em>name of the AI model used<\/em>\n              - name: input_tokens\n                type: integer\n                description: |\n                  <em>number of tokens in the input<\/em><br>total count of tokens processed\n              - name: output_tokens\n                type: integer\n                description: |\n                  <em>number of tokens in the output<\/em><br>total count of tokens generated in the AI response\n              - name: reasoning_tokens\n                type: integer\n                description: |\n                  <em>number of reasoning tokens<\/em><br>total count of tokens used to generate reasoning content\n              - name: web_search\n                type: boolean\n                description: |\n                  <em>indicates if web search was used<\/em>\n              - name: money_spent\n                type: float\n                description: |\n                  <em>cost of AI tokens, USD<\/em><br>the price charged by the third-party AI model provider for according to its <a href=\"https:\/\/platform.openai.com\/docs\/pricing\" target=\"_blank\">Pricing<\/a>\n              - name: datetime\n                type: string\n                description: |\n                  <em>date and time when the result was received<\/em><br>in the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d<br>example:<br><code class=\"long-string\">2019-11-15 12:57:46 +00:00<\/code>\n              - name: items\n                type: array\n                description: |\n                  <em>array of response items<\/em><br>contains structured AI response data\n                children:\n                  - name: reasoning\n                    type: object\n                    description: |\n                      <em>element in the response<\/em>\n                    addIt: type:reasoning\n                    children:\n                      - name: type\n                        type: string\n                        description: |\n                          <em>type of the element = <strong>'reasoning'<\/strong><\/em><br><strong>Note:<\/strong> this element is supported only in reasoning models and is not guaranteed to be returned\n                      - name: sections\n                        type: array\n                        description: |\n                          <em>reasoning chain sections<\/em><br>array of objects containing the reasoning chain sections generated by the LLM\n                        items:\n                          children:\n                            - name: type\n                              type: string\n                              description: \"<em>type of element_=_<strong>'summary_text'<\/strong><\/em>\"\n                            - name: text\n                              type: string\n                              description: |\n                                <em>text of the reasoning chain section<\/em><br>text of the reasoning chain  section summarizing the model's thought process\n                  - name: message\n                    type: object\n                    description: |\n                      <em>element in the response<\/em>\n                    addIt: type:message\n                    children:\n                      - name: type\n                        type: string\n                        description: |\n                          <em>type of the element = <strong>'message'<\/strong><\/em>\n                      - name: sections\n                        type: array\n                        description: |\n                          <em>array of content sections<\/em><br>contains different parts of the AI response\n                        items:\n                          children:\n                            - name: type\n                              type: string\n                              description: \"<em>type of element_=_<strong>'text'<\/strong><\/em>\"\n                            - name: text\n                              type: string\n                              description: |\n                                <em>AI-generated text content<\/em>\n                            - name: annotations\n                              type: array\n                              description: |\n                                <em>array of references used to generate the response<\/em><br>equals <code>null<\/code> if the <code>web_search<\/code> parameter is not set to <code>true<\/code><br><strong>Note:<\/strong> <code>annotations<\/code> may return empty even when <code>web_search<\/code> is <code>true<\/code>, as the AI will attempt to retrieve web information but may not find relevant results\n                              items:\n                                children:\n                                  - name: title\n                                    type: string\n                                    description: |\n                                      <em>the domain name or title of the quoted source<\/em>\n                                  - name: url\n                                    type: string\n                                    description: |\n                                      <em>URL of the quoted source<\/em>\n              - name: fan_out_queries\n                type: array\n                description: |\n                  <em>array of fan-out queries<\/em><br>contains related search queries derived from the main query to provide a more comprehensive response","footnotes":""},"class_list":["post-22016","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/pages\/22016","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/comments?post=22016"}],"version-history":[{"count":11,"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/pages\/22016\/revisions"}],"predecessor-version":[{"id":24263,"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/pages\/22016\/revisions\/24263"}],"wp:attachment":[{"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/media?parent=22016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}