Referencia de API

API de Recetas de Flujo de Trabajo

Flujos de trabajo de API preconfigurados para tareas comunes de inteligencia de dominios. Cada receta combina múltiples endpoints para lograr un objetivo específico. Usa esta referencia para elegir una operación e integrar su contrato de respuesta documentado.

Operaciones

GET /v1/recipes/due-diligence Ver referencia de API
GET /v1/recipes/brand-launch Ver referencia de API
GET /v1/recipes/threat-assessment Ver referencia de API
GET /v1/recipes/domain-finder Ver referencia de API
GET /v1/recipes/competitor-intel Ver referencia de API
GET /v1/recipes/portfolio-audit Ver referencia de API
POST /v1/recipes/portfolio-audit Ver referencia de API
GET /v1/recipes/email-deliverability Ver referencia de API
GET /v1/recipes/dns-migration Ver referencia de API
GET /v1/recipes/infrastructure-discovery Ver referencia de API
GET /v1/recipes/defensive-registration Ver referencia de API
GET /v1/recipes/phishing-investigation Ver referencia de API

GET /v1/recipes/due-diligence

Operación: recipeDueDiligence Créditos y autenticación: 12 Autenticación obligatoria
GET /v1/recipes/due-diligence

Parámetros de consulta

Parámetro Tipo obligatorio
domain string obligatorio
include_competitors boolean
Predeterminado false
opcional

Campos de respuesta

Campo Tipo
success boolean
data object
data.domain string
data.summary object
data.summary.recommendation string
data.summary.confidence_score number
data.summary.key_findings[] string[]
data.summary.risk_factors[] string[]
data.registration object
data.registration.registrar string
data.registration.created_date string
data.registration.expiry_date string
data.registration.updated_date string
data.registration.age_years number
data.registration.days_until_expiry number
data.registration.status[] string[]
data.registration.nameservers[] string[]
data.registration.dnssec boolean
data.registration.privacy_protected boolean
data.valuation object
data.valuation.estimate_low number
data.valuation.estimate_mid number
data.valuation.estimate_high number
data.valuation.currency string
data.valuation.confidence number
data.valuation.factors object
data.valuation.factors.length number
data.valuation.factors.tld string
data.valuation.factors.brandability number
data.health object
data.health.score number
data.health.grade string
data.health.dns_configured boolean
data.health.ssl_valid boolean
data.health.email_deliverable boolean
data.health.warnings[] string[]
data.security object
data.security.reputation_score number
data.security.reputation_grade string
data.security.risk_level string
data.security.blacklisted boolean
data.security.blacklist_details[] array
data.brand_protection object
data.brand_protection.typo_score number
data.brand_protection.typo_grade string
data.brand_protection.variants_registered number
data.brand_protection.high_risk_variants number
data.pricing object
data.pricing.best_price number
data.pricing.best_registrar string
data.pricing.all_prices[] object[]
data.pricing.all_prices[] object
data.pricing.all_prices[].registrar string
data.pricing.all_prices[].price number
data.pricing.all_prices[].currency string
data.action_items[] object[]
data.action_items[] object
data.action_items[].priority string
data.action_items[].category string
data.action_items[].action string
data.action_items[].details string
data.action_items[].estimated_impact string
meta object
meta.recipe_name string
meta.credits_used number
meta.credits_saved number
meta.duration_ms number
meta.components_called[] string[]
meta.cached_components[] string[]
meta.timestamp string
errors[] array

Solicitud de ejemplo

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/recipes/due-diligence?domain=example.com&include_competitors=example.com"

Respuesta de ejemplo

{
  "success": true,
  "data": {
    "domain": "example.com",
    "summary": {
      "recommendation": "buy",
      "confidence_score": 88,
      "key_findings": [
        "Established registration history",
        "Clean reputation"
      ],
      "risk_factors": [
        "DNSSEC not enabled"
      ]
    },
    "registration": {
      "registrar": "Example Registrar",
      "created_date": "2019-03-11",
      "expiry_date": "2027-03-11",
      "updated_date": "2026-03-10",
      "age_years": 7,
      "days_until_expiry": 330,
      "status": [
        "active",
        "clientTransferProhibited"
      ],
      "nameservers": [
        "ns1.example.net",
        "ns2.example.net"
      ],
      "dnssec": false,
      "privacy_protected": true
    },
    "valuation": {
      "estimate_low": 1800,
      "estimate_mid": 3500,
      "estimate_high": 5200,
      "currency": "USD",
      "confidence": 0.72,
      "factors": {
        "length": 11,
        "tld": "com",
        "brandability": 0.81
      }
    },
    "health": {
      "score": 84,
      "grade": "A",
      "dns_configured": true,
      "ssl_valid": true,
      "email_deliverable": true,
      "warnings": [
        "DNSSEC not enabled"
      ]
    },
    "security": {
      "reputation_score": 91,
      "reputation_grade": "A",
      "risk_level": "low",
      "blacklisted": false,
      "blacklist_details": []
    },
    "brand_protection": {
      "typo_score": 78,
      "typo_grade": "B",
      "variants_registered": 2,
      "high_risk_variants": 1
    },
    "pricing": {
      "best_price": 9.99,
      "best_registrar": "cloudflare",
      "all_prices": [
        {
          "registrar": "cloudflare",
          "price": 9.99,
          "currency": "USD"
        }
      ]
    },
    "action_items": [
      {
        "priority": "medium",
        "category": "security",
        "action": "Enable DNSSEC",
        "details": "Improve zone integrity for resolvers.",
        "estimated_impact": "Lower spoofing risk"
      }
    ]
  },
  "meta": {
    "recipe_name": "domain-due-diligence",
    "credits_used": 12,
    "credits_saved": 6,
    "duration_ms": 742,
    "components_called": [
      "availability",
      "whois",
      "valuation",
      "health",
      "reputation",
      "typosquatting",
      "pricing"
    ],
    "cached_components": [
      "pricing"
    ],
    "timestamp": "2026-04-15T09:30:00Z"
  },
  "errors": []
}

