Skip to main content
GET
/
api
/
public
/
v1
/
studio
/
sales
/
summary
Sales summary [+]
curl --request GET \
  --url https://www.nmcrate.com/api/public/v1/studio/sales/summary
import requests

url = "https://www.nmcrate.com/api/public/v1/studio/sales/summary"

response = requests.get(url)

print(response.text)
const options = {method: 'GET'};

fetch('https://www.nmcrate.com/api/public/v1/studio/sales/summary', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://www.nmcrate.com/api/public/v1/studio/sales/summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://www.nmcrate.com/api/public/v1/studio/sales/summary"

req, _ := http.NewRequest("GET", url, nil)

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://www.nmcrate.com/api/public/v1/studio/sales/summary")
.asString();
require 'uri'
require 'net/http'

url = URI("https://www.nmcrate.com/api/public/v1/studio/sales/summary")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
Aggregated sales figures for a calendar period, alongside the equivalent previous period and percentage deltas, everything you need for a “this month vs last month” stat card.
Tier: Premium, requires a premium key and an active Branding+ subscription (checked on every request).

Request

curl "https://nmcrate.com/api/public/v1/studio/sales/summary?period=thisMonth" \
  -H "x-api-key: nmk_studio_..."

Query parameters

ParameterTypeDefaultDescription
periodstringthisMonthtoday, thisWeek, thisMonth, or thisYear.

Response

{
  "period": "thisMonth",
  "range": {
    "start": "2026-07-01T00:00:00.000Z",
    "end": "2026-07-31T23:59:59.999Z"
  },
  "currency": "USD",
  "current": {
    "revenue": 1240.5,
    "orders": 96,
    "averageOrder": 12.92,
    "tax": 148.86
  },
  "previous": {
    "revenue": 980.0,
    "orders": 71,
    "averageOrder": 13.8,
    "tax": 117.6
  },
  "deltas": {
    "revenue": 26.6,
    "orders": 35.2,
    "averageOrder": -6.4
  }
}
FieldDescription
current / previousTotals for the requested period and the immediately preceding one (numbers, in USD dollars). Only completed sales count.
current.revenueNet revenue credited to the studio.
current.taxVAT withheld across the period’s sales.
deltasPercentage change vs the previous period. 100 when the previous period was zero and the current isn’t.

Errors

HTTPCodeWhen
403PREMIUM_KEY_REQUIREDThe key is basic-tier.
403SUBSCRIPTION_INACTIVEPremium key, but the Branding+ subscription is no longer active.