Methodology
How Open Domain Data is collected, verified, versioned and licensed. This document is normative for every dataset.
Overview#overview
Open Domain Data assembles records from public sources, live protocol queries and structured submissions. Every field records where it came from and when it was last checked. The project publishes data only — it does not score, rank or recommend registrars.
Data source hierarchy#sources
Five source classes are combined. Each contributes provenance to the sources field of a record. Higher-precedence sources override lower ones only when verified.
| Source | What it provides |
|---|---|
| public_documentation | Registrar help centers, API references and published pricing pages. |
| rdap_endpoints | Live queries against registrar and registry RDAP services. |
| iana_icann_references | Accreditation lists and the IANA RDAP bootstrap registry. |
| registrar_submissions | Structured submissions received via pull request or correction form. |
| independent_checks | Automated probes confirming documented capabilities against live services. |
Verification statuses#verification
Statuses are descriptive, not a quality rating. A record may move between statuses as it is checked.
| Status | Definition |
|---|---|
| unknown | No verification has been attempted for this record. |
| public_sources | Compiled from public documentation, pricing pages and registries. |
| independently_tested | Confirmed against live endpoints by Open Domain Data. |
| registrar_submitted | Submitted by the registrar; not yet independently checked. |
| registrar_verified | Submitted by the registrar and confirmed against live endpoints. |
| deprecated | No longer maintained; retained for historical reference. |
Field-level confidence#confidence
Verification is recorded per record, not per field. Where a single record contains fields from different sources, the lowest-confidence source for any required field governs the record-level status. Per-field provenance is available in the sources object on each record.
Update cadence#cadence
Independent checks run daily. Datasets are cut into versioned releases tagged YYYY.MM. Every release is immutable and downloadable; the latest release is served at the unversioned path.
Conflicts#conflicts
When sources disagree, the conflict is recorded rather than silently resolved. The record retains the most authoritative value and exposes the disagreement in its provenance, so downstream consumers can decide.
Corrections#corrections
Corrections are accepted via GitHub issue, pull request, or the correction form on each registrar page. A correction needs a record path, a field, a proposed value and a source link. Maintainers apply the correction and credit the contributor in the changelog.
Registrar submissions#submissions
Registrars may submit a capability matrix or correction set via pull request. Submitted records are marked registrar_submitted until independently verified, at which point they move to registrar_verified. Submissions are never silently merged.
Commercial separation#separation
Open Domain Data publishes structured datasets only. It does not rank registrars or recommend providers. Ranking and recommendation products are maintained separately and must disclose how they use this data.
Limitations#limitations
Coverage is shaped by what is publicly observable. Closed registrar APIs, region-locked pricing, and undocumented rate limits are recorded as unknown rather than guessed. Open Domain Data does not infer values from partial signals.
Reproducibility notes#reproducibility
Each release ships with the check scripts and source URLs used to produce it. Reruns against the same release tag produce the same artifacts; reruns against the latest release reflect any drift since the previous run.
Licensing#licensing
All datasets are published under CC BY 4.0. Attribution must cite Open Domain Data and the dataset version. Products that build rankings or recommendations on this data must disclose that they do so.