GET /v1/recipes/brand-launch

Operación: recipeBrandLaunch Créditos y autenticación: 10 Autenticación obligatoria
GET /v1/recipes/brand-launch

Parámetros de consulta

Parámetro Tipo obligatorio
domain string obligatorio
brand_name string opcional
platforms string opcional

Campos de respuesta

Campo Tipo
success boolean
data object
data.domain string
data.brand_name string
data.readiness_score number
data.status string
data.checklist object
data.checklist.domain_controlled object
data.checklist.domain_controlled.name string
data.checklist.domain_controlled.status string
data.checklist.domain_controlled.details string
data.checklist.ssl_configured object
data.checklist.ssl_configured.name string
data.checklist.ssl_configured.status string
data.checklist.ssl_configured.details string
data.checklist.dns_configured object
data.checklist.dns_configured.name string
data.checklist.dns_configured.status string
data.checklist.dns_configured.details string
data.checklist.email_auth object
data.checklist.email_auth.name string
data.checklist.email_auth.status string
data.checklist.email_auth.score number
data.checklist.email_auth.details string
data.checklist.email_auth.action string
data.checklist.social_handles object
data.checklist.social_handles.name string
data.checklist.social_handles.status string
data.checklist.social_handles.score number
data.checklist.social_handles.details string
data.checklist.brand_protection object
data.checklist.brand_protection.name string
data.checklist.brand_protection.status string
data.checklist.brand_protection.score number
data.checklist.brand_protection.details string
data.checklist.reputation_clean object
data.checklist.reputation_clean.name string
data.checklist.reputation_clean.status string
data.checklist.reputation_clean.details string
data.checklist.brand_quality object
data.checklist.brand_quality.name string
data.checklist.brand_quality.status string
data.checklist.brand_quality.score number
data.checklist.brand_quality.details string
data.social_availability[] object[]
data.social_availability[] object
data.social_availability[].platform string
data.social_availability[].available boolean
data.social_availability[].url string
data.typo_threats object
data.typo_threats.total_variants number
data.typo_threats.registered_threats number
data.typo_threats.high_risk_count number
data.brand_score object
data.brand_score.overall number
data.brand_score.pronounceability number
data.brand_score.memorability number
data.brand_score.spelling_ease number
data.action_items[] object[]
data.action_items[] object
data.action_items[].priority string
data.action_items[].category string
data.action_items[].action string
data.action_items[].details string
data.action_items[].estimated_impact string
meta object
meta.recipe_name string
meta.credits_used number
meta.credits_saved number
meta.duration_ms number
meta.components_called[] string[]
meta.cached_components[] array
meta.timestamp string
errors[] array

Solicitud de ejemplo

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/recipes/brand-launch?domain=example.com&brand_name=example.com&platforms=github%2Ctwitter"

Respuesta de ejemplo

{
  "success": true,
  "data": {
    "domain": "launchbrand.com",
    "brand_name": "Launch Brand",
    "readiness_score": 82,
    "status": "ready",
    "checklist": {
      "domain_controlled": {
        "name": "Domain Ownership",
        "status": "pass",
        "details": "Domain is registered"
      },
      "ssl_configured": {
        "name": "SSL Certificate",
        "status": "pass",
        "details": "HTTPS is working"
      },
      "dns_configured": {
        "name": "DNS Configuration",
        "status": "pass",
        "details": "DNS records configured"
      },
      "email_auth": {
        "name": "Email Authentication",
        "status": "warning",
        "score": 66,
        "details": "Missing: DMARC",
        "action": "Configure DMARC"
      },
      "social_handles": {
        "name": "Social Handles",
        "status": "warning",
        "score": 50,
        "details": "2 of 4 handles available"
      },
      "brand_protection": {
        "name": "Brand Protection",
        "status": "warning",
        "score": 71,
        "details": "1 high-risk typo variant available"
      },
      "reputation_clean": {
        "name": "Reputation",
        "status": "pass",
        "details": "Clean reputation"
      },
      "brand_quality": {
        "name": "Brand Quality",
        "status": "pass",
        "score": 84,
        "details": "Strong memorability and spelling ease"
      }
    },
    "social_availability": [
      {
        "platform": "github",
        "available": true,
        "url": "https://github.com/launchbrand"
      },
      {
        "platform": "twitter",
        "available": false
      }
    ],
    "typo_threats": {
      "total_variants": 48,
      "registered_threats": 2,
      "high_risk_count": 1
    },
    "brand_score": {
      "overall": 84,
      "pronounceability": 80,
      "memorability": 86,
      "spelling_ease": 88
    },
    "action_items": [
      {
        "priority": "high",
        "category": "email",
        "action": "Configure DMARC",
        "details": "Complete the authentication trio before launch.",
        "estimated_impact": "Higher inbox placement"
      }
    ]
  },
  "meta": {
    "recipe_name": "brand-launch-readiness",
    "credits_used": 10,
    "credits_saved": 4,
    "duration_ms": 581,
    "components_called": [
      "availability",
      "health",
      "dns_security",
      "reputation",
      "typosquatting",
      "scoring",
      "social"
    ],
    "cached_components": [],
    "timestamp": "2026-04-15T09:42:00Z"
  },
  "errors": []
}

GET /v1/recipes/threat-assessment

Operación: recipeThreatAssessment Créditos y autenticación: 18 Autenticación obligatoria
GET /v1/recipes/threat-assessment

Parámetros de consulta

Parámetro Tipo obligatorio
domain string obligatorio
analyze_threats boolean
Predeterminado true
opcional
max_threats integer
Predeterminado 10
opcional
include_evidence boolean
Predeterminado true
opcional

Campos de respuesta

