Building a Python Dashboard for Amazon Product Insights with SellerMagnet
In today's dynamic e-commerce landscape, businesses need robust tools to monitor product performance, track competitors, and optimize inventory on Amazon. Building a custom dashboard using Python and the SellerMagnet API provides a powerful solution for enterprise-grade Amazon data analysis. This post will guide you through creating such a dashboard, focusing on practical use cases and leveraging SellerMagnet’s capabilities.
Why Build a Custom Amazon Product Insights Dashboard?
Off-the-shelf solutions often lack the flexibility to meet specific business needs. A custom dashboard allows you to:
- Tailor Data Views: Focus on metrics most relevant to your business goals.
- Integrate with Existing Systems: Seamlessly connect with your internal databases and workflows.
- Gain Competitive Advantage: React quickly to market changes with real-time data.
By utilizing SellerMagnet, you gain access to comprehensive Amazon data without the complexities of Amazon Web Scraping.
Setting Up Your Python Environment
First, ensure you have Python installed. Then, install the necessary libraries:
pip install pandas requests dash
These libraries will help you handle data, make API requests, and build the dashboard interface.
Fetching Amazon Product Data with SellerMagnet API
SellerMagnet provides several endpoints for retrieving Amazon product data. Let's explore a few key examples.
1. Amazon Product Statistics
The Amazon Product Statistics endpoint provides detailed statistics for a given product, including sales rank, review counts, and price history. This is invaluable for tracking product performance over time.
Endpoint: /amazon-product-statistics
Method: GET
Here’s a Python code snippet to fetch product statistics:
import requests
import pandas as pd
api_key = 'YOUR_API_KEY'
asin = 'B08N5WRWNW'
marketplace_id = 'A1PA6795UKMFR9'
url = f'https://sellermagnet-api.com/amazon-product-statistics?asin={asin}&marketplaceId={marketplace_id}&api_key={api_key}'
response = requests.get(url)
if response.status_code == 200:
data = response.json()
if data['success']:
df = pd.DataFrame([data['data']])
print(df)
else:
print(f"Error: {data['errors']}")
else:
print(f"Request failed with status code: {response.status_code}")
Response Example:
{
"success": true,
"data": {
"asin": "B0CLTBHXWQ",
"productTitle": "Playstation 5 Console Edizione Digital Slim",
"buyBoxPrice": 41800,
"buyBoxFulfillment": "FBM",
"buyBoxSellerIdHistory": [
[
"2025-06-14 17:08:00",
"A2I59UVTUWUFH0"
]
],
"categoryTree": [
{
"catId": 412603031,
"name": "Videogiochi"
},
{
"catId": 20904349031,
"name": "PlayStation 5"
},
{
"catId": 20904364031,
"name": "Console"
}
],
"graphs": {
"amazonAsSellerPriceHistory": "https://sellermagnet-api-webspace.s3.eu-central-1.amazonaws.com/amazon/api/charts/B0CLTBHXWQ/1749913774/B0CLTBHXWQ_amazon_price_1749913773.png",
"lowestFBAPriceHistory": "https://sellermagnet-api-webspace.s3.eu-central-1.amazonaws.com/amazon/api/charts/B0CLTBHXWQ/1749913776/B0CLTBHXWQ_fba_price_1749913773.png",
"lowestFBMPriceHistory": "https://sellermagnet-api-webspace.s3.eu-central-1.amazonaws.com/amazon/api/charts/B0CLTBHXWQ/1749913775/B0CLTBHXWQ_fbm_price_1749913773.png",
"monthlySoldHistory": "https://sellermagnet-api-webspace.s3.eu-central-1.amazonaws.com/amazon/api/charts/B0CLTBHXWQ/1749913778/B0CLTBHXWQ_monthly_sold_1749913773.png",
"productRatingHistory": "https://sellermagnet-api-webspace.s3.eu-central-1.amazonaws.com/amazon/api/charts/B0CLTBHXWQ/1749913777/B0CLTBHXWQ_rating_1749913773.png"
},
"listedSince": "2023-12-30 01:00:00",
"lowestFBAPrice": 44999,
"lowestFBMPrice": 41700,
"marketplaceId": "APJ6JRA9NG5V4",
"marketplaceNewPriceHistory": [
[
"2025-06-14",
41700
]
],
"offers": {
"A11IL2PNWYJU7H": {
"isFBA": true,
"lastUpdated": "2025-06-14 17:08:00",
"priceHistory": [
[
"2025-06-14 06:22:00",
44999,
0
]
],
"stockHistory": [
[
"2025-05-29 11:32:00",
1
]
]
},
"A12FLY25DT7QO0": {
"isFBA": false,
"lastUpdated": "2025-06-14 17:08:00",
"priceHistory": [
[
"2025-06-09 15:32:00",
41800,
0
]
],
"stockHistory": [
[
"2025-06-14 13:34:00",
49
]
]
},
"A18KSDUE00UP6J": {
"isFBA": false,
"lastUpdated": "2025-06-14 17:08:00",
"priceHistory": [
[
"2025-05-29 11:32:00",
42890,
0
]
],
"stockHistory": [
[
"2025-05-30 18:30:00",
3
]
]
}
},
"productReviewAverage": 4.7,
"productTotalReviews": 3129,
"rootCategory": {
"id": 412603031,
"name": "Videogiochi"
},
"stats": {
"amazonAsSellerPriceHistory": [
[
"2025-06-14",
44999
]
],
"buyBoxPriceHistory": [
[
"2025-06-13",
41700
]
],
"monthlySoldHistory": [
[
"2025-06",
1000
]
],
"productRatingCountHistory": [
[
"2025-06-14 15:28:00",
3129
]
],
"productRatingHistory": [
[
"2025-02-02 01:30:00",
4.7
]
],
"salesRankHistory": [
[
"2025-06-14 01:58:00",
15
]
]
}
}
}
2. Amazon Product Lookup
The Amazon Product Lookup endpoint allows you to retrieve detailed product information, including descriptions, features, and categories.
Endpoint: /amazon-product-lookup
Method: GET
Python example:
import requests
import json
api_key = 'YOUR_API_KEY'
asin = 'B0CL61F39H'
marketplace_id = 'ATVPDKIKX0DER'
url = f'https://sellermagnet-api.com/amazon-product-lookup?asin={asin}&marketplaceId={marketplace_id}&api_key={api_key}'
response = requests.get(url)
if response.status_code == 200:
product_data = response.json()
if product_data['success']:
print(json.dumps(product_data['data'], indent=4))
else:
print(f"Error: {product_data['errors']}")
else:
print(f"Request failed with status code: {response.status_code}")
Response Example:
{
"data": {
"productInfo": {
"additionalDetails": {
"ASIN": "B0CL61F39H",
"Batteries": "1 Lithium Ion batteries required. (included)",
"Best Sellers Rank": "Nr. 31 in Video Games Nr. 1 in PlayStation 5 Consoles",
"Customer Rating": "4.7 out of 5 stars",
"Date First Available": "December 10, 2023",
"Item Weight": "10.6 pounds",
"Item model number": "CFI-2015",
"Manufacturer": "Sony",
"Number of Reviews": "7,092 ratings",
"Product Dimensions": "14 x 17 x 7 inches; 10.6 Pounds",
"Release date": "December 10, 2023",
"Type of item": "Video Game"
},
"asin": "B0CL61F39H",
"bestsellerRanks": {
"main_category": {
"name": "Video Games",
"rank": 31
},
"subcategory": {
"name": "PlayStation",
"rank": 1
}
},
"bulletPoints": [
"Model Number CFI-2000",
"Includes DualSense Wireless Controller, 1TB SSD, Disc Drive, 2 Horizontal Stand Feet, HDMI Cable, AC power cord, USB cable, printed materials, ASTRO\u2019s PLAYROOM (Pre-installed game)",
"Vertical Stand sold separately"
],
"buyBoxInfo": {
"currencyCode": "USD",
"currencyName": "United States Dollar",
"currencySymbol": "$",
"price": 444.99,
"sellerId": "A3853PJW50SJG8"
},
"categories": {
"bestsellerCategory": [
{
"id": "20972781011",
"index": 1,
"name": "PlayStation 5",
"url": "https://www.amazon.com/b/ref=dp_bc_2?ie=UTF8&node=20972781011"
},
{
"id": "20972796011",
"index": 2,
"name": "Consoles",
"url": "https://www.amazon.com/b/ref=dp_bc_3?ie=UTF8&node=20972796011"
}
],
"rootCategory": {
"id": "468642",
"name": "Video Games",
"url": "https://www.amazon.com/computer-video-games-hardware-accessories/b/ref=dp_bc_1?ie=UTF8&node=468642"
}
},
"description": [
"Model Number CFI-2000",
"Includes DualSense Wireless Controller, 1TB SSD, Disc Drive, 2 Horizontal Stand Feet, HDMI Cable, AC power cord, USB cable, printed materials, ASTRO\u2019s PLAYROOM (Pre-installed game)",
"Vertical Stand sold separately",
"The PS5 console unleashes new gaming possibilities that you never anticipated. Experience lightning fast loading with an ultra-high speed SSD, deeper immersion with support for haptic feedback, adaptive triggers, and 3D Audio*, and an all-new generation of incredible PlayStation games. Lightning Speed - Harness the power of a custom CPU, GPU, and SSD with Integrated I/O that rewrite the rules of what a PlayStation console can do. Stunning Games - Marvel at incredible graphics and experience new PS5 features. Play a back catalog of supported PS4 games. Breathtaking Immersion - Discover a deeper gaming experience with support for haptic feedback, adaptive triggers, and 3D Audio technology. Vertical stand sold separately. *3D audio via built-in TV speakers or analog/USB stereo headphones. Set up and latest system software update required."
],
"details": {
"ASIN": "B0CL61F39H",
"Batteries": "1 Lithium Ion batteries required. (included)",
"Date First Available": "December 10, 2023",
"Item Weight": "10.6 pounds",
"Item model number": "CFI-2015",
"Manufacturer": "Sony",
"Platform": "PlayStation 5",
"Product Dimensions": "14 x 17 x 7 inches; 10.6 Pounds",
"Release date": "December 10, 2023",
"Type of item": "Video Game"
},
"hasAPlusContent": true,
"images": [
"https://m.media-amazon.com/images/I/41ECK5cY-2L._SL1000_.jpg",
"https://m.media-amazon.com/images/I/41srF-iY93L._SL1000_.jpg",
"https://m.media-amazon.com/images/I/41tVr19I3zL._SL1000_.jpg",
"https://m.media-amazon.com/images/I/41HMaO9jO3L._SL1000_.jpg",
"https://m.media-amazon.com/images/I/61e8hPmeoYL._SL1000_.jpg",
"https://m.media-amazon.com/images/I/61Gj1Kc5R5L._SL1000_.jpg",
"https://m.media-amazon.com/images/I/61r6PutKGwL._SL1000_.jpg",
"https://m.media-amazon.com/images/I/717Id5h1fhL._SL1000_.jpg"
],
"link": "https://www.amazon.com/dp/B0CL61F39H",
"listedSinceDate": "2023-12-10",
"mainImage": "https://m.media-amazon.com/images/I/31kTNmpm6vL.jpg",
"marketplaceId": "ATVPDKIKX0DER",
"reviews": {
"averageRating": 4.7,
"reviewSummary": "4.7 out of 5 stars",
"totalReviews": 7092
},
"title": "PlayStation\u00ae5 console (slim)",
"variations": [
{
"asin": "B0F6968Y5G",
"attributes": {
"Pattern Name": "PS5 w/ Black Ops Bundle",
"Style": "PlayStation\u00ae5 Digital Edition (slim)"
}
},
{
"asin": "B0CL5KNB9M",
"attributes": {
"Pattern Name": "PS5 Only",
"Style": "PlayStation\u00ae5 Digital Edition (slim)"
}
},
{
"asin": "B0CL61F39H",
"attributes": {
"Pattern Name": "PS5 Only",
"Style": "PlayStation\u00ae5 console (slim)"
}
},
{
"asin": "B0F691TJTP",
"attributes": {
"Pattern Name": "PS5 w/ Black Ops Bundle",
"Style": "PlayStation\u00ae5 console (slim)"
}
},
{
"asin": "B0FD54CGQ8",
"attributes": {
"Pattern Name": "PS5 w/ $100 PlayStation Store GC",
"Style": "PlayStation\u00ae5 Digital Edition (slim)"
}
},
{
"asin": "B0FD4WGVH5",
"attributes": {
"Pattern Name": "PS5 w/ $100 PlayStation Store GC",
"Style": "PlayStation\u00ae5 console (slim)"
}
}
],
"videos": [
"https://m.media-amazon.com/S/vse-vms-transcoding-artifact-us-east-1-prod/8af0ddf1-55f5-4e71-9463-39602c3edbae/default.jobtemplate.hls.m3u8",
"https://m.media-amazon.com/S/vse-vms-transcoding-artifact-us-east-1-prod/50938d5c-2a9b-427a-b766-21b7cd63502e/default.jobtemplate.hls.m3u8"
]
}
}
}
3. Amazon Product Offers
Use the Amazon Product Offers endpoint to list current offers, including prices, sellers, and inventory details. This is critical for competitive pricing strategies.
Endpoint: /amazon-product-offers
Method: GET
import requests
import json
api_key = 'YOUR_API_KEY'
asin = 'B0CL61F39H'
marketplace_id = 'ATVPDKIKX0DER'
url = f'https://sellermagnet-api.com/amazon-product-offers?asin={asin}&marketplaceId={marketplace_id}&api_key={api_key}'
response = requests.get(url)
if response.status_code == 200:
offers_data = response.json()
if offers_data['success']:
print(json.dumps(offers_data['data'], indent=4))
else:
print(f"Error: {offers_data['errors']}")
else:
print(f"Request failed with status code: {response.status_code}")
Response Example:
{
"data": {
"asin": "B0CL61F39H",
"buyBox": {
"condition": "New",
"deliveryDate": "2025-06-28",
"fulfillmentType": "FBA",
"inventory": 30,
"positivePercentage": 0,
"priceWithoutShipping": 499,
"sellerId": "Amazon",
"sellerName": "Amazon",
"shippingPrice": 0,
"totalPrice": 499,
"totalReviews": 0
},
"currency": {
"code": "USD",
"name": "United States Dollar",
"symbol": "$"
},
"marketplaceId": "ATVPDKIKX0DER",
"offers": [
{
"condition": "New",
"deliveryDate": "2025-06-28",
"fulfillmentType": "FBA",
"inventory": 30,
"positivePercentage": 0,
"priceWithoutShipping": 499,
"sellerId": "Amazon",
"sellerName": "Amazon",
"shippingPrice": 0,
"totalPrice": 499,
"totalReviews": 0
},
{
"condition": "Used - Very Good",
"deliveryDate": "2025-07-07",
"fulfillmentType": "FBM",
"inventory": 10,
"positivePercentage": 78,
"priceWithoutShipping": 409.99,
"sellerId": "A17J18A7XABQI9",
"sellerName": "PRICE 2 SAVE",
"shippingPrice": 0,
"totalPrice": 409.99,
"totalReviews": 6892
},
{
"condition": "Used - Good",
"deliveryDate": "2025-06-26",
"fulfillmentType": "FBM",
"inventory": 1,
"positivePercentage": 87,
"priceWithoutShipping": 409.99,
"sellerId": "A1YU28SVL05CUG",
"sellerName": "premier liquidation",
"shippingPrice": 9.84,
"totalPrice": 419.83,
"totalReviews": 1177
},
{
"condition": "Used - Very Good",
"deliveryDate": "2025-06-30",
"fulfillmentType": "FBM",
"inventory": 1,
"positivePercentage": 40,
"priceWithoutShipping": 418.99,
"sellerId": "A2NBVGK6C0HCUA",
"sellerName": "Fix N Plug",
"shippingPrice": 3.99,
"totalPrice": 422.98,
"totalReviews": 30
},
{
"condition": "Used - Good",
"deliveryDate": "2025-06-30",
"fulfillmentType": "FBM",
"inventory": 1,
"positivePercentage": 94,
"priceWithoutShipping": 423.99,
"sellerId": "AZZMAGMBAQU46",
"sellerName": "VG1shop (Serial # Recorded)",
"shippingPrice": 3.99,
"totalPrice": 427.98,
"totalReviews": 163
},
{
"condition": "Used - Acceptable",
"deliveryDate": "2025-06-28",
"fulfillmentType": "FBM",
"inventory": 1,
"positivePercentage": 0,
"priceWithoutShipping": 433.85,
"sellerId": "Amazon",
"sellerName": "Amazon Resale",
"shippingPrice": 0,
"totalPrice": 433.85,
"totalReviews": 0
},
{
"condition": "Used - Very Good",
"deliveryDate": "2025-07-01",
"fulfillmentType": "FBM",
"inventory": 1,
"positivePercentage": 73,
"priceWithoutShipping": 419.99,
"sellerId": "AO9EU0V84CET9",
"sellerName": "StarEdge Electronics",
"shippingPrice": 15.75,
"totalPrice": 435.74,
"totalReviews": 154
},
{
"condition": "Used - Very Good",
"deliveryDate": "2025-06-27",
"fulfillmentType": "FBM",
"inventory": 2,
"positivePercentage": 74,
"priceWithoutShipping": 441.49,
"sellerId": "A2E7NH3SLWCOH4",
"sellerName": "Tech for Less",
"shippingPrice": 0,
"totalPrice": 441.49,
"totalReviews": 56746
},
{
"condition": "Used - Very Good",
"deliveryDate": "2025-06-27",
"fulfillmentType": "FBM",
"inventory": 1,
"positivePercentage": 84,
"priceWithoutShipping": 443.7,
"sellerId": "A3JEKQLX9Y2C9L",
"sellerName": "SaveCentral",
"shippingPrice": 0,
"totalPrice": 443.7,
"totalReviews": 7483
},
{
"condition": "Used - Like New",
"deliveryDate": "2025-06-27",
"fulfillmentType": "FBM",
"inventory": 2,
"positivePercentage": 80,
"priceWithoutShipping": 439.99,
"sellerId": "A1KOYPV53GXGUI",
"sellerName": "JRS GAMES",
"shippingPrice": 3.99,
"totalPrice": 443.98,
"totalReviews": 81
},
{
"condition": "Used - Very Good",
"deliveryDate": "2025-06-28",
"fulfillmentType": "FBA",
"inventory": 8,
"positivePercentage": 82,
"priceWithoutShipping": 444.99,
"sellerId": "A3853PJW50SJG8",
"sellerName": "Wardyga Management Services LLC",
"shippingPrice": 0,
"totalPrice": 444.99,
"totalReviews": 60
}
],
"productLink": "https://www.amazon.com/dp/B0CL61F39H",
"productMainImage": "https://m.media-amazon.com/images/I/31kTNmpm6vL.jpg",
"productTitle": "PlayStation\u00ae5 console (slim)"
}
}
Building the Dashboard with Dash
Dash is a Python framework for building web applications. Here’s a basic example of how to structure your dashboard:
import dash
import dash_core_components as dcc
import dash_html_components as html
import pandas as pd
import requests
# Replace with your actual API key, ASIN, and marketplace ID
api_key = 'YOUR_API_KEY'
asin = 'B08N5WRWNW'
marketplace_id = 'A1PA6795UKMFR9'
# Function to fetch product statistics
def get_product_statistics(asin, marketplace_id, api_key):
url = f'https://sellermagnet-api.com/amazon-product-statistics?asin={asin}&marketplaceId={marketplace_id}&api_key={api_key}'
response = requests.get(url)
if response.status_code == 200:
data = response.json()
if data['success']:
return data['data']
else:
print(f"Error: {data['errors']}")
return None
else:
print(f"Request failed with status code: {response.status_code}")
return None
# Fetch data
product_data = get_product_statistics(asin, marketplace_id, api_key)
if product_data:
# Initialize Dash app
app = dash.Dash(__name__)
# Define layout
app.layout = html.Div([
html.H1(children='Amazon Product Dashboard'),
html.Div(children=f"ASIN: {product_data['asin']}"),
html.Div(children=f"Best Seller Rank: {product_data['bestSellerRank']}"),
# Add more data points as needed
dcc.Graph(id='sales-rank-history',
figure={
'data': [{
'x': [item[0] for item in product_data['salesRankHistory']],
'y': [item[1] for item in product_data['salesRankHistory']],
'type': 'line', 'name': 'Sales Rank'}]
},),
])
# Run the app
if __name__ == '__main__':
app.run_server(debug=True)
else:
print("Failed to retrieve product data.")
This code fetches product statistics and displays the ASIN and Best Seller Rank. It also creates a simple line graph to visualize the sales rank history. Customize the layout and data points based on your needs.
Practical Use Cases
- Competitive Analysis: Track competitor pricing and review trends using Amazon Product Offers and Amazon Seller Review data.
- Inventory Management: Monitor sales rank and estimated sales to optimize inventory levels with data from the Amazon Product Estimate Sales endpoint.
- Market Research: Identify trending products and categories using Amazon Bestsellers data.
Enhancing Your Dashboard
- Data Visualization: Use libraries like Plotly to create interactive charts and graphs.
- Data Scheduling: Use DataPipeline to automate data collection and dashboard updates.
- Geolocation: Utilize the
geo_location
parameter in endpoints like Amazon Product Offers and Amazon Search to obtain localized data.
Legal Compliance and Ethical Considerations
Always adhere to Amazon's terms of service and avoid practices that could be considered unethical or illegal. Ensure that your data collection methods are transparent and respect user privacy.
Conclusion
Building a Python dashboard for Amazon product insights using the SellerMagnet API empowers businesses with the data-driven decision-making capabilities needed to thrive in the competitive e-commerce market. By leveraging the API’s comprehensive data and tailoring the dashboard to your specific needs, you can unlock significant competitive advantages.
Ready to get started? Sign up for a free trial at Try Free and explore the possibilities with SellerMagnet!