> ## Documentation Index
> Fetch the complete documentation index at: https://docs.baselayer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Post Website Analysis

> Submit a website analysis request against a URL.



## OpenAPI

````yaml /api-reference/openapi.json post /website_analysis_requests
openapi: 3.1.0
info:
  title: baselayer-api-service
  version: 0.1.0
servers:
  - url: https://api.baselayer.com/
security: []
paths:
  /website_analysis_requests:
    post:
      tags:
        - Website Analysis
      summary: Post Website Analysis
      description: Submit a website analysis request against a URL.
      operationId: post_website_analysis_website_analysis_requests_post
      parameters:
        - name: Prefer
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Request execution preference (RFC 7240). Use ``respond-async`` for
              asynchronous execution, ``wait=N`` to specify a synchronous
              timeout hint in seconds, or ``priority=low`` to route the task to
              the low-priority queue.
            examples:
              - respond-async
              - wait=30
              - priority=low
            title: Prefer
          description: >-
            Request execution preference (RFC 7240). Use ``respond-async`` for
            asynchronous execution, ``wait=N`` to specify a synchronous timeout
            hint in seconds, or ``priority=low`` to route the task to the
            low-priority queue.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebsiteAnalysisRequest'
      responses:
        '201':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1.WebsiteAnalysisResponse'
            application/vnd.baselayer.v1+json:
              schema:
                $ref: '#/components/schemas/v1.WebsiteAnalysisResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - APIKeyHeader: []
