# Earnings > Revenue from committed store statements by month, release or store, with your artists' share. Revenue from committed store statements by month, release or store, with your artists' share. Base URL `https://app.hillsmusic.com/api/v1`. Every request sends an API key: `Authorization: Bearer hm_live_…` (production) or `hm_test_…` (sandbox). - Earnings ## Earnings `GET /api/v1/earnings` · Scope: `earnings:read` · Sandbox keys get the same shape, empty. Revenue from committed store statements, in USD. amount_usd is your total; member_share_usd is the part your revenue splits give your artists and labels. ### Parameters | Parameter | In | Type | Required | Description | | --- | --- | --- | --- | --- | | `by` | query | `month` \| `release` \| `store` | No | How to group (default month). | | `months` | query | integer (1–60) | No | How far back (default 12). | ### Example request ```bash curl "https://app.hillsmusic.com/api/v1/earnings?by=store&months=6" \ -H "Authorization: Bearer $HILLS_API_KEY" ``` ### Response `200` ```json { "by": "store", "months": 6, "currency": "USD", "data": [ { "key": "Spotify", "label": "Spotify", "amount_usd": 1520.42, "member_share_usd": 1064.29, "units": 412003 } ] } ``` ### Errors | Status | When | | --- | --- | | 400 | invalid: a parameter is wrong; field names it. | | 401 | unauthenticated, invalid_key, key_revoked or key_expired. | | 403 | insufficient_scope: the key lacks the scope; scope names it. account_inactive or api_not_in_plan. | | 429 | rate_limited: wait Retry-After seconds. | Source: https://developer.hillsmusic.com/reference/earnings/