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

# Pricing and credits

> Prepaid credits, charged at provider cost plus a 5% platform fee, with a spend cap on every search.

The Data API is pay-as-you-go. You add credits to your workspace, and searches spend from that balance as they run. You do not sign a contract with any data provider.

> [card] 1 credit = \$1
>
> Credits are prepaid US dollars. Fractions of a credit are charged as they are spent.

> [card] Cost plus 5%
>
> You pay what the underlying data costs, plus a 5% platform fee. Nothing else.

> [card] Capped per search
>
> Set `max_credits` and a search can never spend more than that.

## How a search is charged

Each search calls data providers on your behalf. What those calls cost is passed through to you, and Avina adds 5% on top.

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
credits charged = provider cost × 1.05
```

Try it:

Provider cost of a search

■ Provider cost

■ Platform fee (5%)

Credits charged

The platform fee is 5% of provider cost. Examples: $1.00 of provider cost is charged as 1.05 credits; $10.00 as 10.50 credits; \$100.00 as 105.00 credits.

What a search costs depends on what it has to do, not on a fixed price per result:

| Cost driver | Effect |
| - | - |
| How many results you ask for | More results, more provider calls. |
| How rare a match is | If 1 candidate in 3 matches, far fewer candidates are checked than if 1 in 30 matches. |
| Structured filters versus free-text criteria | Filters are checked against structured data. Criteria need research, which costs more. |
| Contacts | Looking up people, emails and phone numbers is charged per lookup. Phones cost more than emails. |

The search's own `credits_charged` field is the source of truth. It updates while the search runs and is final once the search reaches a terminal status.

## What is free

| Free | Charged |
| - | - |
| [Parse](https://docs.data.avina.io/capabilities/parse.md): interpreting a query without searching | Starting a company or people search |
| Reading a search's status | Contact lookups requested with `persona_ids` |
| Reading and paging results, as many times as you like | Email and phone enrichment on people search |
| Cancelling a search | |
| Creating, reading and changing personas | |
| `GET /me` and `GET /usage` | |
| Requests rejected with a `4xx` error | |

## Control what you spend

### Cap a search with `max_credits`

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "query": "Series B fintech companies in New York",
  "limit": 50,
  "max_credits": 20
}
```

The search stops starting new work when it has spent 20 credits. It finishes with `stop_reason: usage_limit_reached` and keeps every result found up to that point. Without `max_credits`, a search can spend up to your remaining balance.

> [!TIP]
>
> Set `max_credits` on every search you start from code. If `limit` has a typo, or a query turns out to match very few companies, the mistake then costs at most `max_credits`.

### Start small

Run a new query with `limit: 5` first. `credits_charged` divided by `progress.accepted` gives you the cost per result for that query, which you can use to budget the full run.

### Stop a search early

[Cancel](https://docs.data.avina.io/api-reference/companies/cancel-search.md) a search to stop new spending. Provider calls already in progress may still finish and be charged.

### Do not pay twice for a retry

Send an idempotency key (A unique string you attach to a request. If you send the same request again with the same key, the API returns the original result instead of doing the work twice.) when you start a search. If the request times out and you retry with the same key, you get the original search back instead of starting, and paying for, a second one. See [Errors and retries](https://docs.data.avina.io/guides/errors-and-retries.md).

## Check your balance

`GET /usage` returns your balance and what you have spent this billing period.

```bash cURL theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl https://api.avina.io/v1/usage \
  -H "Authorization: Bearer $AVINA_API_KEY"
```

```json Response theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "object": "usage",
  "period_start": "2026-11-01T00:00:00Z",
  "period_end": "2026-12-01T00:00:00Z",
  "credits_used": 41.87,
  "credits_limit": 200,
  "credits_remaining": 158.13
}
```

`credits_remaining` is your balance. To add credits, top up in the [Avina dashboard](https://app.avina.io).

## When you run out

* **Starting a search with no credits** returns `402 usage_limit_reached`. Nothing is started or charged.
* **Running out mid-search** stops new work. The search completes with `stop_reason: usage_limit_reached` and its results stay readable.
* **Matches found after a limit was reached** are counted in `progress.not_returned`.

## Frequently asked questions

> [accordion] Is there a price per company or per person?
>
> No. Cost follows the provider calls a search needs, so two searches for 20 companies can cost different amounts. Run a small search first to measure cost per result for your query.

> [accordion] Am I charged for a search that finds nothing?
>
> You are charged for the provider work that was done, even if no candidate passed every requirement. A search that is rejected, or that stops with `query_needs_clarification`, is not charged. Use `max_credits` to bound a search you are unsure about.

> [accordion] Am I charged again for reading results?
>
> No. Status and results are free to read as often as you like.

> [accordion] Is it cheaper than going to a data provider directly?
>
> Not for a request that one provider can fully answer: you pay that provider's cost plus 5%. The saving is in what you do not have to build and buy: one integration and one bill instead of several, and verification that keeps non-matches out of your pipeline.

> [accordion] Do credits expire?
>
> Contact [support@avina.io](mailto:support@avina.io) for the terms on your plan.

## Next steps

> [card] [Get credit usage](https://docs.data.avina.io/api-reference/account/usage.md)
>
> The usage endpoint reference.

> [card] [Search lifecycle](https://docs.data.avina.io/concepts/search-lifecycle.md)
>
> Stop reasons, including spend limits.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.