The DomDB API is a REST-like HTTP interface for obtaining data and performing actions programmatically.
API keys can be created and managed in Account > API.
All API methods accept and return JSON content.
All requests must:
• be made via HTTP POST.
• have this HTTP header set: Content-Type: application/json set.
• have your API keys set in apiKeyPublic and apiKeyPrivate fields of the JSON body.
API endpoint pattern:
https://api.domdb.com/v1/{context}/{action}
Example request made with cURL:
curl -X POST https://api.domdb.com/v1/platform/getAll -H 'Content-Type: application/json' -d '{"apiKeyPublic":"YOUR-PUBLIC-KEY","apiKeyPrivate":"YOUR-PRIVATE-KEY"}'
Example JSON response:
{
"errors": [],
"data": [
{
"id": 1,
"active": true,
"type": "registrar",
"name": "iwantmyname",
"display": "iwantmyname"
},
{
"id": 2,
"active": true,
"type": "registrar",
"name": "gandi",
"display": "Gandi.net"
},
...
]
}
This API is still under active development and subject to change: new methods and data points may be added, but backwards compatibility will be retained. Follow on X.com or subscribe to the newsletter to get notified of updates.
The following rate limits are enforced to prevent abuse and maintain service quality:
Pass your public API key and private API key in every request's JSON body using the apiKeyPublic and apiKeyPrivate fields, respectively.
All API requests must include your public and private API keys.
Example JSON request body containing API keys:
page.api_docs_v1.authentication_body.3
{
"apiKeyPublic": "26LURXY-7X4EPWQ-XV6J2FQ-WOVVKNY",
"apiKeyPrivate": "2995ff6c-02ac-4bef-9f07-77299f432073"
}
All successful API responses have a standard 200 status code set in the HTTP header, while error responses have a summary 4xx or 5xx status code based on the error(s) that occurred. All responses return a JSON encoded body, example structure:
{
"errors": [],
"duration": 0.61,
"data": []
}
| Field | Type | Description |
|---|---|---|
| errors | array of objects | Response data for the API method call. The type varies based on the API method. |
| duration | number | The amount of time, in seconds, that the API server took to generate a response. |
| data | object | array | null | Response data for the API method call. The type varies based on the API method. |
Error responses have a summary HTTP status code (4xx or 5xx) set in the HTTP response header. Additionally, the JSON response body will contain an errors field that is an array of one or more error objects, with code/message/parameter fields, that further describe the issue(s).
Example cURL request with invalid API keys in the apiKeyPublic and apiKeyPrivate parameter fields:
curl -X POST https://api.domdb.com/v1/platform/getAll -H 'Content-Type: application/json' -d '{"apiKeyPublic":"bad-public-key","apiKeyPrivate":"bad-private-key"}'
Example response:
{
"errors": [
{
"code": "AUTH_INVALID",
"message": "the provided apiKeyPublic/apiKeyPrivate are not valid",
"parameter": [
"apiKeyPrivate",
"apiKeyPublic"
]
}
],
"duration": 1.603,
"data": null
}
| Field | Type | Description |
|---|---|---|
| code | string | integer | Unique code identifying the type of error that occurred. |
| message | string | Human readable description of the error. |
| parameter | array of strings | (optional) The request's parameter fields that were missing or invalid. |
Common error codes and their descriptions:
| Code | Description |
|---|---|
| 502 | The API server is temporarily unavailable. |
| ACCOUNT_INACTIVE | Client's account is no longer active and an upgrade/subscription is required for API access. |
| AUTH_INVALID | Authentication failed: the provided API keys are inactive or invalid. |
| CLIENT_IPS_EXCEEDED | The maximum unique client IPs allowed to access the API for the provided API keys has been exceeded. |
| DOMAIN_NOT_FOUND | No data is available for the requested domain name. |
| INVALID_METHOD | The requested API method doesn't exist. |
| NO_ACCESS | The associated user's account level does not grant API access. An account upgrade/subscription is required for API access. |
| PARAMETER_INVALID | A parameter provided by the client was invalid. |
| PARAMETER_REQUIRED | A parameter required by the called method was not provided by the client. |
| RATE_LIMITED | Number of client API requests exceeded allowed maximum. |
| REQUEST_ENDED_BY_CLIENT | The request was terminated by the client before a response could be generated. |
| RESPONSE_TIMEOUT | The API server timed out while generating a response. |
| SYSTEM | An unrecognized system error occurred. |
| USER_INACTIVE | The associated user account is not active and requires an active subscription. |
All methods are organized by object (domain, platform, etc.), followed by the relate action to be performed (get, getAll, etc).
Returns data for a single domain name:
curl -X POST https://api.domdb.com/v1/domain/get -H 'Content-Type: application/json' -d '{"apiKeyPublic":"YOUR-PUBLIC-KEY","apiKeyPrivate":"YOUR-PRIVATE-KEY", "domain": "ad212.com"}'
{
"errors": [],
"data": {
"aftermarkets": [
{
"canMakeOffer": false,
"fastTransfer": true,
"platformDisplay": "Afternic",
"platformId": 69,
"platformName": "afternic",
"price": "3495.00",
"priceCurrencyCode": "USD",
"serviceType": "buy_it_now"
},
{
"canMakeOffer": false,
"fastTransfer": true,
"listedAt": "2018-09-24T20:18:03Z",
"platformDisplay": "Sedo",
"platformId": 72,
"platformName": "sedo",
"price": "795.00",
"priceCurrencyCode": "USD",
"serviceType": "buy_it_now"
},
{
"canMakeOffer": false,
"platformDisplay": "HugeDomains",
"platformId": 81,
"platformName": "hugedomains",
"price": "3495.00",
"priceCurrencyCode": "USD",
"serviceType": "buy_it_now"
}
],
"aftermarketsHistory": [
{
"canMakeOffer": false,
"events": [
"PRICE_ADDED",
"PLATFORM_ADDED"
],
"platformDisplay": "Sedo",
"platformId": 72,
"platformName": "sedo",
"price": "1595.00",
"priceCurrencyCode": "USD",
"serviceType": "buy_it_now",
"timestamp": "2025-02-11T20:43:28Z"
},
{
"canMakeOffer": false,
"events": [
"PRICE_CHANGED"
],
"platformDisplay": "Sedo",
"platformId": 72,
"platformName": "sedo",
"price": "795.00",
"priceCurrencyCode": "USD",
"serviceType": "buy_it_now",
"timestamp": "2025-07-12T01:30:02Z"
},
{
"canMakeOffer": false,
"events": [
"PRICE_ADDED",
"PLATFORM_ADDED"
],
"platformDisplay": "Afternic",
"platformId": 69,
"platformName": "afternic",
"price": "795.00",
"priceCurrencyCode": "USD",
"serviceType": "buy_it_now",
"timestamp": "2025-10-02T10:31:14Z"
},
{
"canMakeOffer": false,
"events": [
"PRICE_ADDED",
"PLATFORM_ADDED"
],
"platformDisplay": "HugeDomains",
"platformId": 81,
"platformName": "hugedomains",
"price": "795.00",
"priceCurrencyCode": "USD",
"serviceType": "buy_it_now",
"timestamp": "2025-10-19T22:46:11Z"
},
{
"canMakeOffer": false,
"events": [
"PRICE_CHANGED"
],
"platformDisplay": "Afternic",
"platformId": 69,
"platformName": "afternic",
"price": "3495.00",
"priceCurrencyCode": "USD",
"serviceType": "buy_it_now",
"timestamp": "2025-11-01T10:31:24Z"
},
{
"canMakeOffer": false,
"events": [
"PRICE_CHANGED"
],
"platformDisplay": "HugeDomains",
"platformId": 81,
"platformName": "hugedomains",
"price": "3495.00",
"priceCurrencyCode": "USD",
"serviceType": "buy_it_now",
"timestamp": "2025-11-05T13:06:51Z"
},
{
"canMakeOffer": false,
"events": [
"PRICE_CHANGED"
],
"platformDisplay": "Sedo",
"platformId": 72,
"platformName": "sedo",
"price": "3495.00",
"priceCurrencyCode": "USD",
"serviceType": "buy_it_now",
"timestamp": "2025-11-07T02:30:02Z"
},
{
"canMakeOffer": false,
"events": [
"PRICE_CHANGED"
],
"platformDisplay": "Sedo",
"platformId": 72,
"platformName": "sedo",
"price": "795.00",
"priceCurrencyCode": "USD",
"serviceType": "buy_it_now",
"timestamp": "2025-11-08T02:00:02Z"
},
{
"canMakeOffer": false,
"events": [
"PRICE_CHANGED"
],
"platformDisplay": "Sedo",
"platformId": 72,
"platformName": "sedo",
"price": "795.00",
"priceCurrencyCode": "USD",
"serviceType": "buy_it_now",
"timestamp": "2025-11-15T02:00:02Z"
},
{
"canMakeOffer": false,
"events": [
"PRICE_CHANGED"
],
"platformDisplay": "Sedo",
"platformId": 72,
"platformName": "sedo",
"price": "3495.00",
"priceCurrencyCode": "USD",
"serviceType": "buy_it_now",
"timestamp": "2025-11-18T02:30:02Z"
},
{
"canMakeOffer": false,
"events": [
"PRICE_CHANGED"
],
"platformDisplay": "Sedo",
"platformId": 72,
"platformName": "sedo",
"price": "795.00",
"priceCurrencyCode": "USD",
"serviceType": "buy_it_now",
"timestamp": "2025-11-22T02:00:02Z"
},
{
"canMakeOffer": false,
"events": [
"PRICE_CHANGED"
],
"platformDisplay": "Sedo",
"platformId": 72,
"platformName": "sedo",
"price": "3495.00",
"priceCurrencyCode": "USD",
"serviceType": "buy_it_now",
"timestamp": "2025-11-25T08:30:02Z"
}
],
"availability": "aftermarket",
"characterCount": 8,
"domain": "ad212.com",
"extension": "com",
"extensionType": "gtld",
"labelCharacterCount": 5,
"labelCharacterPattern": "VCNNN",
"labelType": "5C",
"pronounceability": [
{
"score": "0.636837000",
"locale": "en-US"
}
],
"registrars": [],
"registryPremium": false,
"url": "https://domdb.com/ad212.com",
"viewCount": 1
},
"duration": 0.344
}
| Field | Type | Description |
|---|---|---|
| domain | string | The domain name to lookup. IDN domains can be passed as either Unicode or punycode strings. |
The response body's data field is an object populated with data related to the requested domain name.
| Field | Type | Description |
|---|---|---|
| aftermarkets | array of objects | Array of objects containing current aftermarket listings for the domain. Each object represents the domain's listing on a specific aftermarket. |
| aftermarkets[].canMakeOffer | boolean | true if the listing allows buyers to submit custom purchase offers to the seller, otherwise false. |
| aftermarkets[].currencyOriginalCode | string | The 3 character ISO 4217 currency code of the listing's original currency. Examples: "EUR", "GBP", etc. Not present if the original listing's currency is "USD". |
| aftermarkets[].currencyOriginalPrice |
string (number)
precision 14, scale 2 |
The "Buy It Now" price in the listing's original currency (no currency conversion to USD applied). Not present if the original listing's currency is USD. See price field for USD price. |
| aftermarkets[].currencyOriginalRate |
string (number)
precision 9, scale 6 |
The exchange rate used to convert the listings original prices to USD. Not present if the original listing's currency is "USD" |
| aftermarkets[].fastTransfer | boolean | If the listing supports fast transfer of domain ownership from the seller's registrar to the buyer's registrar. Not present if unknown. |
| aftermarkets[].listedAt | string | The ISO 8601 UTC timestamp of when the domain was listed on the platform. Not present if unknown. |
| aftermarkets[].offerMinimum |
string (number)
precision 14, scale 2 |
The minimum allowed purchase offer price for negotiable domains. Not present if buyers cannot submit offers or unknown. |
| aftermarkets[].platformDisplay | string | The aftermarket's human readable name suitable for publication. |
| aftermarkets[].platformId | integer | Unique identifier of the aftermarket. |
| aftermarkets[].platformName | string | Lowercased string name of the platform. It is not recommended to use this as a permanent unique identifier as it may change if the aftermarket rebrands its name (use the platformId instead). |
| aftermarkets[].price |
string (number)
precision 14, scale 2 |
The "Buy It Now" (BIN) price of the domain listing. All prices are in US dollars (USD), and is further reiterated via the priceCurrencyCode field. Prices for listings in currencies other than USD have been converted to USD. Not present for "Make Offer" domains with no BIN price. |
| aftermarkets[].priceAsking |
string (number)
precision 14, scale 2 |
The seller's "Asking Price" that typically gives the buyer an estimate as to the price the seller might accept for "Make Offer" domains. Not present if non-existent or unknown. |
| aftermarkets[].priceCurrencyCode | string | The 3 character ISO 4217 currency code of the prices (price, priceAsking, offerMinimum, etc.) fields. Currently this value is always "USD" |
| aftermarkets[].serviceType | string | Descriptor of how the domain is listed on the platform:buy_it_now listing can be purchased immediately for a set price, or optionally negotiated for an agreed upon price. See price and canMakeOffer fields to determine the distinction.auction (coming soon) service where the platform advertises the seller's domain for sale for a certain period of time, and buyers submit price bids, the highest bidder wins ownership of the domain name. |
| aftermarketsHistory | array of objects | Array of objects containing historical events for the domain's aftermarket listings. Each object represents a historical event on a specific aftermarket platform (price change, listed on platform, removed from platform, etc) and is identical to the aftermarkets objects, but with 2 additional fields: events and timestamp. |
| aftermarketsHistory[].events | array of strings | Array of strings describing the event(s) that occurred: PRICE_ADDED domain listing has new "Buy It Now" (BIN) price (brand new listing or no prior BIN price on the listing). Related field: pricePRICE_CHANGED domain listing's existing "Buy It Now" (BIN) price changed to a new price, related field: pricePRICE_REMOVED domain listing's existing "Buy It Now" (BIN) price was removed from the listing, related field: pricePRICE_CURRENCY_CHANGED the currency of the domain listing's "Buy It Now" price changed to a different currency, related field: priceCurrencyCodePRICE_ASKING_ADDED domain listing has new asking price (brand new listing or no prior asking price, related field: priceAskingPRICE_ASKING_CHANGED domain listing's existing asking price changed to a new asking price, related field: priceAskingPRICE_ASKING_REMOVED domain listing's existing asking price was removed from the listing, related field: priceAskingPLATFORM_ADDED domain was listed for sale on the aftermarketPLATFORM_REMOVED domain's listing was removed from the aftermarketOFFER_MIN_ADDED a minimum allowed purchase offer price was added to the domain's listing, related field: offerMinimumOFFER_MIN_CHANGED the existing minimum allowed purchase offer price on the domain's listing changed, related field: offerMinimumOFFER_MIN_REMOVED the existing minimum allowed purchase offer price on the domain's listing was removed, related field: offerMinimum |
| aftermarketsHistory[].timestamp | string | The ISO 8601 UTC timestamp of the aftermarket event. |
| aftermarketsHistory[].canMakeOffer | boolean | See canMakeOffer |
| aftermarketsHistory[].currencyOriginalCode | string | See currencyOriginalCode |
| aftermarketsHistory[].currencyOriginalPrice |
string (number)
precision 14, scale 2 |
See currencyOriginalPrice |
| aftermarketsHistory[].currencyOriginalRate |
string (number)
precision 9, scale 6 |
See currencyOriginalRate |
| aftermarketsHistory[].fastTransfer | boolean | See fastTransfer |
| aftermarketsHistory[].offerMinimum |
string (number)
precision 14, scale 2 |
See offerMinimum |
| aftermarketsHistory[].platformDisplay | string | See platformDisplay |
| aftermarketsHistory[].platformId | integer | See platformId |
| aftermarketsHistory[].platformName | string | See platformName |
| aftermarketsHistory[].price |
string (number)
precision 14, scale 2 |
See price |
| aftermarketsHistory[].priceAsking |
string (number)
precision 14, scale 2 |
See priceAsking |
| aftermarketsHistory[].priceCurrencyCode | string | See priceCurrencyCode |
| aftermarketsHistory[].serviceType | string | See serviceType |
| availability | string | The current availability status of the domain name:unavailable domain is not available for purchase or registration (already registered, reserved by registry, restricted by registry, etc).unregistered domain is available for registration.aftermarket domain is available for purchase on an aftermarket platform. |
| characterCount | integer | Number of characters in the entire domain name, excluding all dots ("."). Multi-byte emojis and symbols (graphemes) are counted as single characters. |
| domain | string | Normalized form of the requested domain name (lowercased and converted to Unicode, if necessary). |
| extension | string | The domain name's extension. |
| extensionType | string | The type of extension, identified via one of the following strings: gtld generic top-level domain.cctld country-code top-level domain.grtld generic-restricted top-level domain.stld sponsored top-level domain. |
| labelCharacterCount | integer | Number of characters in the left-most part of the domain name. Multi-byte emojis and symbols (graphemes) are counted as single characters. |
| labelCharacterPattern | string | How consonants C, vowels V, and numbers N appear in the domain's label. For example, the domain name abc123.com has the following label character pattern: VCCNNN |
| labelType | string | Abbreviation of the domain label's character types (the kinds of characters in the leftmost part of the domain).L English letter (a-z)N Number (0-9)C English letter (a-z) or digit (0-9)E Emoji characterI Non-ASCII characterExamples: abc.com LLL99.net NNabc123.com 6C |
| pronounceability | array of objects | Collection of objects representing scores of how pronounceable the domain name is per language/locale. If there are no known pronounceability scores, the array will be empty. Currently, only the en-US language/locale is supported, but others may be added in the future. |
| pronounceability[].score |
string (number)
precision 10, scale 9 |
How easy it is to pronounce the domain name on a scale of 0 (impossible to pronounce) to 1 (extremely easy to pronounce). |
| pronounceability[].locale | string | The IETF BCP 47 language tag representing language/locale for the pronounceability score. |
| punycode | string | The punycode encoding of the IDN/Unicode domain name. Not present for ASCII domain names. |
| registrars | array of objects | Array of objects containing current registrar pricing for the domain. Each object represents the registration/renewal prices charged by a specific registrar. |
| registrars[].currencyOriginalCode | string | The 3 character ISO 4217 currency code of the registrar's original prices. Examples: "EUR", "GBP", etc. Not present if the currency of the registrar's original pricing is "USD". |
| registrars[].currencyOriginalPrice |
string (number)
precision 14, scale 2 |
The registration price in the registrar's original currency (no currency conversion to USD applied). Not present if the original registration price currency is USD. See price field for USD price. |
| registrars[].currencyOriginalRate |
string (number)
precision 9, scale 6 |
The exchange rate used to convert the original prices to USD. Not present if the registrar's original pricing currency is "USD". |
| registrars[].platformDisplay | string | The registrar's human readable name suitable for publication. |
| registrars[].platformId | integer | Unique identifier of the registrar. |
| registrars[].platformName | string | Lowercased string name of the platform. It is not recommended to use this as a permanent unique identifier as it may change if the registrar rebrands its name (use the platformId instead). |
| registrars[].price |
string (number)
precision 14, scale 2 |
The domain's registration price charged by the registrar. All prices are in US dollars (USD), and is further reiterated via the priceCurrencyCode field. Prices in currencies other than USD have been converted to USD. |
| registrars[].priceCurrencyCode | string | The 3 character ISO 4217 currency code of the prices (price, priceAsking, etc.) fields. Currently this value is always "USD" |
| registrars[].priceRenewal |
string (number)
precision 14, scale 2 |
The domain's renewal price charged by the registrar. All prices are in US dollars (USD), and is further reiterated via the priceCurrencyCode field. Prices in currencies other than USD have been converted to USD. |
| registrars[].syncedAt | string | The ISO 8601 UTC timestamp of when the registrar's prices for the domain were last updated. Not present if unknown. |
| registrarsHistory | array of objects | Array of objects containing current registrar pricing for the domain. Each object represents the registration/renewal prices charged by a specific registrar. |
| registrarsHistory[].events | array of strings | Array of strings describing the event(s) that occurred: PRICE_ADDED registrar's registration price was discovered or made available by the registrar. Related field: pricePRICE_CHANGED registrar's existing registration price for the domain changed to a new price, related field: pricePRICE_REMOVED domain's registration price is not longer available from the registrar, related field: pricePRICE_CURRENCY_CHANGED the original currency of the registrar's registration/renewal prices changed to a different currency, related field: priceCurrencyCodePRICE_RENEWAL_ADDED regsitrar's renewal price was discovered or made available by the registrar, related field: priceRenewalPRICE_RENEWAL_CHANGED registrar's existing renewal price for the domain changed to a new price, related field: priceRenewalPRICE_RENEWAL_REMOVED domain's renewal price is not longer available from the registrar related field: priceRenewalPLATFORM_ADDED registrar's support for the domain was discovered or made available by the registrar.PLATFORM_REMOVED domain no longer supported by the registrar. |
| registrarsHistory[].timestamp | string | The ISO 8601 UTC timestamp of the registrar event. |
| registrarsHistory[].currencyOriginalCode | string | See currencyOriginalCode |
| registrarsHistory[].currencyOriginalPrice |
string (number)
precision 14, scale 2 |
See currencyOriginalPrice |
| registrarsHistory[].currencyOriginalRate |
string (number)
precision 9, scale 6 |
See currencyOriginalRate |
| registrarsHistory[].platformDisplay | string | See platformDisplay |
| registrarsHistory[].platformId | integer | See platformId |
| registrarsHistory[].platformName | string | See platformName |
| registrarsHistory[].price |
string (number)
precision 14, scale 2 |
See price |
| registrarsHistory[].priceCurrencyCode | string | See priceCurrencyCode |
| registrarsHistory[].priceRenewal |
string (number)
precision 14, scale 2 |
See priceRenewal |
| registryPremium | boolean | true if the domain name has is considered a "premium" domain by the extension's registry and thus has higher registration and/or renewal prices. Otherwise false. |
| url | string | The URL to the domain's detail page on the DomDB website. |
| viewCount | integer | How many times the domain has been viewed on the DomDB website. |
Returns all platforms (aftermarkets and registrars) tracked by DomDB, and their associated ID's, metadata, etc.
curl -X POST https://api.domdb.com/v1/platform/getAll -H 'Content-Type: application/json' -d '{"apiKeyPublic":"YOUR-PUBLIC-KEY","apiKeyPrivate":"YOUR-PRIVATE-KEY"}'
{
"errors": [],
"data": [
{
"id": 1,
"active": true,
"type": "registrar",
"name": "iwantmyname",
"display": "iwantmyname"
},
{
"id": 2,
"active": true,
"type": "registrar",
"name": "gandi",
"display": "Gandi.net"
},
...
{
"id": 79,
"active": true,
"type": "aftermarket",
"name": "gname-aftermarket",
"display": "Gname",
"services": [
{
"type": "buy_it_now",
"inventoryIntegratedFully": true,
"inventoryIntegratedDomainWatch": true,
"inventoryExpectedCount": 260000,
"inventoryTrackedCount": 290061,
"inventorySyncFrequency": 86400
}
]
},
{
"id": 80,
"active": true,
"type": "aftermarket",
"name": "spaceship-aftermarket",
"display": "Spaceship SellerHub",
"services": [
{
"type": "buy_it_now",
"inventoryIntegratedFully": false,
"inventoryIntegratedDomainWatch": true,
"inventoryExpectedCount": null,
"inventoryTrackedCount": 0,
"inventorySyncFrequency": null
}
]
},
{
"id": 81,
"active": true,
"type": "aftermarket",
"name": "hugedomains",
"display": "HugeDomains",
"services": [
{
"type": "buy_it_now",
"inventoryIntegratedFully": true,
"inventoryIntegratedDomainWatch": true,
"inventoryExpectedCount": 3200000,
"inventoryTrackedCount": 3225022,
"inventorySyncFrequency": 172800
}
]
}
],
"duration": 0.034
}
This method does not accept any request parameters.
The response body's data field is populated with an array of objects representing aftermarket and registrar platforms.
NOTE: any organization that is both a registrar and an aftermarket is separated into 2 distinct platforms, for example: Namecheap (platform id = 5) and Namecheap Market (platform id = 71).
| Field | Type | Description |
|---|---|---|
| id | integer | Unique identifier of the platform. |
| active | boolean | true if the platform's inventory and pricing is actively tracked on DomDB, otherwise false. |
| type | string | Descriptor of the type of platform:registrar ICANN accredited domain name registrar.registrar-reseller reseller that provides domain registration services via a partnered ICANN accredited registrar.aftermarket a marketplace or service that sells or facilitates the sales of domain names that are already registered.aftermarket-portfolio service that obtains domain names in bulk and directly resells them to customers.aftermarket-forum discussion board that allows users to publish domain "for sale" listings and posts. |
| name | string | Lowercased string name of the platform. It is not recommended to use this as a permanent unique identifier as it may change if the platform rebrands its name (use the id instead). |
| display | string | The platform's human readable name suitable for publication. |
| services | array of objects | A collection of the services and domain inventory the platform offers. Only provided for platforms with type = aftermarket. |
| services[].type | string | Descriptor of the type of service offered by the platform:buy_it_now service where domains can be purchased immediately for a set price, or optionally negotiated for an agreed upon price.auction (coming soon): service where the platform advertises the seller's domain for sale for a certain period of time, and buyers submit price bids, the highest bidder wins ownership of the domain name. |
| services[].inventoryIntegratedFully | boolean | true if the platform's entire domain inventory is fully synced to DomDB periodically, otherwise false. |
| services[].inventoryIntegratedDomainWatch | boolean | true if DomDB's Domain Watch feature supports monitoring domains in the platform's inventory, otherwise false. |
| services[].inventoryExpectedCount | integer | null | The estimated number of domains in the platform's inventory. If unknown, this value will be null. |
| services[].inventoryTrackedCount | integer | The number of domains in the platform's inventory actively tracked by DomDB. If inventoryIntegratedFully is true, then this number represents the total count of domains in the platform's service inventory. |
| services[].inventorySyncFrequency | integer | null | How often, in seconds, the platform's service inventory is fully synced to DomDB. If inventoryIntegratedFully is false, this value will be null. |