# Website Intelligence Agent (`digital-ai-lab.de/website-intelligence-agent`) Actor

Generate structured B2B company research briefs from website URLs for sales prospecting, market research, CRM enrichment, and due diligence.

- **URL**: https://apify.com/digital-ai-lab.de/website-intelligence-agent.md
- **Developed by:** [Digital AI Lab](https://apify.com/digital-ai-lab.de) (community)
- **Categories:** AI, Agents, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

$50.00 / 1,000 company briefs

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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 Intelligence Agent

Turn company websites into structured B2B research briefs for sales prospecting, market research, and lightweight due diligence.

This Actor is built for sales teams, RevOps teams, market researchers, consultants, and AI-agent builders who need structured company intelligence from public website URLs.

It crawls a homepage plus high-signal same-domain pages such as pricing, about, customers, solutions, careers, and contact pages. It returns one dataset item per company with a concise business summary, target-customer signals, sales triggers, risk flags, contacts, and a recommended outreach angle.

Typical workflow: run 10-100 company URLs, export the dataset to a CRM or Google Sheet, and use the structured fields for account research, segmentation, enrichment, or AI-agent context.

### Best use cases

- Build sales briefs before outbound calls.
- Monitor competitor or partner websites.
- Enrich CRM records with public website signals.
- Create research datasets for agencies, consultants, and B2B SaaS teams.
- Feed structured company intelligence into AI agents, n8n, Make, Zapier, Airtable, or Google Sheets.

### Input

```json
{
  "startUrls": [
    "https://www.apify.com",
    "https://example.com"
  ],
  "maxPagesPerSite": 3,
  "analysisMode": "heuristic",
  "openAiModel": "gpt-4.1-mini",
  "includeRawSignals": false
}
````

### Output

Each result is pushed to the default dataset:

```json
{
  "url": "https://example.com/",
  "status": "ok",
  "companyName": "Example AI Platform",
  "oneLineSummary": "AI automation platform for enterprise teams.",
  "businessModel": "Software / SaaS",
  "targetCustomers": ["B2B companies", "Software teams"],
  "salesTriggers": ["Public pricing page found", "Hiring signal detected"],
  "riskFlags": ["No public email found"],
  "recommendedOutreachAngle": "Lead with measurable conversion, pricing-page clarity, or competitor positioning improvements.",
  "confidence": 0.71,
  "pagesAnalyzed": ["https://example.com/", "https://example.com/pricing"],
  "contacts": {
    "emails": [],
    "socialLinks": []
  }
}
```

### Analysis modes

#### Heuristic

Cheapest mode. Uses deterministic extraction and signal scoring. This is suitable for high-volume runs, CRM enrichment, and workflows where predictable cost matters.

#### AI assisted

Uses an OpenAI-compatible chat completion call when `OPENAI_API_KEY` is configured as an Actor secret. If the key is missing or the API returns an error, the Actor falls back to the heuristic result and includes an `aiError` field when relevant.

### Pricing

This Actor uses pay-per-event pricing. One charged event equals one company brief written to the default dataset.

The primary event is `Company brief`.

### Tips for better results

- Use canonical company homepage URLs.
- Set `maxPagesPerSite` to 3-5 for fast enrichment runs.
- Increase `maxPagesPerSite` when researching complex enterprise websites.
- Use heuristic mode for predictable cost and high-volume runs.
- Use AI assisted mode only when you have configured an API key and want more nuanced summaries.
- Works well with Google Sheets, Airtable, n8n, Make, Zapier, CRMs, and AI-agent workflows.

### Search keywords

Website intelligence, company intelligence from website URLs, B2B website research, CRM enrichment, sales triggers, account research API, AI agent company research.

### Limitations

- Some websites block automated fetches and may return `403` or `429`.
- JavaScript-heavy websites may expose limited text without browser rendering.
- AI assisted mode adds LLM cost and needs an API key.
- This Actor should not be used for spam. It is designed for research and legitimate B2B workflows.

# Actor input Schema

## `startUrls` (type: `array`):

One or more company websites to analyze. Use canonical homepage URLs when possible.

## `maxPagesPerSite` (type: `integer`):

Maximum number of same-domain pages to fetch for each website.

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

Heuristic is cheapest and deterministic. AI assisted uses an OpenAI-compatible API when OPENAI\_API\_KEY is configured as an Actor secret.

## `openAiModel` (type: `string`):

Model used only in AI assisted mode.

## `includeRawSignals` (type: `boolean`):

Include extracted titles, emails, social links, keywords, and sampled page text in each dataset item.

## Actor input object example

```json
{
  "startUrls": [
    "https://www.apify.com"
  ],
  "maxPagesPerSite": 5,
  "analysisMode": "heuristic",
  "openAiModel": "gpt-4.1-mini",
  "includeRawSignals": false
}
```

# Actor output Schema

## `results` (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 = {
    "startUrls": [
        "https://www.apify.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("digital-ai-lab.de/website-intelligence-agent").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 = { "startUrls": ["https://www.apify.com"] }

# Run the Actor and wait for it to finish
run = client.actor("digital-ai-lab.de/website-intelligence-agent").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [
    "https://www.apify.com"
  ]
}' |
apify call digital-ai-lab.de/website-intelligence-agent --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=digital-ai-lab.de/website-intelligence-agent",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Website Intelligence Agent",
        "description": "Generate structured B2B company research briefs from website URLs for sales prospecting, market research, CRM enrichment, and due diligence.",
        "version": "0.1",
        "x-build-id": "02cLur1Xq9D9NiK6T"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/digital-ai-lab.de~website-intelligence-agent/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-digital-ai-lab.de-website-intelligence-agent",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/digital-ai-lab.de~website-intelligence-agent/runs": {
            "post": {
                "operationId": "runs-sync-digital-ai-lab.de-website-intelligence-agent",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/digital-ai-lab.de~website-intelligence-agent/run-sync": {
            "post": {
                "operationId": "run-sync-digital-ai-lab.de-website-intelligence-agent",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "Company website URLs",
                        "minItems": 1,
                        "maxItems": 50,
                        "type": "array",
                        "description": "One or more company websites to analyze. Use canonical homepage URLs when possible.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxPagesPerSite": {
                        "title": "Max pages per site",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Maximum number of same-domain pages to fetch for each website.",
                        "default": 5
                    },
                    "analysisMode": {
                        "title": "Analysis mode",
                        "enum": [
                            "heuristic",
                            "ai-assisted"
                        ],
                        "type": "string",
                        "description": "Heuristic is cheapest and deterministic. AI assisted uses an OpenAI-compatible API when OPENAI_API_KEY is configured as an Actor secret.",
                        "default": "heuristic"
                    },
                    "openAiModel": {
                        "title": "OpenAI model",
                        "type": "string",
                        "description": "Model used only in AI assisted mode.",
                        "default": "gpt-4.1-mini"
                    },
                    "includeRawSignals": {
                        "title": "Include raw signals",
                        "type": "boolean",
                        "description": "Include extracted titles, emails, social links, keywords, and sampled page text in each dataset item.",
                        "default": false
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
