Skip to main content
The Studio API gives your own tools, Discord bots, dashboards, websites, CI jobs, direct access to your studio’s data. Every request is authenticated with a studio API key that identifies the studio itself, so there is no studio id anywhere in the paths: a key can only ever read its own studio.

Base URL

https://nmcrate.com/api/public/v1/studio
All endpoint paths in these docs are relative to this base URL.

Quick start

  1. Open Studio Settings → API and create a key (see Authentication).
  2. Send it in the x-api-key header:
curl https://nmcrate.com/api/public/v1/studio \
  -H "x-api-key: nmk_studio_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
{
  "studio": {
    "slug": "my-studio",
    "name": "My Studio",
    "followerCount": 128,
    "isVerified": true
  },
  "products": { "total": 12, "published": 9 },
  "apiKey": { "tier": "basic" }
}

Free vs. Premium

Every key can read the studio’s own profile and product catalog. Premium keys additionally unlock the sales and analytics endpoints, the same numbers the dashboard shows. Creating a premium key requires an active Branding+ subscription, and premium endpoints re-check that subscription on every request. If the plan lapses, premium endpoints return 403 SUBSCRIPTION_INACTIVE until it is renewed, the key itself stays valid for the free endpoints the whole time.

Response conventions

  • All responses are JSON.
  • List endpoints paginate with page and limit query parameters and return list envelopes (items, total, and either hasMore or totalPages).
  • Monetary values are USD. Summary/timeseries endpoints return numbers in dollars; the sales list returns formatted strings like "$12.99".
  • Errors follow one shape everywhere, see Errors.

Rate limits

Requests are rate limited per key + IP at roughly 2000 requests / 15 minutes. Exceeding the limit returns 429 Too Many Requests with a retry-after header.