Metorik API Docs
Use the Metorik API to integrate with store data and automation workflows. This documentation currently covers products, reporting resources, and Engage endpoints.
All requests should be sent as JSON to the Metorik API base URL and authenticated with your store API key.
https://app.metorik.com/api/v1/store
Overview
Creating API keys
- Open your store in Metorik.
- Go to
Settings->Metorik API(link). - Click
Create API Key. - Enter a descriptive name so you know what the key is used for.
- Select one or more scopes for the key.
- Choose an expiration, or leave it without one if needed.
- Copy the key when it is shown and store it somewhere safe.
Available scopes
- Reports & Data - Read-only access to reporting and catalog data endpoints.
- Engage - Access to supported Engage endpoints, including reading and writing some Engage data.
Authentication
Send every request with the Authorization header set as a Bearer token. The documented
endpoints here all use the same token-based auth scheme.
API keys are created per store and should be treated like passwords. Store them securely and rotate or revoke them if they are ever exposed.
Make sure the API key includes the scope required by the endpoint you are calling.
Send the key
Every API request must include your API key in the Authorization header as a Bearer
token.
Replace your_api_key_here with the actual key you created in Metorik, then send the request normally.
Authorization: Bearer your_api_key_here
Rate limits
Authenticated API endpoints are protected by rate limits to keep the service stable.
- 60 requests per minute per store or API key.
If you exceed a limit, the API returns 429 Too Many Requests. Wait briefly and retry with backoff
instead of sending bursts of repeated requests.
Responses include X-RateLimit-Limit and X-RateLimit-Remaining headers. Throttled responses also include Retry-After and X-RateLimit-Reset.
Dates
Date parameters should be sent in the store timezone using YYYY-MM-DD.
If start_date is earlier than the store's earliest available date, it is clamped to that earliest date. If end_date is later than today in the store timezone, it is clamped to today.
The store timezone and earliest available date are returned by the store info endpoint, and date values returned by report endpoints use that same store timezone.
OpenAPI spec
Download the OpenAPI YAML file to import this API into your tooling or generate clients.
Beta
The new Metorik API is currently in beta. Endpoints and response shapes can change as we iterate.
We are actively evolving it with customer feedback, so if you run into issues or need additional endpoints, please let us know.
Store
Store details help you discover the authenticated store context, including timezone, currency, platform, and the earliest available reporting date.
/
Store details
Returns the store name, timezone, currency, platform, and earliest available report date for the authenticated API token.
Search
Search endpoints help you quickly find matching resources using Metorik's existing store search behavior.
/search
Search data
Search a single resource using Metorik's existing store search system.
You must provide both the resource to search and the query string. Any
returned *_at timestamps are in UTC.
Segments
Segments expose saved store-wide filters that can be reused across reporting and resource endpoints.
/segments
Segments
Returns store-wide saved segments for a store resource.
Orders
Canonical order endpoints expose order records and totals for the same filtered dataset.
/orders
Order data
Returns orders from your store together with billing details and order
totals. All returned *_at timestamps are in UTC.
/orders/totals
Order totals
Returns summary totals for the same order dataset as the orders list
endpoint. All returned *_at timestamps are in UTC.
Customers
Canonical customer endpoints expose customer records and totals for the same filtered dataset.
/customers
Customer data
Returns customers from your store together with all-time customer
statistics, or period-based customer statistics when order_start_date
and order_end_date are provided. All returned *_at timestamps are in
UTC.
/customers/totals
Customer totals
Returns summary totals for the same customer dataset as the customers
list endpoint. When order_start_date and order_end_date are
provided, customer order stats are calculated for that period. All
returned *_at timestamps are in UTC.
Subscriptions
Canonical subscription endpoints expose subscription records and recurring revenue totals for the same filtered dataset.
/subscriptions
Subscription data
Returns subscriptions from your store together with subscription billing
fields and recurring revenue metrics. All returned *_date timestamps are
in UTC.
/subscriptions/totals
Subscription totals
Returns summary totals for the same subscription dataset as the
subscriptions list endpoint. All returned *_date timestamps are in UTC.
Products
Product endpoints expose product-level sales metrics for a selected date range, plus by-date time series for individual products.
/products
Product sales
Returns products from your store together with product-level sales metrics, refunds, and sold date ranges for the selected period.
/products/{product}/by-date
Product sales by date
Returns product sales over time for a single product in the selected period. Date buckets use the store timezone.
Variations
Variation endpoints expose variation-level sales metrics for a selected date range, plus by-date time series for individual variations.
/variations
Variation sales
Returns product variations from your store together with variation-level sales metrics, refunds, and sold date ranges for the selected period.
/variations/{variation}/by-date
Variation sales by date
Returns sales over time for a single variation in the selected period. Date buckets use the store timezone.
Categories
Category endpoints expose category-level sales metrics for a selected date range, plus by-date time series for individual categories.
/categories
Category sales
Returns product categories from your store together with category-level sales metrics, refunds, and order counts for the selected period.
/categories/{category}/by-date
Category sales by date
Returns category sales over time for a single category in the selected period. Date buckets use the store timezone.
Brands
Brand endpoints expose vendor or brand-level sales metrics for a selected date range.
/brands
Brand sales
Returns product brands (also known as vendors in some platforms) from your store together with brand-level sales metrics for the selected period.
Coupons
Coupon endpoints expose coupon usage, discount totals, and by-date usage trends.
/coupons
Coupon usage
Returns coupons from your store together with usage and discount totals for the selected period.
/coupons/{coupon}/by-date
Coupon usage by date
Returns coupon usage and discount totals over time for a single coupon in the selected period. Date buckets use the store timezone.
Custom Metrics
Custom metrics expose store-wide metric definitions and calculated values for date ranges.
/custom-metrics
Custom metrics
Returns all store-wide custom metrics available to the authenticated API key. This endpoint only returns lightweight metric metadata and does not calculate values.
/custom-metrics/{metric}/value
Custom metric value
Calculates a single store-wide custom metric for the requested date range and returns both the raw numeric value and a store-formatted display value. Metrics that reference non-store-wide segments are rejected.
Reports
Reports expose store performance metrics over time and grouped summaries for revenue, orders, and customers.
Time Series
/reports/customers-by-date
Customers by date
Returns new customers over time together with their related lifetime order count, spend, and item totals for each period. Responses are capped at 1500 time periods.
/reports/orders-by-date
Orders by date
Returns order metrics over time for orders placed in the selected period. Net values deduct refunds tied to those orders even if the refund happened later, giving you order-focused performance rather than refund timing by period. Responses are capped at 1500 time periods.
/reports/revenue-by-date
Revenue by date
Returns revenue metrics over time for the selected period. Net revenue is calculated by deducting refunds when they happen, even if they relate to orders outside this period, along with other deductions based on your store settings. Responses are capped at 1500 time periods.
/reports/profit-by-date
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.
/reports/advertising-costs-by-date
Advertising costs by date
Returns advertising cost totals over time, including a breakdown for each advertising method recorded in the selected date range. Responses are capped at 1500 time periods.
The meta.methods object maps each stable method ID used in totals.methods
and data[].methods to its display name.
/reports/carts-started-by-date
Carts started by date
Returns cart started, abandoned, placed, and recovered counts and amounts over time for the selected period. Responses are capped at 1500 time periods. Your store must already have cart tracking/data set up in Metorik for this report to return meaningful cart activity.
/reports/subscriptions-stats
Subscriptions stats
Returns active subscription and MRR stats over time for subscription stores. Responses are capped at 1500 time periods.
Grouped Summaries
/reports/revenue-grouped-by
Revenue grouped by
Returns revenue metrics grouped by a chosen store dimension, such as billing country, product type, or another supported grouping value. Responses are capped at 1500 grouped rows.
/reports/orders-grouped-by
Orders grouped by
Returns order metrics grouped by a chosen store dimension, so you can compare order performance across segments like country or other supported grouping values. Responses are capped at 1500 grouped rows.
/reports/customers-grouped-by
Customers grouped by
Returns customer metrics grouped by a chosen store dimension, helping you compare customer activity across segments like billing country or other supported grouping values. Responses are capped at 1500 grouped rows.
/reports/carts-grouped-by
Carts grouped by
Returns cart counts grouped by a selected cart field, including abandoned, placed, and recovered counts and rates. Responses are capped at 1500 grouped rows. Your store must already have cart tracking/data set up in Metorik for this report to return meaningful cart activity.
Attribution
/reports/sources
Sources - referer
Returns order source domain performance for the selected period. Responses are capped at 1500 grouped rows.
/reports/sources-landing
Sources - landing
Returns landing path performance for orders in the selected period. Responses are capped at 1500 grouped rows.
/reports/sources-utms
Sources - UTM
Returns grouped UTM performance for orders in the selected period. Responses are capped at 1500 grouped rows.
/reports/customer-sources
Customer sources - referer
Returns customer acquisition source performance for the selected period. Responses are capped at 1500 grouped rows.
/reports/customer-sources-landing
Customer sources - landing
Returns customer acquisition landing path performance for the selected period. Responses are capped at 1500 grouped rows.
/reports/customer-sources-utms
Customer sources - UTM
Returns grouped customer acquisition UTM performance for the selected period. Responses are capped at 1500 grouped rows.
Order Breakdowns
/reports/orders-by-hour
Orders by hour
Returns order counts and sales totals grouped by hour of day across the selected period.
/reports/orders-by-day
Orders by day of week
Returns order counts and sales totals grouped by weekday across the selected period.
/reports/orders-by-day-hour
Orders by day and hour
Returns order counts, totals, and average order value grouped by weekday and hour across the selected period.
/reports/orders-devices
Orders devices
Returns order counts and sales totals split by device category for the selected period.
/reports/orders-operating-systems
Orders operating systems
Returns order counts and sales totals split by operating system for the selected period.
/reports/orders-browsers
Orders browsers
Returns order counts and sales totals split by browser for the selected period.
Product Relationships
/reports/products-bought-together
Products bought together
Returns product pairs that were purchased together in the selected period.
Use product_id to limit the response to pairs involving a specific product.
Profiles
Profiles are lightweight contact records stored in Metorik for Engage. Use this resource to create or remove profile records for a store.
/engage/profile
Get a profile by email
Get a Metorik Engage profile by email for a store.
/engage/profiles
Create or update a profile
Create or update a Metorik-only Engage profile for a store.
/engage/profiles
Delete a profile
Delete a Metorik-only Engage profile with no orders.
Unsubscribes
Unsubscribes track which recipients should no longer receive Engage emails. Use this resource to list, check, create, and remove unsubscribe records.
/engage/unsubscribes
List unsubscribes
List unsubscribes for a store.
/engage/unsubscribe-status
Check unsubscribe status
Check whether an email address is unsubscribed.
/engage/unsubscribes
Create or update an unsubscribe
Create or update an unsubscribe record for an email address.
/engage/unsubscribes
Delete an unsubscribe
Delete an unsubscribe record for an email address.