# Website Audit & Lead Qualification API (`wintry_nutmeg/agent-revenue-auditor`) Actor

Audit business websites, qualify sales opportunities, and compare competitors. Structured evidence and predictable pricing for AI agents.

- **URL**: https://apify.com/wintry\_nutmeg/agent-revenue-auditor.md
- **Developed by:** [Dries Vd](https://apify.com/wintry_nutmeg) (community)
- **Categories:** Lead generation, SEO tools, AI
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 basic website audits

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

## Agent Revenue Auditor

A small, agent-friendly product that turns a public website URL into structured conversion, trust, SEO, and agent-readiness opportunities. Sell the same capability through:

1. an Apify Actor using Pay Per Event; and
2. a standalone HTTP API protected by x402.

It intentionally does not scrape LinkedIn, collect personal profiles, send outreach, or claim unverifiable revenue losses.

### Apify products

Choose `analysisMode` in the Actor input:

- `audit` — $0.02 per successfully audited domain.
- `leadQualification` — $0.08 per successfully qualified domain, including priority, evidence, contactability, and a suggested pitch angle.
- `competitorComparison` — $0.05 per successfully audited domain, followed by an uncharged ranked comparison row. Requires at least two domains.

Invalid URLs and failed fetches are returned transparently and are not charged. Use `maxUrls` to cap a run at 20 domains and combine it with Apify's maximum-charge control for a hard spending limit.

### Output

Each result contains an opportunity score, evidence-backed issues, priorities, detected signals, a recommended next action, and an optional commercial offer. The JSON is designed for autonomous agent consumption.

### Run locally as an Apify Actor

```bash
npm install
npm test
npm run demo -- https://example.com
```

The demo prints one audit to stdout. After installing the Apify CLI, use `apify actor:run` to exercise the full Actor locally; its output is written under local Apify storage.

### Publish to Apify

```bash
npm install -g apify-cli
apify login
apify push
```

In **Publication → Monetization**:

- choose **Pay per event**;
- define `website-audit`, `lead-qualified`, and `competitor-compared` as the events;
- charge **$0.02**, **$0.08**, and **$0.05** respectively;
- do **not** pass platform usage costs separately to users;
- keep permissions limited and do not enable Standby;
- complete developer KYC;
- publish a public Store listing.

Those settings are required for Apify's agentic/x402 eligibility. Raise price only after measuring completion rate and compute cost.

Suggested Store title: **Website Opportunity Auditor for AI Agents**

Suggested one-line description: **Evidence-backed conversion and technical website audits as structured JSON—one URL in, prioritized opportunities out.**

### Run the standalone x402 API

Copy `.env.example` values into your deployment environment, using a dedicated receiving wallet. Start on Base Sepolia, then switch to a facilitator-supported Base mainnet network only after testing.

```bash
PAY_TO_ADDRESS=0x... npm run start:x402
```

Endpoints:

- `GET /health` — free readiness and price check
- `GET /.well-known/x402.json` — discovery document used by x402 Detector and compatible crawlers
- `GET /openapi.json` — free machine-readable API contract
- `GET /llms.txt` — free agent-oriented product description
- `GET /v1/preflight?url=https://example.com` — free URL availability check
- `POST /v1/metadata` — $0.005, body: `{ "url": "https://example.com" }`
- `POST /v1/audit` — $0.02, body: `{ "url": "https://example.com" }`
- `POST /v1/history` — $0.10, body: `{ "url": "https://example.com" }`
- `POST /v1/competitors` — $0.25, body: `{ "urls": ["https://a.example", "https://b.example"] }`

The first unpaid request receives HTTP 402 with payment requirements. An x402-capable agent retries with a `PAYMENT-SIGNATURE` header and receives the result after verification and settlement.

### Positioning and pricing

- Discovery price: $0.02 per basic audit
- Later: $0.10 for performance data; $0.50 for multi-page audits; $2–$5 for an LLM-enriched remediation plan
- Primary buyer: autonomous research, sales, web-development, procurement, and due-diligence agents

Do not add expensive APIs before payment verification. For variable-cost LLM calls, use x402's `upto` scheme or a separate fixed-price endpoint with a strict token budget.

### Production checklist

- Deploy the API behind HTTPS.
- Use a dedicated wallet and never commit its private key.
- Add rate limits and request logs without storing page bodies.
- Publish an OpenAPI document and an agent-oriented `llms.txt`.
- Add x402 Bazaar discovery metadata when the final public URL exists.
- Visit the public domain with x402 Detector and submit it to a2alist.ai after validation.
- Review target-site terms before crawling and honor robots/access restrictions where applicable.

# Actor input Schema

## `analysisMode` (type: `string`):

Choose a basic audit, sales-ready lead qualification, or ranked competitor comparison.

## `urls` (type: `array`):

Up to 20 public HTTP(S) websites to audit.

## `maxUrls` (type: `integer`):

Hard cost and runtime guardrail.

## Actor input object example

```json
{
  "analysisMode": "leadQualification",
  "urls": [
    "https://example.com"
  ],
  "maxUrls": 10
}
```

# Actor output Schema

## `audits` (type: `string`):

Machine-readable website audit results.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("wintry_nutmeg/agent-revenue-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("wintry_nutmeg/agent-revenue-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 '{}' |
apify call wintry_nutmeg/agent-revenue-auditor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,wintry_nutmeg/agent-revenue-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/bttc6tSUQsgfvhy1V/builds/jWdII0tNgQLZYVd4V/openapi.json
