Developer Docs
FAQ
Browse documentation
Introduction
API Reference
Account & Billing
Common questions about billing, API keys, and troubleshooting. If something here doesn't cover your case, the rest of these docs go deeper — start with Getting Started.
How do I get an API key?
Create an APIonWeb account and verify your email, then create a key from Dashboard → API Keys. The full key is shown once, at creation — copy it immediately. See API Keys for details.
Why was I charged for a request?
You are billed only when a request returns a successful result — the amount matches the cost field in that request's response. See Usage & Billing for current per-category pricing.
Why wasn't I charged for a request that failed?
APIonWeb never bills a request that was rejected before processing (bad auth, invalid input, insufficient balance) or that failed due to an infrastructure problem. You only pay for a result that actually renders successfully.
What happens if a request fails?
You get an error response with a stable error.code, the right HTTP status, and a human-readable message — see Errors for the full list. For asynchronous jobs, a failure surfaces as status: "failed" on the status endpoint (or in your webhook payload) instead of a top-level HTTP error, since the job was already accepted.
Do I need a subscription or a plan?
No. APIonWeb has no subscriptions or monthly minimums — it's pure usage-based billing against your account balance. Recharge whenever you like, in amounts of $10 or more.
Is my image data stored?
APIonWeb fetches the image URLs you provide to generate a result and stores the rendered output so it can serve it back to you via result.image_url. Don't include images you aren't comfortable being processed and hosted this way, and avoid putting sensitive personal images behind permanent public URLs longer than necessary.
Can I use a file upload instead of a URL?
Not directly — person_image, product_image, and product_model are all URLs that APIonWeb's servers fetch. If you're working with user uploads, store the file somewhere reachable over HTTP(S) first (your own storage or a CDN), then pass that URL.
Why do I get a 429 when I still have balance?
Rate limiting and account balance are checked independently. A 429 rate_limit_exceeded means you sent too many requests to an endpoint too quickly — it has nothing to do with how much balance you have left. See Rate Limits.
How long does an asynchronous request take?
It depends on the category and current load — there's no fixed SLA documented here. Poll the status endpoint every couple of seconds, or better, supply a webhook_url and let APIonWeb notify you instead of polling.
Can I revoke a leaked API key?
Yes — revoke it immediately from Dashboard → API Keys. Revocation takes effect right away; any request made with that key afterward gets 401 invalid_api_key. Then create a new key and update your integration.