Domain Intelligence ยท DomScan product

Domain Pricing API

Get registration and renewal prices for domains across registrars.

What you get

Get registration and renewal prices for domains across registrars.

SynchronousBulkRESTMCPSDKInteractive tool

Choose this product when

Who it is for

Use focused checks for a single decision or assemble a broader profile when context matters.

Choose this product when

Choose this to compare published registration, renewal, or transfer pricing evidence where coverage exists.

What you get

Get registration and renewal prices for domains across registrars.

Endpoints

Review the supported operations, inputs, outputs, execution modes, and response limits before integrating.

GET /v1/prices View API reference
POST /v1/prices/bulk View API reference
GET /v1/prices/tld/:tld View API reference
GET /v1/prices/registrars View API reference
GET /v1/prices/compare View API reference
GET /v1/pricing View API reference

Credits and authentication

0-1 Authentication required. Check the operation reference for the exact cost and any per-item pricing.

Example operation

Use documented operations to collect, assess, enrich, verify, compare, protect, or monitor public evidence.

GET /v1/prices

Query Parameters

Parameter Type required
tlds string optional
registrars string optional
skip_cache boolean
Default false
optional

Response Fields

Field Type
success boolean
data object
data.supportedTlds[] string[]
data.count integer
data.hint string
data.results[] object[]
data.results[] object
data.results[].tld string
data.results[].prices[] object[]
data.results[].prices[] object
data.results[].prices[].registrar string
data.results[].prices[].registrarName string
data.results[].prices[].register number | null
data.results[].prices[].renew number | null
data.results[].prices[].transfer number | null
data.results[].prices[].currency string
data.results[].prices[].promoPrice number | null
data.results[].prices[].promoDetails string | null
data.results[].prices[].features object
data.results[].prices[].features.freeWhoisPrivacy boolean
data.results[].prices[].features.freeDns boolean
data.results[].prices[].lastUpdated string | null
data.results[].prices[].source string
data.results[].prices[].sourceName string
data.results[].prices[].sourceUrl string | null
data.results[].prices[].confidence string
data.results[].prices[].sourceType string
data.results[].prices[].quoteScope string
data.results[].prices[].observedAt string | null
data.results[].prices[].recommendationEligible boolean
data.results[].prices[].recommendationExclusionReason string | null
data.results[].cheapest object
data.results[].cheapest.register object | null
data.results[].cheapest.renew object | null
data.results[].cheapest.transfer object | null
data.results[].averagePrice object
data.results[].averagePrice.register number | null
data.results[].averagePrice.renew number | null
data.results[].averagePrice.transfer number | null
data.results[].priceRange object
data.results[].priceRange.register object | null
data.results[].priceRange.renew object | null
data.results[].priceRange.transfer object | null
data.results[].lastUpdated string | null
data.results[].dataQuality object
data.results[].dataQuality.sourcesQueried integer
data.results[].dataQuality.sourcesSucceeded integer
data.results[].dataQuality.cacheHitRate number
data.results[].dataQuality.averageConfidence string
data.results[].price_summary object
data.results[].price_summary.registrar_count integer
data.results[].price_summary.registrar_coverage_ratio number
data.results[].price_summary.price_points object
data.results[].price_summary.price_points.register integer
data.results[].price_summary.price_points.renew integer
data.results[].price_summary.price_points.transfer integer
data.results[].price_summary.source_counts object
data.results[].price_summary.confidence_counts object
data.results[].price_summary.freshness object
data.results[].price_summary.freshness.freshest_at string | null
data.results[].price_summary.freshness.oldest_at string | null
data.results[].price_summary.freshness.newest_age_hours number | null
data.results[].price_summary.freshness.stale_price_count integer
data.results[].price_summary.freshness.unknown_freshness_count integer
data.results[].price_summary.spread object
data.results[].price_summary.spread.register_usd number | null
data.results[].price_summary.spread.renew_usd number | null
data.results[].price_summary.spread.transfer_usd number | null
data.results[].price_summary.outlier_count integer
data.results[].price_summary.recommendation_eligible_registrar_count integer
data.results[].price_summary.quality_status string
data.results[].price_summary.cheapest_register object | null
data.results[].price_summary.cheapest_renew object | null
data.results[].price_summary.cheapest_transfer object | null
data.results[].checkAccounting object
data.results[].checkAccounting.plannedChecks integer
data.results[].checkAccounting.actualChecks integer
data.results[].checkAccounting.successfulRows integer
data.results[].checkAccounting.creditsCharged integer
data.results[].checkAccounting.creditsPerCheck integer
data.results[].checkAccounting.selectedRegistrars[] string[]
data.summary object
data.summary.tldsRequested integer
data.summary.tldsWithData integer
data.summary.totalPricePoints integer
data.summary.quoteCount integer
data.summary.numericPriceFieldCount integer
data.summary.market_summary object
data.summary.market_summary.tlds_requested integer
data.summary.market_summary.tlds_with_data integer
data.summary.market_summary.quote_count integer
data.summary.market_summary.integrated_source_count integer
data.summary.market_summary.total_price_points integer
data.summary.market_summary.average_registrar_coverage_ratio number
data.summary.market_summary.stale_tld_count integer
data.summary.market_summary.fallback_tld_count integer
data.summary.market_summary.outlier_tld_count integer
data.summary.market_summary.widest_register_spread_tld string | null
data.summary.market_summary.max_register_spread_usd number | null
data.summary.market_summary.freshest_price_at string | null
data.summary.market_summary.oldest_price_at string | null
data.summary.market_summary.checkAccounting object
data.summary.market_summary.checkAccounting.plannedChecks integer
data.summary.market_summary.checkAccounting.actualChecks integer
data.summary.market_summary.checkAccounting.successfulRows integer
data.summary.market_summary.checkAccounting.creditsCharged integer
data.summary.market_summary.checkAccounting.creditsPerCheck integer
data.summary.market_summary.checkAccounting.selectedRegistrars[] string[]
data.summary.checkAccounting object
data.summary.checkAccounting.plannedChecks integer
data.summary.checkAccounting.actualChecks integer
data.summary.checkAccounting.successfulRows integer
data.summary.checkAccounting.creditsCharged integer
data.summary.checkAccounting.creditsPerCheck integer
data.summary.checkAccounting.selectedRegistrars[] string[]
meta object
meta.requestId string
meta.servedBy string
meta.durationMs integer
meta.cacheStatus string

