Public Data API

Read-only JSON API for Netto workspace data on the Scale plan. Use it for internal dashboards, Zapier, or custom reporting — all amounts are returned as decimal strings in your books currency.

Rate limits

1,000 requests per hour per API key. Exceeded requests return HTTP 429 with a Retry-After header indicating seconds until the limit resets.

Authentication — Pass your API key as X-API-Key: netto_live_xxxx in the request header (create keys in Netto → Settings → API keys). All endpoints below require a valid Scale-plan key unless noted.

01GET/api/v1/summary/

Workspace summary

Returns booked revenue, operating expenses, net profit, gross margin, payout count, and paid order count for the selected period (same accounting basis as the Netto dashboard).

NameTypeRequiredDescriptionExample
date_fromstring (ISO date)NoStart of range (inclusive). Defaults to the first day of the current calendar month.2026-04-01
date_tostring (ISO date)NoEnd of range (inclusive). Defaults to today.2026-04-30

Example request

curl -sS "https://www.hellonetto.com/api/v1/summary/?date_from=2026-04-01&date_to=2026-04-30" \
  -H "X-API-Key: netto_live_AbCdEfGhIjKlMnOp"

Example response

{
  "data": {
    "revenue": "84231.40",
    "expenses": "19842.15",
    "net_profit": "23109.88",
    "gross_margin_pct": 49.12,
    "payout_count": 8,
    "order_count": 1124,
    "period": { "from": "2026-04-01", "to": "2026-04-30" }
  },
  "meta": {
    "generated_at": "2026-05-14T16:22:11.482391+00:00",
    "tenant": "oak-supply-co.myshopify.com"
  },
  "currency": "USD"
}

02GET/api/v1/payouts/

List Shopify payouts

Paginated list of Shopify Payments payouts issued in the date range, with gross sales, fee components, refunds, net payout, status, and an estimated transaction count from payout metadata.

NameTypeRequiredDescriptionExample
date_fromstringNoFilter payouts with issued_at on or after this date (month start if omitted).2026-03-01
date_tostringNoFilter payouts with issued_at on or before this date (today if omitted).2026-03-31
pageintegerNoPage number (1-based). Default 1.2
page_sizeintegerNoRows per page (max 200). Default 50.25

Example request

curl -sS "https://www.hellonetto.com/api/v1/payouts/?date_from=2026-03-01&date_to=2026-03-31&page=1&page_size=25" \
  -H "X-API-Key: netto_live_AbCdEfGhIjKlMnOp"

Example response

{
  "data": {
    "results": [
      {
        "id": 1849201,
        "payout_date": "2026-03-28",
        "gross_sales": "31294.55",
        "fees": "892.10",
        "refunds": "1842.00",
        "net_payout": "28560.45",
        "status": "paid",
        "transaction_count": 412
      },
      {
        "id": 1849033,
        "payout_date": "2026-03-14",
        "gross_sales": "27881.20",
        "fees": "801.33",
        "refunds": "620.50",
        "net_payout": "25459.37",
        "status": "paid",
        "transaction_count": 388
      }
    ],
    "period": { "from": "2026-03-01", "to": "2026-03-31" }
  },
  "meta": {
    "generated_at": "2026-05-14T16:24:02.119884+00:00",
    "tenant": "oak-supply-co.myshopify.com",
    "page": 1,
    "page_size": 25,
    "total_count": 2,
    "total_pages": 1
  },
  "currency": "USD"
}

03GET/api/v1/payouts/<id>/

Single payout detail

Returns one Shopify payout by numeric database id (the id field from the list endpoint), including raw summary metadata, posted journal lines, and balance transaction rows.

NameTypeRequiredDescriptionExample
idintegerYesURL path segment: Netto internal payout primary key.1849201

Example request

curl -sS "https://www.hellonetto.com/api/v1/payouts/1849201/" \
  -H "X-API-Key: netto_live_AbCdEfGhIjKlMnOp"

Example response (abbreviated)

{
  "data": {
    "payout": {
      "id": 1849201,
      "public_id": "7c2f9a1e-4b3d-4c8a-9f11-0a2b3c4d5e6f",
      "shopify_payout_id": "gid://shopify/ShopifyPaymentsPayout/9876543210",
      "status": "paid",
      "issued_at": "2026-03-28T06:15:00+00:00",
      "currency": "USD",
      "amount": "28560.4500",
      "base_currency": "USD",
      "amount_in_base": "28560.4500",
      "fx_cross_currency": false,
      "summary": { "chargesGross": { "amount": "31294.55", "currencyCode": "USD" } }
    },
    "journal_lines": [
      { "account_name": "Shopify Payments", "account_number": "1020", "entry_type": "debit", "amount": "28560.45" },
      { "account_name": "Sales — Shopify", "account_number": "4000", "entry_type": "credit", "amount": "31294.55" }
    ],
    "balance_transactions": [
      {
        "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "txn_date": "2026-03-27",
        "txn_type": "charge",
        "description": "Shopify Payments charge",
        "amount": "120.00",
        "fee": "3.60",
        "net": "116.40",
        "currency_code": "USD"
      }
    ]
  },
  "meta": {
    "generated_at": "2026-05-14T16:25:44.003102+00:00",
    "tenant": "oak-supply-co.myshopify.com"
  },
  "currency": "USD"
}

