Skip to Content
MailerLite
MailerLite API

Automation reports

Read run counts, A/B test stats, subscriber lists, orders and monthly totals for an automation.

These endpoints report on how an automation is performing: totals for the whole automation, counts per step and per trigger, A/B test results, and the individual subscribers and orders behind them.

If the automation was deleted, these endpoints return 410 Gone.

Totals

The monthly-totals endpoints add up every email an automation sends. email gives engagement and deliverability (sends, opens, clicks, unsubscribes, spam complaints, bounces and their rates), while ecommerce gives orders, revenue, conversion rate and the automation's best performing email. Both cover the automation's whole history unless you send start_date and end_date together, as YYYY-MM-DD; both days are included.

Run counts

The run-count endpoints answer "where is everybody?". For each step, or each trigger, they return how many subscribers are queued and how many have been through. Request one step or trigger by ID, or all of them at once.

Subscribers on a step or trigger

The subscriber endpoints list the people behind those counts. status is required:

statusReturns
queuedSubscribers still waiting at that step, or in a run the trigger started
completedSubscribers that have been through

Results are newest first. Sort with sort=date or sort=email, prefixed with - to reverse. filter[search] matches one exact email address, and filter[date_from] / filter[date_to] narrow by day, as YYYY-MM-DD.

Orders

The order-activity endpoint lists the individual orders attributed to an automation's emails. time_frame is required. Use custom together with time_frame_start and time_frame_end for your own dates, and ecommerce_shop_id to narrow it to one connected shop.

Get automation step run counts

If you want to get the run counts for every step of an automation use this GET request

GET https://connect.mailerlite.com/api/automations/{automation_id}/steps/run-counts

Returns, for each step, how many subscribers are queued at it (in_queue_step_runs) and how many have been through it (completed_step_runs).

Response

Response code: 200 OK
{
  "data": [
    {
      "step_id": "203114224673622808",
      "completed_step_runs": 0,
      "in_queue_step_runs": 0
    },
    {
      "step_id": "203114227995511577",
      "completed_step_runs": 0,
      "in_queue_step_runs": 0
    },
    {
      "step_id": "203114243556379418",
      "completed_step_runs": 0,
      "in_queue_step_runs": 0
    },
    {
      "step_id": "203114244338617115",
      "completed_step_runs": 0,
      "in_queue_step_runs": 0
    },
    {
      "step_id": "203114245168040732",
      "completed_step_runs": 0,
      "in_queue_step_runs": 0
    }
  ]
}

Get run counts for an automation step

If you want to get the run counts for one step of an automation use this GET request

GET https://connect.mailerlite.com/api/automations/{automation_id}/steps/run-counts/{step_id}

Returns how many subscribers are queued at a single step and how many have been through it.

Response

Response code: 200 OK
{
  "data": {
    "step_id": "203114224673622808",
    "completed_step_runs": 0,
    "in_queue_step_runs": 0
  }
}

Get automation trigger run counts

If you want to get the run counts for every trigger of an automation use this GET request

GET https://connect.mailerlite.com/api/automations/{automation_id}/triggers/run-counts

Returns, for each trigger, how many subscribers it currently has queued and how many it has taken all the way through the workflow. manual_runs counts the runs of subscribers added to the automation by hand, and is null if nobody was ever added that way. The counts can lag a few minutes behind.

Response

Response code: 200 OK
{
  "data": {
    "triggers": [
      {
        "id": "203114222968636621",
        "completed_runs": 0,
        "queued_runs": 0
      }
    ],
    "manual_runs": {
      "in_progress_runs": 0,
      "completed_runs": 0
    }
  }
}

Get run counts for an automation trigger

If you want to get the run counts for one trigger of an automation use this GET request

GET https://connect.mailerlite.com/api/automations/{automation_id}/triggers/run-counts/{trigger_id}

Returns how many subscribers a single trigger currently has queued and how many it has taken all the way through the workflow.

Response

Response code: 200 OK
{
  "data": {
    "completed_runs": 0,
    "queued_runs": 0
  }
}

List automation A/B test stats

If you want to get the results of every A/B test step in an automation use this GET request

GET https://connect.mailerlite.com/api/automations/{automation_id}/ab-steps-stats

Returns every abtest step with its per-path results: how much traffic each path took, how its email performed, and which path was declared the winner.

Response

