This endpoint will provide you with a list of keywords for which the target products intersect in Amazon SERP. The returned results are specific to the asins specified in a POST request. Learn more about ASIN in this help center article.
Instead of ‘login’ and ‘password’ use your credentials from https://app.dataforseo.com/api-dashboard
# Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-dashboard \
login="login" \
password="password" \
cred="$(printf ${login}:${password} | base64)" \
curl --location --request POST "https://api.dataforseo.com/v3/dataforseo_labs/amazon/product_keyword_intersections/live" \
--header "Authorization: Basic ${cred}" \
--header "Content-Type: application/json" \
--data-raw "[
{
"asins": {
"1": "B09172433Z",
"2": "B07GBZ4Q68",
"3": "B07GCKQD77"
},
"language_name": "English",
"location_code": 2840
}
]"
<?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-dashboard
$client = new RestClient($api_url, null, 'login', 'password');
$post_array = array();
// simple way to set a task
$post_array[] = array(
"asins" => [
"1" => "B09172433Z",
"2" => "B07GBZ4Q68",
"3" => "B07GCKQD77"
],
"language_name" => "English",
"location_code" => 2840
);
try {
// POST /v3/dataforseo_labs/amazon/product_keyword_intersections/live
$result = $client->post('/v3/dataforseo_labs/amazon/product_keyword_intersections/live', $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 client import RestClient
# You can download this file from here https://cdn.dataforseo.com/v3/examples/python/python_Client.zip
client = RestClient("login", "password")
post_data = dict()
# simple way to set a task
post_data[len(post_data)] = dict(
asins={
"1": "B09172433Z",
"2": "B07GBZ4Q68",
"3": "B07GCKQD77"
},
location_name="United States",
language_name="English"
)
# POST /v3/dataforseo_labs/amazon/product_keyword_intersections/live
response = client.post("/v3/dataforseo_labs/amazon/product_keyword_intersections/live", 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 dataforseo_labs_amazon_product_keyword_intersections_live()
{
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-dashboard
DefaultRequestHeaders = { Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.ASCII.GetBytes("login:password"))) }
};
var postData = new List<object>();
postData.Add(new
{
asins = new[]
{
1: "019005476X",
2: "0190074442"
},
location_name = "United States",
language_name = "English"
});
// POST /v3/dataforseo_labs/amazon/product_keyword_intersections/live
// the full list of possible parameters is available in documentation
var taskPostResponse = await httpClient.PostAsync("/v3/dataforseo_labs/amazon/product_keyword_intersections/live", new StringContent(JsonConvert.SerializeObject(postData)));
var result = JsonConvert.DeserializeObject(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:
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. You can send up to 2000 API calls per minute. The maximum number of requests that can be sent simultaneously is limited to 30.
Below you will find a detailed description of the fields you can use for setting a task.
Description of the fields for setting a task:
Field name
Type
Description
asins
object
asins of target products required field
product IDs of the products for which you need to find keyword intersections;
specify the ASINs as in the following example: "asins": {
"1": "019005476X",
"2": "0190074442"
} the maximum number of ASINs you can specify in this object is 20;
learn more about the parameter on this help center page
location_name
string
full name of the location required field if don’t specify location_code
you can receive the list of available locations with their location_name by making a separate request to https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages; Note: this endpoint currently supports the US, Egypt, Saudi Arabia, and the United Arab Emirates locations only;
example: United Kingdom
location_code
integer
location code required field if don’t specify location_name
you can receive the list of available locations with their location_code by making a separate request to https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages; Note: this endpoint currently supports the US, Egypt, Saudi Arabia, and the United Arab Emirates locations only;
example: 2840
language_name
string
full name of the language required field if don’t specify language_code
you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages
example: English
language_code
string
language code required field if don’t specify language_name
you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages
example: en
limit
integer
the maximum number of products in the results array
optional field
default value: 100;
maximum value: 1000
intersection_mode
string
mode for finding asin intersections
optional field
possible values: union, intersect;
default value: intersect;
learn more about the parameter in this help center guide
filters
array
array of results filtering parameters
optional field you can add several filters at once (8 filters maximum)
you should set a logical operator and, or between the conditions
the following operators are supported: regex, not_regex, <, <=, >, >=, =, <>, in, not_in, ilike, not_ilike, like, not_like
you can use the % operator with like and not_like, as well as ilike and not_ilike to match any string of zero or more characters
example: ["avg_position","<", 10]
for more information about filters, please refer to Dataforseo Labs – Filters or this help center guide
order_by
array
results sorting rules
optional field
you can use the same values as in the filters array to sort the results
possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order
you should use a comma to set up a sorting parameter
example: ["sum_position,desc"] note that you can set no more than three sorting rules in a single request
you should use a comma to separate several sorting rules
example: ["intersections,desc","avg_position,asc"]
default rule: ["intersections,desc"]
offset
integer
offset in the results array of returned keywords
optional field
default value: 0
if you specify the 10 value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords
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
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
se_type
string
search engine type
asins
object
ASINs in a POST array
location_code
integer
location code in a POST array
if there is no data, then the value is null
language_code
string
language code in a POST array
if there is no data, then the value is null
total_count
integer
total amount of results in our database relevant to your request
items_count
integer
the number of results returned in the items array
items
array
contains detected Amazon product competitors and related data
keyword_data
object
keyword data for the returned keyword
se_type
string
search engine type
keyword
string
returned keyword
location_code
integer
location in a POST array
language_code
string
language in a POST array
keyword_info
object
keyword data for the returned keyword
se_type
string
search engine type
last_updated_time
string
date and time when keyword data was updated
in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00”;
example: 2019-11-15 12:57:46 +00:00
search_volume
integer
average monthly search volume rate
represents the (approximate) number of searches for the returned keyword on Amazon
intersection_result
object
data on the intersection
$asin_number
object
intersection data for one of the ASINs in a POST request
se_type
string
search engine type
type
string
type of element = ‘amazon_serp’
rank_group
integer
position within a group of elements with identical type values
positions of elements with different type values are omitted from rank_group
rank_absolute
integer
absolute rank in Amazon SERP
absolute position among all the elements in SERP
position
string
the alignment of the element in Amazon SERP
can take the following values: left, right