Campo Tipo
success boolean
data object
data.domain string
data.summary object
data.summary.risk_level string
data.summary.overall_score number
data.summary.total_variants_generated number
data.summary.variants_registered number
data.summary.active_threats number
data.summary.suspicious_activity number
data.protection_score object
data.protection_score.score number
data.protection_score.grade string
data.protection_score.vulnerabilities[] object[]
data.protection_score.vulnerabilities[] object
data.protection_score.vulnerabilities[].category string
data.protection_score.vulnerabilities[].count number
data.protection_score.vulnerabilities[].risk string
data.protection_score.vulnerabilities[].description string
data.threats[] object[]
data.threats[] object
data.threats[].domain string
data.threats[].threat_type string
data.threats[].risk_level string
data.threats[].registered boolean
data.threats[].registration object
data.threats[].registration.registrar string
data.threats[].registration.created_date string
data.threats[].registration.privacy_protected boolean
data.threats[].infrastructure object
data.threats[].infrastructure.ip string
data.threats[].infrastructure.hosting_provider string
data.threats[].infrastructure.country string
data.threats[].indicators object
data.threats[].indicators.has_mx_records boolean
data.threats[].indicators.has_website boolean
data.threats[].indicators.ssl_valid boolean
data.threats[].indicators.reputation_flags[] string[]
data.threats[].recommendation string
data.recommendations[] string[]
data.action_items[] object[]
data.action_items[] object
data.action_items[].priority string
data.action_items[].category string
data.action_items[].action string
data.action_items[].details string
data.action_items[].estimated_impact string
meta object
meta.recipe_name string
meta.credits_used number
meta.credits_saved number
meta.duration_ms number
meta.components_called[] string[]
meta.cached_components[] string[]
meta.timestamp string
errors[] array

Solicitud de ejemplo

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/recipes/threat-assessment?domain=example.com&analyze_threats=example.com&max_threats=example.com&include_evidence=example.com"

Respuesta de ejemplo

{
  "success": true,
  "data": {
    "domain": "brand.com",
    "summary": {
      "risk_level": "high",
      "overall_score": 61,
      "total_variants_generated": 120,
      "variants_registered": 14,
      "active_threats": 3,
      "suspicious_activity": 2
    },
    "protection_score": {
      "score": 73,
      "grade": "B",
      "vulnerabilities": [
        {
          "category": "homoglyph",
          "count": 3,
          "risk": "high",
          "description": "Lookalike Unicode variants are registered."
        }
      ]
    },
    "threats": [
      {
        "domain": "brancd.com",
        "threat_type": "typosquatting",
        "risk_level": "high",
        "registered": true,
        "registration": {
          "registrar": "Example Registrar",
          "created_date": "2026-01-10",
          "privacy_protected": true
        },
        "infrastructure": {
          "ip": "198.51.100.21",
          "hosting_provider": "Example Hosting",
          "country": "US"
        },
        "indicators": {
          "has_mx_records": true,
          "has_website": true,
          "ssl_valid": false,
          "reputation_flags": [
            "recent_registration",
            "parked"
          ]
        },
        "recommendation": "Investigate hosting and submit abuse report."
      }
    ],
    "recommendations": [
      "Monitor newly registered typo variants.",
      "Escalate active lookalike websites to brand protection."
    ],
    "action_items": [
      {
        "priority": "critical",
        "category": "brand-protection",
        "action": "Investigate high-risk typo domains",
        "details": "Three active websites are impersonating the brand.",
        "estimated_impact": "Reduce phishing exposure"
      }
    ]
  },
  "meta": {
    "recipe_name": "threat-assessment",
    "credits_used": 18,
    "credits_saved": 22,
    "duration_ms": 934,
    "components_called": [
      "typosquatting",
      "availability",
      "whois",
      "health",
      "reputation"
    ],
    "cached_components": [
      "availability"
    ],
    "timestamp": "2026-04-15T10:02:00Z"
  },
  "errors": []
}

GET /v1/recipes/domain-finder

Operación: recipeDomainFinder Créditos y autenticación: 12 Autenticación obligatoria
GET /v1/recipes/domain-finder

Parámetros de consulta

Parámetro Tipo obligatorio
keywords string obligatorio
tlds string opcional
style string
Valores permitidos brandablekeyword-richshort
opcional
max_length integer opcional
language string
Valores permitidos enzhesjadefrptitkoruarhibnidmsthvitrplnlsvdanofielcshuroukhe
Predeterminado en
opcional
limit integer
Predeterminado 20
opcional

Campos de respuesta

Campo Tipo
success boolean
data object
data.results[] object[]
data.results[] object
data.results[].domain string
data.results[].available boolean
data.results[].brand_score number
data.results[].value_estimate object
data.results[].value_estimate.low number
data.results[].value_estimate.mid number
data.results[].value_estimate.high number
data.results[].registration_price number
data.results[].best_registrar string
data.results[].social_availability object
data.results[].social_availability.github boolean
data.results[].social_availability.twitter boolean
data.results[].recommendation_score number
data.results[].notes[] string[]
data.filters_applied object
data.filters_applied.tlds[] string[]
data.filters_applied.style string
data.filters_applied.max_length number
data.alternatives_considered number
data.search_criteria object
data.search_criteria.keywords[] string[]
data.search_criteria.tlds[] string[]
data.search_criteria.style string
data.search_criteria.max_length number
data.search_criteria.budget object
data.search_criteria.budget.max number
data.search_criteria.budget.currency string
data.search_criteria.require_social[] string[]
data.search_criteria.limit number
meta object
meta.recipe_name string
meta.credits_used number
meta.credits_saved number
meta.duration_ms number
meta.components_called[] string[]
meta.cached_components[] string[]
meta.timestamp string
errors[] array

Solicitud de ejemplo

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/recipes/domain-finder?keywords=startup%2Cbrand&tlds=com%2Cio&style=brandable&max_length=15&language=example.com&limit=10"

