Introduction
Ksty.ch is one account and one key for hundreds of APIs across every category. This guide covers the base URL, authentication, billing and errors — everything you need before your first call. Browsing the docs never requires a login.
One account, many APIs
Each API in the catalog is an independent service with its own endpoints, parameters and price — but they all sit behind a single gateway and a single identity. You integrate once: the auth header, the error shape and the billing model never change as you add more APIs. Pick any API from the sidebar to read its full reference.
X-Api-Key header works for every API you have access to.Base URL
Every API is served from a single stateless gateway. Address an API by its slug, and a specific endpoint on that API with dot notation (slug.endpoint). There are no per-vendor hosts to manage.
The gateway accepts both GET and POST for every endpoint. Use query-string parameters for GET, or a form / JSON body for POST — they are read identically.
Quick start
New accounts get 500 free credits at signup, so you can build before you pay. Call any endpoint with your key in the X-Api-Key header — a first successful call takes under a minute.
X-Api-Key header on any request.Authentication
All requests are authenticated with an API key sent in the X-Api-Key header. Keys come in live and test modes and are shown in plaintext only once — at creation.
Never send your key as Authorization: Bearer — that header is reserved by the platform. Always use X-Api-Key.
Credits & billing
Usage is metered in credits — no subscriptions, no per-API contracts. 1 USD = 1,000 credits, and every successful live call tells you exactly what it cost in the response headers.
Credits are drawn in a fixed order so free and expiring balances are always spent before money you paid:
If your balance is too low to cover a call, the gateway returns 402 insufficient_credits and nothing is charged — the call never reaches the upstream.
Errors
Every error from the gateway is JSON with a stable machine-readable code, a human message and the request id. Branch on error.code — never on the message text, which may change.
If an upstream fails after you were charged, the credits are refunded automatically — so it is always safe to retry a 502.