Reports

Profit by date

Returns profit metrics over time, including net revenue, costs, profit,
and margin for each period in the selected date range. Responses are capped at
1500 time periods.

GET /api/v1/store/reports/profit-by-date

Profit by date

curl --request GET \
  --url 'https://{baseUrl}/api/v1/store/reports/profit-by-date' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "meta": {
    "report_link": "https://app.metorik.com/reports/profit#profit-costs-over-time"
  },
  "totals": {
    "gross": 124550.42,
    "net": 118420.13,
    "orders": 712,
    "items": 1196,
    "cogs": 58440.28,
    "gross_cogs": 60210.14,
    "profit": 59979.85,
    "gross_profit": 64340.28,
    "margin": 50.65,
    "gross_margin": 51.66,
    "advertising_cost": 4580.11,
    "operational_cost": 1220.5,
    "product_cogs": 49210.42,
    "shipping_cogs": 3120.14,
    "transaction_cogs": 3910.28,
    "extra_cogs": 1979.44,
    "refunds": 1986.23,
    "refunds_count": 14,
    "taxes": 10334.89,
    "shipping": 5421.1
  },
  "data": [
    {
      "date": "2026-03-01",
      "gross": 4420.55,
      "net": 4201.44,
      "orders": 26,
      "items": 39,
      "cogs": 2066.2,
      "gross_cogs": 2130.9,
      "profit": 2135.24,
      "gross_profit": 2289.65,
      "margin": 50.82,
      "gross_margin": 51.8,
      "advertising_cost": 142.8,
      "operational_cost": 38.4,
      "product_cogs": 1730.5,
      "shipping_cogs": 98.2,
      "transaction_cogs": 145.6,
      "extra_cogs": 53.1
    }
  ]
}

No response description.

Authorizations

  • Authorization string required header

    Generate a store API key from the store's Metorik API settings in Metorik, and choose the scopes needed for the endpoints you want to call.

Query Parameters

  • end_date string required

    End date in the store timezone using YYYY-MM-DD format. Example: 2026-02-28

  • group_by string enum

    Time interval for grouping the results. Example: day

  • order_filters string

    Optional JSON-encoded array of order-level filters applied before calculating the report. See Order Filters Reference. Cannot be combined with segment. Example: [{"field":"billing_address_country","operator":"eq","value":"US"}]

  • segment integer

    Optional saved store-wide order segment ID. You can find the ID on the order segments page. Example: 123

  • start_date string required

    Start date in the store timezone using YYYY-MM-DD format. Example: 2026-02-01

Headers

  • Accept string required

    Response format header. Example: application/json

Response

application/json
  • meta object
    + Show Child Attributes
    • report_link string
  • totals object
    + Show Child Attributes
    • gross number
    • net number
    • orders integer
    • items integer
    • cogs number
    • gross_cogs number
    • profit number
    • gross_profit number
    • margin number
    • gross_margin number
    • advertising_cost number
    • operational_cost number
    • product_cogs number
    • shipping_cogs number
    • transaction_cogs number
    • extra_cogs number
    • refunds number
    • refunds_count integer
    • taxes number
    • shipping number
  • data[] object array
    + Show Child Attributes
    • date string
    • gross number
    • net number
    • orders integer
    • items integer
    • cogs number
    • gross_cogs number
    • profit number
    • gross_profit number
    • margin number
    • gross_margin number
    • advertising_cost number
    • operational_cost number
    • product_cogs number
    • shipping_cogs number
    • transaction_cogs number
    • extra_cogs number