Respuesta de ejemplo

{
  "success": true,
  "data": {
    "results": [
      {
        "domain": "launchgrid.com",
        "available": true,
        "brand_score": 86,
        "value_estimate": {
          "low": 400,
          "mid": 1200,
          "high": 2800
        },
        "registration_price": 10.99,
        "best_registrar": "porkbun",
        "social_availability": {
          "github": true,
          "twitter": false
        },
        "recommendation_score": 92,
        "notes": [
          "Style: brandable",
          "Within budget"
        ]
      }
    ],
    "filters_applied": {
      "tlds": [
        "com",
        "io"
      ],
      "style": "brandable",
      "max_length": 12
    },
    "alternatives_considered": 42,
    "search_criteria": {
      "keywords": [
        "launch",
        "grid"
      ],
      "tlds": [
        "com",
        "io"
      ],
      "style": "brandable",
      "max_length": 12,
      "budget": {
        "max": 20,
        "currency": "USD"
      },
      "require_social": [
        "github",
        "twitter"
      ],
      "limit": 10
    }
  },
  "meta": {
    "recipe_name": "domain-finder",
    "credits_used": 12,
    "credits_saved": 13,
    "duration_ms": 611,
    "components_called": [
      "suggest",
      "availability",
      "valuation",
      "scoring",
      "social",
      "pricing"
    ],
    "cached_components": [
      "pricing"
    ],
    "timestamp": "2026-04-15T10:11:00Z"
  },
  "errors": []
}

GET /v1/recipes/competitor-intel

Operación: recipeCompetitorIntel Créditos y autenticación: 15 Autenticación obligatoria
GET /v1/recipes/competitor-intel

Parámetros de consulta

Parámetro Tipo obligatorio
domain string obligatorio
discover_subdomains boolean
Predeterminado true
opcional
analyze_infrastructure boolean
Predeterminado true
opcional
analyze_email boolean
Predeterminado true
opcional

Campos de respuesta

Campo Tipo
success boolean
data object
data.domain string
data.company object
data.company.name string
data.company.industry string
data.company.description string
data.infrastructure object
data.infrastructure.hosting string
data.infrastructure.cdn string
data.infrastructure.dns_provider string
data.infrastructure.email_provider string
data.infrastructure.ip_addresses[] string[]
data.technology object
data.technology.cms null
data.technology.frameworks[] string[]
data.technology.analytics[] string[]
data.technology.marketing[] string[]
data.technology.all_detected[] string[]
data.digital_footprint object
data.digital_footprint.subdomains_found[] string[]
data.digital_footprint.ssl_certificates number
data.digital_footprint.email_security_grade string
data.insights[] string[]
meta object
meta.recipe_name string
meta.credits_used number
meta.credits_saved number
meta.duration_ms number
meta.components_called[] string[]
meta.cached_components[] string[]
meta.timestamp string
errors[] array

Solicitud de ejemplo

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/recipes/competitor-intel?domain=example.com&discover_subdomains=example.com&analyze_infrastructure=example.com&analyze_email=example.com"

Respuesta de ejemplo

{
  "success": true,
  "data": {
    "domain": "competitor.com",
    "company": {
      "name": "Competitor Inc.",
      "industry": "SaaS",
      "description": "B2B workflow platform"
    },
    "infrastructure": {
      "hosting": "Vercel",
      "cdn": "Cloudflare",
      "dns_provider": "Cloudflare",
      "email_provider": "Google Workspace",
      "ip_addresses": [
        "198.51.100.11",
        "198.51.100.12"
      ]
    },
    "technology": {
      "cms": null,
      "frameworks": [
        "Next.js"
      ],
      "analytics": [
        "Google Analytics"
      ],
      "marketing": [
        "HubSpot"
      ],
      "all_detected": [
        "Cloudflare",
        "Next.js",
        "HubSpot",
        "Google Analytics"
      ]
    },
    "digital_footprint": {
      "subdomains_found": [
        "www",
        "app",
        "api",
        "status"
      ],
      "ssl_certificates": 5,
      "email_security_grade": "A"
    },
    "insights": [
      "Cloudflare is fronting the main web stack.",
      "Separate status infrastructure is publicly exposed."
    ]
  },
  "meta": {
    "recipe_name": "competitor-intelligence",
    "credits_used": 15,
    "credits_saved": 5,
    "duration_ms": 915,
    "components_called": [
      "whois",
      "dns",
      "dns-security",
      "tech",
      "subdomains",
      "certificates",
      "ip"
    ],
    "cached_components": [
      "dns"
    ],
    "timestamp": "2026-04-15T10:22:00Z"
  },
  "errors": []
}

GET /v1/recipes/portfolio-audit

Operación: recipePortfolioAudit Créditos y autenticación: 25 Autenticación obligatoria
GET /v1/recipes/portfolio-audit

Parámetros de consulta

Parámetro Tipo obligatorio
domains string obligatorio
include_valuation boolean
Predeterminado true
opcional
include_health boolean
Predeterminado true
opcional
include_pricing boolean
Predeterminado true
opcional
alert_expiring_days integer
Predeterminado 90
opcional

Campos de respuesta

Campo Tipo
success boolean
data object
data.summary object
data.summary.total_domains number
data.summary.total_value_low number
data.summary.total_value_high number
data.summary.average_health_score number
data.summary.expiring_soon number
data.summary.renewal_cost_annual number
data.alerts[] object[]
data.alerts[] object
data.alerts[].domain string
data.alerts[].type string
data.alerts[].severity string
data.alerts[].message string
data.alerts[].action string
data.optimization object
data.optimization.registrar_consolidation object
data.optimization.registrar_consolidation.current_registrars number
data.optimization.registrar_consolidation.recommendation string
data.optimization.registrar_consolidation.potential_savings number
data.optimization.underperforming[] string[]
data.optimization.top_valuable[] string[]
data.domains[] object[]
data.domains[] object
data.domains[].domain string
data.domains[].status string
data.domains[].value_estimate object
data.domains[].value_estimate.low number
data.domains[].value_estimate.mid number
data.domains[].value_estimate.high number
data.domains[].health_score number
data.domains[].health_grade string
data.domains[].expiry_date string
data.domains[].days_until_expiry number
data.domains[].renewal_price number
data.domains[].issues[] array
meta object
meta.recipe_name string
meta.credits_used number
meta.credits_saved number
meta.duration_ms number
meta.components_called[] string[]
meta.cached_components[] string[]
meta.timestamp string
errors[] array

