Registriert.ch — domain sniping from Switzerland

REST-API

JSON endpoints for developers: check the availability of .ch domains, browse expiring domains, get suggestions.

🔑 New from 13 October 2026: regular use requires a personal API key. The Starter key is free and requested in a minute.

Plans

Starter
free
 
250
Requests per day
Pro
CHF 29
per month
10,000
Requests per day
or CHF 290 with annual billing – 2 months free
Business
CHF 99
per month
50,000
Requests per day
or CHF 990 with annual billing – 2 months free
plus bulk checks

Without a key: 20 checks, 200 searches and 500 suggestions per day and IP – to try it out.

Need more volume or a custom solution? Write to us: info@registriert.ch

Request a key

Starter: the key arrives immediately by email. Pro and Business: enter your billing address and pay by card or TWINT (or by QR invoice) – the key arrives automatically after payment.

Authentication

Send your key in the X-API-Key header (alternatively “Authorization: Bearer …” or the key= parameter). Every response contains X-RateLimit-Limit and X-RateLimit-Remaining.

curl -H 'X-API-Key: reg_…' 'https://registriert.ch/api/check.php?domain=hotel'
GET /api/check.php

Live availability check for a .ch domain: status, expiry date from our list and alternatives.

Parameters

  • domain — required, e.g. hotel or hotel.ch

Example

curl -H 'X-API-Key: reg_…' 'https://registriert.ch/api/check.php?domain=hotel'

Response

{
  "ok": true,
  "name": "hotel.ch",
  "available": false,
  "in_db": false,
  "premium": false,
  "expiry_date": null,
  "whois": { "registrar": "..." },
  "alternatives": [
    { "name": "hotel-ch.ch", "source": "marktplatz_frei" }
  ]
}
GET /api/search.php

Search the marketplace of expiring domains with filters (length, score, word patterns). Without a key: max. 60 results per page and 10 pages.

Parameters

  • q — search term
  • len — 3, 4, 5, 6, 7, 8+
  • timing — today, 48h, past, all
  • starts, contains, ends
  • score_min, score_max — 0–100
  • no_numbers, no_hyphens — 0 / 1
  • offset
  • limit — results per page (max. 120)

Example

curl -H 'X-API-Key: reg_…' 'https://registriert.ch/api/search.php?q=hotel&len=5&score_min=40'

Response

{
  "total": 234,
  "offset": 0,
  "limit": 60,
  "results": [
    { "name": "hotel.ch", "expiry_date": "2026-11-04", "score": 72, "auction": null }
  ]
}
POST /api/bulk.php

Bulk check (Business plan): up to 100 domains per call, each counts as 1 request.

Parameters

  • domains — JSON list, max. 100 (with or without .ch)

Example

curl -X POST -H 'X-API-Key: reg_…' -H 'Content-Type: application/json' \
  -d '{"domains":["hotel","beispiel.ch"]}' https://registriert.ch/api/bulk.php

Response

{
  "ok": true,
  "count": 2,
  "results": [
    { "name": "hotel.ch", "available": false },
    { "name": "beispiel.ch", "available": false }
  ]
}
GET /api/suggest.php

Fast suggestions for domain search (max. 8, Premium first).

Parameters

  • q — required, at least 2 characters

Example

curl -H 'X-API-Key: reg_…' 'https://registriert.ch/api/suggest.php?q=hot'

Response

{
  "ok": true,
  "items": [
    { "name": "hotelblick.ch", "type": "premium" },
    { "name": "hotelluzern.ch", "expiry_date": "2026-11-01", "type": "expiring" }
  ]
}

Error codes

  • 401 invalid_key — Unknown key
  • 403 key_disabled — Key disabled
  • 429 daily_limit / key_required — Daily quota reached (resets at midnight, Swiss time)

Fair use

  • • Please cache check results locally – every request triggers a live check with the registry.
  • • No parallel mass requests; for large lists use bulk checks in the Business plan.
  • • The data may be used in your own applications, but not resold as a list.
  • • Questions? info@registriert.ch