---
title: "Retrieve List Items"
method: GET
path: "/v1/lists/{id}/items"
tags: ["Lists", "v1"]
---

# Retrieve List Items

`GET /v1/lists/{id}/items`

Retrieve the members of a list. The list is addressed by its `{id}`, a scope-prefixed list identifier (e.g. `company_123` or `contact_456`). There is a single `List` resource: the list's `list_type` determines whether the members are companies or contacts.

The response contains bare references (IDs only) in `data`, with `type` following the list's `list_type` (`company` for a company list, `contact` for a contact list). Results are cursor-paginated. To retrieve the full company or contact data for these members, pass the returned IDs to the Retrieve Companies (`GET /v1/companies`) or Retrieve Contacts (`GET /v1/contacts`) endpoints.

Credit Note: Retrieving list members does not consume credits.

:::info
Requires the `lists:read` OAuth2 scope.
:::

## Path parameters

- `id` string, required

## Query parameters

- `account_id` string, required
- `page[cursor]` string
- `page[size]` integer

## Response `200`

List items retrieved

- object
  - `data` union, required — The members belonging to the list, as bare references (`type` + `id`). The member type follows the list's `list_type`: company lists return company references, contact lists contact references.
    - object[]
      - `id` string, required — The Leadfeeder company ID.
      - `type` 'company', required
    - object[]
      - `type` 'contact', required
      - `id` string, required — The Leadfeeder contact ID.
  - `meta` object, required
    - `pagination` object, required
      - `total_count` integer, required — Total number of members in the list.
      - `next_cursor` string, nullable, required — Cursor to fetch the next page of results, or `null` when there are no more pages.
    - `request_id` string, required — A unique identifier assigned to each API request for end-to-end traceability.

## Other responses

- `400` — Invalid pagination cursor
- `401` — Unauthorized. The request was rejected because the credentials are missing, invalid, expired, or have been revoked. The client must re-authenticate before retrying. Clients can differentiate via the `code` value of the first item in `errors`.
- `403` — Forbidden. The credentials are valid but the caller is not authorized to perform the request — typically because the user lacks the required permission, the OAuth scope is insufficient, the subscription plan does not include the required entitlement, the `account_id` does not belong to the authenticated user, or the target list is read-only and its members cannot be modified. Clients can differentiate via the `code` value of the first item in `errors`.
- `404` — List not found — the id is unknown, not accessible in this account, or not a resolvable list identifier (e.g. missing the `company_`/`contact_` scope prefix)
- `422` — A pagination parameter is present but invalid (e.g. `page[size]` is zero, negative, or non-numeric)
- `429` — Too many requests. Either the per-second rate limit or the monthly quota configured for the API key / OAuth application has been exceeded. Clients can differentiate via the `code` value of the first item in `errors`.
- `500` — Internal server error
- `504` — Server timeout

---

[API](https://skmtc.net/leadfeeder/apis/leadfeeder-public-api.md) · [All operations](https://skmtc.net/leadfeeder/apis/leadfeeder-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/leadfeeder/leadfeeder-public-api/versions/e494ac05e206/schema)
