Skip to main content
A Domain is a hostname an account holds on Whop. Its capabilities set what Whop does with it: registration buys the domain through Whop, runs its DNS, and renews it every year; verification connects a domain registered elsewhere once you publish the DNS records it returns, and expires if ownership is not proven within 48 hours; website serves one of the account’s apps on it. Use the Domains API to search for a domain to buy, buy or connect one, serve a website on it, and check its DNS, payment, and renewal state. Thirty days before a bought domain expires, Whop opens a renewal charge at purchase_url and, while auto_renew is on, charges the saved card. An unpaid domain stops serving when it expires but stays renewable at purchase_url until the registry’s grace period ends, and is then removed.

Endpoints

Attributes

string | null
required
Domain ID, prefixed dom_. null when no domain on Whop has this hostname.
string | null
required
ID of the account the domain belongs to, prefixed biz_.
object | null
required
Offering Apple Pay at checkouts served from the domain. null when not enrolled or not visible to you.

Properties

string
required
pending while Whop registers the domain with Apple, ready once Apple verified it, and action_required when Apple couldn’t; its issue says how to fix it. releasing while Whop removes it from Apple.Available options: pending, ready, action_required, releasing
object | null
required
Whether you can register the hostname and what it costs. Set only when no domain on Whop has it.

Properties

boolean
required
Whether the domain can be registered now.
boolean
required
Whether the registry charges more than its standard price for this domain.
object | null
required
What the first year of registration costs. null when the domain is not available.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
object | null
required
What each yearly renewal costs after the first year. null when the domain is not available.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
integer
required
How desirable the domain is, from 0 to 100. Short, real-word names on well-known extensions score highest.
object | null
required
What moving the domain to Whop costs if it’s registered elsewhere. null when it’s available or can’t be transferred.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
string | null
required
When the domain was created, as an ISO 8601 timestamp.
string
required
Normalized hostname, such as checkout.example.com.
object | null
required
Sending and receiving email on the domain through Whop. null when not wanted, or when the domain belongs to an account you can’t read.

Properties

string
required
pending while Whop sets the domain up with its email provider and publishes its DNS records, ready once the provider verified them, and action_required when it couldn’t; its issue says what happens next. releasing while Whop removes email from the domain.Available options: pending, ready, action_required, releasing
object[]
required
What needs attention, each tagged with its capability. Empty when nothing does or when the domain isn’t yours.

Properties

string
required
The capability the issue is about.Available options: verification, registration, platform, website, apple_pay, pixel, email
string
required
What needs attention, as a stable code.Available options: verification_required, verification_expired, ownership_conflict, ownership_lost, dns_required, provider_validation, certificate_pending, expiring_soon, account_unavailable, check_failed, purchase_expired, domain_unavailable, unsupported_tld, registration_unavailable, registration_failed, renewal_failed, payment_action_required, domain_on_whop, transfer_payment_expired, domain_transfer_unavailable, transfer_locked, transfer_auth_code_rejected, transfer_approval_pending, transfer_rejected, transfer_not_cancellable, domain_transfer_failed, apple_pay_unverified, pixel_not_seen, pixel_not_installed, pixel_waiting, pixel_unreachable, pixel_quiet, email_needs_whop_dns, email_unreachable, email_identity_in_use, email_verification_failed
string | null
required
Code to add to the site to fix the issue, ready to copy. null when the issue needs none.
object[]
required
DNS records to publish to fix the issue. Empty when the issue needs no DNS change.

Properties

string
required
Full hostname where the record must be published.
string
required
DNS record type.Available options: TXT, CNAME, A, AAAA
string
required
DNS record content.
string
required
What needs attention and how to fix it.
object
required
Custom string keys and values attached to this domain. Empty when the domain isn’t yours.
object | null
required
The account that has proven it owns this hostname on Whop, which can be your own. null when no account has.

Properties

string
required
ID of the account that owns the domain, prefixed biz_.
string | null
required
Account logo image URL.
string
required
Account public route identifier.
string
required
Account display name.
object | null
required
Tracking page views on the domain with the Whop pixel. null when not tracked or not visible to you.

Properties

