API Reference

List Polls

GET /polls — list emails that have in-email poll responses.

GET/polls

Returns one summary row per email that has collected poll responses, ordered by the most recent response first. Use the email_id to fetch the full answer breakdown with Retrieve Poll Results.

Requires an API key with read access.

Query parameters
limitnumberoptional

Number of rows to retrieve. Minimum 1, maximum 100. A value outside that range is rejected with a 422 validation_error. Unlike the other list endpoints there is no default of 20 on an unpaged request: omit limit and every row is returned, up to the ceiling below. Omitting it while paging with after or before does fall back to 20.

afterstringoptional

The email_id after which to retrieve more rows (pagination). The id itself is excluded. Cannot be combined with before.

beforestringoptional

The email_id before which to retrieve more rows (pagination). The id itself is excluded. Cannot be combined with after.

This endpoint reads at most the 200 most recently answered emails before paginating, and has_more does not report that ceiling. If your account has more than 200 poll-bearing emails, the older ones are not reachable through after paging here — read the per-email breakdown with Retrieve Poll Results instead.
import { Mailblastr } from 'mailblastr';

const mb = new Mailblastr('mb_xxxxxxxxx');

const { data, error } = await mb.polls.list();
console.log({ data, error });

Response

{
  "object": "list",
  "has_more": false,
  "data": [
    {
      "object": "poll",
      "email_id": "8f2e4a3b-dfbc-4e9a-8b2c-5f3a1d6e7c8d",
      "subject": "How was your experience?",
      "responses": 128,
      "distinct_answers": 3,
      "last_response_at": "2026-07-04T10:12:00.000Z"
    }
  ]
}