Solicitud de ejemplo

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/recipes/portfolio-audit?domains=example.com%2Cexample.net&include_valuation=example.com&include_health=example.com&include_pricing=example.com&alert_expiring_days=example.com"

Respuesta de ejemplo

{
  "success": true,
  "data": {
    "summary": {
      "total_domains": 3,
      "total_value_low": 3200,
      "total_value_high": 12400,
      "average_health_score": 78,
      "expiring_soon": 1,
      "renewal_cost_annual": 98.4
    },
    "alerts": [
      {
        "domain": "brandold.com",
        "type": "expiration",
        "severity": "high",
        "message": "Expires in 12 days.",
        "action": "Renew immediately"
      }
    ],
    "optimization": {
      "registrar_consolidation": {
        "current_registrars": 3,
        "recommendation": "Move long-tail domains to a single low-cost registrar.",
        "potential_savings": 48
      },
      "underperforming": [
        "brandold.com"
      ],
      "top_valuable": [
        "brand.com"
      ]
    },
    "domains": [
      {
        "domain": "brand.com",
        "status": "owned",
        "value_estimate": {
          "low": 2500,
          "mid": 4600,
          "high": 9000
        },
        "health_score": 92,
        "health_grade": "A",
        "expiry_date": "2027-02-01",
        "days_until_expiry": 292,
        "renewal_price": 12.99,
        "issues": []
      }
    ]
  },
  "meta": {
    "recipe_name": "portfolio-audit",
    "credits_used": 25,
    "credits_saved": 275,
    "duration_ms": 1298,
    "components_called": [
      "availability",
      "whois",
      "valuation",
      "health",
      "pricing"
    ],
    "cached_components": [
      "valuation"
    ],
    "timestamp": "2026-04-15T10:31:00Z"
  },
  "errors": []
}

POST /v1/recipes/portfolio-audit

Operación: recipePortfolioAuditPost Créditos y autenticación: 25 Autenticación obligatoria
POST /v1/recipes/portfolio-audit

Parámetros del cuerpo

Parámetro Tipo obligatorio
domains string[] obligatorio
include_valuation boolean
Predeterminado true
opcional
include_health boolean
Predeterminado true
opcional
include_pricing boolean
Predeterminado true
opcional
alert_expiring_days integer
Predeterminado 90
opcional

Campos de respuesta

Campo Tipo
success boolean
data object
data.summary object
data.summary.total_domains number
data.summary.total_value_low number
data.summary.total_value_high number
data.summary.average_health_score number
data.summary.expiring_soon number
data.summary.renewal_cost_annual number
data.alerts[] object[]
data.alerts[] object
data.alerts[].domain string
data.alerts[].type string
data.alerts[].severity string
data.alerts[].message string
data.alerts[].action string
data.optimization object
data.optimization.registrar_consolidation object
data.optimization.registrar_consolidation.current_registrars number
data.optimization.registrar_consolidation.recommendation string
data.optimization.registrar_consolidation.potential_savings number
data.optimization.underperforming[] string[]
data.optimization.top_valuable[] string[]
data.domains[] object[]
data.domains[] object
data.domains[].domain string
data.domains[].status string
data.domains[].value_estimate object
data.domains[].value_estimate.low number
data.domains[].value_estimate.mid number
data.domains[].value_estimate.high number
data.domains[].health_score number
data.domains[].health_grade string
data.domains[].expiry_date string
data.domains[].days_until_expiry number
data.domains[].renewal_price number
data.domains[].issues[] array
meta object
meta.recipe_name string
meta.credits_used number
meta.credits_saved number
meta.duration_ms number
meta.components_called[] string[]
meta.cached_components[] string[]
meta.timestamp string
errors[] array

Solicitud de ejemplo

curl -X POST "https://domscan.net/v1/recipes/portfolio-audit" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $DOMSCAN_API_KEY" \
  -d '{
  "domains": [
    "example.com"
  ],
  "include_valuation": true,
  "include_health": true,
  "include_pricing": true,
  "alert_expiring_days": 90
}'

Respuesta de ejemplo

{
  "success": true,
  "data": {
    "summary": {
      "total_domains": 3,
      "total_value_low": 3200,
      "total_value_high": 12400,
      "average_health_score": 78,
      "expiring_soon": 1,
      "renewal_cost_annual": 98.4
    },
    "alerts": [
      {
        "domain": "brandold.com",
        "type": "expiration",
        "severity": "high",
        "message": "Expires in 12 days.",
        "action": "Renew immediately"
      }
    ],
    "optimization": {
      "registrar_consolidation": {
        "current_registrars": 3,
        "recommendation": "Move long-tail domains to a single low-cost registrar.",
        "potential_savings": 48
      },
      "underperforming": [
        "brandold.com"
      ],
      "top_valuable": [
        "brand.com"
      ]
    },
    "domains": [
      {
        "domain": "brand.com",
        "status": "owned",
        "value_estimate": {
          "low": 2500,
          "mid": 4600,
          "high": 9000
        },
        "health_score": 92,
        "health_grade": "A",
        "expiry_date": "2027-02-01",
        "days_until_expiry": 292,
        "renewal_price": 12.99,
        "issues": []
      }
    ]
  },
  "meta": {
    "recipe_name": "portfolio-audit",
    "credits_used": 25,
    "credits_saved": 275,
    "duration_ms": 1298,
    "components_called": [
      "availability",
      "whois",
      "valuation",
      "health",
      "pricing"
    ],
    "cached_components": [
      "valuation"
    ],
    "timestamp": "2026-04-15T10:31:00Z"
  },
  "errors": []
}

