# Domain Appraisal
Source: https://apidocs.atom.com/api-reference/appraisal_apis/domain_appraisal
GET /domain-appraisal
Get an AI-powered appraisal for any domain name. Returns an estimated market value, domain quality score, key signals (length, brandability, extension), and root word analysis.
# Confirm Order
Source: https://apidocs.atom.com/api-reference/parnership_apis/confirm_order
POST /confirm-order
Confirm the purchase once payment has been collected and funds are verified. This finalizes the transaction and secures the transfer authorization code for your buyer.
# Domain Data
Source: https://apidocs.atom.com/api-reference/parnership_apis/domain_data
GET /domain-data
Retrieve detailed information about a specific domain, including pricing, category, availability status, and listing details.
# Get Order By ID
Source: https://apidocs.atom.com/api-reference/parnership_apis/get_order_by_id
GET /order-details
Retrieve full details for a specific partnership order, including purchased domain, pricing, payment/transfer status, financials, and partner metadata.
# Get Orders
Source: https://apidocs.atom.com/api-reference/parnership_apis/get_orders
GET /orders
Retrieve list of all partnership orders, including key details such as order status, total price, and created date. Use this endpoint to power order history views or internal reconciliation tools.
# Get Transfer Auth Code
Source: https://apidocs.atom.com/api-reference/parnership_apis/get_transfer_auth_code
POST /get-transfer-auth-code
Retrieve the authorization code needed to transfer a purchased domain to the buyer's registrar of choice.
# Hold Domain
Source: https://apidocs.atom.com/api-reference/parnership_apis/hold_domain
POST /hold-domain
Reserve a domain when a customer adds it to their cart or while you verify payment. The hold prevents the domain from being purchased by another buyer while you process the transaction.
# Partnership Search
Source: https://apidocs.atom.com/api-reference/parnership_apis/partnership_search
GET /partnership-search
Browse and search available domains in the Atom marketplace. Filter by keyword, paginate through results, and discover premium domain names ready for purchase.
# Semantic Search
Source: https://apidocs.atom.com/api-reference/parnership_apis/semantic_search
GET /semantic-search
Discover domains using natural language queries. Describe what you're looking for — such as 'names for a healthcare startup' or 'short brandable tech names' — and get back the most relevant matches from Atom's marketplace using advanced AI-powered semantic search.
# UnHold Domain
Source: https://apidocs.atom.com/api-reference/parnership_apis/unhold_domain
POST /unhold-domain
Release a previously reserved domain back to the marketplace. Use this if the customer decides not to proceed with the purchase.
# Bulk delete DNS records
Source: https://apidocs.atom.com/api-reference/registrar_apis/bulk_delete_dns
DELETE /registrar/v1/domains/{domain_name}/dns/bulk-delete
# Bulk update DNS records
Source: https://apidocs.atom.com/api-reference/registrar_apis/bulk_update_dns
PUT /registrar/v1/domains/{domain_name}/dns/bulk-update
# Check multiple domains availability
Source: https://apidocs.atom.com/api-reference/registrar_apis/check_bulk_domains
POST /registrar/v1/domains/check-bulk
Check up to 50 domains per request. Available domains include domain_price (what Atom would charge to register each one).
# Check domain availability
Source: https://apidocs.atom.com/api-reference/registrar_apis/check_domain
GET /registrar/v1/domains/check/{domain_name}
Returns whether Atom can register the domain and, when available, data.domain_price — the amount Atom would charge (unit_price, renewal_price, ICANN fee, VAT, total). Premium labels are reflected in is_premium and unit_price. If status is unavailable, Atom cannot register it; inbound transfer pricing for that TLD is on GET /tld-pricing (pricing.{tld}.transfer). Optional years query (1–10) quotes a multi-year registration; .ai defaults to 2.
# Create a contact
Source: https://apidocs.atom.com/api-reference/registrar_apis/create_contact
POST /registrar/v1/contacts
Create a new contact handle. The returned data.handle is what you pass as registrant/admin/billing/tech on register, transfer, or PUT /domains/{domain_name}/contacts.
# Create DNS record
Source: https://apidocs.atom.com/api-reference/registrar_apis/create_dns_record
POST /registrar/v1/domains/{domain_name}/records
# Create URL forward
Source: https://apidocs.atom.com/api-reference/registrar_apis/create_url_forward
POST /registrar/v1/domains/{domain_name}/url-forwards
# Delete DNS record
Source: https://apidocs.atom.com/api-reference/registrar_apis/delete_dns_record
DELETE /registrar/v1/domains/{domain_name}/records/{record_id}
# Delete URL forward
Source: https://apidocs.atom.com/api-reference/registrar_apis/delete_url_forward
DELETE /registrar/v1/domains/{domain_name}/url-forwards/{forward_id}
# Disable DNSSEC
Source: https://apidocs.atom.com/api-reference/registrar_apis/disable_dnssec
POST /registrar/v1/domains/{domain_name}/dnssec/disable
# Enable DNSSEC
Source: https://apidocs.atom.com/api-reference/registrar_apis/enable_dnssec
POST /registrar/v1/domains/{domain_name}/dnssec/enable
# Filter DNS records
Source: https://apidocs.atom.com/api-reference/registrar_apis/filter_dns_records
GET /registrar/v1/domains/{domain_name}/dns/filter
# Get a contact
Source: https://apidocs.atom.com/api-reference/registrar_apis/get_contact
GET /registrar/v1/contacts/{handle}
Retrieve a single contact by handle. Use GET /contacts?email= or ?name= first if you only have a name or email.
# Get DNSSEC records
Source: https://apidocs.atom.com/api-reference/registrar_apis/get_dnssec
GET /registrar/v1/domains/{domain_name}/dnssec
# Get domain contacts
Source: https://apidocs.atom.com/api-reference/registrar_apis/get_domain_contacts
GET /registrar/v1/domains/{domain_name}/contacts
Returns the current registrant, admin, billing, and tech handles for the domain plus full contact records when the handles belong to this account.
# Get domain details
Source: https://apidocs.atom.com/api-reference/registrar_apis/get_domain_details
GET /registrar/v1/domains/{domain_name}
Full record for a domain in this account, including nameservers, contacts, transfer_locked, icann_transfer_lock, icann_transfer_lock_expires_at, and can_transfer_out. Use the ICANN expiry date to tell a customer when the 60-day transfer restriction lifts. Transfer-out is dashboard-only.
# Get transfer lock
Source: https://apidocs.atom.com/api-reference/registrar_apis/get_lock
GET /registrar/v1/domains/{domain_name}/lock
Returns the customer-controlled registrar lock (locked / transfer_locked) and the automatic ICANN 60-day transfer restriction (icann_transfer_lock, icann_transfer_lock_expires_at). Use icann_transfer_lock_expires_at to tell a customer when the 60-day lock expires. can_transfer_out is true only when both are off; transferring out is done in the Atom dashboard, not via this API.
# Get domain nameservers
Source: https://apidocs.atom.com/api-reference/registrar_apis/get_nameservers
GET /registrar/v1/domains/{domain_name}/nameservers
# Get TLD pricing
Source: https://apidocs.atom.com/api-reference/registrar_apis/get_tld_pricing
GET /registrar/v1/tld-pricing
Atom register, renew, and transfer prices for every supported TLD (USD). Use this for catalog-level quotes. For a specific label (including premium registry pricing), call GET /domains/check/{domain_name} and read data.domain_price.
# List contacts
Source: https://apidocs.atom.com/api-reference/registrar_apis/list_contacts
GET /registrar/v1/contacts
Returns every contact handle on the account. Filter with search (matches handle, name, email, label, organization), name, and/or email to find a handle from a person's name or email address.
# List DNS records
Source: https://apidocs.atom.com/api-reference/registrar_apis/list_dns_records
GET /registrar/v1/domains/{domain_name}/records
# List all domains
Source: https://apidocs.atom.com/api-reference/registrar_apis/list_domains
GET /registrar/v1/domains
Paginated list of domains in the authenticated Atom registrar account. Each row includes transfer_locked, icann_transfer_lock, icann_transfer_lock_expires_at, and can_transfer_out.
# Get URL forwarding rules
Source: https://apidocs.atom.com/api-reference/registrar_apis/list_url_forwards
GET /registrar/v1/domains/{domain_name}/url-forwards
# Register a new domain
Source: https://apidocs.atom.com/api-reference/registrar_apis/register_domain
POST /registrar/v1/domains/register
Register a domain for 1–10 years (.ai requires an even length). Requires account balance or a saved payment method. After a successful registration you may set nameservers, WHOIS privacy, auto-renew, contact handles, and DNS records in this same request; they are applied immediately. DNS records require Atom nameservers (omit nameservers, or set type atom/parking).
# Renew a domain
Source: https://apidocs.atom.com/api-reference/registrar_apis/renew_domain
POST /registrar/v1/domains/{domain_name}/renew
Renew a domain already registered at Atom for 1–10 years (.ai must be even). Charges account balance or a saved card. Returns the new expiry date and price_breakdown. This is the domain renewal endpoint.
# Set registrar lock
Source: https://apidocs.atom.com/api-reference/registrar_apis/set_lock
PUT /registrar/v1/domains/{domain_name}/lock
Lock a domain (CLIENT_TRANSFER_PROHIBITED). Unlocking and retrieving an EPP code are transfer-out actions and are only available in the Atom dashboard. This does not lift the ICANN 60-day lock.
# Toggle domain auto-renewal
Source: https://apidocs.atom.com/api-reference/registrar_apis/toggle_auto_renew
PUT /registrar/v1/domains/{domain_name}/auto-renew
Enable or disable auto-renewal for a domain you hold at Atom. Can also be set at register or transfer time via auto_renew.
# Toggle domain privacy protection
Source: https://apidocs.atom.com/api-reference/registrar_apis/toggle_privacy
PUT /registrar/v1/domains/{domain_name}/privacy
Enable or disable WHOIS / RDDS privacy for a domain you hold at Atom. Not available for .io. Can also be set at register or transfer time via privacy_protect.
# Transfer a domain in
Source: https://apidocs.atom.com/api-reference/registrar_apis/transfer_domain
POST /registrar/v1/domains/transfer
Initiate an inbound transfer. Required: domain_name and authcode (EPP code from the losing registrar). Optional nameservers, privacy_protect, auto_renew, contacts, and dns_records may be sent in the same request. Contacts and WHOIS privacy are submitted with the transfer; nameservers, auto-renew, and DNS records are applied when the transfer completes (typically 5–7 days). This is transfer-in only. Transfer-out of Atom is not available via API — use the Atom dashboard.
# Bulk transfer domains in
Source: https://apidocs.atom.com/api-reference/registrar_apis/transfer_domain_bulk
POST /registrar/v1/domains/transfer-bulk
Transfer up to 10 domains per request. Each item requires domain_name and authcode. This is inbound only.
# Update a contact
Source: https://apidocs.atom.com/api-reference/registrar_apis/update_contact
PUT /registrar/v1/contacts/{handle}
Update an existing contact handle owned by this account.
# Update DNS record
Source: https://apidocs.atom.com/api-reference/registrar_apis/update_dns_record
PUT /registrar/v1/domains/{domain_name}/records/{record_id}
# Update domain contacts
Source: https://apidocs.atom.com/api-reference/registrar_apis/update_domain_contacts
PUT /registrar/v1/domains/{domain_name}/contacts
Provide at least one of registrant, admin, billing, or tech (existing contact handles from GET /contacts).
# Update domain nameservers
Source: https://apidocs.atom.com/api-reference/registrar_apis/update_nameservers
PUT /registrar/v1/domains/{domain_name}/nameservers
Set type to atom (Atom marketplace NS), parking (Atom default NS), or custom. Custom requires a nameservers array. DNS record APIs only work when the domain is on atom or parking nameservers.
# Add Discount
Source: https://apidocs.atom.com/api-reference/seller_apis/add_discount
GET /add-discount
Apply a discount to a domain listing to attract more buyers. Set a percentage discount that will be displayed on the domain's sale page.
# Add Domain
Source: https://apidocs.atom.com/api-reference/seller_apis/add_domain
GET /add-domain
Add a new domain to Atom. For premium listing, a coin will be deducted from your account and the domain will be submitted for review. For a Standard or Geo listing, the domain landing page will immediately go live
# All Sales
Source: https://apidocs.atom.com/api-reference/seller_apis/all_sales
GET /all-sales
Retrieve your complete sales history on Atom, including domain names, sale prices, and transaction dates.
# Assign Primary Category
Source: https://apidocs.atom.com/api-reference/seller_apis/assign_primary_category
GET /assign-primary-category
Assign an industry category to a domain listing. This helps buyers find your domain when browsing by industry.
# Boost Domain
Source: https://apidocs.atom.com/api-reference/seller_apis/boost_domain
Get /boost-domain
Boost your Premium domains (Standard Boost or Super Boost). Coins will be deducted from your account balance
# Categories
Source: https://apidocs.atom.com/api-reference/seller_apis/categories
GET /categories
Retrieve the list of available categories for organizing your domain listings.
# Domain Search
Source: https://apidocs.atom.com/api-reference/seller_apis/domain/search
GET /domains/search
Search your domain portfolio by keyword, category, or name type. Use this to find specific domains within your listings.
# Domain Analytics
Source: https://apidocs.atom.com/api-reference/seller_apis/domain_analytics
GET /domain-analytics
Retrieve performance analytics for your domain listings, including page views, shortlists, and engagement metrics.
# Domain Details
Source: https://apidocs.atom.com/api-reference/seller_apis/domain_details
GET /domain-details
Retrieve detailed information for a specific domain in your portfolio, including pricing, category, and listing status.
# Domains
Source: https://apidocs.atom.com/api-reference/seller_apis/domains
GET /domains
Retrieve your domain portfolio listings. Filter by listing type (Premium, Standard, or Geo) and paginate through results.
Get a list of all domains listed under your account. Pass the type parameter if you want to filter by type of listing (e.g. Premium, Standard, Geo)
# Get Grade Domain Result
Source: https://apidocs.atom.com/api-reference/seller_apis/get_grade_domain_result
GET /get-grade-domain-result
Retrieve the results of a previously submitted domain grading batch, including quality scores and brand-fit assessments.
# Primary Categories
Source: https://apidocs.atom.com/api-reference/seller_apis/primary_categories
GET /primary-categories
Retrieve the list of primary industry categories available for domain classification.
# Remove Domain
Source: https://apidocs.atom.com/api-reference/seller_apis/remove_domain
GET /remove-domain
Remove a Standard listing from your account. This method only supports Standard listings. For removing Premium Listings, please contact Atom team to give a 7 day removal notice
# Syndication Authorized Domains
Source: https://apidocs.atom.com/api-reference/seller_apis/syndication_authorized_domains
GET /syndication-authorized-domains
Retrieve domains from your portfolio that are authorized for syndication and listing on external marketplaces and partner platforms.
# Update Description
Source: https://apidocs.atom.com/api-reference/seller_apis/update_description
POST /update-description
Add or update a marketing description for your domain listing. A compelling description helps attract buyers.
# Update Selling Price
Source: https://apidocs.atom.com/api-reference/seller_apis/update_selling_price
GET /update-selling-price
Update the selling price of a domain. There are no restrictions for Standard Listings. For Premium Listings, the selling price must be within the allowed range as per your Membership Tier (e.g. Silver, Gold, Platinum)
# Upload Grade Domains
Source: https://apidocs.atom.com/api-reference/seller_apis/upload_grade_domains
POST /upload-grade-domains
Submit a batch of domains for AI-powered quality grading. Get brand-fit scores and quality assessments to help decide which domains to list.
# Veirfy DNS
Source: https://apidocs.atom.com/api-reference/seller_apis/verify_dns
GET /verify-dns
Verify that DNS records are correctly configured for a domain in your portfolio.
# Trademark Search
Source: https://apidocs.atom.com/api-reference/trademark_apis/trademark_search
GET /trademark-search
Search the USPTO trademark database to check for potential conflicts before registering or purchasing a domain name. Filter by filing status, international class, and more.
# Partnership API Guide
Source: https://apidocs.atom.com/guides/partnership_apis

