Skip to content

Releases: rdapapi/python-sdk

v0.5.0

24 Apr 21:08

Choose a tag to compare

TLD catalog endpoints

Two new methods list the TLDs the API can resolve and how often each registry's RDAP server populates common fields. Neither endpoint counts against your monthly quota.

tlds = api.tlds()
print(f"{tlds.meta.count} TLDs, coverage {tlds.meta.coverage:.0%}")

for tld in tlds.data:
    if tld.field_availability is not None:
        print(f"{tld.tld}: expires_at={tld.field_availability.expires_at}")

Filters: since (ISO 8601), server (hostname). Pass the previous etag via if_none_match to skip unchanged transfers. The method returns None on HTTP 304.

later = api.tlds(if_none_match=tlds.etag)
com = api.tld("com")

AsyncRdapApi exposes the same methods.

NotSupportedError

A new NotSupportedError subclass of NotFoundError is raised on HTTP 404 when the API returns error: "not_supported" (no RDAP coverage for the TLD, IP range, or ASN range). Existing except NotFoundError blocks keep working.

from rdapapi import NotFoundError, NotSupportedError

try:
    api.domain("example.nope")
except NotSupportedError:
    print("TLD not covered by RDAP")
except NotFoundError:
    print("Domain not registered")

Install

pip install --upgrade rdapapi

v0.4.0

17 Mar 13:04

Choose a tag to compare

Full Changelog: v0.3.0...v0.4.0

v0.3.0

28 Feb 10:25

Choose a tag to compare

What's New

  • Date convenience properties on Dates: registered_at, expires_at, updated_at (datetime) and expires_in_days (int)

v0.2.0

25 Feb 19:36

Choose a tag to compare

Full Changelog: v0.1.0...v0.2.0

v0.1.0

24 Feb 16:16

Choose a tag to compare

Initial release of the official Python SDK for the RDAP API.

Features

  • Sync and async clients (RdapApi and AsyncRdapApi)
  • All 5 RDAP lookup types: domain, IP, ASN, nameserver, entity
  • Registrar follow-through for thin registries (follow=True)
  • Typed Pydantic models with full autocomplete support
  • Typed exceptions for all API error codes (401, 403, 404, 429, 502)
  • Python 3.9 – 3.13

Installation

pip install rdapapi

Quick start

from rdapapi import RdapApi

api = RdapApi("your-api-key")
domain = api.domain("google.com")
print(domain.registrar.name)  # "MarkMonitor Inc."

Full documentation at rdapapi.io/docs