GET /v1/recipes/email-deliverability

Operación: recipeEmailDeliverability Créditos y autenticación: 10 Autenticación obligatoria
GET /v1/recipes/email-deliverability

Parámetros de consulta

Parámetro Tipo obligatorio
domain string obligatorio
dkim_selectors string opcional
check_blacklists boolean
Predeterminado true
opcional

Campos de respuesta

Campo Tipo
success boolean
data object
data.domain string
data.grade string
data.score number
data.authentication object
data.authentication.spf object
data.authentication.spf.status string
data.authentication.spf.record string
data.authentication.spf.issues[] array
data.authentication.dkim object
data.authentication.dkim.status string
data.authentication.dkim.record string
data.authentication.dkim.issues[] string[]
data.authentication.dkim.recommendation string
data.authentication.dkim.selectors_found[] string[]
data.authentication.dmarc object
data.authentication.dmarc.status string
data.authentication.dmarc.record string
data.authentication.dmarc.issues[] string[]
data.authentication.dmarc.recommendation string
data.authentication.dmarc.policy string
data.infrastructure object
data.infrastructure.mx_servers[] string[]
data.infrastructure.ip_reputation string
data.infrastructure.shared_ip_risk string
data.blacklist_status object
data.blacklist_status.listed_on[] array
data.blacklist_status.clean boolean
data.action_items[] object[]
data.action_items[] object
data.action_items[].priority string
data.action_items[].category string
data.action_items[].action string
data.action_items[].details string
data.action_items[].estimated_impact string
meta object
meta.recipe_name string
meta.credits_used number
meta.credits_saved number
meta.duration_ms number
meta.components_called[] string[]
meta.cached_components[] array
meta.timestamp string
errors[] array

Solicitud de ejemplo

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/recipes/email-deliverability?domain=example.com&dkim_selectors=example.com&check_blacklists=example.com"

Respuesta de ejemplo

{
  "success": true,
  "data": {
    "domain": "example.com",
    "grade": "B",
    "score": 74,
    "authentication": {
      "spf": {
        "status": "pass",
        "record": "v=spf1 include:_spf.google.com ~all",
        "issues": []
      },
      "dkim": {
        "status": "warning",
        "record": "selector discovery incomplete",
        "issues": [
          "Only one selector found"
        ],
        "recommendation": "Add dedicated selectors for all providers",
        "selectors_found": [
          "google"
        ]
      },
      "dmarc": {
        "status": "warning",
        "record": "v=DMARC1; p=none; rua=mailto:[email protected]",
        "issues": [
          "Policy is monitoring-only"
        ],
        "recommendation": "Move to quarantine or reject",
        "policy": "none"
      }
    },
    "infrastructure": {
      "mx_servers": [
        "aspmx.l.google.com"
      ],
      "ip_reputation": "low",
      "shared_ip_risk": "medium"
    },
    "blacklist_status": {
      "listed_on": [],
      "clean": true
    },
    "action_items": [
      {
        "priority": "high",
        "category": "email",
        "action": "Strengthen DMARC policy",
        "details": "Current DMARC policy is set to none.",
        "estimated_impact": "Better spoofing protection"
      }
    ]
  },
  "meta": {
    "recipe_name": "email-deliverability",
    "credits_used": 10,
    "credits_saved": 5,
    "duration_ms": 662,
    "components_called": [
      "dns-security",
      "dnsbl",
      "mx-analysis"
    ],
    "cached_components": [],
    "timestamp": "2026-04-15T10:43:00Z"
  },
  "errors": []
}

GET /v1/recipes/dns-migration

Operación: recipeDnsMigration Créditos y autenticación: 7 Autenticación obligatoria
GET /v1/recipes/dns-migration

Parámetros de consulta

Parámetro Tipo obligatorio
domain string obligatorio
target_nameservers string opcional
critical_records string opcional

Campos de respuesta

Campo Tipo
success boolean
data object
data.domain string
data.status string
data.current_configuration object
data.current_configuration.nameservers[] string[]
data.current_configuration.records object
data.current_configuration.records.A[] string[]
data.current_configuration.records.MX[] string[]
data.current_configuration.records.TXT[] string[]
data.current_configuration.email_auth object
data.current_configuration.email_auth.spf string
data.current_configuration.email_auth.dkim_selectors[] string[]
data.current_configuration.email_auth.dmarc string
data.migration_checklist[] object[]
data.migration_checklist[] object
data.migration_checklist[].record_type string
data.migration_checklist[].current_value string
data.migration_checklist[].action string
data.migration_checklist[].critical boolean
data.migration_checklist[].ttl number
data.warnings[] object[]
data.warnings[] object
data.warnings[].type string
data.warnings[].message string
data.warnings[].records[] string[]
data.estimated_propagation string
data.rollback_plan object
data.rollback_plan.keep_old_records_until string
data.rollback_plan.revert_steps[] string[]
meta object
meta.recipe_name string
meta.credits_used number
meta.credits_saved number
meta.duration_ms number
meta.components_called[] string[]
meta.cached_components[] string[]
meta.timestamp string
errors[] array

Solicitud de ejemplo

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/recipes/dns-migration?domain=example.com&target_nameservers=ns1.newdns.net%2Cns2.newdns.net&critical_records=example.com"

Respuesta de ejemplo

