If the answer you need is not here, ask us.
Getting started
What is APIVerve?
367 APIs across 29 categories, reachable through one key, one host and one response shape. Validation, text and image processing, geolocation, financial data, DNS and domain tooling, generators and converters. The point is that adding the second endpoint costs nothing beyond the first: same credential, same envelope, same error vocabulary.
How do I get an API key?
Sign up at dashboard.apiverve.com and a key is generated for you. It is on the API keys page. No credit card, and the free plan has calls in it immediately.
How quickly can I get started?
A few minutes. Quickstart is a single cURL command with your key in it — the whole integration is one header.
What programming languages are supported?
Any language that can make an HTTP request. There are also generated SDKs published to npm, NuGet, PyPI, Go, Maven/JitPack, Packagist and pub.dev — one package per endpoint rather than one giant client — and every reference page carries ready-made examples in four languages. "Supported" mostly means "you can paste it".
Is there a free tier?
Yes, and it is a real plan rather than a timed trial — it renews every month:
| Plan | Price | Credits / month | Rate limit |
|---|---|---|---|
| Free | Free | 100 | 5/min |
| Starter | $29.99/mo | 100,000 | 60/min |
| Pro | $99.99/mo | 500,000 | 180/min |
| Mega | $299.99/mo | 2,000,000 | No limit |
Do I need a credit card to sign up?
No. Payment details are only needed to move to a paid plan.
Can I use APIVerve for commercial projects?
Yes, on a paid plan. See pricing for the terms attached to each plan.
Is there a sandbox or test environment?
There is no separate sandbox, because there is no separate behaviour to test against — every source works identically on every plan, so the free plan is the test environment.
To build against responses without spending anything, use mock endpoints or the Postman collection's mock mode.
Keys and security
How do I authenticate?
An x-api-key header on every request. Nothing else — no signature, no token exchange, no
expiry to refresh.
curl 'https://api.apiverve.com/v1/dadjokes' \
-H 'x-api-key: YOUR_API_KEY'The key is a bearer credential, so keep it server-side. See authentication and security.
Can I have more than one key?
Every account has one primary key. Sub-keys are additional credentials that bill to the same account and can be scoped and revoked independently — the right tool for a per-environment or per-client credential.
| Plan | Sub-keys |
|---|---|
| Free | Not included |
| Starter | Not included |
| Pro | 5 |
| Mega | 25 |
Can I regenerate my key?
Yes, from the API keys page. Rotation is instant and there is no grace period: the old key stops working the moment the new one exists, so update your applications first rather than after.
What do I do if my key is exposed?
Rotate it immediately, which invalidates the old one at once. Then check analytics for usage you do not recognise — that is the clearest sign someone else has been using it. If the key was committed to a repository, remember it is still in the history after you delete the line.
Is my data secure?
Requests are TLS-encrypted and plain HTTP is not served. We keep metadata about calls — timestamp, source, status — because that is what analytics and support are built from. Request and response bodies are not retained beyond serving the request.
Can I restrict what a key can do?
Yes. Key scoping blocks specific sources, and on Mega you can also allow-list IPs and cap a key's own rate limit. Worth doing for anything running outside your own infrastructure.
Credits and billing
What is a credit?
The unit of usage. Most calls cost one credit; heavier ones cost more, and each reference page states its own cost. Failed calls are not billed — if the call errors, no credit is taken.
What happens when I run out?
Calls are refused with a message saying the monthly credit limit has been reached. Credits return on your renewal date, or you can upgrade for an immediate increase.
Both an exhausted balance and a per-minute rate limit return 429, and they need opposite
responses — backing off fixes a rate limit and does nothing at all for an empty balance. Tell
them apart with the x-api-remaining-credits response header: 0 means credits, anything else
means rate.
When do credits reset?
On your renewal date each month — signup anniversary on the free plan, subscription anniversary on a paid one. The exact date is in analytics.
Do unused credits roll over?
No. Each cycle starts fresh at your plan's allowance.
Can I see my usage?
Yes — in analytics. Pro and Mega also get the daily trend and the per-source breakdown.
It is also readable programmatically from the analytics endpoint, which is never billed.
What do the plans cost?
| Plan | Price | Credits / month | Rate limit | Concurrent calls |
|---|---|---|---|---|
| Free | Free | 100 | 5/min | 1 |
| Starter | $29.99/mo | 100,000 | 60/min | 5 |
| Pro | $99.99/mo | 500,000 | 180/min | 20 |
| Mega | $299.99/mo | 2,000,000 | No limit | 50 |
Current details are on pricing.
Can I change plan mid-cycle?
Yes. Upgrades apply immediately and are prorated; downgrades apply at the next cycle, so you keep what you have already paid for.
What payment methods do you take?
Major credit and debit cards, processed by Stripe. Enterprise customers can arrange invoicing — ask.
Do you offer refunds?
There is a 30-day money-back guarantee. Contact support and we will sort it out.
Can I cancel?
Any time, from billing. Access continues to the end of the period you have paid for, and the account then reverts to the free plan rather than being closed.
Technical
What are the rate limits?
A per-minute ceiling per plan, plus a limit on how many calls may be in flight at once:
| Plan | Rate limit | Concurrent calls |
|---|---|---|
| Free | 5/min | 1 |
| Starter | 60/min | 5 |
| Pro | 180/min | 20 |
| Mega | No limit | 50 |
When you hit one the response is a 429 carrying x-rate-limit-limit,
x-rate-limit-remaining and x-rate-limit-reset. See rate limits.
What response formats are available?
JSON by default, plus XML, YAML, CSV and Markdown through the Accept header. All five carry the
same envelope — see response format.
How do I handle errors?
Every response has status, error and data. Check status rather than whether data looks
populated — a lookup that legitimately found nothing is a success, not a failure.
| Status | Meaning |
|---|---|
400 | A parameter is wrong; the message names it |
401 | The key is not valid — the only status that means this |
403 | The key is valid but not allowed to make this call — scoping or an IP restriction |
404 | No such source on this door |
429 | Rate limit, or out of credits |
5xx | Our problem — retry with backoff |
Retry 429 and 5xx. Never retry a 400: it will fail identically the second time.
Errors covers each in full.
Do you support GraphQL?
Yes, in alpha — one request can query several endpoints at once. See GraphQL.
Do you support CORS?
The API does not accept browser requests, deliberately: any key in a page is a key your users can read. Call from your backend instead, or use an embedded form, which proxies server-side behind a domain allow-list. See CORS.
What is the maximum request size?
It depends on the endpoint rather than on your plan, because the constraint is what the endpoint
has to process — a CSV converter and a face detector have very different reasonable ceilings.
Where a limit applies it is on that endpoint's reference page, and exceeding it
returns 413.
What is the average response time?
It varies by source, and each reference page shows its own typical latency. Live figures are on status.apiverve.com.
What is the uptime?
We target 99.9%. status.apiverve.com carries live status, history and maintenance notices.
Can I use webhooks?
Not as a trigger — endpoints are request/response and nothing here calls you. If you need event-driven behaviour, run the call from a platform that does have triggers; see integrations.
Is there documentation for every source?
Yes. Every source has a reference page with its parameters, response fields, credit cost, typical latency and worked examples. Browse them from the catalog.
When something is wrong
My key is correct but I get a 403
A 403 never means "we do not recognise this key" — that is 401, and only 401. A 403 means
the key is real and the account is fine, but this particular call is not permitted: either the
source is blocked by key scoping, or the request came from an
address that is not on the key's IP allow-list.
Check the key's restrictions in the dashboard before you go looking for a credential problem. The most common cause is a scoped key meeting a source that was added to the integration later.
I get a 403 with an HTML page instead of JSON
That request never reached the API — it was stopped at the edge, which serves its own page
rather than our JSON envelope. Two causes, both about the header rather than the account: no
x-api-key header at all, or a key that is not the right shape, which usually means a truncated
paste, a literal YOUR_API_KEY left in, or an environment variable that resolved to empty.
In a browser this surfaces as an opaque network failure with no status to read, which is another reason not to call the API from a page — see CORS.
Everything returns 429 and backing off does not help
Then it is not the rate limit, it is the balance. Both return 429. Read
x-api-remaining-credits on the response: 0 means you are out of credits and no amount of
waiting inside the cycle will change it. Retrying in that state is actively harmful — it makes
no progress and fills your logs.
The analytics endpoint answers this question without spending anything, which makes it a good thing to call before a large job rather than during one.
A source is in the catalog but returns "not found"
Each brand serves its own subset, and a source that is not part of the door you are on behaves exactly like one that does not exist. That is deliberate: the answer does not reveal what you cannot reach. The catalog on this site is this door's catalog, so anything listed here is available to you.
A field the documentation mentions is missing
Premium fields are absent on plans that do not include them, rather than present and empty. That is deliberate: absent is unambiguous, whereas an empty value could mean "we looked and found nothing".
So test with a presence check rather than a null check:
if ('score' in data) { /* ... */ }Each reference page marks which fields are premium.
My integration broke suddenly and nothing changed on my side
The usual cause is a key rotation — it takes effect instantly and everywhere, so a rotation done for one system silently breaks every other system holding that key.
Connections saved in integration platforms are the ones most easily forgotten.
The response is truncated or the call times out
Some endpoints do real work — rendering a page, converting an image — and are slower than a lookup. Each reference page lists a typical latency. If you are calling through an integration platform connector, note those calls are cut off at 25 seconds regardless of your own timeout; use a plain HTTP step for the heavy endpoints.
How do I test my error handling without causing real errors?
Deliberately send an invalid parameter — a malformed email to a validator — and you will get a
genuine 400 you can code against, and it will not be billed. For the statuses that are harder
to provoke on purpose, a mock endpoint can return any status and body you
like, for nothing.
Account and support
What happens to my data if I downgrade or cancel?
The account reverts to the free plan rather than being deleted, and your key keeps working at free-plan limits. Features above that plan stop being available — sub-keys beyond the free allowance, the detailed analytics breakdown — but nothing is destroyed, and upgrading again restores access.
How do I upgrade?
From plans in the dashboard. It takes effect immediately.
Do you offer enterprise plans?
Yes — custom limits, SLA terms and dedicated support. Talk to us.
Can I request a new source?
Please do. Tell us what you need and what you would use it for. The use case matters more than the name, and a good one moves it up the list.
How do I delete my account?
Contact support and we will remove it, as described in the privacy policy.
How do I get help?
apiverve.com/contact — usually within a day on business days. For anything that looks like an outage, check status.apiverve.com first.
Next
Moving an integration from somewhere else? RapidAPI is the worked example, and migrations is the general cutover.
Quickstart is the fastest first call, and the glossary explains the terms used across these pages.