string
required
ready while the Whop pixel recorded a page view on the domain in the last 7 days. pending until a pixel you asked for records its first one, and action_required once it goes 7 days without one; its issue says what to do.Available options: pending, ready, action_required
object | null
required
An address on a zone Whop runs, such as example.whop.site, that follows its app’s route. null for other domains or when not visible to you.

Properties

string
required
Whether Whop holds this address for the account. A platform address is ready as soon as its route is claimed.Available options: pending, ready, action_required, releasing
object | null
required
The domain’s public registration record (RDAP), read when you retrieve it by hostname. null for domains on Whop, available domains, or a record that couldn’t be read.

Properties

boolean | null
required
Whether the domain’s delegation is signed with DNSSEC, or null when the registry doesn’t say.
string | null
required
When the current registration expires, as an ISO 8601 timestamp, or null when the record omits it.
string[]
required
The name servers the domain delegates to, lowercase, such as ns1.example.com. Empty when the record lists none.
string | null
required
When the domain was first registered, as an ISO 8601 timestamp, or null when the record omits it.
object | null
required
Who the domain is registered to, often a privacy service or Redacted For Privacy. null when the record publishes no registrant.

Properties

string | null
required
Registrant postal address as published, with lines separated by line breaks. Often only a state or region. null when withheld.
string | null
required
A web form for contacting the registrant, published when the registrar withholds their email. null when there is none.
string | null
required
Registrant country as an ISO 3166-1 alpha-2 code, such as US, or null when withheld.
string | null
required
Registrant email address, often a privacy forwarding address, or null when withheld.
string | null
required
Registrant name, or null when withheld.
string | null
required
Registrant organization, often a privacy service, or null when withheld.
string | null
required
Registrant phone number, or null when withheld.
object | null
required
The registrar that manages the domain, or null when the record doesn’t name one.

Properties

string | null
required
The registrar’s IANA registrar ID, or null when the record omits it.
string
required
Registrar name, such as GoDaddy.com, LLC.
string | null
required
The registrar’s website, or null when the record omits it.
string[]
required
The domain’s registry statuses in RDAP form, such as client transfer prohibited. Empty when the record lists none.
string | null
required
When the registration record last changed, as an ISO 8601 timestamp, or null when the record omits it.
object | null
required
Buying the domain through Whop, renewing it, and running its DNS. null when not wanted or not visible to you.

Properties

object | null
required
What the domain owes now. null when nothing is owed.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
boolean
required
Whether Whop charges the saved payment method to renew the domain before it expires.
string | null
required
When the registration expires unless renewed, as an ISO 8601 timestamp. null until it’s registered.
string
required
How the domain came to Whop: registration when it was bought through Whop, transfer when it was moved from another registrar.Available options: registration, transfer
string | null
required
ID of the saved card charged for the domain, prefixed payt_. null when none is set.
string
required
Where the registration is: awaiting payment, ordering at the registrar, transferring from another registrar, delegating DNS to Whop, held, expired, or releasing.Available options: awaiting_payment, ordering, transferring, delegating, held, expired, failed, releasing
string | null
required
Link to pay what the domain owes now: its registration or transfer, or a yearly renewal. null when nothing is owed.
string
required
How far registering and keeping the domain has got.Available options: pending, ready, action_required, releasing
object | null
required
Traffic on the domain. null when the domain isn’t on Whop or isn’t visible to you.

Properties

integer
required
People who viewed a page on the domain with the Whop pixel in the last 7 days, refreshed hourly.
string | null
required
The most pressing state of the domain’s capabilities: releasing, then action_required, then pending, then ready. idle when it wants nothing.Available options: idle, pending, ready, action_required, releasing
string | null
required
When the domain was last updated, as an ISO 8601 timestamp.
object | null
required
Proving you control the domain’s DNS with a TXT record. null when not wanted or not visible to you.

Properties

string
required
How far proving verification has got.Available options: pending, ready, action_required, releasing
string | null
required
When an unproven claim is removed, 48 hours after it was made, as an ISO 8601 timestamp.
object | null
required
Serving a Whop website on the domain. null when not wanted.

Properties

object | null
required
The app the domain serves. null until you choose one; the domain shows a placeholder page meanwhile.

Properties

string
required
App ID, prefixed app_.
string | null
required
The production base URL where the app is hosted. null if no base URL is configured or the domain isn’t yours.
string
required
How far serving the website has got.Available options: pending, ready, action_required, releasing
Domain