Response code: 200 OK
{
  "data": [
    {
      "step_id": "203114243556379418",
      "name": "Subject test",
      "ab_test_winner": null,
      "parent_id": "203114227995511577",
      "can_select_winner": false,
      "a_path_step_id": "203114244338617115",
      "b_path_step_id": "203114245168040732",
      "c_path_step_id": null,
      "split_percentages": [
        {
          "label": "A",
          "path": "a_path",
          "value": 50
        },
        {
          "label": "B",
          "path": "b_path",
          "value": 50
        }
      ],
      "stats": {
        "a_path": {
          "subscribers": 0,
          "sent": 0,
          "opens": 0,
          "clicks": 0,
          "open_rate": {
            "float": 0,
            "string": "0%"
          },
          "click_rate": {
            "float": 0,
            "string": "0%"
          },
          "click_to_open_rate": {
            "float": 0,
            "string": "0%"
          }
        },
        "b_path": {
          "subscribers": 0,
          "sent": 0,
          "opens": 0,
          "clicks": 0,
          "open_rate": {
            "float": 0,
            "string": "0%"
          },
          "click_rate": {
            "float": 0,
            "string": "0%"
          },
          "click_to_open_rate": {
            "float": 0,
            "string": "0%"
          }
        }
      }
    }
  ]
}

Get automation A/B test stats

If you want to get the results of one A/B test step use this GET request

GET https://connect.mailerlite.com/api/automations/{automation_id}/ab-steps-stats/{step_id}

Returns the per-path results of a single abtest step: how much traffic each path took, how its email performed, and which path was declared the winner.

Response

Response code: 200 OK
{
  "data": {
    "step_id": "203114243556379418",
    "name": "Subject test",
    "ab_test_winner": null,
    "parent_id": "203114227995511577",
    "can_select_winner": false,
    "a_path_step_id": "203114244338617115",
    "b_path_step_id": "203114245168040732",
    "c_path_step_id": null,
    "split_percentages": [
      {
        "label": "A",
        "path": "a_path",
        "value": 50
      },
      {
        "label": "B",
        "path": "b_path",
        "value": 50
      }
    ],
    "stats": {
      "a_path": {
        "subscribers": 0,
        "sent": 0,
        "opens": 0,
        "clicks": 0,
        "open_rate": {
          "float": 0,
          "string": "0%"
        },
        "click_rate": {
          "float": 0,
          "string": "0%"
        },
        "click_to_open_rate": {
          "float": 0,
          "string": "0%"
        }
      },
      "b_path": {
        "subscribers": 0,
        "sent": 0,
        "opens": 0,
        "clicks": 0,
        "open_rate": {
          "float": 0,
          "string": "0%"
        },
        "click_rate": {
          "float": 0,
          "string": "0%"
        },
        "click_to_open_rate": {
          "float": 0,
          "string": "0%"
        }
      }
    }
  }
}

List subscribers on an automation step

If you want to list the subscribers at one step of an automation use this GET request

GET https://connect.mailerlite.com/api/automations/{automation_id}/activity/steps/{step_id}/subscribers

Returns a paginated list of the subscribers at one step, with the date each of them reached it. status chooses between subscribers queued at the step and those who have completed it.

Request parameters

ParameterTypeRequiredLimitations
statusstringyesMust be one of queued (still waiting) or completed (have been through)
limitintegernoNumber of subscribers per page. Between 1 and 1000. Defaults to 15
pageintegernoPage number to return. Counting starts from 1
sortstringnodate or email, prefixed with - to reverse it. Defaults to -date
filter[date_from]stringnoOnly subscribers dated on or after this day, as YYYY-MM-DD
filter[date_to]stringnoOnly subscribers dated on or before this day, as YYYY-MM-DD
filter[search]stringnoOnly the subscriber with this exact email address
filter[id]stringnoOnly these rows, by the id field this endpoint returns. Accepts an array or a comma-separated list

Response

Response code: 200 OK
{
  "data": [
    {
      "id": "203114372457827102",
      "subscriber": {
        "id": "203114218006776582",
        "email": "ana@example.com"
      },
      "date": "2026-11-03 11:22:40"
    },
    {
      "id": "203114372636085026",
      "subscriber": {
        "id": "203114219056401164",
        "email": "ben@example.com"
      },
      "date": "2026-11-03 11:22:40"
    }
  ],
  "links": {
    "first": "https://connect.mailerlite.com/api/automations/203114220633457868/activity/steps/203114224673622808/subscribers?page=1",
    "last": "https://connect.mailerlite.com/api/automations/203114220633457868/activity/steps/203114224673622808/subscribers?page=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "links": [
      {
        "url": null,
        "label": "« Previous",
        "page": null,
        "active": false
      },
      {
        "url": "https://connect.mailerlite.com/api/automations/203114220633457868/activity/steps/203114224673622808/subscribers?page=1",
        "label": "1",
        "page": 1,
        "active": true
      },
      {
        "url": null,
        "label": "Next »",
        "page": null,
        "active": false
      }
    ],
    "path": "https://connect.mailerlite.com/api/automations/203114220633457868/activity/steps/203114224673622808/subscribers",
    "per_page": 15,
    "to": 2,
    "total": 2
  }
}

