The purpose of the Live SERP API AI Summary endpoint is to provide a summary of the content found on any SERP and generate a response based on the user’s specified prompt.
To obtain results, you have to specify task_id, which you can find in the response to the POST request. Learn more in our Help Center.
Your account will be charged for each request to this endpoint.
Instead of ‘login’ and ‘password’ use your credentials from https://app.dataforseo.com/api-access
# Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access
login="login"
password="password"
cred="$(printf ${login}:${password} | base64)"
curl --location --request POST "https://api.dataforseo.com/v3/serp/ai_summary"
--header "Authorization: Basic ${cred}"
--header "Content-Type: application/json"
--data-raw "[
{
"task_id": "07031739-1535-0139-0000-9d1e639a5b7d",
"prompt": "explain what DataForSEO is",
"include_links": true,
"fetch_content": true
}
]"
<?php
// You can download this file from here https://cdn.dataforseo.com/v3/examples/php/php_RestClient.zip
require('RestClient.php');
$api_url = 'https://api.dataforseo.com/';
// Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access
$client = new RestClient($api_url, null, 'login', 'password');
$post_array = array();
// simple way to get a result
$post_array[] = array(
"task_id" => "07031739-1535-0139-0000-9d1e639a5b7d",
"prompt" => "explain what DataForSEO is",
"include_links" => true,
"fetch_content" => true
);
try {
// POST /v3/serp/ai_summary
// the full list of possible parameters is available in documentation
$result = $client->post('/v3/serp/ai_summary', $post_array);
print_r($result);
// do something with post result
} catch (RestClientException $e) {
echo "n";
print "HTTP code: {$e->getHttpCode()}n";
print "Error code: {$e->getCode()}n";
print "Message: {$e->getMessage()}n";
print $e->getTraceAsString();
echo "n";
}
$client = null;
?>
from random import Random
from client import RestClient
# You can download this file from here https://api.dataforseo.com/v3/_examples/python/_python_Client.zip
client = RestClient("login", "password")
post_data = dict()
# simple way to get a result
post_data[len(post_data)] = dict(
task_id="07031739-1535-0139-0000-9d1e639a5b7d"
prompt="explain what DataForSEO is",
include_link= true,
fetch_content= true
)
# POST /v3/serp/ai_summary
# the full list of possible parameters is available in documentation
response = client.post("/v3/serp/ai_summary", post_data)
# you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
if response["status_code"] == 20000:
print(response)
# do something with result
else:
print("error. Code: %d Message: %s" % (response["status_code"], response["status_message"]))
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
namespace DataForSeoDemos
{
public static partial class Demos
{
public static async Task serp_ai_summary()
{
var httpClient = new HttpClient
{
BaseAddress = new Uri("https://api.dataforseo.com/"),
// Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access
DefaultRequestHeaders = { Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.ASCII.GetBytes("login:password"))) }
};
var postData = new List<object>();
// simple way to get a result
postData.Add(new
{
task_id = "07031739-1535-0139-0000-9d1e639a5b7d",
prompt = "explain what DataForSEO is",
include_link = true,
fetch_content = true
});
// POST /v3/serp/ai_summary
// the full list of possible parameters is available in documentation
var taskPostResponse = await httpClient.PostAsync("/v3/serp/ai_summary", new StringContent(JsonConvert.SerializeObject(postData)));
var result = JsonConvert.DeserializeObject<dynamic>(await taskPostResponse.Content.ReadAsStringAsync());
// you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
if (result.status_code == 20000)
{
// do something with result
Console.WriteLine(result);
}
else
Console.WriteLine($"error. Code: {result.status_code} Message: {result.status_message}");
}
}
}
The above command returns JSON structured like this:
{
"version": "0.1.20221214",
"status_code": 20000,
"status_message": "Ok.",
"time": "20.6765 sec.",
"cost": 0.01,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": "07031743-1535-0559-0000-6e58e03c9a8a",
"status_code": 20000,
"status_message": "Ok.",
"time": "20.6074 sec.",
"cost": 0.01,
"result_count": 1,
"path": [
"v3",
"serp",
"ai_summary"
],
"data": {
"api": "serp",
"function": "ai_summary",
"task_id": "07031739-1535-0139-0000-9d1e639a5b7d",
"prompt": "explain what DataForSEO is",
"include_links": true,
"fetch_content": true
},
"result": [
{
"items_count": 1,
"items": [
{
"summary": "DataForSEO is a powerful API stack that provides comprehensive SEO and digital marketing data solutions. It offers various APIs for different purposes, including SERP API, Google Ads API, Google Trends API, Domain Analytics API, On-Page API, DataForSEO Labs API, Backlinks API, and Merchant API.\nThe SERP API allows users to get a full overview of search engine results pages (SERP) and keyword rankings for any location and language. The Google Ads API provides data from Google Keyword Planner, including daily impressions, CPC, click estimation, search volume, competition level, and more for a bulk of keywords. The Google Trends API helps eliminate guesswork by synthesizing market research and SEO data to identify, compare, and predict keyword popularity trends across various platforms like YouTube, Google Search, Images, News, and Shopping.\nThe Domain Analytics API offers a 360° overview of any website, including monitoring Whois records, competitor traffic, and tech stacks. The On-Page API provides data for on-page analytics, allowing users to analyze any website for a multitude of parameters. The DataForSEO Labs API offers advanced search analytics, providing billions of keyword ideas enriched with relevant data and search visibility analytics.\nThe Backlinks API provides accurate and up-to-date backlink data from DataForSEO's rapidly growing link index. It features nine endpoints that can facilitate the process of analyzing backlinks. Lastly, the Merchant API powers up e-commerce analytics with data from Amazon and Google Shopping, providing essential data for e-commerce solutions, from pricing analysis to assortment optimization.\nDataForSEO is the leading provider of SEO data in the marketing technology industry. With an API-led approach to data delivery, DataForSEO enables SEO-software companies and agencies to build their dream SEO software, from simple rank tracking solutions to enterprise-level platforms. They have over 300 happy customers and provide a reliable and efficient data provider for SEO needs. [https://dataforseo.com/] [https://www.linkedin.com/company/dataforseo] [https://www.g2.com/products/dataforseo/reviews]"
}
]
}
]
}
]
}
All POST data should be sent in the JSON format (UTF-8 encoding). The task setting is done using the POST method. When setting a task, you should send all task parameters in the task array of the generic POST array.
Description of the fields for setting a task:
Field name
Type
Description
task_id
string
task identifier required field
unique identifier of the associated task in the UUID format
you will be able to use it within 30 days to request the results of the task at any time
prompt
string
AI prompt
optional field
additional task for AI summariser;
any form of text, question or information that communicates to AI what response you’re looking for;
max number of symbols or characters you can specify: 2000; note: your prompt has to be relevant to the keyword specified in the POST request to SERP API
support_extra
boolean
support extra SERP features
optional field
if set to true, the AI model will consider the following extra SERP features, in addition to organic results: answer_box, knowledge_graph, featured_snippet;
default value: true
fetch_content
boolean
fetch content from pages in SERPs
optional field
if set to true, the API will fetch the content from pages featured in SERP results, and the AI model will consider this content when generating the summary in the result;
default value: false
include_links
boolean
include source links in the summary
optional field
if set to true, the summary field in the API response will contain links to sources of the generated summary;
default value: false
As a response of the API server, you will receive JSON-encoded data containing a tasks array with the information specific to the set tasks.
Description of the fields in the results array:
Field name
Type
Description
version
string
the current version of the API
status_code
integer
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
status_message
string
general informational message
you can find the full list of general informational messages here
time
string
execution time, seconds
cost
float
total tasks cost, USD
tasks_count
integer
the number of tasks in the tasks array
tasks_error
integer
the number of tasks in the tasks array returned with an error
tasks
array
array of tasks
id
string
task identifier unique task identifier in our system in the UUID format
status_code
integer
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
status_message
string
informational message of the task
you can find the full list of general informational messages here
time
string
execution time, seconds
cost
float
cost of the task, USD
result_count
integer
number of elements in the result array
path
array
URL path
data
object
contains the same parameters that you specified in the POST request
result
array
array of results
items_count
integer
number of items in the results array
items
array
items array
summary
string
generated summary
summary generated by the AI model according to the parameters specified in the request