Seller Profile
View as MarkdownGet the profile of any Amazon seller — display name, business details, and feedback percentage
The Seller Profile endpoint returns the profile page for an Amazon seller id: display name, the seller's own blurb, the headline positive-feedback percentage, and the business details Amazon publishes for that seller.
On EU marketplaces this block carries the trader-transparency fields Amazon is required to publish — registered business name and type, trade register number, VAT number, contact phone and email, and the registered address. Outside the EU most of these are absent, so treat every field as optional.
Pair this endpoint with All Offers: that endpoint tells you which sellers carry an ASIN (sellerId), this one tells you who they are.
Endpoint
GET https://api.scrape.do/plugin/amazon/sellerInput Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
token | string | * | Your Scrape.do API authentication token |
seller | string | * | Amazon seller id (e.g., A2L77EE7U53NWQ). Validated before the request is made. |
geocode | string | * | Amazon marketplace country code (e.g., us, gb, de, jp). amazon_domain (e.g., amazon.de) is accepted as an alternative. |
zipcode | string | Postal code formatted according to country requirements to localize the page. Use either zipcode or countryName, not both. | |
countryName | string | Country-level location for marketplaces without ZIP-level delivery. | |
super | boolean | Enable residential/mobile proxies for higher success rates. Costs 10x credits (default: false) | |
language | string | Language code in ISO 639-1 format (e.g., EN, DE) | |
include_html | boolean | When true, the response includes the full raw HTML of the page after the structured JSON output (default: false) | |
device | string | Device profile for the request. Use desktop or mobile (default: desktop) |
An invalid seller id returns 400 invalid_seller before any request is made to Amazon.
Response Parameters
| Field | Type | Description |
|---|---|---|
seller_id | string | Echo of the requested seller id |
name | string | Seller display name |
about | string | The seller's own description, when they published one |
rating | object | positive_percentage — headline positive-feedback percentage. Absent when the seller page shows no feedback summary, which is the common case on amazon.com. |
business_details | object | Business details Amazon publishes for the seller. Absent when there is no detail block. |
html | string | Full raw HTML of the Amazon page (only present when include_html=true) |
Business Details Fields
| Field | Type | Description |
|---|---|---|
business_name | string | Registered business name |
business_type | string | e.g., Privately-owned business |
trade_register_number | string | Trade register number, where published |
vat_number | string | VAT identification number, where published |
phone_number | string | Contact phone, where published |
email | string | Contact email, where published |
business_address | array | Address lines in the order Amazon renders them, ending with the country code |
fields | object | Every label/value row Amazon renders, including rows this schema does not name. Multi-line blocks such as an address are joined with , . |
Example Usage
Step 1: Get a Seller ID
Take a sellerId from an offer in the All Offers response, or from a seller profile URL (amazon.com/sp?seller=A2L77EE7U53NWQ).
Step 2: Send the API Request
curl --location --request GET 'https://api.scrape.do/plugin/amazon/seller?token=<SDO-token>&seller=A2L77EE7U53NWQ&geocode=US'import requests
import json
token = "<SDO-token>"
seller = "A2L77EE7U53NWQ"
geocode = "US"
url = f"https://api.scrape.do/plugin/amazon/seller?token={token}&seller={seller}&geocode={geocode}"
response = requests.request("GET", url)
print(json.dumps(response.json(), indent=2))const axios = require('axios');
const token = "<SDO-token>";
const seller = "A2L77EE7U53NWQ";
const geocode = "US";
const url = `https://api.scrape.do/plugin/amazon/seller?token=${token}&seller=${seller}&geocode=${geocode}`;
axios.get(url)
.then(response => {
console.log(JSON.stringify(response.data, null, 2));
})
.catch(error => {
console.error(error);
});package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
token := "<SDO-token>"
seller := "A2L77EE7U53NWQ"
geocode := "US"
apiUrl := fmt.Sprintf(
"https://api.scrape.do/plugin/amazon/seller?token=%s&seller=%s&geocode=%s",
token, seller, geocode,
)
resp, err := http.Get(apiUrl)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}require 'net/http'
require 'json'
require 'uri'
token = "<SDO-token>"
seller = "A2L77EE7U53NWQ"
geocode = "US"
url = URI("https://api.scrape.do/plugin/amazon/seller?token=#{token}&seller=#{seller}&geocode=#{geocode}")
response = Net::HTTP.get(url)
puts JSON.pretty_generate(JSON.parse(response))import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class AmazonSeller {
public static void main(String[] args) throws Exception {
String token = "<SDO-token>";
String seller = "A2L77EE7U53NWQ";
String geocode = "US";
String url = String.format(
"https://api.scrape.do/plugin/amazon/seller?token=%s&seller=%s&geocode=%s",
token, seller, geocode
);
HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
conn.setRequestMethod("GET");
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
StringBuilder response = new StringBuilder();
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
System.out.println(response.toString());
}
}using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
string token = "<SDO-token>";
string seller = "A2L77EE7U53NWQ";
string geocode = "US";
string url = $"https://api.scrape.do/plugin/amazon/seller?token={token}&seller={seller}&geocode={geocode}";
using HttpClient client = new HttpClient();
string response = await client.GetStringAsync(url);
Console.WriteLine(response);
}
}<?php
$token = "<SDO-token>";
$seller = "A2L77EE7U53NWQ";
$geocode = "US";
$url = "https://api.scrape.do/plugin/amazon/seller?token={$token}&seller={$seller}&geocode={$geocode}";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo json_encode(json_decode($response), JSON_PRETTY_PRINT);
?>Step 3: Receive the Seller Profile
The example below is a real amazon.de response. Outside the EU the block is usually thinner: amazon.com typically publishes a business name and address and no feedback summary, so rating is absent and business_details carries only some of the fields below.
{
"seller_id": "AOPPU1CKKHCUB",
"name": "Granicell Direct",
"about": "Granicell Direct is committed to providing each customer with...",
"rating": {
"positive_percentage": 98
},
"business_details": {
"business_name": "GuangZhouGuanLiKeJiYouXianGongSi",
"business_type": "Privately-owned business",
"trade_register_number": "91440113MAE7GPX47B",
"vat_number": "DE452659022",
"phone_number": "+8615989069563",
"email": "granicell@163.com",
"business_address": ["...", "510000", "CN"],
"fields": {
"Business Name": "GuangZhouGuanLiKeJiYouXianGongSi",
"VAT Number": "DE452659022"
}
}
}Seller feedback and rating history are not included in this response — only the headline positive percentage.
Business details vary by marketplace: EU marketplaces publish the full trader block, others often publish nothing beyond the display name and description. Treat every field as optional.
Failed requests (upstream failures, non-seller pages) are not charged.