{
  "success": true,
  "data": {
    "domain": "example.com",
    "status": "ready",
    "current_configuration": {
      "nameservers": [
        "ns1.current-dns.net",
        "ns2.current-dns.net"
      ],
      "records": {
        "A": [
          "198.51.100.8"
        ],
        "MX": [
          "10 mail.example.com"
        ],
        "TXT": [
          "v=spf1 include:_spf.google.com ~all"
        ]
      },
      "email_auth": {
        "spf": "v=spf1 include:_spf.google.com ~all",
        "dkim_selectors": [
          "google",
          "mail"
        ],
        "dmarc": "v=DMARC1; p=quarantine"
      }
    },
    "migration_checklist": [
      {
        "record_type": "MX",
        "current_value": "10 mail.example.com",
        "action": "migrate",
        "critical": true,
        "ttl": 3600
      }
    ],
    "warnings": [
      {
        "type": "ttl",
        "message": "High TTL values will slow cutover.",
        "records": [
          "A",
          "MX"
        ]
      }
    ],
    "estimated_propagation": "4-8 hours",
    "rollback_plan": {
      "keep_old_records_until": "48-72 hours after migration",
      "revert_steps": [
        "Keep screenshots of the current zone",
        "Restore old nameservers at the registrar if traffic fails"
      ]
    }
  },
  "meta": {
    "recipe_name": "dns-migration",
    "credits_used": 7,
    "credits_saved": 5,
    "duration_ms": 734,
    "components_called": [
      "dns",
      "dns-security",
      "ttl-analysis"
    ],
    "cached_components": [
      "dns"
    ],
    "timestamp": "2026-04-15T10:54:00Z"
  },
  "errors": []
}

GET /v1/recipes/infrastructure-discovery

Operación: recipeInfrastructureDiscovery Créditos y autenticación: 15 Autenticación obligatoria
GET /v1/recipes/infrastructure-discovery

Parámetros de consulta

Parámetro Tipo obligatorio
domain string obligatorio
depth string
Valores permitidos quickstandarddeep
Predeterminado standard
opcional
include_historical boolean
Predeterminado false
opcional

Campos de respuesta

Campo Tipo
success boolean
data object
data.domain string
data.subdomains object
data.subdomains.count number
data.subdomains.items[] object[]
data.subdomains.items[] object
data.subdomains.items[].subdomain string
data.subdomains.items[].ip string
data.subdomains.items[].tech[] string[]
data.ip_addresses object
data.ip_addresses.unique_ips number
data.ip_addresses.items[] object[]
data.ip_addresses.items[] object
data.ip_addresses.items[].ip string
data.ip_addresses.items[].asn string
data.ip_addresses.items[].org string
data.ip_addresses.items[].country string
data.hosting object
data.hosting.providers[] string[]
data.hosting.regions[] string[]
data.related_domains[] string[]
data.technology_summary object
data.technology_summary.cms null
data.technology_summary.frameworks[] string[]
data.technology_summary.servers[] string[]
data.technology_summary.cdn string
data.attack_surface object
data.attack_surface.exposed_services[] string[]
data.attack_surface.potential_entry_points[] string[]
meta object
meta.recipe_name string
meta.credits_used number
meta.credits_saved number
meta.duration_ms number
meta.components_called[] string[]
meta.cached_components[] array
meta.timestamp string
errors[] array

Solicitud de ejemplo

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/recipes/infrastructure-discovery?domain=example.com&depth=standard&include_historical=example.com"

Respuesta de ejemplo

{
  "success": true,
  "data": {
    "domain": "example.com",
    "subdomains": {
      "count": 4,
      "items": [
        {
          "subdomain": "api.example.com",
          "ip": "198.51.100.44",
          "tech": [
            "nginx",
            "Node.js"
          ]
        }
      ]
    },
    "ip_addresses": {
      "unique_ips": 2,
      "items": [
        {
          "ip": "198.51.100.44",
          "asn": "AS13335",
          "org": "Cloudflare, Inc.",
          "country": "US"
        }
      ]
    },
    "hosting": {
      "providers": [
        "Cloudflare",
        "Vercel"
      ],
      "regions": [
        "US",
        "EU"
      ]
    },
    "related_domains": [
      "status-example.com"
    ],
    "technology_summary": {
      "cms": null,
      "frameworks": [
        "Next.js"
      ],
      "servers": [
        "nginx"
      ],
      "cdn": "Cloudflare"
    },
    "attack_surface": {
      "exposed_services": [
        "HTTPS",
        "API"
      ],
      "potential_entry_points": [
        "api.example.com",
        "status.example.com"
      ]
    }
  },
  "meta": {
    "recipe_name": "infrastructure-discovery",
    "credits_used": 15,
    "credits_saved": 10,
    "duration_ms": 1084,
    "components_called": [
      "subdomains",
      "ip",
      "tech",
      "certificates"
    ],
    "cached_components": [],
    "timestamp": "2026-04-15T11:07:00Z"
  },
  "errors": []
}

GET /v1/recipes/defensive-registration

Operación: recipeDefensiveRegistration Créditos y autenticación: 12 Autenticación obligatoria
GET /v1/recipes/defensive-registration

Parámetros de consulta

Parámetro Tipo obligatorio
brand string obligatorio
owned_domains string obligatorio
priority_tlds string opcional
include_typos boolean
Predeterminado true
opcional
budget number opcional

Campos de respuesta

Campo Tipo
success boolean
data object
data.brand string
data.summary object
data.summary.total_candidates number
data.summary.already_owned number
data.summary.available number
data.summary.registered_by_others number
data.summary.within_budget number
data.priority_registrations[] object[]
data.priority_registrations[] object
data.priority_registrations[].domain string
data.priority_registrations[].type string
data.priority_registrations[].available boolean
data.priority_registrations[].risk_if_unowned string
data.priority_registrations[].price number
data.priority_registrations[].registrar string
data.typo_threats[] object[]
data.typo_threats[] object
data.typo_threats[].domain string
data.typo_threats[].type string
data.typo_threats[].available boolean
data.typo_threats[].risk_if_unowned string
data.typo_threats[].price null
data.typo_threats[].registrar null
data.shopping_cart object
data.shopping_cart.domains[] string[]
data.shopping_cart.total_cost number
data.shopping_cart.within_budget boolean
meta object
meta.recipe_name string
meta.credits_used number
meta.credits_saved number
meta.duration_ms number
meta.components_called[] string[]
meta.cached_components[] string[]
meta.timestamp string
errors[] array

