Skip to content

Sales Endpoints ​

Get Sales Orders ​

Retrieve sales orders for a selected account within a date range.

GET /sales/orders

Query Parameters:

ParameterTypeRequiredDescription
per_pageintegerYesResults per page. Allowed: 250, 500, 1000, 2000
start_datestringNoStart date in Y-m-d format
end_datestringNoEnd date in Y-m-d format
sales_channelstringNoFilter by channel: amazon or non-amazon
pageintegerNoPage number for pagination

Plus an account selection parameter.

Example Request:

bash
curl -X GET "https://app.sellerlegend.com/api/sales/orders?account_title=My Store US&per_page=250&start_date=2025-01-01&end_date=2025-01-31" \
  -H "Authorization: Bearer {ACCESS_TOKEN}"

Response:

json
{
  "current_page": 1,
  "total": 1523,
  "per_page": 250,
  "last_page": 7,
  "data": [
    {
      "amazon_order_id": "111-1234567-1234567",
      "purchase_date": "2025-01-15T10:30:00Z",
      "order_status": "Shipped",
      "order_total": 29.99,
      "currency_code": "USD",
      "quantity_ordered": 1,
      "sku": "MY-SKU-001",
      "asin": "B0XXXXXXXXX",
      "product_name": "My Product Name"
    }
  ]
}

Response Fields:

FieldTypeDescription
amazon_order_idstringAmazon order identifier
purchase_datestringISO 8601 purchase timestamp
order_statusstringOrder status (e.g., Shipped, Pending, Cancelled)
order_totalnumberTotal order amount
currency_codestringCurrency code (e.g., USD, EUR, GBP)
quantity_orderedintegerNumber of units ordered
skustringSeller SKU
asinstringAmazon Standard Identification Number
product_namestringProduct title

Python SDK:

python
from sellerlegend_api import SellerLegendClient

client = SellerLegendClient(access_token="YOUR_ACCESS_TOKEN")

orders = client.sales.get_orders(
    account_title="My Store US",
    per_page=250,
    start_date="2024-01-01",
    end_date="2024-01-31"
)

print(f"Total: {orders['total']}")
print(f"Page {orders['current_page']} of {orders['last_page']}")

for order in orders['data']:
    print(f"Order: {order['amazon_order_id']}")

Get Sales Statistics Dashboard ​

Retrieve aggregated sales statistics, viewable by product, by date, or as a combined product × period grid.

GET /sales/statistics-dashboard

Query Parameters:

ParameterTypeRequiredDescription
view_bystringYesView mode: product or date
group_bystringYesGrouping: sku, asin, parent_asin, day, week, month, or year
period_bystringNoOptional. When view_by=product, set this to Date, Week, Month, Quarter, Semester, or Year to produce combined product × period rows (one row per product-dimension per period). Ignored with view_by=date.
per_pageintegerNoResults per page. Allowed: 500, 1000, 2000
currencystringNoCurrency for values (e.g., USD)
start_datestringNoStart date in Y-m-d format
end_datestringNoEnd date in Y-m-d format
pageintegerNoPage number for pagination

Plus an account selection parameter.

Example Request:

bash
curl -X GET "https://app.sellerlegend.com/api/sales/statistics-dashboard?account_title=My Store US&view_by=product&group_by=sku&per_page=500&start_date=2025-01-01&end_date=2025-01-31" \
  -H "Authorization: Bearer {ACCESS_TOKEN}"

Combined product × period example (one row per ASIN per month):

bash
curl -X GET "https://app.sellerlegend.com/api/sales/statistics-dashboard?account_title=My Store US&view_by=product&group_by=ASIN&period_by=Month&per_page=500&start_date=2025-01-01&end_date=2025-12-31" \
  -H "Authorization: Bearer {ACCESS_TOKEN}"

Response:

json
{
  "current_page": 1,
  "total": 85,
  "per_page": 500,
  "last_page": 1,
  "data": [
    {
      "sku": "MY-SKU-001",
      "units_ordered": 150,
      "product_sales": 4497.00,
      "product_cost": 1500.00,
      "amazon_fees": 1124.25,
      "profit": 1872.75,
      "roi": 124.85,
      "profit_margin": 41.64
    }
  ]
}

Response Fields:

FieldTypeDescription
units_orderedintegerTotal units ordered
product_salesnumberTotal product sales revenue
product_costnumberTotal cost of goods
amazon_feesnumberTotal Amazon fees
profitnumberNet profit
roinumberReturn on investment (%)
profit_marginnumberProfit margin (%)
datestringCombined view only. Period bucket label (e.g. "March, 2025", "Q1 2025", "W12 2025", "2025").

Python SDK:

