# Website Opportunity Auditor (`monkey.d.scraping/website-opportunity-auditor`) Actor

Fast public website audit scraper for SEO lead generation, web design prospects, security checks, competitor research and agency opportunity scoring. No login or external API key required.

- **URL**: https://apify.com/monkey.d.scraping/website-opportunity-auditor.md
- **Developed by:** [Monkey D. Scraping](https://apify.com/monkey.d.scraping) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$15.00 / 1,000 website auditeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Website Opportunity Auditor

Find website improvement opportunities and sales-ready signals in seconds.

Website Opportunity Auditor is a fast website audit scraper for SEO lead generation, website redesign prospecting, digital agency sales, technical SEO checks, security-header review and competitor website research. It analyzes public websites without login, API keys or external account authentication and returns structured JSON ready for CRM, spreadsheets and automation.

Relevant searches: website audit scraper, SEO audit scraper, website lead generation, web design leads, SEO prospects, website technology checker, security header checker, competitor website analysis, agency prospecting and website opportunity scoring.

Website Opportunity Auditor turns a list of public websites into a clean, structured dataset for agencies, consultants, SEO teams, sales operations, web designers and market researchers. Discover which websites have visible SEO gaps, missing contact signals, weak security headers, incomplete social sharing setup or clear modernization opportunities.

### What you get

Each website record includes:

- opportunity score and high/medium/low tier;
- prioritized, evidence-based issues;
- page title, meta description, H1, language and word count;
- public emails, phone numbers and contact-page links when visible;
- HTTPS, HSTS, CSP and security-header signals;
- detectable CMS, CDN and server signals;
- public social profile links;
- HTTP status, audited URL and timestamp.

### Built for practical workflows

#### Agency prospecting

Find businesses with visible website gaps and prioritize outreach by opportunity score. Export the dataset to CSV or connect it to your CRM.

#### SEO lead generation

Create a list of sites missing titles, descriptions, canonical URLs, H1 headings or social metadata.

#### Web design and development sales

Identify websites with missing mobile declarations, outdated signals, weak trust surfaces or no obvious contact path.

#### Security and maintenance triage

Surface public HTTPS and security-header signals for a first-pass review before a professional assessment.

#### Competitor and portfolio review

Run the same audit across a portfolio, market segment or competitor list and compare results in spreadsheets or dashboards.

### Input

```json
{
  "websites": [
    "https://example.com",
    "example.org"
  ],
  "focus": "general"
}
```

`focus` can be `general`, `seo`, `web-design`, `security` or `marketing`. The interface is intentionally simple: provide public website URLs or domains and choose the business focus.

### Output example

```json
{
  "domain": "example.com",
  "opportunityScore": 42,
  "opportunityTier": "medium",
  "issueCount": 4,
  "issues": [
    {"type":"missing_meta_description","severity":"high","detail":"No meta description detected"}
  ],
  "seo": {"title":"Example","h1":"Welcome","wordCount":320},
  "contact": {"emails":[],"phones":[],"contactLinks":[]},
  "security": {"https":true,"hsts":false},
  "technology": {"cms":null},
  "auditedAt":"2026-01-01T00:00:00.000Z"
}
```

### Integrations

Use the Apify API, webhooks, schedules, n8n, Make, Zapier, Google Sheets, Airtable or your own CRM. The flat dataset is suitable for CSV, JSON, Excel and automated enrichment workflows.

### Important notes

The Actor only reports signals visible on public web pages. A missing signal is an opportunity for review, not proof that a business has no capability or service. Always validate findings before contacting a business and comply with applicable privacy, marketing and website-access laws.

### Pricing

Pay per website audited. The recommended launch price is $0.015 per website, with platform usage included. Run a small sample first, then scale to hundreds of domains in one run. Your Apify subscription may still apply to normal post-run storage operations.

### Why agencies use it

Instead of manually opening websites one by one, sales and delivery teams can create a prioritized list of companies that may benefit from SEO, redesign, analytics setup, maintenance or security improvements. The output is factual and traceable: every opportunity is linked to a visible website signal.

### Example tasks

- Find SEO prospects with missing metadata.
- Find local businesses that may need a website redesign.
- Review a portfolio of client websites before a quarterly meeting.
- Compare technical website signals across competitors.
- Create a recurring website quality snapshot with Apify Schedules and webhooks.

# Actor input Schema

## `websites` (type: `array`):

Website URLs or domains to review, one per line

## `focus` (type: `string`):

Optional focus used to prioritize the opportunity score

## Actor input object example

```json
{
  "websites": [
    "https://apify.com"
  ],
  "focus": "general"
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "websites": [
        "https://apify.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("monkey.d.scraping/website-opportunity-auditor").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "websites": ["https://apify.com"] }

# Run the Actor and wait for it to finish
run = client.actor("monkey.d.scraping/website-opportunity-auditor").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "websites": [
    "https://apify.com"
  ]
}' |
apify call monkey.d.scraping/website-opportunity-auditor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,monkey.d.scraping/website-opportunity-auditor"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/xj4bEIaa35QdrNCNV/builds/1Y0ONsGjNVNiY7vMa/openapi.json
