Website Analysis

Discover and analyze a business's website: domain age, SSL validity, contact information, site structure, and more.

Website Analysis discovers the website associated with a business and performs a full analysis of the domain - registration age, SSL certificate, operational status, contact information, site structure, and more. It powers the domain legitimacy and impersonation checks described in the Online Presence: Best Practices guide.


When to use it

  • You want to verify that the website submitted by an applicant is legitimate and consistent with the business's age and identity
  • You are looking for fraud signals including potential impersonation (e.g. a lookalike domain registered shortly before the application)
  • You want to cross-check contact information (email, phone, addresses) discovered on the website against the submitted application
  • You are assessing whether a business has a real, operational online presence

Always populate the website field when possible. This enables input_website_analysis - the comparison between the submitted domain and the one Baselayer independently discovers - which is the most reliable impersonation signal available. See Domain Impersonation Patterns in the Online Presence: Best Practices guide.

If your onboarding form makes website optional, use the domain of the submitted email as a fallback: if the applicant provides [email protected] but no website, submit lucali.com as the website value. This ensures input_website_analysis is populated in the vast majority of applications without requiring an additional required field. Skip this only for free email providers (Gmail, Yahoo, etc.) - those domains carry no identity signal.


How to request it

Website Analysis is available on both integration paths.

Via POST /web_presence_requests

Include Order.WebsiteAnalysis in the options array. Results are returned inline in the response at website_analysis (discovered domain) and input_website_analysis (submitted domain, when a website was provided).

{
  "name": "Lucali",
  "address": "575 Henry St, Brooklyn, NY 11231",
  "website": "https://www.lucali.com",
  "options": ["Order.WebsiteAnalysis"]
}

Via POST /searches

Include Order.WebsiteAnalysis in the options array. Results are not inline, Baselayer returns a WebsiteAnalysisRequest tracking object in orderables[]. Fetch the result using the URL in that object, or listen for the WebsiteAnalysisRequest.completed webhook.

{
  "name": "Lucali",
  "address": "575 Henry St, Brooklyn, NY 11231",
  "website": "https://www.lucali.com",
  "options": ["Order.WebsiteAnalysis"]
}

The search response will contain:

{
  "orderables": [
    {
      "type": "WebsiteAnalysisRequest",
      "id": "ac5aca82-e75e-40d0-a0eb-1fc474cef2c4",
      "url": "https://api.baselayer.com/website_analysis_requests/ac5aca82-e75e-40d0-a0eb-1fc474cef2c4",
      "option": "Order.WebsiteAnalysis"
    }
  ]
}

Fetch the result:

GET /website_analysis_requests/{id}

When both a submitted and a discovered domain exist on /searches: Two WebsiteAnalysisRequest entries will appear in orderables[]. They are not labeled - call GET on each and inspect website_analysis.url to determine which domain was analyzed.

Via Order.Enhanced

Order.Enhanced on POST /searches includes Website Analysis automatically alongside Industry Prediction, Social Profiles, Reviews, and expanded officer/address discovery. See Online Presence: Basics for when to use Enhanced vs. individual orderables.


Response fields

The website_analysis and input_website_analysis objects share the same structure.

Core fields

FieldTypeDescription
idstringUnique identifier for this website analysis request.
urlstringThe URL that was analyzed.
parkedbooleanWhether the domain is undeveloped or inactive (parked page).
website_build_statusenumOverall operational status: active, coming_soon, or inactive.
email_deliverablebooleanWhether emails from this domain are deliverable.
emails[]arrayEmail addresses discovered on the website.
phone_numbers[]arrayPhone numbers discovered on the website.
website_summarystringAuto-generated summary of the website's homepage content.
website_structure_metricsobjectdepth (max link depth: "0", "1", or "2+") and breadth (unique pages: count or "15+"). Indicates site maturity.
addresses[]arrayPhysical addresses discovered on the website, as structured address objects.
people[]arrayPeople discovered on the website. Each entry includes name and titles[].
social_profiles[]arraySocial media profile links found on the website. Each entry includes site, url, and username.
redirectsstring | nullThe final destination URL if the analyzed domain redirects.
screenshot_urlstringURL to a screenshot of the website at time of analysis.
ssl_validityobjectSSL certificate details — see below.
whois_recordobjectDomain registration details — see below.

ssl_validity fields

FieldTypeDescription
is_validbooleanWhether the SSL certificate is valid and active.
is_self_signedbooleanWhether the certificate is self-signed (not issued by a trusted CA).
is_wildcardbooleanWhether the certificate covers subdomains.
is_revokedbooleanWhether the certificate has been revoked.
certificate_typestringCertificate validation type: DV (domain-validated), OV (organization-validated), or EV (extended validation).
tls_versionstringTLS version in use (e.g., TLSv1.3).
issuerstringCertificate authority that issued the certificate.
cert_age_daysintegerAge of the certificate in days.
days_until_expiryintegerDays remaining until the certificate expires.
expiry_datestringCertificate expiry date (ISO 8601).

whois_record fields

FieldTypeDescription
domain_age_monthsintegerAge of the domain in months from registration date to today.
domain_created_atstringDate the domain was first registered (ISO 8601).
domain_expires_atstringDate the domain registration expires (ISO 8601).
domain_updated_atstringDate the domain record was last updated (ISO 8601).
registrarstringThe domain registrar (e.g., GoDaddy, Squarespace Domains).

Interpreting results

Website Analysis produces two types of signals: domain legitimacy (is this a real, operational site?) and identity consistency (does the submitted domain match the independently discovered one?). For the full decisioning framework - including thresholds, fraud patterns, and others - see:

  • Website Analysis section in the Online Presence: Best Practices guide: domain legitimacy checks, ssl_validity, website_build_status, website_structure_metrics
  • Domain Impersonation Patterns: whois_record.domain_age_months vs. months_in_business, lookalike domain detection, free email vs. deliverable corporate domain The key fields to evaluate in every application:
  • business_website_match — whether the submitted domain matches the discovered one
  • whois_record.domain_age_months on input_website_analysis — flag if < 90 days on a business older than 24 months; escalate immediately if < 30 days
  • email_deliverable on website_analysis — cross-reference against the submitted email domain
  • parked and website_build_status — flag inactive or placeholder sites for established businesses

Related guides