# 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
![Atom Partnership APIs diagram](https://www.atom.com/public/images/Atom_Partnership_APIs.svg)
## 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.