components:
  schemas:
    WebsiteAnalysisRequest:
      properties:
        url:
          type: string
          minLength: 1
          format: uri
          title: Url
          description: The URL of the website that was analyzed.
      type: object
      required:
        - url
      title: WebsiteAnalysisRequest
    v1.WebsiteAnalysisResponse:
      properties:
        id:
          description: The ID of the Website Analysis request
          format: uuid
          title: Id
          type: string
        state:
          $ref: '#/components/schemas/TaskState'
          description: The status of the Website Analysis request
        created_at:
          type: string
          format: date-time
          title: Created At
          description: The date and time when the Website Analysis was created.
          examples:
            - '2026-08-31T10:31:07.779884'
        updated_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Updated At
          description: The most recent date and time when the Website Analysis was updated.
          examples:
            - '2026-08-31T10:31:07.779896'
        url:
          type: string
          minLength: 1
          format: uri
          title: Url
          description: The website URL that was analyzed as part of the Search.
          examples:
            - http://www.ray.com/
        business_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Business Id
          description: >-
            If the website analysis was performed on a business's website, this
            will be the ID of the business.
          examples:
            - 58ee7b3f-f960-4080-87e0-c969557e3732
        reference_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Reference Id
          description: >-
            An optional reference ID associated with this request, inherited
            from the parent search.
          examples:
            - Search1234
        website_analysis:
          anyOf:
            - $ref: '#/components/schemas/v1.WebsiteAnalysisDetails'
            - type: 'null'
          description: The details of the website analysis.
          examples:
            - addresses: []
              console_url: >-
                https://console.baselayer.com/business/da832aea-1f7c-11ef-9f4b-1edb1b067314/website_analysis
              emails:
                - njohnson@example.net
              id: 3db27125-e8ae-4283-a129-453a7c576fd2
              parked: false
              people: []
              phone_numbers:
                - 285.302.6793
              screenshot_url: >-
                https://api.baselayer.com/business/da832aea-1f7c-11ef-9f4b-1edb1b067314/website_analysis/screenshot
              social_profiles: []
              ssl_validity:
                cert_age_days: 245
                certificate_type: OV
                days_until_expiry: 120
                expiry_date: '2025-03-01T00:00:00'
                is_revoked: false
                is_self_signed: false
                is_valid: true
                is_wildcard: false
                issued_date: '2024-03-01T00:00:00'
                issuer: DigiCert Inc
                key_size: 2048
                subject: mitchell.com
                tls_version: TLSv1.3
              url: http://mitchell.com/
              website_structure_metrics:
                breadth: 15+
                depth: 2+
              whois_record:
                domain_created_at: '2020-05-15T10:30:00'
                domain_expires_at: '2025-05-15T10:30:00'
                domain_updated_at: '2023-06-01T14:45:00'
                registrar: Example Registrar Inc.
      type: object
      required:
        - id
        - state
        - created_at
        - updated_at
        - url
      title: WebsiteAnalysisResponse (v1)
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    TaskState:
      enum:
        - PENDING
        - EXECUTING
        - COMPLETED
        - FAILED
        - CANCELLED
      title: TaskState
      type: string
    v1.WebsiteAnalysisDetails:
      properties:
        id:
          description: The ID of the Website Analysis request
          format: uuid
          title: Id
          type: string
        url:
          description: The website URL that was analyzed as part of the Search.
          examples:
            - http://www.warner.com/
          format: uri
          minLength: 1
          title: Url
          type: string
        redirects:
          anyOf:
            - $ref: '#/components/schemas/v1.WebsiteRedirectInfo'
            - type: 'null'
          default: null
          description: >-
            Redirect information for this website, if a cross-domain redirect
            was detected.
          examples:
            - is_redirect_url: true
              redirects_to: baselayer.com
        parked:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            A boolean indicating if the website is suspected of being a parked
            domain.
          examples:
            - true
            - false
          title: Parked
        email_deliverable:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: >-
            A boolean indicating if the website is able to send and receive
            emails.
          examples:
            - true
            - false
          title: Email Deliverable
        phone_numbers:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          default: null
          description: >-
            The list of phone numbers that were identified on the analyzed
            website.
          examples:
            - - 362-345-4551
              - (872) 628-1402
          title: Phone Numbers
        emails:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          description: >-
            The list of email addresses that were identified on the analyzed
            website.
          examples:
            - - bennettamber@example.org
              - goldenshawn@example.com
          title: Emails
        social_profiles:
          anyOf:
            - items:
                $ref: '#/components/schemas/v1.SocialProfile'
              type: array
            - type: 'null'
          description: >-
            The list of social media profiles that were identified on the
            analyzed website.
          examples:
            - - site: twitter
                url: https://twitter.com/michelle98
                username: michelle98
          title: Social Profiles
        addresses:
          default: []
          description: >-
            The list of mailing addresses that were identified on the analyzed
            website.
          items:
            $ref: '#/components/schemas/v1.AddressSummaryResponse'
          title: Addresses
          type: array
        people:
          anyOf:
            - items:
                $ref: '#/components/schemas/v1.WebsiteAnalysisPerson'
              type: array
            - type: 'null'
          description: The list of people identified on the analyzed website.
          examples:
            - - name: Jane Smith
                titles:
                  - CEO
                  - Co-Founder
              - name: John Doe
                titles:
                  - CTO
          title: People
        website_build_status:
          anyOf:
            - $ref: '#/components/schemas/v1.WebsiteBuildStatus'
            - type: 'null'
          default: null
          description: The build status of the website.
        website_summary:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: A summary of the business based on the analyzed website content.
          examples:
            - >-
              Howard Concrete Pumping Co., Inc. is a concrete pumping contractor
              serving the construction industry. The company specializes in
              concrete placement services for residential and commercial
              construction projects. They operate throughout the greater
              metropolitan area and have been providing reliable concrete
              pumping solutions for over 20 years.
          title: Website Summary
        console_url:
          description: The URL to the Website Analysis details in the console.
          examples:
            - >-
              https://console.baselayer.com/business/dde7c16a-1f7b-11ef-9425-1edb1b067314/website_analysis
          format: uri
          maxLength: 2083
          minLength: 1
          title: Console Url
          type: string
        screenshot_url:
          anyOf:
            - format: uri
              maxLength: 2083
              minLength: 1
              type: string
            - type: 'null'
          default: null
          description: The URL to download the homepage screenshot of the analyzed website.
          examples:
            - >-
              https://api.baselayer.com/business/dde7c16a-1f7b-11ef-9425-1edb1b067314/website_analysis/screenshot
          title: Screenshot Url
        whois_record:
          anyOf:
            - $ref: '#/components/schemas/v1.WhoIsRecordResponse'
            - type: 'null'
          default: null
          description: The WHOIS record information for the analyzed website.
        ssl_validity:
          anyOf:
            - $ref: '#/components/schemas/v1.SSLValidityInfo'
            - type: 'null'
          default: null
          description: >-
            The SSL certificate validity information for the analyzed website,
            including fraud-relevant signals.
          examples:
            - cert_age_days: 185
              certificate_type: EV
              days_until_expiry: 180
              expiry_date: '2025-01-15T00:00:00'
              is_revoked: false
              is_self_signed: false
              is_valid: true
              is_wildcard: false
              issued_date: '2024-01-15T00:00:00'
              issuer: DigiCert Global Root CA
              key_size: 2048
              reason: null
              subject: www.example.com
              tls_version: TLSv1.3
            - cert_age_days: 395
              certificate_type: DV
              days_until_expiry: -30
              expiry_date: '2024-01-01T00:00:00'
              is_revoked: false
              is_self_signed: false
              is_valid: false
              is_wildcard: false
              issued_date: '2023-01-01T00:00:00'
              issuer: R3
              key_size: 256
              reason: CERTIFICATE_EXPIRED
              subject: expired.example.com
              tls_version: TLSv1.2
        website_structure_metrics:
          anyOf:
            - $ref: '#/components/schemas/v1.WebsiteStructureMetrics'
            - type: 'null'
          default: null
          description: >-
            Website structure metrics including depth and breadth discovered
            during scraping.
          examples:
            - breadth: 15+
              depth: 2+
            - breadth: '5'
              depth: '1'
            - breadth: '1'
              depth: '0'
      required:
        - id
        - url
        - parked
        - emails
        - social_profiles
        - console_url
      title: WebsiteAnalysisDetails (v1)
      type: object
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    v1.WebsiteRedirectInfo:
      properties:
        is_redirect_url:
          description: Indicates that this website performs a cross-domain redirect.
          examples:
            - true
          title: Is Redirect Url
          type: boolean
        redirects_to:
          description: The domain this website redirects to.
          examples:
            - baselayer.com
          title: Redirects To
          type: string
      required:
        - is_redirect_url
        - redirects_to
      title: WebsiteRedirectInfo (v1)
      type: object
    v1.SocialProfile:
      properties:
        site:
          description: The type of social profile.
          enum:
            - linked_in:personal
            - linked_in:company
            - twitter
            - instagram
            - facebook
            - youtube
            - tiktok
            - pinterest
            - x
          examples:
            - instagram
          type: string
        username:
          description: The username of the social profile.
          examples:
            - certifiedpowerinc
          title: Username
          type: string
        url:
          description: The URL of the social profile.
          examples:
            - https://www.instagram.com/certifiedpowerinc
          readOnly: true
          title: Url
          type: string
      required:
        - site
        - username
        - url
      title: SocialProfile
      type: object
    v1.AddressSummaryResponse:
      description: |-
        Response model for address summary data.

        This model defines the structure for address summary API responses.
      properties:
        id:
          description: Unique identifier for the address.
          format: uuid
          title: Id
          type: string
        street:
          description: Street name of the address.
          examples:
            - 913 Hendrix Gardens Suite 492
          title: Street
          type: string
        city:
          description: City name of the address.
          examples:
            - Jasonfurt
          title: City
          type: string
        state:
          $ref: '#/components/schemas/v1.StateAbbreviation'
          description: State 2 letter abbreviation of the address.
          examples:
            - VA
        zip:
          description: Zip code of the address.
          examples:
            - '19773'
          title: Zip
          type: string
        latitude:
          description: Latitude of the address.
          examples:
            - 38.03012
          title: Latitude
          type: number
        longitude:
          description: Longitude of the address.
          examples:
            - 78.47665
          title: Longitude
          type: number
        rdi:
          anyOf:
            - $ref: '#/components/schemas/v1.AddressRDI'
            - type: 'null'
          default: null
          description: Residential Delivery Indicator of the address.
          examples:
            - Commercial
        deliverable:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: Indicates whether the address is deliverable.
          examples:
            - false
          title: Deliverable
        cmra:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: >-
            Indicates whether the address is a Commercial Mail Receiving Agency
            (CMRA).
          examples:
            - false
          title: Cmra
        url:
          anyOf:
            - format: uri
              maxLength: 2083
              minLength: 1
              type: string
            - type: 'null'
          default: null
          description: The URL to the address details.
          title: Url
        delivery_type:
          anyOf:
            - $ref: '#/components/schemas/v1.USPSDeliveryType'
            - type: 'null'
          default: null
          description: The USPS delivery type.
          examples:
            - STREET
            - FIRM
      required:
        - id
        - street
        - city
        - state
        - zip
        - latitude
        - longitude
      title: AddressSummaryResponse (v1)
      type: object
    v1.WebsiteAnalysisPerson:
      properties:
        name:
          type: string
          title: Name
        titles:
          items:
            type: string
          title: Titles
          type: array
          uniqueItems: true
      required:
        - name
        - titles
      title: WebsiteAnalysisPerson
      type: object
    v1.WebsiteBuildStatus:
      enum:
        - coming_soon
        - inactive
        - active
      title: WebsiteBuildStatus
      type: string
    v1.WhoIsRecordResponse:
      properties:
        domain_created_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: The date and time when the domain was first registered.
          examples:
            - '2020-05-15T10:30:00Z'
          title: Domain Created At
        domain_age_months:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          description: The age of the domain since its creation in months.
          examples:
            - 15
          title: Domain Age Months
        domain_updated_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: The date and time when the domain registration was last updated.
          examples:
            - '2023-06-01T14:45:00Z'
          title: Domain Updated At
        domain_expires_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: The date and time when the domain registration is set to expire.
          examples:
            - '2025-05-15T10:30:00Z'
          title: Domain Expires At
        registrar:
          anyOf:
            - type: string
            - type: 'null'
          description: The name of the domain registrar.
          examples:
            - Example Registrar Inc.
          title: Registrar
      required:
        - domain_created_at
        - domain_updated_at
        - domain_expires_at
        - registrar
      title: WhoIsRecordResponse (v1)
      type: object
    v1.SSLValidityInfo:
      description: |-
        SSL certificate information with fraud-relevant signals.

        is_valid semantics:
            True:  Certificate is valid and trusted
            False: Certificate is definitively invalid (expired, untrusted, revoked, etc.)
            None:  Cannot determine (connection failed, timeout, non-HTTPS)
      properties:
        is_valid:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: >-
            Whether the SSL certificate is valid (True=valid, False=invalid,
            None=indeterminate)
          title: Is Valid
        reason:
          anyOf:
            - $ref: '#/components/schemas/v1.SSLInvalidReason'
            - type: 'null'
          default: null
          description: Reason if SSL certificate is invalid or indeterminate
          examples:
            - CERTIFICATE_EXPIRED
            - HOSTNAME_MISMATCH
            - SELF_SIGNED
            - UNABLE_TO_CONNECT
        issuer:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Certificate issuer (CA) common name
          examples:
            - DigiCert Global Root CA
            - R3
          title: Issuer
        subject:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Certificate subject common name
          examples:
            - www.example.com
            - '*.example.com'
          title: Subject
        issued_date:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          default: null
          description: When the certificate was issued
          title: Issued Date
        expiry_date:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          default: null
          description: When the certificate expires
          title: Expiry Date
        days_until_expiry:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          description: Days until certificate expires (negative if expired)
          examples:
            - 365
            - 30
            - -5
          title: Days Until Expiry
        cert_age_days:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          description: Days since certificate was issued
          examples:
            - 180
            - 30
            - 5
          title: Cert Age Days
        certificate_type:
          anyOf:
            - $ref: '#/components/schemas/v1.SSLCertificateType'
            - type: 'null'
          default: null
          description: >-
            Certificate validation level (DV=Domain only, OV=Organization
            verified, EV=Extended validation)
          examples:
            - DV
            - EV
        is_wildcard:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: Whether this is a wildcard certificate (*.example.com)
          title: Is Wildcard
        key_size:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          description: Public key size in bits
          examples:
            - 2048
            - 4096
            - 256
          title: Key Size
        tls_version:
          anyOf:
            - $ref: '#/components/schemas/v1.TLSVersion'
            - type: 'null'
          default: null
          description: TLS protocol version used
          examples:
            - TLSv1.2
            - TLSv1.3
        is_self_signed:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: Whether the certificate is self-signed (not trusted by a CA)
          title: Is Self Signed
        is_revoked:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: Whether the certificate has been revoked (via OCSP check)
          title: Is Revoked
      title: SSLValidityInfo
      type: object
    v1.WebsiteStructureMetrics:
      description: |-
        Website structure metrics discovered during scraping.

        Formatted as strings for display:
        - depth: "0", "1", or "2+"
        - breadth: actual count as string or "15+"
      properties:
        depth:
          description: >-
            Maximum depth reached: '0' (homepage only), '1' (one level), or '2+'
            (structured site)
          examples:
            - '0'
            - '1'
            - 2+
          title: Depth
          type: string
        breadth:
          description: >-
            Total unique pages discovered: actual count or '15+' for substantial
            sites
          examples:
            - '5'
            - '12'
            - 15+
          title: Breadth
          type: string
      required:
        - depth
        - breadth
      title: WebsiteStructureMetrics
      type: object
    v1.StateAbbreviation:
      enum:
        - AL
        - AK
        - AZ
        - AR
        - CA
        - CO
        - CT
        - DE
        - DC
        - FL
        - GA
        - HI
        - ID
        - IL
        - IN
        - IA
        - KS
        - KY
        - LA
        - ME
        - MD
        - MA
        - MI
        - MN
        - MS
        - MO
        - MT
        - NE
        - NV
        - NH
        - NJ
        - NM
        - NY
        - NC
        - ND
        - OH
        - OK
        - OR
        - PA
        - RI
        - SC
        - SD
        - TN
        - TX
        - UT
        - VT
        - VA
        - WA
        - WV
        - WI
        - WY
        - PR
        - VI
        - AE
        - AA
        - AP
        - GU
        - AS
      title: StateAbbreviation
      type: string
    v1.AddressRDI:
      enum:
        - Residential
        - Commercial
      title: AddressRDI
      type: string
    v1.USPSDeliveryType:
      description: |-
        Enum representing the different types of USPS delivery points.
        Used to classify addresses based on how mail is delivered to them.
      enum:
        - FIRM
        - GENERAL_DELIVERY
        - HIGH_RISE
        - POST_OFFICE
        - RURAL_ROUTE
        - STREET
      title: USPSDeliveryType
      type: string
    v1.SSLInvalidReason:
      description: >-
        Reasons why an SSL certificate check failed or could not be determined.


        Used when is_valid is False (certificate invalid) or None
        (indeterminate).
      enum:
        - CERTIFICATE_EXPIRED
        - HOSTNAME_MISMATCH
        - SELF_SIGNED
        - REVOKED
        - UNTRUSTED_AUTHORITY
        - VERIFICATION_FAILED
        - NOT_HTTPS
        - CONNECTION_TIMED_OUT
        - UNABLE_TO_CONNECT
        - SERVER_DISCONNECTED
        - SERVER_ERROR
        - CONNECTION_ERROR
      title: SSLInvalidReason
      type: string
    v1.SSLCertificateType:
      description: >-
        Type of SSL certificate based on validation level.


        DV (Domain Validation): Only domain ownership verified - easiest to
        obtain

        OV (Organization Validation): Organization identity verified

        EV (Extended Validation): Extensive organization verification - highest
        trust
      enum:
        - DV
        - OV
        - EV
        - Unknown
      title: SSLCertificateType
      type: string
    v1.TLSVersion:
      description: TLS protocol version used for SSL connections.
      enum:
        - TLSv1.0
        - TLSv1.1
        - TLSv1.2
        - TLSv1.3
        - SSLv3
        - Unknown
      title: TLSVersion
      type: string
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key

````