# JavaScript Website Email Extractor

**Use case:** 

Scrape and verify emails from React, Angular and Vue sites that static scrapers miss: real-browser rendering plus a deep scan of imprint and legal pages.

## Input

```json
{
  "urls": [
    "https://sanity.io",
    "https://supabase.com",
    "https://www.contentful.com"
  ],
  "maxPagesPerDomain": 5,
  "includeNames": true,
  "includeSocials": true,
  "deepScan": true,
  "verifyEmails": true,
  "outputMode": "full",
  "outputProfile": "full",
  "requirePersonalEmail": false,
  "autoFilter": "none",
  "monitorStateKey": "",
  "crmFormat": "generic-json",
  "crmOnlyTierA": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

## Output

```json
{
  "url": {
    "label": "Website URL",
    "format": "string"
  },
  "domain": {
    "label": "Domain",
    "format": "string"
  },
  "leadScore": {
    "label": "Lead Score",
    "format": "integer"
  },
  "personalEmails": {
    "label": "Personal Emails",
    "format": "array"
  },
  "genericEmails": {
    "label": "Generic Emails",
    "format": "array"
  },
  "verifiedEmails": {
    "label": "Verified Emails",
    "format": "array"
  },
  "emailSources": {
    "label": "Email Sources",
    "format": "array"
  },
  "phones": {
    "label": "Phone Numbers",
    "format": "array"
  },
  "contacts": {
    "label": "Team Members",
    "format": "array"
  },
  "socialLinks": {
    "label": "Social Links",
    "format": "object"
  },
  "addresses": {
    "label": "Addresses",
    "format": "array"
  },
  "businessHours": {
    "label": "Business Hours",
    "format": "array"
  },
  "companyMeta": {
    "label": "Company Metadata",
    "format": "object"
  },
  "companyType": {
    "label": "Company Type",
    "format": "string"
  },
  "intentSignals": {
    "label": "Intent Signals (legacy)",
    "format": "object"
  },
  "pagesScraped": {
    "label": "Pages Scraped",
    "format": "integer"
  },
  "scrapeError": {
    "label": "Scrape Error",
    "format": "string"
  },
  "jsWarning": {
    "label": "JS Warning",
    "format": "string"
  },
  "scrapedAt": {
    "label": "Scraped At",
    "format": "string"
  }
}
```

## About this Actor

This example demonstrates how to use [Website Contact Scraper Pro - Extract from JavaScript Sites](https://apify.com/ryanclinton/website-contact-scraper-pro) with a specific input configuration. Visit the [Actor detail page](https://apify.com/ryanclinton/website-contact-scraper-pro) to learn more, explore other use cases, and run it yourself.