Unstoppable Domains marketplace API

Browse and search the Unstoppable Domains secondary marketplace. Retrieve paginated listings of domains available for purchase from existing owners, with filtering by TLD and sorting options.

Operations 6

GET /marketplace/domains/listings List marketplace domain listings #
POST /mcp/v1/actions/ud_listing_create Create marketplace listings #
POST /mcp/v1/actions/ud_listing_update Update marketplace listings #
POST /mcp/v1/actions/ud_listing_cancel Cancel marketplace listings #
POST /mcp/v1/actions/ud_offers_list List marketplace offers #
POST /mcp/v1/actions/ud_offer_respond Respond to marketplace offers #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/unstoppable-domains-marketplace-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

unstoppable-domains-marketplace-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Unstoppable Domains Marketplace API
  version: 1.0.0
  x-refined-note:
  - x-logo differs across the merged source definitions and was not carried
  description: 'Operations tagged marketplace across 2 of this provider''s published API definitions: unstoppable-domains-reseller-api-openapi.yaml, unstoppable-domains-user-api-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.unstoppabledomains.com/partner/v3
  description: Production
- url: https://api.ud-sandbox.com/partner/v3
  description: Sandbox
- url: https://api.unstoppabledomains.com
  description: Production server
tags:
- name: marketplace
  description: 'Browse and search the Unstoppable Domains secondary marketplace. Retrieve paginated listings of domains available for purchase from existing owners, with filtering by TLD and sorting options.

    '
  x-displayName: Marketplace
