How to get all daily refunds via API

Topic summary

Goal: retrieve a daily list of refunds via API without iterating all orders.

Current workaround proposed: use Orders API with filters (financial_status=refunded and updated_at_min/updated_at_max). “updated_at” is the order’s last modification timestamp, not the refund time.

Reported issues:

  • Misses refunds when the order was updated later (e.g., comments/tags), so updated_at no longer matches the refund date.
  • Historical cases (refunds on old orders) are not captured by date filters reliably.
  • Example query with updated_at_min failed to return an order refunded on a different day than creation.
  • A user reports the approach no longer returns results on 2022-04 (financial_status=refunded).
  • Accurate accounting requires checking refund processedAt (refund timestamp), which isn’t directly queryable across refunds.

Suggested workarounds: consume refunds/create webhook and store refunds in an external database for date-range queries; manual reconciliation. Concerns raised about webhook reliability and lack of a robust fallback.

Shopify response: current behavior is expected; refunds must be fetched via their orders. Feedback has been passed to the product team; no commitments or timeline.

Status: unresolved/ongoing. Requests for a dedicated Refunds endpoint with date-range querying. Open questions about handling customer self-returns and API visibility post-approval.

Summarized with AI on December 19. AI used: gpt-5.

HI Shopify team,

We are eagerly waiting for your response related to retrieving refunds directly via the API endpoint.
Please pay attention to this issue as many many developers facing.

1 Like