Skip to content

exists.ch API

1. Get a key

Upgrade on Pricing. After checkout you see your key once. Keep it somewhere safe, like a password. Lost it? Use Manage billing or email us.

2. Make a call

curl -s https://exists.ch/api/v1/check \
  -H "X-Exists-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"handle":"tidalux","domain":"tidalux.ch"}'

The key is enough on its own. You do not need to be signed in. domain is optional.

3. Read the answer

{
  "ok": true,
  "handle": "tidalux",
  "results": [
    {"id": "github", "label": "GitHub", "status": "exists", "url": "https://github.com/tidalux"},
    {"id": "x", "label": "X", "status": "not_found", "url": null},
    {"id": "instagram", "label": "Instagram", "status": "blocked", "url": null}
  ],
  "summary": {"exist": 1, "open": 1, "hidden": 1},
  "quota": {"type": "pro", "limit": 50, "used": 1, "remaining": 49},
  "ms": 840
}

Results above are an example of the shape, not a live answer.

Errors

HTTPerrorMeaning
400bad_handleThe handle is empty, too long or has characters no platform allows.
401invalid_keyThe key is wrong, or Pro is not active.
401authNo key, and not signed in.
405methodUse POST.
429rate_limitedMore than 30 calls a minute. Wait for Retry-After seconds.
429daily_limitToday's 50 checks are used. Resets at midnight UTC.

Good to know

A check, not legal clearance. Trade mark and company-name checks are indicative only.