---
title: "Credits and billing"
url: "https://lookvalid.com/docs/credits-and-billing.md"
canonical_url: "https://lookvalid.com/docs/credits-and-billing"
last_updated: "2026-10-21"
type: "conceptual"
summary: "What each LookValid lookup costs, when credits are charged and when a repeat lookup is free."
related: ["https://lookvalid.com/pricing.md"]
---

# Credits and billing

What each LookValid lookup costs, when credits are charged and when a repeat lookup is free.

Every product spends from one universal credit balance. This page is the full set of rules for when a lookup costs credits and when it does not.

## Credits per product

Each product has a fixed price in credits per unit. The prices below are read from the catalog.

| Product | Credits | Charged | Unit |
| --- | --- | --- | --- |
| [Phone Numbering-Plan Validation](https://lookvalid.com/docs/api/phone.md) | 1 | Success only | per valid number |
| [Country Calling Codes](https://lookvalid.com/docs/api/country-code.md) | 1 | Success only | per lookup (an unknown code, country or name is free) |
| [Email Domain Check](https://lookvalid.com/docs/api/email-domain-check.md) | 1 | Success only | per address checked |
| [IP Intelligence](https://lookvalid.com/docs/api/ip.md) | 1 | Success only | per lookup |
| [Phone Spam Check](https://lookvalid.com/docs/api/phone-spam.md) | 1 | Success only | per number with complaints on record |
| [Link Safety Check](https://lookvalid.com/docs/api/link-safety.md) | 1 | Every call | per URL checked (a check that cannot run is free) |
| [Carrier Lookup (original carrier)](https://lookvalid.com/docs/api/carrier-lookup.md) | 1 | Success only | per lookup (numbers outside the covered numbering plan areas are free) |
| [VIN Decoder](https://lookvalid.com/docs/api/vin-decoder.md) | 1 | Success only | per VIN that decodes (a VIN with no data is free) |
| [Link-in-Bio Lookup](https://lookvalid.com/docs/api/link-in-bio-lookup.md) | 3 | Success only | per resolved page (dead or empty pages are free) |
| [Domain Authority](https://lookvalid.com/docs/api/domain-authority.md) | 10 | Success only | per domain found in the rank data (an unranked domain is free) |
| [Domain Age](https://lookvalid.com/docs/api/domain-age.md) | 2 | Success only | per registered domain (unregistered domains are free) |
| [Website Scraper](https://lookvalid.com/docs/api/website-scraper.md) | 10 | Success only | per successful scrape (errors, empty and blocked pages are free) |
| [Website Contacts Scraper](https://lookvalid.com/docs/api/website-contacts-scraper.md) | 10 | Success only | per domain with contacts found |
| [Site Files Checker](https://lookvalid.com/docs/api/site-files.md) | 2 | Success only | per site checked (a site that cannot be reached is free) |

Plan prices are on the [pricing page](https://lookvalid.com/pricing.md).

## Plans, the trial and top-ups

- **Plans.** Starter $99 a month for 20,000 credits; Growth $299 a month for 85,000 credits; Professional $799 a month for 250,000 credits; Enterprise $1,999 a month for 1,000,000 credits. Credits are not sold without a plan.
- **The trial.** Starter, Growth and Professional each start with a 7-day trial that costs $1 at signup, paid by card, and allows 100 credits. One trial is given per card. If you use all 100 credits before the trial ends, lookups pause with a [`trial_allowance_exhausted`](https://lookvalid.com/docs/errors/trial_allowance_exhausted.md) error and nothing is charged until you choose "Start my plan now" on the billing page. When the 7 days end, the plan starts and your card is charged for the first month unless you cancel first. Enterprise has no trial.
- **Roll-over.** Each month of plan credits stays spendable for 3 months after it arrives. The oldest credits are spent first.
- **Top-ups.** A subscriber can add 10,000 credits at the rate of their plan (Starter $49.50, Growth $35.18, Professional $31.96, Enterprise $19.99). Top-up credits stay valid for 12 months.
- **Refunds.** A first paid month can be refunded when you ask within 7 days of the payment. Refunds are handled by a person, who reviews each request: write to [hello@lookvalid.com](mailto:hello@lookvalid.com).
- **Enterprise.** Enterprise starts at $1,999 a month for 1,000,000 credits and is set up on a call, with larger volumes quoted there: [book a call](https://lookvalid.com/book-a-call.md).

## Success billing

Most products use **success billing**: you are charged only when the lookup finds something. If the number is not valid, the domain is not registered or the page cannot be read, the response says `found: false`, `credits_charged` is `0`, and your balance does not change.

A few products use **per-call billing**: every completed lookup is charged, found or not. The table above shows which rule each product follows, and each reference page repeats it.

## Repeat lookups are free

Results are cached per account for 7 days. When you repeat a lookup with the same input inside that window:

- you get the stored result back with `cache_hit: true`,
- `credits_charged` is `0`,
- the data source is not called again.

The cache belongs to your account. Another account that runs the same lookup pays for its own first one. After 7 days the entry expires and the next lookup is a fresh one. The `cache` object in every response shows `cached_at` and `expires_at`.

Inputs are normalized before caching, so trivial differences such as letter case or surrounding spaces do not count as a new lookup.

## What is never charged

- Requests with invalid input (HTTP 400).
- Requests rejected for a missing or bad key (401), a rate limit (429) or a body that is too large (413).
- Lookups that fail because the data source is unavailable (503) or because of an internal error (500).
- Lookups refused because the balance is too low (402).
- The account and usage endpoints.

## How a charge happens

1. The API checks the cache. A hit is returned free.
2. Otherwise it reserves the product's price from your available balance. If you cannot cover it, you get [`insufficient_credits`](https://lookvalid.com/docs/errors.md#insufficient_credits) and the data source is never called.
3. The lookup runs.
4. If it found something, the reservation becomes a charge. If it did not, the reservation is released (success billing) or charged (per-call billing). Errors always release it.

Credits reserved by lookups still running are shown as `reserved` in your balance and come back if those lookups find nothing.

## See what you were charged

- Each response carries `credits_charged` and `credits_remaining`, also sent as the `X-Credits-Charged` and `X-Credits-Remaining` headers.
- [`GET /v1/account`](https://lookvalid.com/docs/api/account.md) returns your `granted`, `spent`, `reserved` and `available` credits.
- [`GET /v1/usage`](https://lookvalid.com/docs/api/usage.md) counts requests, cache hits and credits per product for a date range.

## Tips to spend less

- Cache results on your side too when you need them for longer than 7 days.
- Do not retry a `found: false` result: it will return the same answer, free, until the cache expires.
- Use the reference pages to see exactly which input each product bills on.

## Related

- [Plans, trial and credit pricing](https://lookvalid.com/pricing.md)
