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

# Credits and reveals

> Understand shared contact credits and API reveal behavior.

StoreInspect contact credits are shared across the web app and API.

If a plan includes 3,000 monthly contact credits, reveals from both the web app and API spend from the same pool.

Trial users receive 250 contact credits during the trial. Paid Pro includes 1,000 monthly contact credits. `GET /usage` shows both the current trial cap and the paid-plan total.

## Reveal rules

* `POST /contacts/search` returns contact previews and does not spend credits.
* `POST /contacts/reveal` returns contact channels for selected contact IDs.
* Revealing a contact for the first time spends one shared contact credit.
* A phone or LinkedIn-only contact also costs one credit. The revealed `emails` array can be empty.
* Re-revealing the same contact for the same account does not spend another credit.
* Use an `Idempotency-Key` header when retrying reveal requests.
* Search previews do not include raw emails, phone numbers, or LinkedIn URLs.
* When trial credits are exhausted, reveal requests return a billing action that points to the billing page for unlocking paid Pro credits immediately.

For email outreach, search with `person.has_verified_email: true` and check `has_verified_email` on each preview before revealing. This limits the results to contacts with an email StoreInspect can return.

```bash theme={null}
curl https://storeinspect.com/api/v1/contacts/reveal \
  -H "Authorization: Bearer $STOREINSPECT_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: reveal-batch-001" \
  -d '{
    "contact_ids": [
      "ct_AbCdEf_GhIjKlMnOpQrStUv",
      "ct_ZyXwVu_TsRqPoNmLkJiHgFe"
    ]
  }'
```

<Warning>
  Contact IDs are opaque. Always use IDs returned by StoreInspect responses and never construct your own.
</Warning>