04GET/api/v1/reports/pnl/

Profit & Loss report

Posted general-ledger P&L for the inclusive date range, grouped into revenue, cost of goods sold, gross profit, operating expenses, and net income.

NameTypeRequiredDescriptionExample
date_fromstringNoPeriod start (inclusive).2026-01-01
date_tostringNoPeriod end (inclusive).2026-03-31

Example request

curl -sS "https://www.hellonetto.com/api/v1/reports/pnl/?date_from=2026-01-01&date_to=2026-03-31" \
  -H "X-API-Key: netto_live_AbCdEfGhIjKlMnOp"

Example response

{
  "data": {
    "period": { "from": "2026-01-01", "to": "2026-03-31" },
    "sections": [
      {
        "label": "Revenue",
        "accounts": [
          { "name": "Sales — Shopify", "amount": "248392.80" },
          { "name": "Shipping income", "amount": "12840.00" }
        ],
        "total": "261232.80"
      },
      {
        "label": "Cost of goods sold",
        "accounts": [ { "name": "COGS — finished goods", "amount": "98210.40" } ],
        "total": "98210.40"
      },
      { "label": "Gross profit", "accounts": [], "total": "163022.40" },
      {
        "label": "Operating expenses",
        "accounts": [
          { "name": "Shopify fees", "amount": "6842.18" },
          { "name": "Software and subscriptions", "amount": "1299.00" }
        ],
        "total": "8141.18"
      },
      { "label": "Net income", "accounts": [], "total": "154881.22" }
    ]
  },
  "meta": {
    "generated_at": "2026-05-14T16:27:01.774512+00:00",
    "tenant": "oak-supply-co.myshopify.com"
  },
  "currency": "USD"
}

05GET/api/v1/reports/balance-sheet/

Balance sheet

Point-in-time balance sheet as of the end date of the selected range (the date_to query parameter; date_from is accepted for symmetry but only the end date affects the statement).

NameTypeRequiredDescriptionExample
date_fromstringNoIgnored for the statement; may be omitted.2026-01-01
date_tostringNoAs-of date for balances (defaults with range parser).2026-03-31

Example request

curl -sS "https://www.hellonetto.com/api/v1/reports/balance-sheet/?date_to=2026-03-31" \
  -H "X-API-Key: netto_live_AbCdEfGhIjKlMnOp"

Example response

{
  "data": {
    "period": { "as_of": "2026-03-31" },
    "sections": [
      {
        "label": "Assets",
        "accounts": [
          { "name": "Operating bank — Chase", "amount": "42881.22" },
          { "name": "Accounts receivable", "amount": "6240.00" }
        ],
        "total": "49121.22"
      },
      {
        "label": "Liabilities",
        "accounts": [
          { "name": "Sales tax payable", "amount": "3820.44" },
          { "name": "Accrued expenses", "amount": "2100.00" }
        ],
        "total": "5920.44"
      },
      {
        "label": "Equity",
        "accounts": [
          { "name": "Owner contributions", "amount": "15000.00" },
          { "name": "Retained earnings", "amount": "28200.78" }
        ],
        "total": "43200.78"
      }
    ]
  },
  "meta": {
    "generated_at": "2026-05-14T16:28:33.905221+00:00",
    "tenant": "oak-supply-co.myshopify.com"
  },
  "currency": "USD"
}

06GET/api/v1/reports/trial-balance/

Trial balance

Posted trial balance listing every non-zero account with debit and credit columns in presentation currency. The response data array is the account rows; as-of date and footers are returned in meta.

NameTypeRequiredDescriptionExample
date_fromstringNoIgnored; as-of uses date_to.
date_tostringNoAs-of date for trial balance.2026-03-31

Example request

curl -sS "https://www.hellonetto.com/api/v1/reports/trial-balance/?date_to=2026-03-31" \
  -H "X-API-Key: netto_live_AbCdEfGhIjKlMnOp"

Example response

{
  "data": [
    { "account_number": "1020", "account_name": "Shopify Payments clearing", "debit": "18420.00", "credit": "0.00" },
    { "account_number": "4000", "account_name": "Sales — Shopify", "debit": "0.00", "credit": "56210.55" },
    { "account_number": "5000", "account_name": "COGS — inventory", "debit": "22118.40", "credit": "0.00" },
    { "account_number": "6100", "account_name": "Shopify fees", "debit": "1422.18", "credit": "0.00" }
  ],
  "meta": {
    "generated_at": "2026-05-14T16:29:55.220441+00:00",
    "tenant": "oak-supply-co.myshopify.com",
    "as_of": "2026-03-31",
    "total_debits": "97960.58",
    "total_credits": "97960.58",
    "is_balanced": true
  },
  "currency": "USD"
}

Base URL shown above uses your current host (www.hellonetto.com). On production, call the same paths on https://hellonetto.com or your Netto app host.