scopeweb.io

The state of domain availability data

A frozen, hashed sample. A published harness. Dated runs kept rather than overwritten. And the findings against ourselves, first.

sample20 cases · 2026Q3.1
expected registered14
expected unregistered3
public runs0
latest public accuracy — no public run yet — dry runs stay owner-visible

Run it yourself

The sample and the harness are both published. Nothing here asks you to take our word for it.

git clone <this repo> && cd bench
python3 bench.py --sample sample.json    # sample 2026Q3.1
python3 report.py                        # renders the report

If a case looks wrong, say so and we will re-run it and publish the re-run. That is rule 7.

The sample

Frozen and hashed. Every case states why it is in there.

domainexpectedwhy it is in the sampletags
stowed.co registered bootstrap-absent TLD; resolves, so registered. The original false-unregistered case. bootstrap-absent regression
t.co registered bootstrap-absent TLD, 1-char label; GoDaddy .co endpoint 404s it despite registration. bootstrap-absent short-label partial-coverage
google.co registered bootstrap-absent TLD, high-profile; same false-404 class. bootstrap-absent partial-coverage
angel.co registered bootstrap-absent TLD; 404s on the rejected .co endpoint. bootstrap-absent partial-coverage
vibecode.me registered bootstrap-absent TLD, young registration (2025) sourced via CT logs. bootstrap-absent young-registration
vibe.me registered bootstrap-absent TLD, launch-era registration (2008). bootstrap-absent launch-era
google.sh registered bootstrap-absent TLD, rarely-supported ccTLD. bootstrap-absent rare-cctld
scopeweb.io registered bootstrap-absent TLD; registered 2026-08-20, same-day registration edge case. bootstrap-absent same-day
example.com registered IANA reserved-for-documentation, registered 1995. Ancient control. control ancient
ibm.com registered 1986 registration; oldest-era control. control ancient
zx.com registered 2-char .com; premium-tier profile. control short-label premium
zzqx7nvwplk39fake.com unregistered Gibberish control; must be unregistered on an authoritative endpoint. control negative
zzqx7nvwplk39fake.io unregistered Gibberish on a bootstrap-absent TLD. control negative bootstrap-absent
zzqx7nvwplk39fake.me unregistered Gibberish on a bootstrap-absent TLD. control negative bootstrap-absent
xn--bcher-kva.com unknown Punycode (bucher.com with umlaut). IDN handling. idn punycode
xn--fiqs8s.com unknown Punycode for a CJK label. idn punycode
a.com registered 1-char .com; registered 1993 but has no NS. Registered-yet-unresolvable. short-label no-ns
thisisaverylongdomainlabelusedtotestmaximumlengthhandlingxyz.com unknown 60-char label; near the 63-char DNS limit. long-label
start.co registered Resolves to a parking operator (sedoparking). Parked classification case. parked bootstrap-absent
lootlens.ai registered Registered, does not serve. Dormant classification case. dormant

The ledger

Every run, dated, kept. A dry run is owner-visible and never published as a score.

datemodesamplecorrectwrongabstainedexcluded
2026-09-19 dry 2026Q3.1 180 02
2026-08-20 dry 2026Q3.1 180 02
2026-08-20 dry 2026Q3.1 180 02

The method

  1. 1. Never benchmark a strawman — measure the thing people actually use.
  2. 2. Publish the harness. A number nobody can reproduce is an advertisement.
  3. 3. Freeze and hash the sample. A moving sample measures nothing.
  4. 4. Keep dated runs. Overwriting a run destroys the only trend you have.
  5. 5. An abstention is not a wrong answer, and must not be scored as one.
  6. 6. Say what you could not measure, and why.
  7. 7. Re-run anything a reader disputes, and publish the re-run.
  8. 8. Stay polite about competitors. The data is the argument.
  9. 9. Benchmark yourself hardest — findings against us go in the report.
  10. 10. A test that passes for the wrong reason is worse than a failing test.
  11. 11. The same trap returns wearing a different helper.
  12. 12. A check must be able to fail.

Rules 10 to 12 are about our own harness rather than anyone else's data. They are here because they cost us the most.