Example Request

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/prices?tlds=com%2Cnet%2Corg&registrars=porkbun%2Cdynadot&skip_cache=false"

Example Response

{
  "success": true,
  "data": {
    "supportedTlds": [
      "com"
    ],
    "count": 1,
    "hint": "example",
    "results": [
      {
        "tld": "com",
        "prices": [
          {
            "registrar": "example",
            "registrarName": "example",
            "register": 0.5,
            "renew": 0.5,
            "transfer": 0.5,
            "currency": "USD",
            "promoPrice": 0.5,
            "promoDetails": "example",
            "features": {
              "freeWhoisPrivacy": false,
              "freeDns": false
            },
            "lastUpdated": "2026-08-27T12:00:00Z",
            "source": "api",
            "sourceName": "example",
            "sourceUrl": "https://example.com",
            "confidence": "high",
            "sourceType": "official_api",
            "quoteScope": "tld_standard",
            "observedAt": "2026-08-27T12:00:00Z",
            "recommendationEligible": false,
            "recommendationExclusionReason": "stale"
          }
        ],
        "cheapest": {
          "register": {},
          "renew": {},
          "transfer": {}
        },
        "averagePrice": {
          "register": 0.5,
          "renew": 0.5,
          "transfer": 0.5
        },
        "priceRange": {
          "register": {},
          "renew": {},
          "transfer": {}
        },
        "lastUpdated": "2026-08-27T12:00:00Z",
        "dataQuality": {
          "sourcesQueried": 1,
          "sourcesSucceeded": 1,
          "cacheHitRate": 0.5,
          "averageConfidence": "high"
        },
        "price_summary": {
          "registrar_count": 1,
          "registrar_coverage_ratio": 0.5,
          "price_points": {
            "register": 1,
            "renew": 1,
            "transfer": 1
          },
          "source_counts": {},
          "confidence_counts": {},
          "freshness": {
            "freshest_at": "2026-08-27T12:00:00Z",
            "oldest_at": "2026-08-27T12:00:00Z",
            "newest_age_hours": 0.5,
            "stale_price_count": 1,
            "unknown_freshness_count": 1
          },
          "spread": {
            "register_usd": 0.5,
            "renew_usd": 0.5,
            "transfer_usd": 0.5
          },
          "outlier_count": 1,
          "recommendation_eligible_registrar_count": 1,
          "quality_status": "healthy",
          "cheapest_register": {},
          "cheapest_renew": {},
          "cheapest_transfer": {}
        },
        "checkAccounting": {
          "plannedChecks": 1,
          "actualChecks": 1,
          "successfulRows": 1,
          "creditsCharged": 1,
          "creditsPerCheck": 1,
          "selectedRegistrars": [
            "example"
          ]
        }
      }
    ],
    "summary": {
      "tldsRequested": 1,
      "tldsWithData": 1,
      "totalPricePoints": 1,
      "quoteCount": 1,
      "numericPriceFieldCount": 1,
      "market_summary": {
        "tlds_requested": 1,
        "tlds_with_data": 1,
        "quote_count": 1,
        "integrated_source_count": 1,
        "total_price_points": 1,
        "average_registrar_coverage_ratio": 0.5,
        "stale_tld_count": 1,
        "fallback_tld_count": 1,
        "outlier_tld_count": 1,
        "widest_register_spread_tld": "com",
        "max_register_spread_usd": 0.5,
        "freshest_price_at": "2026-08-27T12:00:00Z",
        "oldest_price_at": "2026-08-27T12:00:00Z",
        "checkAccounting": {
          "plannedChecks": 1,
          "actualChecks": 1,
          "successfulRows": 1,
          "creditsCharged": 1,
          "creditsPerCheck": 1,
          "selectedRegistrars": [
            "example"
          ]
        }
      },
      "checkAccounting": {
        "plannedChecks": 1,
        "actualChecks": 1,
        "successfulRows": 1,
        "creditsCharged": 1,
        "creditsPerCheck": 1,
        "selectedRegistrars": [
          "example"
        ]
      }
    }
  },
  "meta": {
    "requestId": "request-id",
    "servedBy": "example",
    "durationMs": 1,
    "cacheStatus": "hit"
  }
}

Limits and evidence boundaries

Results describe observed public evidence and its provenance.
Unknown means the requested fact could not be determined from the available evidence.
Bulk operations process multiple supported inputs while preserving documented item-level outcomes.
Cached indicates that stored evidence was used; review freshness metadata where provided.
Evidence can change over time; use timestamps and freshness fields when provided.

Reviewed 2026-08-22

Frequently asked questions

Where can I find the Domain Pricing request and response reference?

Use the API reference for Domain Pricing to review parameters, response fields, examples, status codes, and supported operation modes.

How should I interpret unknown or incomplete results from Domain Pricing?

Unknown or partial results mean that the requested evidence could not be fully determined. Keep the result state, confidence, freshness, and limitations in downstream decisions.

How is Domain Pricing priced?

Pricing depends on the operation and execution mode. Check the endpoint reference for the current credit cost, authentication requirement, and per-item rules.

Used by people at amazing companies

InstantOutseerMongoDBRespondentSage Expense ManagementInstantlyD.R. HortonWhatConvertsAdobeMotionElementsLLM Pulse