API pagination · Documentation-based guide with original resource

API pagination: how to retrieve every contact

Content updated:

Scope: Documentation-based guide reviewed on 7 October 2026. Exercises and protocols are original proposals, not product tests performed by CallsIQ.

Short answer

An API response may contain only the first page. Follow its documented page, offset, URL or cursor mechanism to completion, preserving filters and a stop condition. Compare unique identifiers with the available total when the server provides one for the same scope.

Key verification: Run the local code: it retrieves C1 through C5; reading only the first page returns three records.

Sources and limitations

An automation finishes without error and delivers three contacts, but the CRM contains five. This is not necessarily a permission failure: the second page may be missing. Before changing tools, identify how the API signals remaining data. A successful HTTP response establishes one request, not a complete catalogue read.

Recognise the endpoint mechanism

API pagination: retrieve all contacts: table 1
MechanismProgressionWatch for
PageNext documented numberZero- or one-based start
OffsetPosition and limitConcurrent changes shift rows
CursorToken returned by serverDo not invent or modify the token
Next URLReturned linkValidate the host before attaching credentials

The Make HTTP documentation describes these modes and paths for items and the next page. Configure paths from your actual endpoint response. items, next and cursor below are exercise names, not universal fields. Check the module’s item limit too: it can stop a read while another page still exists.

Local demonstration without an account or connection

Save the code as pagination_demo.py and run it with Python 3. It traverses two fictional in-memory responses only; it does not call an API, require keys or represent a tested Make integration. The first page contains three contacts and the second two. The loop remembers visited pages to detect repetition.

pages = {
    "start": {"items": ["C1", "C2", "C3"], "next": "page2"},
    "page2": {"items": ["C4", "C5"], "next": None},
}
key, seen, contacts = "start", set(), []
while key is not None:
    if key in seen:
        raise ValueError("Repeated page")
    seen.add(key)
    page = pages[key]
    contacts.extend(page["items"])
    key = page["next"]
assert len(contacts) == len(set(contacts)) == 5
print(contacts)
# Expected: ['C1', 'C2', 'C3', 'C4', 'C5']

Change page2’s next to start: the program should stop with Repeated page. Remove the second page: it should fail rather than report a complete export. These tests establish example properties; they do not automatically fix provider errors.

Transfer it to a Make scenario

Use a test account with minimal read permissions. Document endpoint, filters, stable order, size and end field. First run a limited collection known to exceed one page. Check whether module output contains complete pages or individual items before mapping it to another system.

Do not declare records missing by comparing with a total from another filter or time. If the collection changes during reading, ask about the provider’s snapshot or consistency mechanism; without one, record that limitation and reconcile identifiers. Do not rewrite every CRM contact to test a read.

Exit criterion

Accept traversal when it ends on the documented signal, retrieves the expected test set and retains page and record evidence. A repeated cursor, reached limit or unresolved error leaves the read incomplete. Make helps when this process must run alongside other modules; a CRM’s native export may suffice for a one-off task.

Sources and limitations

Documentary review: . Content type: Documentation-based guide with original resource.

Sources describe terms and capabilities stated by their owners. Proposed protocols and fictional examples do not establish product tests performed by CallsIQ.

How to report a correction

Check current terms

Consider these options if they solve the problem described. Confirm features, limits and availability in your country.

MakeAffiliate link

The labelled commercial links may earn CallsIQ a commission or referral reward. Our commercial policy.

How this guide was prepared

Official sources, explained calculations and clearly labelled examples. Read about our methodology and use of AI in writing.