---
title: "Estimate Find Contact Data Job"
method: POST
path: "/v1/contacts/find-contact-data-jobs/estimate"
tags: ["Contacts", "Enrichment", "v1"]
---

# Estimate Find Contact Data Job

`POST /v1/contacts/find-contact-data-jobs/estimate`

Estimate the credit cost for enriching contacts with email and phone data. Accepts either explicit `contact_ids` or a `list_id` to target an entire list. Returns the number of eligible contacts and the estimated total credits that would be consumed.
Credit Note: This endpoint does not consume credits.

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

## Query parameters

- `account_id` string, required

## Request body

- object
  - `data` object, required
    - `type` string

## Response `200`

Estimate calculated successfully

- object
  - `data` object, required
    - `type` string, required
    - `id` string, uuid, required — Unique estimate identifier
    - `attributes` object, required
      - `estimated_total_credits` integer, required — Estimated credits that would be consumed
      - `eligible_contacts` integer, required — Number of contacts eligible for enrichment
  - `meta` object, required
    - `request_id` string, required — A unique identifier assigned to each API request for end-to-end traceability.

## Other responses

- `400` — Invalid request body envelope
- `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`.
- `422` — Unprocessable content — request body is well-formed but fails domain validation
- `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

---

[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)
