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

# Web Presence Check

> Learn how to run web presence checks to verify a business's online presence and digital footprint

The Web Presence check helps verify a business's legitimacy by analyzing its online presence, including official websites, social media profiles, and digital footprint. This guide explains how to run the check, what data to provide, and how to interpret the results.

## Overview

The check analyzes various aspects of a business's web presence:

* Official website verification
* Domain registration and history
* Social media presence
* Business directory listings
* Online activity patterns

## Running the Check

### API Endpoint

```bash theme={null}
POST https://api.parcha.ai/api/v1/startKYBAgentJob
```

### Request Parameters

<Warning>
  **Important**: You must use your own agent key, not a default or public agent key. Your agent key can be found in the Parcha dashboard under your agent's settings, or in the "Test API Integration" dialog.
</Warning>

<ParamField body="agent_key" type="string" required>
  Your KYB agent key from the Parcha dashboard. This is unique to your organization and agent configuration.
</ParamField>

<ParamField body="check_id" type="string" required>
  Use `"kyb.web_presence_check"` for web presence verification.
</ParamField>

<ParamField body="payload" type="object" required>
  The business information for verification.

  <Expandable title="Payload Properties">
    <ParamField body="id" type="string" required>
      A unique identifier for this check case.
    </ParamField>

    <ParamField body="self_attested_data" type="object" required>
      <ParamField body="business_name" type="string" required>
        The legal name of the business to verify.
      </ParamField>

      <ParamField body="website" type="string">
        The official website URL of the business.
      </ParamField>

      <ParamField body="business_description" type="string">
        A description of the business's activities.
      </ParamField>

      <ParamField body="address" type="object">
        <ParamField body="country_code" type="string">
          The country code where the business is located (ISO 3166-1 alpha-2).
        </ParamField>

        <ParamField body="state" type="string">
          The state or region where the business is located.
        </ParamField>

        <ParamField body="city" type="string">
          The city where the business is located.
        </ParamField>
      </ParamField>

      <ParamField body="contact_email_address" type="string">
        The business's contact email address.
      </ParamField>

      <ParamField body="contact_phone_number" type="string">
        The business's contact phone number.
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

### Example Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST 'https://api.parcha.ai/api/v1/startKYBAgentJob' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "agent_key": "your-kyb-agent-key",
    "check_id": "kyb.web_presence_check",
    "payload": {
      "id": "web-presence-check-001",
      "self_attested_data": {
        "business_name": "Parcha Labs Inc",
        "website": "https://parcha.ai",
        "business_description": "Business verification and compliance platform",
        "address": {
          "country_code": "US",
          "state": "CA",
          "city": "San Francisco"
        },
        "contact_email_address": "support@parcha.ai",
        "contact_phone_number": "+1 (555) 123-4567"
      }
    }
  }'
  ```

  ```python Python theme={null}
  import requests

  api_key = 'YOUR_API_KEY'
  url = 'https://api.parcha.ai/api/v1/startKYBAgentJob'

  headers = {
      'Authorization': f'Bearer {api_key}',
      'Content-Type': 'application/json'
  }

  data = {
      'agent_key': 'your-kyb-agent-key',  # Replace with your actual agent key
      'check_id': 'kyb.web_presence_check',
      'payload': {
          'id': 'web-presence-check-001',
          'self_attested_data': {
              'business_name': 'Parcha Labs Inc',
              'website': 'https://parcha.ai',
              'business_description': 'Business verification and compliance platform',
              'address': {
                  'country_code': 'US',
                  'state': 'CA',
                  'city': 'San Francisco'
              },
              'contact_email_address': 'support@parcha.ai',
              'contact_phone_number': '+1 (555) 123-4567'
          }
      }
  }

  response = requests.post(url, json=data, headers=headers)
  print(response.json())
  ```

  ```typescript TypeScript theme={null}
  import axios from 'axios';

  const apiKey = 'YOUR_API_KEY';
  const url = 'https://api.parcha.ai/api/v1/startKYBAgentJob';

  const data = {
    agent_key: 'your-kyb-agent-key',  // Replace with your actual agent key
    check_id: 'kyb.web_presence_check',
    payload: {
      id: 'web-presence-check-001',
      self_attested_data: {
        business_name: 'Parcha Labs Inc',
        website: 'https://parcha.ai',
        business_description: 'Business verification and compliance platform',
        address: {
          country_code: 'US',
          state: 'CA',
          city: 'San Francisco'
        },
        contact_email_address: 'support@parcha.ai',
        contact_phone_number: '+1 (555) 123-4567'
      }
    }
  };

  axios.post(url, data, {
    headers: {
      'Authorization': `Bearer ${apiKey}`,
      'Content-Type': 'application/json'
    }
  })
  .then(response => console.log(response.data))
  .catch(error => console.error('Error:', error));
  ```
</CodeGroup>

### Initial Response

```json theme={null}
{
  "id": "job-abc123",
  "status": "PENDING",
  "created_at": "2024-02-15T10:30:00Z",
  "updated_at": "2024-02-15T10:30:00Z",
  "agent_id": "your-agent-key",
  "input_payload": {
    // Original request payload
  }
}
```

## Retrieving Check Results

Once the job is complete, retrieve the results using the job ID with the `getJobByID` endpoint. Make sure to include the `include_check_results=true` parameter to get the full check results.

```bash theme={null}
GET https://api.parcha.ai/api/v1/getJobByID?job_id=job-abc123&include_check_results=true
```

## Check Process

The web presence check follows these steps:

1. **Website Verification**
   * Validates domain ownership and registration
   * Analyzes website content and structure
   * Verifies business information consistency

2. **Digital Footprint Analysis**
   * Evaluates presence on business directories
   * Assesses social media profiles
   * Reviews online engagement and activity

3. **Risk Assessment**
   * Checks for domain registration issues
   * Identifies website content concerns
   * Evaluates information consistency
   * Assesses online presence legitimacy

## Check Results

Once the check is complete, you can retrieve the results using the check ID. The results will include:

### Response Structure

```typescript theme={null}
{
  type: "WebPresenceCheckResult";
  passed: boolean;
  official_website_match: OfficialWebsiteMatch | null;
  other_webpages_matches: Array<OfficialWebsiteMatch> | null;
}

type OfficialWebsiteMatch = {
  url: string;
  title: string;
  visual_summary: string;
  screenshot_url?: string;
  domain_registration?: {
    registration_date: string;
    expiration_date: string;
    registrar: string;
  };
  content_analysis?: {
    last_updated: string;
    business_info_present: boolean;
    contact_info_present: boolean;
  };
}
```
