A credit is the billing unit of the whole API: one credit buys one fresh lookup that produced a usable answer, on any of the six signals. There is one balance and it does not care which endpoint spends it.
What does not cost one
Three things, and they are the reason the rate card exists rather than a single sentence.
A non-answer is free. What counts as one differs by signal and is published per signal on the pricing page: an undeliverable email address, an invalid phone number, an unparseable postal address, an identifier no installed register carries. A rejected request is free — a validation error, a refused key, a rate limit. And a repeat of the same value inside seven days is free, held as a keyed marker that stores a hash rather than the value.
An answer lost to an outage in the partner infrastructure behind the mailbox handshake is also free, because nothing was established.
When there are none left
The API answers 402 INSUFFICIENT_CREDITS before running the lookup, so an empty balance never bills for work that could not complete. Free credits renew at the start of each month; bought credits never expire.
meta.credits_used on every response says what that call actually cost, including zero.