paths:
  /marketplace/domains/listings:
    get:
      operationId: getMarketplaceDomainsListings
      parameters:
      - name: q
        required: false
        in: query
        description: Search query to filter listings by domain name. Supports partial matching.
        schema:
          type: string
      - name: tlds
        required: true
        in: query
        description: One or more TLD extensions to filter listings (e.g., `com`, `xyz`). At least one TLD must be provided.
        schema:
          uniqueItems: true
          default: []
          type: array
          items:
            type: string
      - name: orderBy
        required: false
        in: query
        description: Field to sort results by.
        schema:
          type: string
          enum:
          - price
          - name
          - listedAt
      - name: orderDirection
        required: false
        in: query
        description: Sort direction. Defaults to ascending.
        schema:
          type: string
          enum:
          - ASC
          - DESC
      - name: perPage
        required: false
        in: query
        description: Number of results per page (1–100).
        schema:
          minimum: 1
          maximum: 100
          type: number
      - name: $page
        required: false
        in: query
        description: Page number for pagination (1-indexed).
        schema:
          minimum: 1
          type: number
      responses:
        '200':
          description: Paginated list of marketplace domain listings
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketplaceDomainsListingsResponse'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Authentication required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Insufficient permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - marketplace
      summary: List marketplace domain listings
      description: 'Retrieve a paginated list of domains currently listed for sale on the Unstoppable Domains secondary marketplace. Use this endpoint to browse available domains, filter by TLD, and sort by price, name, or listing date.


        Results are paginated — use the `$page` and `perPage` parameters to navigate through results.

        '
      security:
      - bearer: []
    servers:
    - url: https://api.unstoppabledomains.com/partner/v3
      description: Production
    - url: https://api.ud-sandbox.com/partner/v3
      description: Sandbox
  /mcp/v1/actions/ud_listing_create:
    post:
      operationId: listingCreate
      summary: Create marketplace listings
      description: List one or more domains for sale on the marketplace. Supports buy-now pricing, offers, and lease-to-own options.
      tags:
      - marketplace
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - domains
              properties:
                domains:
                  type: array
                  items:
                    type: object
                    required:
                    - domainName
                    properties:
                      domainName:
                        type: string
                        description: The domain name to list
                      priceInCents:
                        type: number
                        description: Buy-now price in cents (0 for offers-only)
                      expiresAt:
                        type: string
                        description: 'Listing expiration date as ISO 8601 string (e.g., "2025-12-31"). Must be 1-36500 days from now. Default: 90 days.'
                      isEmailAliasUsed:
                        type: boolean
                        description: Enable message seller feature
                      listingSettings:
                        type: object
                        properties:
                          isOfferFeatureEnabled:
                            type: boolean
                          minOfferAmountInCents:
                            type: number
                          domainDisplayName:
                            type: string
                            description: Optional human-readable domain display name used in listings
                      leaseToOwnOptions:
                        type: object
                        description: Optional lease-to-own configuration for the domain listing
                        properties:
                          type:
                            type: string
                            enum:
                            - equal_installments
                            - down_payment_plus_equal_installments
                          maxTermLength:
                            type: integer
                            minimum: 2
                            maximum: 120
                            description: Maximum term length in months (2-120)
                          downPaymentPercentage:
                            type: number
                            description: Down payment percentage (10-90), required for down_payment type
                  minItems: 1
                  maxItems: 50
      responses:
        '200':
          description: Listing creation results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateListingResponse'
        '401':
          description: Authentication required
    servers:
    - url: https://api.unstoppabledomains.com
      description: Production server
  /mcp/v1/actions/ud_listing_update:
    post:
      operationId: listingUpdate
      summary: Update marketplace listings
      description: Update price, settings, or options for existing listings.
      tags:
      - marketplace
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - listings
              properties:
                listings:
                  type: array
                  items:
                    type: object
                    required:
                    - id
                    properties:
                      id:
                        type: number
                        description: Listing ID
                      priceInCents:
                        type: number
                      expiresAt:
                        type: string
                        description: New listing expiration date as ISO 8601 string (e.g., "2025-12-31"). Must be 1-36500 days from now.
                      isEmailAliasUsed:
                        type: boolean
                      listingSettings:
                        type: object
                        description: Listing-level settings such as offers and display preferences.
                        properties:
                          minOfferAmountInCents:
                            type: number
                            description: Minimum offer amount (in cents) accepted for this listing.
                          isOfferFeatureEnabled:
                            type: boolean
                            description: Indicates whether the offer feature is enabled for this listing.
                          domainDisplayName:
                            type: string
                            description: Custom display name to use for this domain in marketplace contexts.
                      leaseToOwnOptions:
                        type: object
                        description: Lease-to-own configuration options for the listing.
                        properties:
                          type:
                            type: string
                            enum:
                            - equal_installments
                            - down_payment_plus_equal_installments
                          maxTermLength:
                            type: integer
                            minimum: 2
                            maximum: 120
                            description: Maximum term length in months (2-120)
                          downPaymentPercentage:
                            type: number
                            description: Down payment percentage (10-90), required for down_payment type
                  minItems: 1
                  maxItems: 50
      responses:
        '200':
          description: Listing update results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateListingResponse'
        '401':
          description: Authentication required
    servers:
    - url: https://api.unstoppabledomains.com
      description: Production server
  /mcp/v1/actions/ud_listing_cancel:
    post:
      operationId: listingCancel
      summary: Cancel marketplace listings
      description: Cancel one or more active marketplace listings.
      tags:
      - marketplace
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - listingIds
              properties:
                listingIds:
                  type: array
                  items:
                    type: number
                  description: Array of listing IDs to cancel
                  minItems: 1
                  maxItems: 50
      responses:
        '200':
          description: Cancellation results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelListingResponse'
        '401':
          description: Authentication required
    servers:
    - url: https://api.unstoppabledomains.com
      description: Production server
  /mcp/v1/actions/ud_offers_list:
    post:
      operationId: offersList
      summary: List marketplace offers
      description: List incoming offers on domains you own. Filter by domain or status.
      tags:
      - marketplace
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                domainName:
                  type: string
                  description: Filter by specific domain name
                group:
                  type: string
                  enum:
                  - active
                  - sold
                  description: 'Filter by group: "active" (pending) or "sold" (completed)'
                page:
                  type: number
                  description: Page number (1-indexed)
      responses:
        '200':
          description: List of offers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOffersResponse'
        '401':
          description: Authentication required
    servers:
    - url: https://api.unstoppabledomains.com
      description: Production server
  /mcp/v1/actions/ud_offer_respond:
    post:
      operationId: offerRespond
      summary: Respond to marketplace offers
      description: Accept or reject incoming offers on your domains.
      tags:
      - marketplace
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - offers
              properties:
                offers:
                  type: array
                  items:
                    type: object
                    required:
                    - id
                    - action
                    properties:
                      id:
                        type: number
                        description: Offer ID
                      action:
                        type: string
                        enum:
                        - accept
                        - reject
                  minItems: 1
                  maxItems: 50
      responses:
        '200':
          description: Offer response results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RespondToOfferResponse'
        '401':
          description: Authentication required
    servers:
    - url: https://api.unstoppabledomains.com
      description: Production server
