Ontwikkelaarsreferentie
Domeinprijsstelling
Bekijk de API-documentatie voor Domeinprijsstelling, aanvraagparameters, responsvelden, codevoorbeelden en foutafhandeling voor DomScan-integraties.
Domeinprijsstelling
Haal standaardprijzen voor registratie, verlenging en transfer op uit periodiek bijgewerkte officiële registrar-API’s en gecontroleerde uitlezing van officiële prijspagina’s. Verouderde bronnen worden uitgesloten en ontbrekende velden worden niet geschat. Offertes voor specifieke domeinen gebruiken afzonderlijke adapters met inloggegevens. Elk daadwerkelijk gecontroleerd paar van TLD en registrar kost één credit. De respons vermeldt het geplande en werkelijke aantal controles. De dekking varieert, dus controleer de uiteindelijke prijs bij het afrekenen.
Bekijk alle aangesloten prijsproviders
GET
/v1/prices
Queryparameters
| Parameter | Type | Beschrijving |
|---|---|---|
| tlds optioneel | string | TLD om de prijsstelling voor op te halen (bijv. "com", "io") |
| registrars optioneel | string | Nee. Voor elk uniek paar van een TLD en een geselecteerde registrar dat daadwerkelijk wordt gecontroleerd, wordt één credit berekend. Minder registrars selecteren verlaagt de kosten. |
Voorbeeldantwoord
{
"success": true,
"data": {
"results": [
{
"tld": "com",
"prices": [
{
"registrar": "dynadot",
"registrarName": "Dynadot",
"register": 10.88,
"renew": 10.88,
"transfer": 10.88,
"currency": "USD",
"lastUpdated": "2026-07-12T02:00:00.000Z",
"source": "cached",
"sourceType": "official_page",
"sourceName": "Dynadot official pricing page",
"sourceUrl": "https://www.dynadot.com/domain/prices",
"quoteScope": "tld_standard",
"recommendationEligible": true,
"confidence": "medium"
},
{
"registrar": "porkbun",
"registrarName": "Porkbun",
"register": 11.08,
"renew": 11.08,
"transfer": 11.08,
"currency": "USD",
"lastUpdated": "2026-07-12T02:00:00.000Z",
"source": "api",
"sourceType": "official_api",
"sourceName": "Porkbun public pricing API",
"sourceUrl": "https://porkbun.com/api/json/v3/documentation",
"quoteScope": "tld_standard",
"recommendationEligible": true,
"confidence": "high"
}
],
"lastUpdated": "2026-07-12T02:00:00.000Z",
"price_summary": {
"registrar_count": 2,
"price_points": { "register": 2, "renew": 2, "transfer": 2 },
"source_counts": { "api": 1, "cached": 1, "fallback": 0 },
"freshness": {
"freshest_at": "2026-07-12T02:00:00.000Z",
"oldest_at": "2026-07-12T02:00:00.000Z"
},
"recommendation_eligible_registrar_count": 2,
"quality_status": "healthy"
}
}
],
"summary": {
"tldsRequested": 1,
"tldsWithData": 1,
"totalPricePoints": 2,
"market_summary": {
"tlds_requested": 1,
"tlds_with_data": 1,
"total_price_points": 6,
"fallback_tld_count": 0,
"freshest_price_at": "2026-07-12T02:00:00.000Z",
"oldest_price_at": "2026-07-12T02:00:00.000Z"
},
"checkAccounting": {
"plannedChecks": 2,
"actualChecks": 2,
"successfulRows": 2,
"creditsCharged": 2,
"creditsPerCheck": 1,
"selectedRegistrars": ["porkbun", "dynadot"]
}
}
},
"meta": {
"cacheStatus": "hit"
}
}
Antwoordvelden
| Veld | 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 |
GET
/v1/prices/tld/:tld
Queryparameters
| Parameter | Type | vereist |
|---|---|---|
| tld | string | vereist |
| registrars | string | optioneel |
| skip_cache | boolean | optioneel |
Antwoordvelden
| Veld | Type |
|---|---|
success |
boolean |
data |
object |
data.tld |
string |
data.prices[] |
object[] |
data.prices[] |
object |
data.prices[].registrar |
string |
data.prices[].registrarName |
string |
data.prices[].register |
number | null |
data.prices[].renew |
number | null |
data.prices[].transfer |
number | null |
data.prices[].currency |
string |
data.prices[].promoPrice |
number | null |
data.prices[].promoDetails |
string | null |
data.prices[].features |
object |
data.prices[].features.freeWhoisPrivacy |
boolean |
data.prices[].features.freeDns |
boolean |
data.prices[].lastUpdated |
string | null |
data.prices[].source |
string |
data.prices[].sourceName |
string |
data.prices[].sourceUrl |
string | null |
data.prices[].confidence |
string |
data.prices[].sourceType |
string |
data.prices[].quoteScope |
string |
data.prices[].observedAt |
string | null |
data.prices[].recommendationEligible |
boolean |
data.prices[].recommendationExclusionReason |
string | null |
data.cheapest |
object |
data.cheapest.register |
object | null |
data.cheapest.renew |
object | null |
data.cheapest.transfer |
object | null |
data.averagePrice |
object |
data.averagePrice.register |
number | null |
data.averagePrice.renew |
number | null |
data.averagePrice.transfer |
number | null |
data.priceRange |
object |
data.priceRange.register |
object | null |
data.priceRange.renew |
object | null |
data.priceRange.transfer |
object | null |
data.lastUpdated |
string | null |
data.dataQuality |
object |
data.dataQuality.sourcesQueried |
integer |
data.dataQuality.sourcesSucceeded |
integer |
data.dataQuality.cacheHitRate |
number |
data.dataQuality.averageConfidence |
string |
data.price_summary |
object |
data.price_summary.registrar_count |
integer |
data.price_summary.registrar_coverage_ratio |
number |
data.price_summary.price_points |
object |
data.price_summary.price_points.register |
integer |
data.price_summary.price_points.renew |
integer |
data.price_summary.price_points.transfer |
integer |
data.price_summary.source_counts |
object |
data.price_summary.confidence_counts |
object |
data.price_summary.freshness |
object |
data.price_summary.freshness.freshest_at |
string | null |
data.price_summary.freshness.oldest_at |
string | null |
data.price_summary.freshness.newest_age_hours |
number | null |
data.price_summary.freshness.stale_price_count |
integer |
data.price_summary.freshness.unknown_freshness_count |
integer |
data.price_summary.spread |
object |
data.price_summary.spread.register_usd |
number | null |
data.price_summary.spread.renew_usd |
number | null |
data.price_summary.spread.transfer_usd |
number | null |
data.price_summary.outlier_count |
integer |
data.price_summary.recommendation_eligible_registrar_count |
integer |
data.price_summary.quality_status |
string |
data.price_summary.cheapest_register |
object | null |
data.price_summary.cheapest_renew |
object | null |
data.price_summary.cheapest_transfer |
object | null |
data.checkAccounting |
object |
data.checkAccounting.plannedChecks |
integer |
data.checkAccounting.actualChecks |
integer |
data.checkAccounting.successfulRows |
integer |
data.checkAccounting.creditsCharged |
integer |
data.checkAccounting.creditsPerCheck |
integer |
data.checkAccounting.selectedRegistrars[] |
string[] |
meta |
object |
meta.requestId |
string |
meta.servedBy |
string |
meta.durationMs |
integer |
meta.cacheStatus |
string |
Voorbeeldverzoek
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/prices/tld/com?registrars=porkbun%2Cdynadot&skip_cache=example.com"
Voorbeeldantwoord
{
"success": true,
"data": {
"tld": "com",
"prices": [
{
"registrar": "string",
"registrarName": "string",
"register": 1,
"renew": 1,
"transfer": 1,
"currency": "USD",
"promoPrice": 1,
"promoDetails": "string",
"features": {
"freeWhoisPrivacy": true,
"freeDns": true
},
"lastUpdated": "2026-04-15T12:00:00Z",
"source": "api",
"sourceName": "string",
"sourceUrl": "https://example.com",
"confidence": "high",
"sourceType": "official_api",
"quoteScope": "tld_standard",
"observedAt": "2026-04-15T12:00:00Z",
"recommendationEligible": true,
"recommendationExclusionReason": "stale"
}
],
"cheapest": {
"register": {},
"renew": {},
"transfer": {}
},
"averagePrice": {
"register": 1,
"renew": 1,
"transfer": 1
},
"priceRange": {
"register": {},
"renew": {},
"transfer": {}
},
"lastUpdated": "2026-04-15T12:00:00Z",
"dataQuality": {
"sourcesQueried": 1,
"sourcesSucceeded": 1,
"cacheHitRate": 1,
"averageConfidence": "high"
},
"price_summary": {
"registrar_count": 1,
"registrar_coverage_ratio": 1,
"price_points": {
"register": 1,
"renew": 1,
"transfer": 1
},
"source_counts": {},
"confidence_counts": {},
"freshness": {
"freshest_at": "2026-04-15T12:00:00Z",
"oldest_at": "2026-04-15T12:00:00Z",
"newest_age_hours": 1,
"stale_price_count": 1,
"unknown_freshness_count": 1
},
"spread": {
"register_usd": 1,
"renew_usd": 1,
"transfer_usd": 1
},
"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": [
"string"
]
}
},
"meta": {
"requestId": "string",
"servedBy": "string",
"durationMs": 1,
"cacheStatus": "hit"
}
}
POST
/v1/prices/bulk
Lichaamsparameters
| Parameter | Type | vereist |
|---|---|---|
| tlds | string[] | vereist |
| registrars | string[] | optioneel |
| options | object | optioneel |
Antwoordvelden
| Veld | Type |
|---|---|
success |
boolean |
data |
object |
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.tlds_requested |
integer |
data.summary.tlds_with_data |
integer |
data.summary.quote_count |
integer |
data.summary.integrated_source_count |
integer |
data.summary.total_price_points |
integer |
data.summary.average_registrar_coverage_ratio |
number |
data.summary.stale_tld_count |
integer |
data.summary.fallback_tld_count |
integer |
data.summary.outlier_tld_count |
integer |
data.summary.widest_register_spread_tld |
string | null |
data.summary.max_register_spread_usd |
number | null |
data.summary.freshest_price_at |
string | null |
data.summary.oldest_price_at |
string | null |
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[] |
data.meta |
object |
meta |
object |
meta.requestId |
string |
meta.servedBy |
string |
meta.durationMs |
integer |
meta.cacheStatus |
string |
Voorbeeldverzoek
curl -X POST "https://domscan.net/v1/prices/bulk" \
-H "Content-Type: application/json" \
-H "X-API-Key: $DOMSCAN_API_KEY" \
-d '{
"tlds": [
"com",
"net",
"org",
"io"
],
"registrars": [
"porkbun",
"dynadot"
],
"options": {
"skipCache": false
}
}'
Voorbeeldantwoord
{
"success": true,
"data": {
"results": [
{
"tld": "com",
"prices": [
{
"registrar": "string",
"registrarName": "string",
"register": 1,
"renew": 1,
"transfer": 1,
"currency": "USD",
"promoPrice": 1,
"promoDetails": "string",
"features": {
"freeWhoisPrivacy": true,
"freeDns": true
},
"lastUpdated": "2026-04-15T12:00:00Z",
"source": "api",
"sourceName": "string",
"sourceUrl": "https://example.com",
"confidence": "high",
"sourceType": "official_api",
"quoteScope": "tld_standard",
"observedAt": "2026-04-15T12:00:00Z",
"recommendationEligible": true,
"recommendationExclusionReason": "stale"
}
],
"cheapest": {
"register": {},
"renew": {},
"transfer": {}
},
"averagePrice": {
"register": 1,
"renew": 1,
"transfer": 1
},
"priceRange": {
"register": {},
"renew": {},
"transfer": {}
},
"lastUpdated": "2026-04-15T12:00:00Z",
"dataQuality": {
"sourcesQueried": 1,
"sourcesSucceeded": 1,
"cacheHitRate": 1,
"averageConfidence": "high"
},
"price_summary": {
"registrar_count": 1,
"registrar_coverage_ratio": 1,
"price_points": {
"register": 1,
"renew": 1,
"transfer": 1
},
"source_counts": {},
"confidence_counts": {},
"freshness": {
"freshest_at": "2026-04-15T12:00:00Z",
"oldest_at": "2026-04-15T12:00:00Z",
"newest_age_hours": 1,
"stale_price_count": 1,
"unknown_freshness_count": 1
},
"spread": {
"register_usd": 1,
"renew_usd": 1,
"transfer_usd": 1
},
"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": [
"string"
]
}
}
],
"summary": {
"tlds_requested": 1,
"tlds_with_data": 1,
"quote_count": 1,
"integrated_source_count": 1,
"total_price_points": 1,
"average_registrar_coverage_ratio": 1,
"stale_tld_count": 1,
"fallback_tld_count": 1,
"outlier_tld_count": 1,
"widest_register_spread_tld": "string",
"max_register_spread_usd": 1,
"freshest_price_at": "2026-04-15T12:00:00Z",
"oldest_price_at": "2026-04-15T12:00:00Z",
"checkAccounting": {
"plannedChecks": 1,
"actualChecks": 1,
"successfulRows": 1,
"creditsCharged": 1,
"creditsPerCheck": 1,
"selectedRegistrars": [
"string"
]
}
},
"meta": {}
},
"meta": {
"requestId": "string",
"servedBy": "string",
"durationMs": 1,
"cacheStatus": "hit"
}
}
GET
/v1/prices/registrars
Antwoordvelden
| Veld | Type |
|---|---|
success |
boolean |
data |
object |
data.registrars[] |
object[] |
data.registrars[] |
object |
data.registrars[].id |
string |
data.registrars[].name |
string |
data.registrars[].website |
string |
data.registrars[].apiAvailable |
boolean |
data.registrars[].providerType |
string |
data.registrars[].pricingIntegrated |
boolean |
data.registrars[].pricingIntegration |
string | null |
data.registrars[].standardPricingIntegration |
string | null |
data.registrars[].exactDomainPricingIntegrated |
boolean |
data.registrars[].pricingModes[] |
string[] |
data.registrars[].features |
object |
data.registrars[].features.freeWhoisPrivacy |
boolean |
data.registrars[].features.freeDns |
boolean |
data.registrars[].features.bulkDiscounts |
boolean |
data.pricingCoverage |
object |
data.pricingCoverage.listedRegistrarCount |
integer |
data.pricingCoverage.integratedRegistrarCount |
integer |
data.pricingCoverage.standardPricingSources[] |
string[] |
data.pricingCoverage.directPricingSources[] |
string[] |
data.pricingCoverage.scrapedPricingSources[] |
string[] |
data.pricingCoverage.exactDomainPricingSources[] |
string[] |
data.pricingCoverage.snapshotGeneratedAt |
string | null |
data.pricingCoverage.sourceHealth[] |
object[] |
data.pricingCoverage.sourceHealth[] |
object |
data.pricingCoverage.sourceHealth[].source |
string |
data.pricingCoverage.sourceHealth[].registrar |
string | null |
data.pricingCoverage.sourceHealth[].configured |
boolean |
data.pricingCoverage.sourceHealth[].success |
boolean |
data.pricingCoverage.sourceHealth[].sourceType |
string | null |
data.pricingCoverage.sourceHealth[].tldCount |
integer |
data.pricingCoverage.sourceHealth[].durationMs |
integer |
data.pricingCoverage.sourceHealth[].error |
string | null |
data.pricingCoverage.sourceHealth[].retainedPreviousSnapshot |
boolean |
data.pricingCoverage.sourceHealth[].runId |
string |
data.pricingCoverage.sourceHealth[].fetchedAt |
string |
data.pricingCoverage.sourceHealth[].previousTldCount |
integer | null |
data.pricingCoverage.sourceHealth[].lastSuccessAt |
string | null |
data.pricingCoverage.sourceHealth[].contentHash |
string | null |
data.pricingCoverage.sourceHealth[].schemaFingerprint |
string | null |
data.pricingCoverage.sourceHealth[].fieldCoverage |
object |
data.pricingCoverage.sourceHealth[].fieldCoverage.register |
integer |
data.pricingCoverage.sourceHealth[].fieldCoverage.renew |
integer |
data.pricingCoverage.sourceHealth[].fieldCoverage.transfer |
integer |
data.pricingCoverage.note |
string |
data.lastUpdated |
string |
meta |
object |
meta.requestId |
string |
meta.servedBy |
string |
meta.durationMs |
integer |
meta.cacheStatus |
string |
Voorbeeldverzoek
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/prices/registrars"
Voorbeeldantwoord
{
"success": true,
"data": {
"registrars": [
{
"id": "porkbun",
"name": "Porkbun",
"website": "https://porkbun.com",
"apiAvailable": true,
"providerType": "registrar",
"pricingIntegrated": true,
"pricingIntegration": "official_api",
"standardPricingIntegration": "official_api",
"exactDomainPricingIntegrated": false,
"pricingModes": [
"tld_standard"
],
"features": {
"freeWhoisPrivacy": true,
"freeDns": true,
"bulkDiscounts": false
}
}
],
"pricingCoverage": {
"listedRegistrarCount": 118,
"integratedRegistrarCount": 28,
"standardPricingSources": [
"porkbun",
"dynadot",
"namesilo"
],
"directPricingSources": [
"porkbun",
"namesilo",
"namebright"
],
"scrapedPricingSources": [
"dynadot",
"gandi",
"name_com"
],
"exactDomainPricingSources": [
"cloudflare",
"namesilo",
"name_com",
"spaceship",
"vercel"
],
"snapshotGeneratedAt": "2026-07-12T10:35:11.735Z",
"sourceHealth": [
{
"source": "porkbun",
"registrar": "porkbun",
"configured": true,
"success": true,
"sourceType": "official_api",
"tldCount": 907,
"durationMs": 421,
"error": null,
"retainedPreviousSnapshot": false
}
],
"note": "Registrar entries are metadata. Standard and exact-domain integrations are reported separately."
},
"lastUpdated": "2026-07-12T10:35:11.735Z"
},
"meta": {
"requestId": "req_example",
"servedBy": "pop=MAD",
"durationMs": 12,
"cacheStatus": "bypass"
}
}
GET
/v1/prices/compare
Queryparameters
| Parameter | Type | vereist |
|---|---|---|
| domain | string | vereist |
| registrars | string | optioneel |
| skip_cache | boolean | optioneel |
Antwoordvelden
| Veld | Type |
|---|---|
success |
boolean |
data |
object |
data.domain |
string |
data.tld |
string |
data.pricing |
object |
data.pricing.tld |
string |
data.pricing.prices[] |
object[] |
data.pricing.prices[] |
object |
data.pricing.prices[].registrar |
string |
data.pricing.prices[].registrarName |
string |
data.pricing.prices[].register |
number | null |
data.pricing.prices[].renew |
number | null |
data.pricing.prices[].transfer |
number | null |
data.pricing.prices[].currency |
string |
data.pricing.prices[].promoPrice |
number | null |
data.pricing.prices[].promoDetails |
string | null |
data.pricing.prices[].features |
object |
data.pricing.prices[].features.freeWhoisPrivacy |
boolean |
data.pricing.prices[].features.freeDns |
boolean |
data.pricing.prices[].lastUpdated |
string | null |
data.pricing.prices[].source |
string |
data.pricing.prices[].sourceName |
string |
data.pricing.prices[].sourceUrl |
string | null |
data.pricing.prices[].confidence |
string |
data.pricing.prices[].sourceType |
string |
data.pricing.prices[].quoteScope |
string |
data.pricing.prices[].observedAt |
string | null |
data.pricing.prices[].recommendationEligible |
boolean |
data.pricing.prices[].recommendationExclusionReason |
string | null |
data.pricing.cheapest |
object |
data.pricing.cheapest.register |
object | null |
data.pricing.cheapest.renew |
object | null |
data.pricing.cheapest.transfer |
object | null |
data.pricing.averagePrice |
object |
data.pricing.averagePrice.register |
number | null |
data.pricing.averagePrice.renew |
number | null |
data.pricing.averagePrice.transfer |
number | null |
data.pricing.priceRange |
object |
data.pricing.priceRange.register |
object | null |
data.pricing.priceRange.renew |
object | null |
data.pricing.priceRange.transfer |
object | null |
data.pricing.lastUpdated |
string | null |
data.pricing.dataQuality |
object |
data.pricing.dataQuality.sourcesQueried |
integer |
data.pricing.dataQuality.sourcesSucceeded |
integer |
data.pricing.dataQuality.cacheHitRate |
number |
data.pricing.dataQuality.averageConfidence |
string |
data.pricing.price_summary |
object |
data.pricing.price_summary.registrar_count |
integer |
data.pricing.price_summary.registrar_coverage_ratio |
number |
data.pricing.price_summary.price_points |
object |
data.pricing.price_summary.price_points.register |
integer |
data.pricing.price_summary.price_points.renew |
integer |
data.pricing.price_summary.price_points.transfer |
integer |
data.pricing.price_summary.source_counts |
object |
data.pricing.price_summary.confidence_counts |
object |
data.pricing.price_summary.freshness |
object |
data.pricing.price_summary.freshness.freshest_at |
string | null |
data.pricing.price_summary.freshness.oldest_at |
string | null |
data.pricing.price_summary.freshness.newest_age_hours |
number | null |
data.pricing.price_summary.freshness.stale_price_count |
integer |
data.pricing.price_summary.freshness.unknown_freshness_count |
integer |
data.pricing.price_summary.spread |
object |
data.pricing.price_summary.spread.register_usd |
number | null |
data.pricing.price_summary.spread.renew_usd |
number | null |
data.pricing.price_summary.spread.transfer_usd |
number | null |
data.pricing.price_summary.outlier_count |
integer |
data.pricing.price_summary.recommendation_eligible_registrar_count |
integer |
data.pricing.price_summary.quality_status |
string |
data.pricing.price_summary.cheapest_register |
object | null |
data.pricing.price_summary.cheapest_renew |
object | null |
data.pricing.price_summary.cheapest_transfer |
object | null |
data.pricing.checkAccounting |
object |
data.pricing.checkAccounting.plannedChecks |
integer |
data.pricing.checkAccounting.actualChecks |
integer |
data.pricing.checkAccounting.successfulRows |
integer |
data.pricing.checkAccounting.creditsCharged |
integer |
data.pricing.checkAccounting.creditsPerCheck |
integer |
data.pricing.checkAccounting.selectedRegistrars[] |
string[] |
data.recommendation |
object |
data.recommendation.registrar |
string |
data.recommendation.reason |
string |
data.recommendation.savings |
number |
data.recommendation_status |
string |
data.cloudflare |
object |
data.cloudflare.source |
string |
data.cloudflare.checked |
boolean |
data.cloudflare.status |
string |
data.cloudflare.supported |
boolean | null |
data.cloudflare.registrable |
boolean | null |
data.cloudflare.reason |
string | null |
data.cloudflare.pricing |
object |
data.cloudflare.pricing.currency |
string | null |
data.cloudflare.pricing.registrationCost |
number | null |
data.cloudflare.pricing.renewalCost |
number | null |
data.cloudflare.checkedAt |
string | null |
data.exact_quotes[] |
object[] |
data.exact_quotes[] |
object |
data.exact_quotes[].registrar |
string |
data.exact_quotes[].sourceType |
string |
data.exact_quotes[].sourceName |
string |
data.exact_quotes[].sourceUrl |
string |
data.exact_quotes[].quoteScope |
string |
data.exact_quotes[].checked |
boolean |
data.exact_quotes[].configured |
boolean |
data.exact_quotes[].status |
string |
data.exact_quotes[].available |
boolean | null |
data.exact_quotes[].definitive |
boolean | null |
data.exact_quotes[].premium |
boolean | null |
data.exact_quotes[].minimumRegistrationYears |
integer | null |
data.exact_quotes[].currency |
string | null |
data.exact_quotes[].register |
number | null |
data.exact_quotes[].renew |
number | null |
data.exact_quotes[].transfer |
number | null |
data.exact_quotes[].checkedAt |
string | null |
data.exact_quotes[].errorCode |
string | null |
data.checkAccounting |
object |
data.checkAccounting.plannedChecks |
integer |
data.checkAccounting.actualChecks |
integer |
data.checkAccounting.successfulRows |
integer |
data.checkAccounting.creditsCharged |
integer |
data.checkAccounting.creditsPerCheck |
integer |
data.checkAccounting.selectedRegistrars[] |
string[] |
data.comparison_summary |
object |
data.comparison_summary.first_year_registrar |
string | null |
data.comparison_summary.renewal_registrar |
string | null |
data.comparison_summary.transfer_registrar |
string | null |
data.comparison_summary.first_year_price |
number | null |
data.comparison_summary.renewal_price |
number | null |
data.comparison_summary.transfer_price |
number | null |
data.comparison_summary.first_year_vs_renewal_delta_usd |
number | null |
data.comparison_summary.first_year_vs_renewal_delta_pct |
number | null |
data.comparison_summary.cheapest_register_renews_higher |
boolean |
data.comparison_summary.renewal_trap_warning |
boolean |
data.comparison_summary.transfer_savings_usd |
number | null |
data.comparison_summary.cloudflare_live_status |
string |
data.comparison_summary.recommendation_basis |
string |
meta |
object |
meta.requestId |
string |
meta.servedBy |
string |
meta.durationMs |
integer |
meta.cacheStatus |
string |
Voorbeeldverzoek
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/prices/compare?domain=example.com®istrars=porkbun%2Ccloudflare&skip_cache=example.com"
Voorbeeldantwoord
{
"success": true,
"data": {
"domain": "example.com",
"tld": "com",
"pricing": {
"tld": "com",
"prices": [
{
"registrar": "string",
"registrarName": "string",
"register": 1,
"renew": 1,
"transfer": 1,
"currency": "USD",
"promoPrice": 1,
"promoDetails": "string",
"features": {
"freeWhoisPrivacy": true,
"freeDns": true
},
"lastUpdated": "2026-04-15T12:00:00Z",
"source": "api",
"sourceName": "string",
"sourceUrl": "https://example.com",
"confidence": "high",
"sourceType": "official_api",
"quoteScope": "tld_standard",
"observedAt": "2026-04-15T12:00:00Z",
"recommendationEligible": true,
"recommendationExclusionReason": "stale"
}
],
"cheapest": {
"register": {},
"renew": {},
"transfer": {}
},
"averagePrice": {
"register": 1,
"renew": 1,
"transfer": 1
},
"priceRange": {
"register": {},
"renew": {},
"transfer": {}
},
"lastUpdated": "2026-04-15T12:00:00Z",
"dataQuality": {
"sourcesQueried": 1,
"sourcesSucceeded": 1,
"cacheHitRate": 1,
"averageConfidence": "high"
},
"price_summary": {
"registrar_count": 1,
"registrar_coverage_ratio": 1,
"price_points": {
"register": 1,
"renew": 1,
"transfer": 1
},
"source_counts": {},
"confidence_counts": {},
"freshness": {
"freshest_at": "2026-04-15T12:00:00Z",
"oldest_at": "2026-04-15T12:00:00Z",
"newest_age_hours": 1,
"stale_price_count": 1,
"unknown_freshness_count": 1
},
"spread": {
"register_usd": 1,
"renew_usd": 1,
"transfer_usd": 1
},
"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": [
"string"
]
}
},
"recommendation": {
"registrar": "string",
"reason": "string",
"savings": 1
},
"recommendation_status": "available",
"cloudflare": {
"source": "registrar_api_beta",
"checked": true,
"status": "registrable",
"supported": true,
"registrable": true,
"reason": "string",
"pricing": {
"currency": "string",
"registrationCost": 1,
"renewalCost": 1
},
"checkedAt": "2026-04-15T12:00:00Z"
},
"exact_quotes": [
{
"registrar": "string",
"sourceType": "official_api",
"sourceName": "string",
"sourceUrl": "https://example.com",
"quoteScope": "exact_domain",
"checked": true,
"configured": true,
"status": "registrable",
"available": true,
"definitive": true,
"premium": true,
"minimumRegistrationYears": 1,
"currency": "string",
"register": 1,
"renew": 1,
"transfer": 1,
"checkedAt": "2026-04-15T12:00:00Z",
"errorCode": "string"
}
],
"checkAccounting": {
"plannedChecks": 1,
"actualChecks": 1,
"successfulRows": 1,
"creditsCharged": 1,
"creditsPerCheck": 1,
"selectedRegistrars": [
"string"
]
},
"comparison_summary": {
"first_year_registrar": "string",
"renewal_registrar": "string",
"transfer_registrar": "string",
"first_year_price": 1,
"renewal_price": 1,
"transfer_price": 1,
"first_year_vs_renewal_delta_usd": 1,
"first_year_vs_renewal_delta_pct": 1,
"cheapest_register_renews_higher": true,
"renewal_trap_warning": true,
"transfer_savings_usd": 1,
"cloudflare_live_status": "registrable",
"recommendation_basis": "lowest_register"
}
},
"meta": {
"requestId": "string",
"servedBy": "string",
"durationMs": 1,
"cacheStatus": "hit"
}
}
GET
/v1/pricing
Antwoordvelden
| Veld | Type |
|---|---|
currency |
string |
signup_bonus |
integer |
monthly_refresh |
string |
endpoints[] |
object[] |
endpoints[] |
object |
endpoints[].endpoint |
string |
endpoints[].method |
string |
endpoints[].credits |
integer |
endpoints[].variants[] |
object[] |
endpoints[].variants[] |
object |
endpoints[].variants[].parameter |
string |
endpoints[].variants[].equals |
unknown |
endpoints[].variants[].credits |
integer |
endpoints[].bulk_pricing |
object |
endpoints[].bulk_pricing.per_item_rate |
integer |
endpoints[].bulk_pricing.formula |
string |
endpoints[].bulk_pricing.min_cost |
integer |
endpoints[].note |
string |
free_endpoints[] |
string[] |
note |
string |
Voorbeeldverzoek
curl "https://domscan.net/v1/pricing"
Voorbeeldantwoord
{
"currency": "credits",
"signup_bonus": 1,
"monthly_refresh": "string",
"endpoints": [
{
"endpoint": "string",
"method": "GET",
"credits": 1,
"variants": [
{
"parameter": "string",
"equals": null,
"credits": 1
}
],
"bulk_pricing": {
"per_item_rate": 1,
"formula": "string",
"min_cost": 1
},
"note": "string"
}
],
"free_endpoints": [
"string"
],
"note": "string"
}