## Overview
The Partnership APIs allow you to integrate Atom's premium domain marketplace into your platform. Your users can discover domains using AI-powered search, browse curated inventory, place holds, and complete purchases — all through a seamless API-driven workflow.
## Integration Workflow
### 1. Discover Domains
Find relevant domains using natural language queries like "names for a healthcare startup" or "short brandable tech names." Returns the most relevant matches from Atom's marketplace.
Browse available domains by keyword, category, or price range. Ideal for building filtered search experiences and catalog pages.
**Endpoint:** `GET /api/marketplace/semantic-search` or `GET /api/marketplace/partnership-search`
### 2. Get Domain Details
Retrieve detailed information about a specific domain, including pricing, category, and availability status.
**Endpoint:** `GET /api/marketplace/domain-data`
### 3. Hold Domain
Reserve a domain when a customer adds it to their cart or while you verify payment. The hold prevents the domain from being purchased by another buyer while you process the transaction.
**Endpoint:** `POST /api/marketplace/hold-domain`
### 4. Unhold Domain
Release a previously reserved domain if the customer decides not to proceed.
**Endpoint:** `POST /api/marketplace/unhold-domain`
### 5. Confirm Order
Confirm the purchase once payment has been collected and funds are verified. This finalizes the transaction and secures the transfer authorization code for your buyer.
**Endpoint:** `POST /api/marketplace/confirm-order`
### 6. Get Transfer Auth Code
After a purchase is confirmed, retrieve the authorization code needed to transfer the domain to the buyer's registrar.
**Endpoint:** `POST /api/marketplace/get-transfer-auth-code`
### 7. List Orders
Retrieve a paginated list of all partnership orders, including key details such as order status, total price, and created date. Use this endpoint to power order history views or internal reconciliation tools.
**Endpoint:** `GET /api/marketplace/orders`
### 8. Get Order Details
Retrieve full details for a specific order, including purchased domain, buyer information as provided, pricing, payment status, and transfer information.
**Endpoint:** `GET /api/marketplace/order-details`
## Quick Reference
| Step | Action | Description |
| ---- | ---------------------- | ---------------------------------------------------------------------- |
| 1 | Discover Domains | Search using AI semantic search or browse by keyword/category |
| 2 | Get Domain Details | Retrieve pricing, category, and availability for a domain |
| 3 | Hold Domain | Reserve a domain when added to cart or while verifying payment |
| 4 | Unhold Domain | Release the hold if the customer decides not to buy |
| 5 | Confirm Order | Finalize once funds are verified; secures the auth code for your buyer |
| 6 | Get Transfer Auth Code | Retrieve the authorization code for domain transfer |
| 7 | List Orders | Get a paginated list of all partnership orders |
| 8 | Get Order Details | Retrieve full details for a specific order |
# Integration Steps
Source: https://apidocs.atom.com/guides/registrar_apis
Atom Registrar API Documentation
This document describes the REST API for domain registration, DNS management, and domain operations. The Registrar API provides comprehensive functionality for managing domains, DNS records, nameservers, privacy settings, auto-renewal, URL forwarding, DNSSEC, contacts, TLD pricing, renewal, and registrar lock.
## Authentication
All API endpoints require Bearer token authentication. The Bearer token should be included in the Authorization header:
```
Authorization: Bearer YOUR_API_TOKEN
```
Obtain your Registrar API token from the dashboard at `/dashboard/seller/api-access` after requesting Registrar API access.
## Base URLs
* **Production**: `https://atom.com/api/registrar/v1`
* **Development**: `https://dev.atom.com/api/registrar/v1`
## API Overview
The Registrar API includes the following main categories:
### Domain Management
* List all domains
* Check domain availability and Atom price (single and bulk)
* Catalog TLD pricing (`GET /tld-pricing`)
* Register new domains (optional nameservers, privacy, auto-renew, contacts, DNS records in the same request)
* Renew a domain you already hold at Atom
* Get domain details (includes ICANN 60-day lock fields)
### DNS Management
* List DNS records
* Create, update, and delete DNS records
* Filter DNS records by subdomain and type
* Bulk update and delete DNS records
### Nameserver Management
* Get current nameservers
* Update nameservers (Atom, Parking, or Custom)
### Domain Settings
* Get / set registrar transfer lock (`GET`/`PUT /domains/{domain}/lock`). Unlocking is dashboard-only.
* Toggle privacy protection
* Toggle auto-renewal
* Manage URL forwarding rules
### Transfers
* Transfer **in** with `POST /domains/transfer` (auth code from the losing registrar)
* Transfer **out** is not available via API. Unlocking a domain and retrieving an EPP / auth code must be done in the Atom dashboard.
### DNSSEC
* Get DNSSEC records
* Enable/disable DNSSEC
### Contacts
* List or search contact handles (`?search=`, `?name=`, `?email=`)
* Get a single contact by handle
* Create and update contacts
* Get / assign domain contact roles
## Common Workflows
### Registering a Domain
1. **Price**: Use `GET /domains/check/{domain_name}` for that label (includes premium). Use `GET /tld-pricing` for catalog register / renew / transfer prices.
2. **Check Availability**: Use `GET /domains/check/{domain_name}` or `POST /domains/check-bulk`
3. **Register Domain**: Use `POST /domains/register`. You may send nameservers, `privacy_protect`, `auto_renew`, `contacts`, and `dns_records` in the same request.
4. **Configure DNS**: Use DNS management endpoints if the domain is on Atom nameservers
### Renewing a Domain
Use `POST /domains/{domain_name}/renew` with optional `renewal_length` (1–10 years; `.ai` must be even).
### Transfer lock
1. `GET /domains/{domain_name}/lock` returns the customer registrar lock and the ICANN 60-day lock (`icann_transfer_lock_expires_at`).
2. `PUT /domains/{domain_name}/lock` with `{"locked": true}` locks the domain. `{"locked": false}` returns **403** — unlock and transfer-out are dashboard-only.
### Managing DNS Records
1. **List Records**: Use `GET /domains/{domain_name}/records` to view all DNS records
2. **Create Record**: Use `POST /domains/{domain_name}/records` to add new records
3. **Update Record**: Use `PUT /domains/{domain_name}/records/{record_id}` to modify existing records
4. **Delete Record**: Use `DELETE /domains/{domain_name}/records/{record_id}` to remove records
### Bulk Operations
* Use `PUT /domains/{domain_name}/dns/bulk-update` to update multiple DNS records at once
* Use `DELETE /domains/{domain_name}/dns/bulk-delete` to delete multiple DNS records matching criteria
## Response Format
All API responses follow a consistent format:
```json theme={null}
{
"success": true,
"data": { ... },
"message": "Operation completed successfully"
}
```
Error responses:
```json theme={null}
{
"success": false,
"error": "Error Type",
"message": "Detailed error message"
}
```
## Rate Limits
Please refer to your API access dashboard for specific rate limit information.
## Support
For API support and questions, please contact the Atom team or refer to the individual endpoint documentation.
# Introduction
Source: https://apidocs.atom.com/introduction
# Welcome to the Atom API Docs
The Atom platform provides a suite of APIs that let you programmatically search, discover, register, appraise, and manage domain names. Whether you're building a domain marketplace, embedding domain search into your product, or automating portfolio management, these APIs give you the building blocks to do it.
Search and acquire premium domains from the Atom marketplace. Use AI-powered semantic search, browse curated inventory, hold domains, and complete purchases.
Register new domains, manage DNS records, configure nameservers, set up URL forwarding, and handle DNSSEC — all through a single API.
List and manage your domain portfolio on Atom. Update pricing, add descriptions, assign categories, track analytics, and manage sales.
AI-powered domain appraisal and USPTO trademark search.
## Getting Started
To use the APIs, you will need:
* **API Key** — a unique token for authenticating your requests
* **User ID** — your Atom account identifier
You can generate API keys and manage access from the [Atom Developer Console](https://www.atom.com/dashboard/seller/api-access).
If you don't have an account yet, visit [atom.com](https://www.atom.com) to get started, or reach out to our support team for assistance.
## Learn More
Visit the [Atom Developer Platform](https://www.atom.com/developer) for a complete overview of platform capabilities, integration guides, and use cases.