developers

Developer reference

A static-first, read-only data layer over every dataset. Open data — no authentication is required to read.

base urlhttps://api.opendomaindata.org/v1static basehttps://opendomaindata.org/api

Introduction#introduction

Every dataset is published as a static JSON file plus a CSV mirror. Responses are JSON by default; append .csv to any collection for CSV. Every file includes the dataset version and a last_checked timestamp. The API is versioned in the path; v1 is stable.

Static JSON endpoints#static

Bulk downloads#downloads

registrars.json · 2,841 records registrar_api_capabilities.json · 612 records dns_capabilities.json · 612 records tld_pricing.json · 48,260 records rdap_metadata.json · 1,517 records registrar_security_contacts.json · 2,610 records agent_capability_signals.json · 612 records

Schemas#schemas

registrar.schema.json api-capabilities.schema.json dns-capabilities.schema.json pricing.schema.json

Authentication#auth

Reads are public and unauthenticated. An optional API token raises rate limits and is sent as a bearer header. Tokens never grant write access — corrections are submitted via GitHub.

Endpoints#endpoints

MethodPathDescription
GET/v1/datasetsList all datasets with metadata.
GET/v1/datasets/{name}Dataset metadata, schema and provenance.
GET/v1/datasets/{name}/recordsPaginated records for a dataset.
GET/v1/registrars/{id}Single registrar entity record.
GET/v1/schemas/{name}JSON Schema for a dataset.
// request
curl https://api.opendomaindata.org\
  /v1/datasets/registrars/records\
  ?country=US&limit=2
// response
{
  "dataset": "registrars",
  "version": "2026.05",
  "count": 2,
  "records": [
    { "id": "cloudflare-registrar", "iana_id": 1910 },
    { "id": "namecheap", "iana_id": 1068 }
  ]
}

Pagination#pagination

Collections accept limit (default 100, max 1000) and cursor parameters. The cursor for the next page is returned in links.next. Bulk consumers should prefer the static JSON file.

Formats#formats

JSON

default response format

CSV

append .csv to any collection

llms.txt

plain-text index for language models

openapi.json

machine-readable API description

Rate limits#ratelimits

Unauthenticated: 60 req/min. With a token: 600 req/min. Bulk consumers should download the versioned dataset files rather than paginating the API.

Citation#citations

Cite the dataset, version and retrieval date. Example:

Open Domain Data (2026). registrars, v2026.05.
opendomaindata.org/datasets/registrars. Retrieved 2026-06-01. CC-BY-4.0.

Roadmap#roadmap

Planned, in roughly the order they will land: published OpenAPI spec, language client packages, an MCP server exposing the catalog to AI agents, and an agent capability card. Roadmap items are advisory; specifics will be decided in the open via GitHub issues.