Reads many subscriber records at once: only the requested fields, filtered by field conditions
and/or a segment, in pages of up to 5000 records, paged with an id cursor.
Use it for reports, dashboards and data syncs. For a small page with a total count use
List subscribers instead.
Fields (required)
fields lists the fields to return, comma-separated (fields=email,subdate,city) or as an array
(fields[]=email&fields[]=subdate). id is always returned. Unknown field names are rejected with 400:
the field names of a list are returned by GET /lists/{listId}/fields.
Only the requested columns are read from the database, so request only what you use.
Filters
filter[<field>][<operator>]=<value>, all conditions are combined with AND.
filter[<field>]=<value> is a shortcut for eq. One field can have several conditions, e.g. a date range:
filter[subdate][gte]=2026-01-01&filter[subdate][lt]=2026-02-01.
| Operator | Meaning |
|---|---|
eq, ne | equal, not equal |
gt, gte, lt, lte | greater / less than (or equal); dates as YYYY-MM-DD or YYYY-MM-DD HH:MM:SS |
contains | the value contains the text |
starts_with | the value starts with the text |
in | equals one of the values: filter[city][in][]=Budapest&filter[city][in][]=Debrecen (max 500 values) |
Values are compared with the stored form of the field: checkboxes are 1 / 0, dropdowns and radio buttons
store the option value (not its title), empty dates are 0000-00-00.
Segment
segment_id returns only the members of a saved segment of the list (the filters apply on top of it).
Paging
Records are ordered by id, ascending by default, descending with sort=-id (newest first).
next_after_id in the response is the cursor of the next page: pass it as after_id until it is null.
Records added while you page do not shift the pages.
Values
id is an integer, every other value a string (or null), whatever the field type.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