python
stats = client.sales.get_statistics_dashboard(
    account_title="My Store US",
    view_by="product",
    group_by="sku",
    per_page=500,
    start_date="2024-01-01",
    end_date="2024-01-31",
    currency="USD"
)

for item in stats['data']:
    print(f"SKU: {item['sku']}")
    print(f"Units Sold: {item['units_ordered']}")
    print(f"Revenue: ${item['product_sales']}")
    print(f"Profit: ${item['profit']}")

TIP

Use view_by=date with group_by=day to get a daily sales trend, view_by=product with group_by=parent_asin to see performance by parent ASIN, or combine both axes by adding period_by=Month for MoM analysis per product.

Combined view caveats

Combined product × period responses can be very large (product count × period count). Paginate with per_page accordingly. The following fields are not populated in combined view: velocity, out_of_stock_days, inventory, local_inventory, buybox_price, sales_rank. Row-over-row trend indicators are also disabled.


Get Daily Product Sales ​

Retrieve a daily breakdown of sales per product.

GET /sales/per-day-per-product

Query Parameters:

ParameterTypeRequiredDescription
per_pageintegerYesResults per page. Allowed: 500, 1000, 2000
start_datestringNoStart date in Y-m-d format
end_datestringNoEnd date in Y-m-d format
sales_channelstringNoFilter by channel: amazon or non-amazon
currencystringNoCurrency for values
pageintegerNoPage number for pagination

Plus an account selection parameter.

Example Request:

bash
curl -X GET "https://app.sellerlegend.com/api/sales/per-day-per-product?account_title=My Store US&per_page=500&start_date=2025-01-01&end_date=2025-01-07" \
  -H "Authorization: Bearer {ACCESS_TOKEN}"

Response:

json
{
  "current_page": 1,
  "total": 42,
  "per_page": 500,
  "last_page": 1,
  "data": [
    {
      "date": "2025-01-01",
      "sku": "MY-SKU-001",
      "product_name": "My Product Name",
      "units_ordered": 5,
      "product_sales": 149.95,
      "taxes": 12.00,
      "shipping_credits": 0.00,
      "rebates": 0.00
    }
  ]
}

Response Fields:

FieldTypeDescription
datestringDate in Y-m-d format
skustringSeller SKU
product_namestringProduct title
units_orderedintegerUnits ordered on this date
product_salesnumberSales revenue
taxesnumberTax amount
shipping_creditsnumberShipping credit amount
rebatesnumberRebate amount

Python SDK:

python
daily_sales = client.sales.get_per_day_per_product(
    account_title="My Store US",
    per_page=500,
    start_date="2024-01-01",
    end_date="2024-01-31",
    sales_channel="amazon",
    currency="USD"
)

for item in daily_sales['data']:
    print(f"Date: {item['date']} | SKU: {item['sku']} | Units: {item['units_ordered']}")

Get Sales Transactions ​

Retrieve financial transactions (settlements, refunds, etc.) for a selected account.

GET /sales/transactions

Query Parameters:

ParameterTypeRequiredDescription
per_pageintegerYesResults per page. Allowed: 500, 1000, 2000
start_datestringNoStart date in Y-m-d format
end_datestringNoEnd date in Y-m-d format
pageintegerNoPage number for pagination

Plus an account selection parameter.

Example Request:

bash
curl -X GET "https://app.sellerlegend.com/api/sales/transactions?account_title=My Store US&per_page=500&start_date=2025-01-01&end_date=2025-01-31" \
  -H "Authorization: Bearer {ACCESS_TOKEN}"

Response:

json
{
  "current_page": 1,
  "total": 312,
  "per_page": 500,
  "last_page": 1,
  "data": [
    {
      "posted_date": "2025-01-15T08:00:00Z",
      "transaction_type": "Order",
      "order_id": "111-1234567-1234567",
      "sku": "MY-SKU-001",
      "amount": 29.99,
      "currency": "USD",
      "marketplace_name": "amazon.com"
    }
  ]
}

Response Fields:

FieldTypeDescription
posted_datestringISO 8601 timestamp of when the transaction was posted
transaction_typestringType of transaction (e.g., Order, Refund, Fee)
order_idstringAssociated Amazon order ID
skustringSeller SKU
amountnumberTransaction amount
currencystringCurrency code
marketplace_namestringMarketplace domain

Python SDK:

python
transactions = client.sales.get_transactions(
    account_title="My Store US",
    per_page=500,
    start_date="2024-01-01",
    end_date="2024-01-31"
)

for transaction in transactions['data']:
    print(f"Date: {transaction['posted_date']}")
    print(f"Type: {transaction['transaction_type']}")
    print(f"Amount: ${transaction['amount']}")