> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pipecorn.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Credits vs limits

> Enrichment credits are a paid balance you spend. Plan limits are quotas included in your plan. They are tracked, exhausted, and refilled differently.

Pipecorn meters usage with two separate mechanisms that are easy to confuse,
partly because the `GET /credits` response uses the word "credits" for both.
This page tells them apart so you know which one a request draws on, which one
an error is about, and what actually unblocks you.

<Note>
  **One-line version.** A **credit** is a paid unit you spend on enrichment
  (emails, phones, company and people data). A **limit** is a quota bundled
  with your plan that caps how many profiles or companies you can extract per
  day or month. Buying credits never raises a limit, and a limit resetting
  never adds credits.
</Note>

## Side by side

|                      | Enrichment credits                                                                                                                                                                                            | Plan limits                                                                                                                                               |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| What it is           | A prepaid balance owned by your workspace                                                                                                                                                                     | Daily and monthly quotas included in your plan                                                                                                            |
| What draws on it     | Enrichment: waterfall email and phone, account and people enrichment, hiring and tech-stack lookups, WhatsApp validation                                                                                      | Extraction: pulling people profiles or importing companies from a search, a Sales Navigator URL, or a post                                                |
| Unit                 | Credits per result (for example 3 per email, 30 per phone, 1 per enriched company)                                                                                                                            | One profile or one company per unit                                                                                                                       |
| How it goes down     | Spent per successful result. A lookup that resolves nothing costs nothing                                                                                                                                     | Consumed per extracted profile or imported company                                                                                                        |
| How it goes back up  | Buy credits, or wait for your plan renewal to add the plan's monthly allocation                                                                                                                               | Resets automatically: daily quotas every day, the monthly company quota every month                                                                       |
| How to get more      | [Top up](https://app.pipecorn.com/settings/subscriptions/credits) at any time                                                                                                                                 | Upgrade your plan, or contact support                                                                                                                     |
| Where to check       | `credits.enrichment` in [`GET /credits`](/api-reference/endpoints/miscellaneous/account-credits), or [`GET /credits_consumption`](/api-reference/endpoints/miscellaneous/credit-consumption) for a date range | `credits.daily_profile_scraping`, `credits.daily_company_import`, `credits.monthly_company_import` (remaining) and `limits.*` (ceiling) in `GET /credits` |
| Error when exhausted | `402 Payment Required`, `code: "insufficient_credits"`, with a `top_up_url`                                                                                                                                   | `422 Unprocessable Entity`, message `"Can't proceed with the request. Plan limit reached."`                                                               |

Preview endpoints (`/leads/advanced_search/preview`, `/accounts/search/preview`,
`/intents/accounts/stack/preview`) draw on neither. They are free and never
return either error.

## Enrichment credits

Credits are the paid resource. Every endpoint that returns enriched data checks
your balance before doing any work and charges only for what it actually
returns:

* Waterfall enrichment: **3 credits** per email, **30 credits** per phone
  ([single](/api-reference/endpoints/enrichments/single),
  [bulk](/api-reference/endpoints/enrichments/batch),
  [synchronous](/api-reference/endpoints/contacts/sync_single_enrich))
* [Enrich account](/api-reference/endpoints/accounts/single) and
  [Enrich people](/api-reference/endpoints/leads/single): **1 credit** per
  resolved company or person
* [Company hiring](/api-reference/endpoints/accounts/company-hiring): **1 credit**
  per job returned
* [Company stack](/api-reference/endpoints/accounts/company-stack),
  [hiring intent](/api-reference/endpoints/signals/hiring) and
  [tech-stack search](/api-reference/endpoints/signals/tech_stack) (**3 credits**
  per imported company)
* WhatsApp validation

When the balance is too low the request is rejected up front with `402` and
nothing is spent, enqueued, or imported. Top up and replay the same request.

Credits belong to the workspace, so every member and every API key spends
from the same pool.

## Plan limits

Limits are quotas, not a balance. They come with your plan, reset on a fixed
schedule, and cannot be bought one at a time. There are two of them:

* **Profile scraping** (daily): how many people profiles you can extract per
  day. Drawn on by lead extraction, such as
  [search leads by filters](/api-reference/endpoints/leads/advanced_search),
  [extract leads from a Sales Navigator URL](/api-reference/endpoints/extract/leads),
  [leads in a company](/api-reference/endpoints/extract/leads_from_company), and
  [post engagers](/api-reference/endpoints/signals/post_engagers).
* **Company import** (daily and monthly): how many companies you can import
  per day and per month. Drawn on by account extraction, such as
  [search accounts by filters](/api-reference/endpoints/accounts/search),
  [extract accounts from a Sales Navigator URL](/api-reference/endpoints/extract/accounts),
  [lookalike companies](/api-reference/endpoints/signals/company_lookalike), and
  [growth signals](/api-reference/endpoints/signals/growth).

When a quota is used up the endpoint answers `422` with
`"Can't proceed with the request. Plan limit reached."`. Wait for the reset
or move to a plan with a higher allowance. Buying credits does nothing here.

<Warning>
  In `GET /credits` the remaining quotas live under the `credits` key, next to
  `credits.enrichment`, and the field descriptions call them "credits". Read
  them as **remaining quota for the current period**, not as a spendable
  balance. Only `credits.enrichment` is money you can top up. The `limits`
  object gives each quota's ceiling so you can compute how much of the period
  you have used.
</Warning>

```json theme={null}
{
  "credits": {
    "enrichment": 3000,
    "daily_profile_scraping": 1500,
    "daily_company_import": 1000,
    "monthly_company_import": 10000
  },
  "limits": {
    "daily_profile_scraping": 2500,
    "daily_company_import": 1000,
    "monthly_company_import": 10000
  }
}
```

In this example the workspace has 3,000 enrichment credits to spend, and can
still extract 1,500 of its 2,500 daily profiles.

## Two other "limits" that are not plan limits

### Workspace weekly credit limit

A workspace admin can cap how many **enrichment credits** each member may
spend per week. This is a spending ceiling on credits, not a quota on
extraction. Hitting it returns `403 Forbidden` with
`code: "workspace_limit_exceeded"` and no `top_up_url`: the balance may be
fine, so buying credits does not help. An admin raises the member's weekly
allowance, or the limit resets at the end of the week.

### Rate limits

Requests per second or per minute, tracked per API key and per endpoint.
Exceeding one returns `429 Too Many Requests`. Rate limits are about request
pacing and have nothing to do with credits or quotas; back off and retry.

## Which one am I hitting?

Branch on the status code and, for `403`, on the `code` field.

| Response                                      | What ran out                                                 | What unblocks it                                             |
| --------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| `402` with `code: "insufficient_credits"`     | Enrichment credit balance                                    | Top up at `top_up_url`, or wait for plan renewal, then retry |
| `403` with `code: "workspace_limit_exceeded"` | Weekly credit spending cap for this member                   | Workspace admin raises the allowance, or the week resets     |
| `403` with any other body                     | Nothing ran out: the API key lacks access to the endpoint    | Use a key with the right permissions                         |
| `422` with `"Plan limit reached."`            | Daily profile scraping or daily/monthly company import quota | Wait for the reset, or upgrade the plan                      |
| `429`                                         | Request rate for this endpoint                               | Back off and retry                                           |

For the exact response bodies and the list of endpoints that return each code,
see [Credit and limit errors](/api-reference/errors).

<Note>
  **History.** Until August 2026, enrich account and enrich people drew on the
  company import and profile scraping quotas and failed with `422` when they
  ran out. They are now priced in credits and answer `402` and `403` instead.
  See the [changelog](/changelog).
</Note>
