---
title: "Retrieve Ideal Customer Profiles"
method: GET
path: "/v1/icps"
tags: ["Ideal Customer Profiles", "v1"]
---

# Retrieve Ideal Customer Profiles

`GET /v1/icps`

Retrieve all Ideal Customer Profiles (ICPs) defined in the account. Each ICP is a saved set of company-level filter criteria (employee count, industry, location) used to identify target companies.

Credit Note: Retrieving ICP definitions does not consume credits.

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

## Query parameters

- `account_id` string, required

## Response `200`

Success

- object
  - `data` ICPV1[], required
    - `type` string, required — The type of the object
    - `id` string, required — The unique identifier for the ICP
    - `attributes` object, required
      - `name` string, required — The human-readable name of the ICP
      - `created_at` string, date-time, required — Date and time when the ICP was created
      - `filters` object, required — Filter criteria that define this ICP, grouped by filter category. Categories with no configured criteria are omitted. The object is empty when the ICP has no filters configured.
        - `employee_count` object[] — Employee count range filters.
          - `search_value` string — The internal value used to match this filter (e.g. industry code, country code, employee range identifier).
          - `display_value` string, required — The human-readable label of the filter value.
          - `negated` boolean, required — When true, the filter excludes (rather than includes) matching results.
        - `industries` object[] — Industry filters.
          - `search_value` string — The internal value used to match this filter (e.g. industry code, country code, employee range identifier).
          - `display_value` string, required — The human-readable label of the filter value.
          - `negated` boolean, required — When true, the filter excludes (rather than includes) matching results.
        - `location` object[] — Location filters.
          - `search_value` string — The internal value used to match this filter (e.g. industry code, country code, employee range identifier).
          - `display_value` string, required — The human-readable label of the filter value.
          - `negated` boolean, required — When true, the filter excludes (rather than includes) matching results.
  - `meta` object, required
    - `request_id` string, required — A unique identifier assigned to each API request for end-to-end traceability.

## Other responses

- `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`.
- `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/revisions/9e2e63ba2a4e/schema)
