There’s one credit balance per account, shared across every surface — the
Slack app, the REST API, and the MCP server all debit from
and top up the same pool. A pack bought from Slack works for a
curl
call, and vice versa.Checking your balance
GET /v1/usage is free (no credits charged) and returns your current
balance:
Reading credits on every response
Every billed endpoint’s response envelope includes:credits_charged— what this specific call cost. Usually equal to the endpoint’s listed price below, but can be0in a few cases (see “Charging on misses” below).credits_remaining— your balance immediately after this call.
credits_charged field at all — nothing was debited. If
your balance is too low for the call’s price, you get a 402 before any
vendor is ever called — see
Errors & Rate Limits.
Per-endpoint pricing
Prices below are current as of this writing, pulled directly from Horizon’s pricing table.GET /v1/usage doesn’t return per-endpoint prices
today — this page is the source of truth; check back here (or ask support)
if you suspect a price has changed.
| Endpoint | Credits | Notes |
|---|---|---|
POST /v1/person/enrich | 2 | Charged even if no matching profile is found |
POST /v1/person/email | 25 | Charged only when a verified email is found |
POST /v1/person/search | 3 | Returns the full candidate list; charged even if no matching profiles are found |
POST /v1/email/verify | 3 | |
POST /v1/company/enrich | 2 | Charged even if no matching company is found |
POST /v1/company/people | 5 | Charged even if no people are found. Accepts a company URL, or a company name/domain (resolved internally at no extra charge) |
POST /v1/company/search | 3 | |
POST /v1/jobs/search | 3 | |
POST /v1/linkedin/posts | 3 | |
POST /v1/linkedin/engagement | 3 | |
POST /v1/search/web | 3 | |
GET /v1/usage | Free | |
GET /v1/health | Free | No auth required |
Charging on misses
Most endpoints charge their full listed price even when the result is a clean “nothing found” — the vendor call still happened and cost Gravity real money either way, so it’s still a completed, billable lookup. The one exception isPOST /v1/person/email: its 25-credit price is
calibrated against a high hit rate for genuine finds, so it’s charged only
on success. A miss refunds the reservation in full and returns
credits_charged: 0.
Cached results
A response with"cached": true means the answer was served from Gravity’s
cache instead of calling the vendor again — you’re still charged the normal
price for it, since a cache hit still means the data was verified and
delivered to you (it just cost Gravity $0 in vendor spend that time).