Solicitud de ejemplo

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/recipes/defensive-registration?brand=acme&owned_domains=acme.com&priority_tlds=example.com&include_typos=true&budget=example.com"

Respuesta de ejemplo

{
  "success": true,
  "data": {
    "brand": "acme",
    "summary": {
      "total_candidates": 18,
      "already_owned": 3,
      "available": 9,
      "registered_by_others": 6,
      "within_budget": 5
    },
    "priority_registrations": [
      {
        "domain": "acme.io",
        "type": "tld_variant",
        "available": true,
        "risk_if_unowned": "high",
        "price": 39.99,
        "registrar": "porkbun"
      }
    ],
    "typo_threats": [
      {
        "domain": "acm3.com",
        "type": "typo",
        "available": false,
        "risk_if_unowned": "high",
        "price": null,
        "registrar": null
      }
    ],
    "shopping_cart": {
      "domains": [
        "acme.io",
        "acme.co"
      ],
      "total_cost": 63.98,
      "within_budget": true
    }
  },
  "meta": {
    "recipe_name": "defensive-registration",
    "credits_used": 12,
    "credits_saved": 8,
    "duration_ms": 688,
    "components_called": [
      "typosquatting",
      "availability",
      "pricing",
      "tld-intelligence"
    ],
    "cached_components": [
      "pricing"
    ],
    "timestamp": "2026-04-15T11:16:00Z"
  },
  "errors": []
}

GET /v1/recipes/phishing-investigation

Operación: recipePhishingInvestigation Créditos y autenticación: 12 Autenticación obligatoria
GET /v1/recipes/phishing-investigation

Parámetros de consulta

Parámetro Tipo obligatorio
suspicious_domain string obligatorio
legitimate_domain string opcional
collect_evidence boolean
Predeterminado true
opcional

Campos de respuesta

Campo Tipo
success boolean
data object
data.suspicious_domain string
data.legitimate_domain string
data.verdict string
data.confidence number
data.indicators object
data.indicators.typosquatting object
data.indicators.typosquatting.detected boolean
data.indicators.typosquatting.technique string
data.indicators.domain_age object
data.indicators.domain_age.days number
data.indicators.domain_age.risk string
data.indicators.registration object
data.indicators.registration.privacy_protected boolean
data.indicators.registration.registrar string
data.indicators.registration.created_date string
data.indicators.infrastructure object
data.indicators.infrastructure.ip string
data.indicators.infrastructure.hosting string
data.indicators.infrastructure.geolocation string
data.indicators.ssl object
data.indicators.ssl.valid boolean
data.indicators.ssl.issuer string
data.indicators.ssl.age_days number
data.indicators.reputation object
data.indicators.reputation.blocklisted boolean
data.indicators.reputation.similar_reports number
data.comparison_to_legitimate object
data.comparison_to_legitimate.similarity_score number
data.comparison_to_legitimate.visual_differences[] string[]
data.evidence_package object
data.evidence_package.dns_snapshot object
data.evidence_package.dns_snapshot.A[] string[]
data.evidence_package.whois_snapshot object
data.evidence_package.whois_snapshot.registrar string
data.evidence_package.timestamp string
data.recommended_actions[] string[]
meta object
meta.recipe_name string
meta.credits_used number
meta.credits_saved number
meta.duration_ms number
meta.components_called[] string[]
meta.cached_components[] array
meta.timestamp string
errors[] array

Solicitud de ejemplo

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/recipes/phishing-investigation?suspicious_domain=examp1e.com&legitimate_domain=example.com&collect_evidence=true"

Respuesta de ejemplo

{
  "success": true,
  "data": {
    "suspicious_domain": "examp1e.com",
    "legitimate_domain": "example.com",
    "verdict": "confirmed_phishing",
    "confidence": 0.93,
    "indicators": {
      "typosquatting": {
        "detected": true,
        "technique": "character_swap"
      },
      "domain_age": {
        "days": 3,
        "risk": "high"
      },
      "registration": {
        "privacy_protected": true,
        "registrar": "Example Registrar",
        "created_date": "2026-04-12"
      },
      "infrastructure": {
        "ip": "203.0.113.18",
        "hosting": "Suspicious Hosting Ltd.",
        "geolocation": "NL"
      },
      "ssl": {
        "valid": true,
        "issuer": "Let's Encrypt",
        "age_days": 2
      },
      "reputation": {
        "blocklisted": true,
        "similar_reports": 4
      }
    },
    "comparison_to_legitimate": {
      "similarity_score": 0.97,
      "visual_differences": [
        "digit-substitution in second label character"
      ]
    },
    "evidence_package": {
      "dns_snapshot": {
        "A": [
          "203.0.113.18"
        ]
      },
      "whois_snapshot": {
        "registrar": "Example Registrar"
      },
      "timestamp": "2026-04-15T11:24:00Z"
    },
    "recommended_actions": [
      "Report to registrar abuse contact",
      "Submit URL to Safe Browsing and internal blocklists"
    ]
  },
  "meta": {
    "recipe_name": "phishing-investigation",
    "credits_used": 12,
    "credits_saved": 10,
    "duration_ms": 952,
    "components_called": [
      "whois",
      "dns",
      "ip",
      "reputation",
      "health",
      "certificates"
    ],
    "cached_components": [],
    "timestamp": "2026-04-15T11:24:00Z"
  },
  "errors": []
}

Recursos de referencia