List subscribers on an automation trigger

If you want to list the subscribers a trigger brought into an automation use this GET request

GET https://connect.mailerlite.com/api/automations/{automation_id}/activity/triggers/{trigger_id}/subscribers

Returns a paginated list of the subscribers a single trigger brought into the automation. queued returns the runs it started that are still in progress, dated by when they entered. completed returns the runs that have finished, dated by when they finished.

Request parameters

ParameterTypeRequiredLimitations
statusstringyesMust be one of queued (still waiting) or completed (have been through)
limitintegernoNumber of subscribers per page. Between 1 and 1000. Defaults to 15
pageintegernoPage number to return. Counting starts from 1
sortstringnodate or email, prefixed with - to reverse it. Defaults to -date
filter[date_from]stringnoOnly subscribers dated on or after this day, as YYYY-MM-DD
filter[date_to]stringnoOnly subscribers dated on or before this day, as YYYY-MM-DD
filter[search]stringnoOnly the subscriber with this exact email address
filter[id]stringnoOnly these rows, by the id field this endpoint returns. Accepts an array or a comma-separated list

Response

Response code: 200 OK
{
  "data": [
    {
      "id": "203114372457827102",
      "subscriber": {
        "id": "203114218006776582",
        "email": "ana@example.com"
      },
      "date": "2026-11-03 11:22:40"
    }
  ],
  "links": {
    "first": "https://connect.mailerlite.com/api/automations/203114220633457868/activity/triggers/203114222968636621/subscribers?page=1",
    "last": "https://connect.mailerlite.com/api/automations/203114220633457868/activity/triggers/203114222968636621/subscribers?page=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": null,
    "last_page": 1,
    "links": [
      {
        "url": null,
        "label": "« Previous",
        "page": null,
        "active": false
      },
      {
        "url": "https://connect.mailerlite.com/api/automations/203114220633457868/activity/triggers/203114222968636621/subscribers?page=1",
        "label": "1",
        "page": 1,
        "active": true
      },
      {
        "url": null,
        "label": "Next »",
        "page": null,
        "active": false
      }
    ],
    "path": "https://connect.mailerlite.com/api/automations/203114220633457868/activity/triggers/203114222968636621/subscribers",
    "per_page": 15,
    "to": null,
    "total": 0
  }
}

List automation orders

If you want to list the orders attributed to an automation's emails use this GET request

GET https://connect.mailerlite.com/api/automations/{automation_id}/order-activity

Returns a paginated list of orders, with the subscriber, the order total, the items ordered and the email that earned it.

Request parameters

ParameterTypeRequiredLimitations
time_framestringyesMust be one of week, month, two_months, three_months, six_months, year, last_year, all_time or custom
time_frame_startstringnoFirst day of the period. Required when time_frame is custom
time_frame_endstringnoLast day of the period. Required when time_frame is custom
ecommerce_shop_idintegernoOnly orders from this shop, by e-commerce shop ID
limitintegernoNumber of orders per page. Defaults to 10, maximum 100
pageintegernoPage number to return. Counting starts from 1

Response