components:
  schemas:
    MarketplaceDomainsListingsResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/MarketplaceDomainsListingItemResponse'
        next:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/PaginatedListResponseNext'
      required:
      - items
      - next
    MarketplaceDomainsListingOwnerResponse:
      type: object
      properties:
        address:
          type: string
          description: Wallet address of the domain owner
      required:
      - address
    PaginatedListResponseNext:
      type: object
      properties:
        page:
          type: integer
        limit:
          type: integer
    MarketplaceDomainsListingItemResponse:
      type: object
      properties:
        domain:
          type: string
          description: The domain name listed for sale
        status:
          type: string
          description: Current listing status
        listPrice:
          $ref: '#/components/schemas/MarketplaceDomainsListingListPriceResponse'
        payout:
          $ref: '#/components/schemas/MarketplaceDomainsListingPayoutResponse'
        owner:
          $ref: '#/components/schemas/MarketplaceDomainsListingOwnerResponse'
        expiresAt:
          type: number
          description: Unix timestamp when the listing expires (if applicable)
      required:
      - domain
      - status
      - listPrice
      - payout
      - owner
    ErrorResponse:
      type: object
      description: Standard error response
      properties:
        code:
          type: string
          description: Machine-readable error code
          example: VALIDATION
        message:
          type: string
          description: Human-readable error description
        errors:
          type: array
          description: Individual errors when code is MULTIPLE_ERRORS
          items:
            type: object
            properties:
              code:
                type: string
              message:
                type: string
            required:
            - code
      required:
      - code
    MarketplaceDomainsListingPayoutResponse:
      type: object
      properties:
        address:
          type: string
          description: Wallet address designated to receive the payout
      required:
      - address
    MarketplaceDomainsListingListPriceResponse:
      type: object
      properties:
        usdCents:
          type: number
          description: Listing price in USD cents
      required:
      - usdCents
    UpdateListingResponse:
      type: object
      properties:
        results:
          type: array
          items:
            type: object
            properties:
              listingId:
                type: number
              domainName:
                type: string
              success:
                type: boolean
              status:
                type: string
              isLazy:
                type: boolean
              error:
                type: string
        successCount:
          type: number
        failureCount:
          type: number
        message:
          type: string
        signatureRequired:
          type: boolean
        signatureNote:
          type: string
    RespondToOfferResponse:
      type: object
      properties:
        results:
          type: array
          items:
            type: object
            properties:
              offerId:
                type: number
              domainName:
                type: string
              action:
                type: string
              success:
                type: boolean
              priceInCents:
                type: number
              priceFormatted:
                type: string
              newStatus:
                type: string
              error:
                type: string
        successCount:
          type: number
        failureCount:
          type: number
        message:
          type: string
        signatureRequired:
          type: boolean
        signatureNote:
          type: string
    CancelListingResponse:
      type: object
      properties:
        results:
          type: array
          items:
            type: object
            properties:
              listingId:
                type: number
              domainName:
                type: string
              success:
                type: boolean
              error:
                type: string
        successCount:
          type: number
        failureCount:
          type: number
        message:
          type: string
    ListOffersResponse:
      type: object
      properties:
        offers:
          type: array
          items:
            type: object
            properties:
              id:
                type: number
                description: Offer ID
              domainName:
                type: string
              priceInCents:
                type: number
              priceFormatted:
                type: string
              buyerUserId:
                type: string
              buyerStatus:
                type: string
              sellerStatus:
                type: string
              expiresAt:
                type: string
              createdAt:
                type: string
              updatedAt:
                type: string
        pagination:
          type: object
          properties:
            page:
              type: number
            pageSize:
              type: number
            totalPages:
              type: number
            total:
              type: number
            hasMore:
              type: boolean
        truncated:
          type: boolean
          description: Indicates if the offers list was truncated to meet response size limits
        truncationMessage:
          type: string
          description: Optional message providing details about the truncation
    CreateListingResponse:
      type: object
      properties:
        results:
          type: array
          items:
            type: object
            properties:
              domainName:
                type: string
              success:
                type: boolean
              listingId:
                type: number
              status:
                type: string
              isLazy:
                type: boolean
              error:
                type: string
        successCount:
          type: number
        failureCount:
          type: number
        message:
          type: string
        signatureRequired:
          type: boolean
        signatureNote:
          type: string
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http
    bearerAuth:
      type: http
      scheme: bearer
      description: API key for authenticated operations. Obtain from your Unstoppable Domains account settings.
x-refined-from:
- unstoppable-domains-reseller-api-openapi.yaml
- unstoppable-domains-user-api-openapi.json