Seller Feedback Request
Send a GET request with operation=SELLER_FEEDBACK to the Real-Time API. You identify the seller with exactly one of seller_id or url.
Endpoint
GET https://realtime.easyparser.com/v1/requestRequired parameters
All parameters go in the query string. See Common Request Fields for details on the shared parameters.
| Parameter | Type | Required | Description |
|---|---|---|---|
api_key | string | Yes | Your API key, sent as a query parameter. Find it at Account > Plan. |
platform | string | Yes | Target platform. Allowed: AMZ (Amazon). |
operation | string | Yes | Operation code in upper case. Allowed: SELLER_FEEDBACK. |
domain | string | Yes | Amazon marketplace, written with a leading dot, for example .com. When you send url, use the domain of the URL host. See Supported Marketplaces. |
seller_id | string | Conditional | Amazon seller ID: starts with A, 11 to 15 characters, for example A1MCYUGJD2ILFU. Required when url is not sent. Send seller_id or url, not both. |
url | string | Conditional | Full Amazon seller profile URL, URL-encoded, for example https://www.amazon.com/sp?seller=A1MCYUGJD2ILFU. Required when seller_id is not sent. Send seller_id or url, not both. |
Send exactly one of seller_id or url. A request with both, or with neither, fails validation. You find the seller ID in the seller= or me= parameter of an Amazon seller URL. When you send a url, use the domain that matches the URL host.
Optional parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
history_range | string | No | Time range of the feedback, in months. all returns feedback from all time. Default: all. Allowed: 1, 3, 12, all. |
min_rating | integer | No | Lowest star rating to include. Must be less than or equal to max_rating. Default: no rating filter. Allowed: 1 to 5. |
max_rating | integer | No | Highest star rating to include. Default: no rating filter. Allowed: 1 to 5. |
min_page | integer | No | First page to fetch. Default: 1. Allowed: 1 to 400. |
max_page | integer | No | Last page to fetch. Must be greater than or equal to min_page, and one request covers at most 5 pages. Default: 1. Allowed: 1 to 400. |
page | integer | No | One results page to fetch, as an alternative to min_page and max_page. Costs 1 credit. Send either page or min_page and max_page, not both. Default: 1. |
Without min_rating and max_rating, no rating filter is applied and feedback of every rating is returned. To get only negative feedback, send min_rating=1&max_rating=2. To get a single rating, send the same value for both, for example min_rating=5&max_rating=5. If you send only one of the two, the other takes the same value: min_rating=3 alone returns only 3-star feedback.
This operation does not support address parameters (address_id, zip_code, city, district, country_code), language or currency. See Address Management for the operations that do.
Credit cost
| Condition | Credits |
|---|---|
Each page requested (max_page - min_page + 1) | 1 per page |
| Maximum per request (5 pages) | 5 |
A request costs max_page - min_page + 1 credits. See Credit Consumption.
Example request
curl --get "https://realtime.easyparser.com/v1/request" \ --data-urlencode "api_key=YOUR_API_KEY" \ --data-urlencode "platform=AMZ" \ --data-urlencode "operation=SELLER_FEEDBACK" \ --data-urlencode "domain=.com" \ --data-urlencode "seller_id=A1MCYUGJD2ILFU" \ --data-urlencode "history_range=all" \ --data-urlencode "min_rating=1" \ --data-urlencode "max_rating=5" \ --data-urlencode "min_page=1" \ --data-urlencode "max_page=1"import requests
params = { "api_key": "YOUR_API_KEY", "platform": "AMZ", "operation": "SELLER_FEEDBACK", "domain": ".com", "seller_id": "A1MCYUGJD2ILFU", "history_range": "all", "min_rating": "1", "max_rating": "5", "min_page": "1", "max_page": "1",}
response = requests.get("https://realtime.easyparser.com/v1/request", params=params)print(response.json())const params = new URLSearchParams({ api_key: "YOUR_API_KEY", platform: "AMZ", operation: "SELLER_FEEDBACK", domain: ".com", seller_id: "A1MCYUGJD2ILFU", history_range: "all", min_rating: "1", max_rating: "5", min_page: "1", max_page: "1",});
const response = await fetch(`https://realtime.easyparser.com/v1/request?${params}`);const data = await response.json();console.log(data);GET /v1/request?api_key=YOUR_API_KEY&platform=AMZ&operation=SELLER_FEEDBACK&domain=.com&seller_id=A1MCYUGJD2ILFU&history_range=all&min_rating=1&max_rating=5&min_page=1&max_page=1 HTTP/1.1Host: realtime.easyparser.com<?php$params = [ 'api_key' => 'YOUR_API_KEY', 'platform' => 'AMZ', 'operation' => 'SELLER_FEEDBACK', 'domain' => '.com', 'seller_id' => 'A1MCYUGJD2ILFU', 'history_range' => 'all', 'min_rating' => '1', 'max_rating' => '5', 'min_page' => '1', 'max_page' => '1',];
$url = 'https://realtime.easyparser.com/v1/request?' . http_build_query($params);$response = file_get_contents($url);$data = json_decode($response, true);print_r($data);package main
import ( "fmt" "io" "net/http" "net/url")
func main() { params := url.Values{} params.Add("api_key", "YOUR_API_KEY") params.Add("platform", "AMZ") params.Add("operation", "SELLER_FEEDBACK") params.Add("domain", ".com") params.Add("seller_id", "A1MCYUGJD2ILFU") params.Add("history_range", "all") params.Add("min_rating", "1") params.Add("max_rating", "5") params.Add("min_page", "1") params.Add("max_page", "1")
resp, err := http.Get("https://realtime.easyparser.com/v1/request?" + params.Encode()) if err != nil { panic(err) } defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body) fmt.Println(string(body))}using System;using System.Collections.Generic;using System.Linq;using System.Net.Http;
var parameters = new Dictionary<string, string>{ ["api_key"] = "YOUR_API_KEY", ["platform"] = "AMZ", ["operation"] = "SELLER_FEEDBACK", ["domain"] = ".com", ["seller_id"] = "A1MCYUGJD2ILFU", ["history_range"] = "all", ["min_rating"] = "1", ["max_rating"] = "5", ["min_page"] = "1", ["max_page"] = "1",};
var query = string.Join("&", parameters.Select(p => $"{Uri.EscapeDataString(p.Key)}={Uri.EscapeDataString(p.Value)}"));
using var client = new HttpClient();var response = await client.GetStringAsync($"https://realtime.easyparser.com/v1/request?{query}");Console.WriteLine(response);import java.net.URI;import java.net.URLEncoder;import java.net.http.HttpClient;import java.net.http.HttpRequest;import java.net.http.HttpResponse;import java.nio.charset.StandardCharsets;import java.util.LinkedHashMap;import java.util.Map;import java.util.stream.Collectors;
public class EasyparserRequest { public static void main(String[] args) throws Exception { Map<String, String> params = new LinkedHashMap<>(); params.put("api_key", "YOUR_API_KEY"); params.put("platform", "AMZ"); params.put("operation", "SELLER_FEEDBACK"); params.put("domain", ".com"); params.put("seller_id", "A1MCYUGJD2ILFU"); params.put("history_range", "all"); params.put("min_rating", "1"); params.put("max_rating", "5"); params.put("min_page", "1"); params.put("max_page", "1");
String query = params.entrySet().stream() .map(e -> URLEncoder.encode(e.getKey(), StandardCharsets.UTF_8) + "=" + URLEncoder.encode(e.getValue(), StandardCharsets.UTF_8)) .collect(Collectors.joining("&"));
HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://realtime.easyparser.com/v1/request?" + query)) .GET() .build();
HttpResponse<String> response = HttpClient.newHttpClient() .send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); }}Notes
- A page window does not have to start at page 1. For example,
min_page=6&max_page=10returns pages 6 to 10 in one request and costs 5 credits. Ifmax_pageis lower thanmin_page, the API returnsMSG1010("Maximum page count must be more than minimum page count"). - Use
result.paginationin the response to decide whether to request more pages. See Response. - To collect feedback for many sellers in one job, use the Bulk API with the
seller_idsorurlspayload key. Bulk uses a singlepagevalue instead ofmin_pageandmax_page.