Response code: 200 OK
{
  "data": [
    {
      "subscriber": {
        "email": "ana@example.com",
        "id": "203114218006776582"
      },
      "total": 59.9,
      "updated_at": "2026-11-03 11:22:40",
      "order": "2 X Running socks, 1 X Water bottle",
      "email": {
        "id": "203114224708224206",
        "account_id": "1",
        "emailable_id": "203114220633457868",
        "emailable_type": "automations",
        "type": "builder_html",
        "from": "dummy@example.com",
        "from_name": "Dummy Testerson",
        "reply_to": "dummy@example.com",
        "name": "Welcome email",
        "subject": "Welcome to the newsletter, {$name}",
        "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <!--{$head_top}--><!--{$head_bottom}-->\n    <title>Welcome to the newsletter, {$name}</title>\n  </head>\n ...",
        "plain_text": "Hello,\n\nYou have received a newsletter from {$account}.\n\n...",
        "screenshot_url": null,
        "uses_new_builder": false,
        "uses_landscape_screenshot": true,
        "generate_screenshot_timestamp": "2026-11-03 11:20:56",
        "is_building_content": false,
        "preview_url": "https://preview.mailerlite.io/emails/1234567890/preview",
        "report_preview_url": "https://preview.mailerlite.io/emails/1234567890/preview",
        "created_at": "2026-11-03 11:20:19",
        "updated_at": "2026-11-03 11:20:56",
        "is_designed": true,
        "language_id": null,
        "language": {
          "id": "4",
          "shortcode": "en",
          "iso639": "en-US",
          "name": "English",
          "direction": "ltr"
        },
        "is_winner": false,
        "stats": {
          "sent": 0,
          "opens_count": 0,
          "open_rate": {
            "float": 0,
            "string": "0%"
          },
          "clicks_count": 0,
          "click_rate": {
            "float": 0,
            "string": "0%"
          },
          "unsubscribes_count": 0,
          "unsubscribe_rate": {
            "float": 0,
            "string": "0%"
          },
          "spam_count": 0,
          "spam_rate": {
            "float": 0,
            "string": "0%"
          },
          "hard_bounces_count": 0,
          "hard_bounce_rate": {
            "float": 0,
            "string": "0%"
          },
          "soft_bounces_count": 0,
          "soft_bounce_rate": {
            "float": 0,
            "string": "0%"
          },
          "deliveries_count": 0,
          "delivery_rate": {
            "float": 0,
            "string": "0%"
          },
          "forwards_count": 0,
          "forward_rate": {
            "float": 0,
            "string": "0%"
          },
          "social_interactions_count": 0,
          "social_interaction_rate": {
            "float": 0,
            "string": "0%"
          },
          "click_to_open_rate": {
            "float": 0,
            "string": "0%"
          }
        },
        "send_after": null,
        "track_opens": true,
        "uses_survey": false,
        "uses_quiz": false,
        "preheader": null
      }
    }
  ],
  "links": {
    "first": "https://connect.mailerlite.com/api/automations/203114220633457868/order-activity?page=1",
    "last": "https://connect.mailerlite.com/api/automations/203114220633457868/order-activity?page=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": null,
    "last_page": 1,
    "links": [
      {
        "url": null,
        "label": "&laquo; Previous",
        "page": null,
        "active": false
      },
      {
        "url": "https://connect.mailerlite.com/api/automations/203114220633457868/order-activity?page=1",
        "label": "1",
        "page": 1,
        "active": true
      },
      {
        "url": null,
        "label": "Next &raquo;",
        "page": null,
        "active": false
      }
    ],
    "path": "https://connect.mailerlite.com/api/automations/203114220633457868/order-activity",
    "per_page": 10,
    "to": null,
    "total": 0
  }
}

Get automation email totals

If you want to get the email totals of an automation use this GET request

GET https://connect.mailerlite.com/api/automations/{automation_id}/monthly-totals/email

Returns engagement and deliverability figures for the automation as a whole, adding up every email it sends. Covers the automation's whole history by default.

Request parameters

ParameterTypeRequiredLimitations
start_datestringnoFirst day to report on, as YYYY-MM-DD. Required together with end_date. Omit both to report on the automation's whole history
end_datestringnoLast day to report on, as YYYY-MM-DD. Included in the period. Required together with start_date
shop_idstringnoReport only on orders from this connected shop, by e-commerce shop ID. Applies to e-commerce figures only

Response

Response code: 200 OK
{
  "data": {
    "engagement": {
      "sent": 0,
      "opens_count": 0,
      "clicks_count": 0,
      "total_opens_count": 0,
      "total_clicks_count": 0,
      "open_rate": {
        "string": "0%"
      },
      "click_rate": {
        "string": "0%"
      },
      "click_to_open_rate": {
        "string": "0%"
      },
      "forwards_count": 0,
      "forward_rate": {
        "string": "0%"
      },
      "social_interactions_count": 0,
      "social_interaction_rate": {
        "string": "0%"
      }
    },
    "deliverability": {
      "sent": 0,
      "delivered_count": 0,
      "delivered_rate": {
        "string": "0%"
      },
      "hard_bounce_rate": {
        "string": "0%"
      },
      "hard_bounces_count": 0,
      "soft_bounces_count": 0,
      "soft_bounce_rate": {
        "string": "0%"
      },
      "spam_count": 0,
      "spam_rate": {
        "string": "0%"
      },
      "unsubscribes_count": 0,
      "unsubscribe_rate": {
        "string": "0%"
      }
    }
  }
}

Get automation e-commerce totals

If you want to get the e-commerce totals of an automation use this GET request

GET https://connect.mailerlite.com/api/automations/{automation_id}/monthly-totals/ecommerce

Returns the orders attributed to the automation as a whole (order count, revenue and conversion rate) together with its best performing email. Covers the automation's whole history by default. Automations that do not track e-commerce return zeros.

Request parameters

ParameterTypeRequiredLimitations
start_datestringnoFirst day to report on, as YYYY-MM-DD. Required together with end_date. Omit both to report on the automation's whole history
end_datestringnoLast day to report on, as YYYY-MM-DD. Included in the period. Required together with start_date
shop_idstringnoReport only on orders from this connected shop, by e-commerce shop ID

Response

Response code: 200 OK
{
  "data": {
    "ecommerce": {
      "orders_count": 0,
      "revenue": 0,
      "average_order_value": 0,
      "conversion_rate": "0%"
    },
    "best_performing_email": null
  }
}

On this page