# Competitor Intelligence Hub - 7-in-1 Analysis (`viralanalyzer/competitor-intelligence-hub`) Actor

All-in-one competitor monitoring: website, pricing, ads, social, reviews, AI analysis.

- **URL**: https://apify.com/viralanalyzer/competitor-intelligence-hub.md
- **Developed by:** [viralanalyzer](https://apify.com/viralanalyzer) (community)
- **Categories:** AI, Lead generation, Business
- **Features:** Limited permissions
- **Stats:** 25 total users, 0 monthly users, 100.0% runs succeeded, 3 bookmarks
- **User rating**: 4.75 out of 5 stars

## Pricing

from $52.50 / 1,000 competitor analyzeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 🔍 Competitor Intelligence Hub — Website, Pricing, Ads, Social, Reviews & Tech Stack in One Run

> 🔗 [View on Apify Store](https://apify.com/viralanalyzer/competitor-intelligence-hub) | 🇺🇸 English | [🇧🇷 Português](#português)

All-in-one **competitor monitoring**: scan competitor websites, detect pricing pages and price points, check Meta (Facebook/Instagram) and Google ads activity, discover social profiles, aggregate review scores (Google, Trustpilot, Reclame Aqui), and fingerprint their technology stack — then let **Google Gemini** synthesize everything into an actionable competitive report. Give it a list of competitor URLs and pick which intelligence modules to run.

### ✨ Features

7 intelligence modules, run all or pick a subset:

- 🌐 **Website Scanner** — Crawls up to N pages/site (CheerioCrawler, same-domain) for title, meta description, H1/H2, CTAs, emails, phones, internal-link and word counts.
- 💰 **Pricing Detector** — Probes common pricing paths, detects currency (BRL/USD/EUR), extracts price points and parses plan names + features.
- 📢 **Meta Ads Library** — Derives queries from the domain/title and calls the Facebook Ads Library actor for real active ad samples + a ready Ad Library URL.
- 🔎 **Google Ads Transparency** — Checks the Transparency Center for advertiser activity and returns a transparency URL.
- 📱 **Social Media** — Discovers and ranks primary profiles (Facebook, Instagram, Twitter/X, LinkedIn, YouTube, TikTok); reads follower/post counts for profiles you supply.
- ⭐ **Reviews Aggregator** — Rating signals from Google, Trustpilot, and Reclame Aqui (Brazil) with source URLs.
- 🔧 **Technology Stack** — Fingerprints frameworks (React, Next.js, Vue, WordPress, Shopify…), analytics/marketing tools (GA, GTM, Meta Pixel, HubSpot, RD Station…), CMS, server, and CDN.
- 🤖 **AI Competitive Report** — With a Gemini key, `gemini-2.0-flash` returns an executive summary, positioning map, pricing/marketing/tech analysis, reputation comparison, opportunities/threats, and 10 ranked recommendations.
- 🏠 **Compare with your own site** + 🛡️ **self-diagnosing**: on missing input or zero results it emits a setup guide and finishes successfully **without charging**.

### 📥 Input

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `competitors` | string\[] | ✅ | — | Competitor website URLs to analyze. Bare domains are accepted (`https://` is prepended automatically). |
| `modules` | string\[] | ❌ | all 7 | Which modules to run. Options: `website`, `pricing`, `meta_ads`, `google_ads`, `social`, `reviews`, `technology`. |
| `socialProfiles` | object | ❌ | `{}` | Optional per-domain social URLs: `{ "competitor.com": { "instagram": "url", "facebook": "url" } }`. Used to read follower/post counts. |
| `compareWithOwn` | string | ❌ | — | Your own website URL, scanned first and flagged for side-by-side comparison. |
| `country` | string | ❌ | `"BR"` | Target country code for ads and search results. |
| `language` | string | ❌ | `"pt-BR"` | Language for fetch headers and the AI report (`pt-BR` → Brazilian Portuguese, otherwise English). |
| `geminiApiKey` | string (secret) | ❌ | — | Google Gemini API key. If omitted, all scraping modules still run — only the AI report is skipped. Free key at ai.google.dev. |
| `maxPagesPerSite` | integer | ❌ | `5` | Max pages crawled per site (1–50). Lower = cheaper scans. |
| `proxyConfiguration` | object | ❌ | — | Proxy settings. Start without proxy; add it only if a competitor blocks the scan. |

#### Input Example

```json
{
  "competitors": ["https://www.apify.com", "https://www.zyte.com"],
  "modules": ["website", "pricing", "technology", "reviews"],
  "compareWithOwn": "https://www.mycompany.com",
  "country": "US",
  "language": "en",
  "maxPagesPerSite": 5
}
```

### 📤 Output

Each competitor produces **one flattened record** (plus a nested `modules` object with the full per-module detail). When a Gemini key is supplied, an extra `ai_competitive_analysis` record is appended.

**Identity:** `domain`, `url`, `isOwnSite` (boolean), `scannedAt` (ISO 8601).

| Group | Fields |
|---|---|
| **Website** | `pagesScanned`, `mainTitle`, `mainH1`, `avgWordCount`, `ctas`, `emails`, `phones` (BR formats + 0800) |
| **Pricing** | `pricingPageFound`, `pricingPageUrl`, `currency` (BRL/USD/EUR), `pricePoints`, `plans` (`Name: Price \| …`) |
| **Ads** | `metaAdsCount`, `metaAdsLibraryUrl`, `googleAdsActive`, `googleAdsTransparencyUrl` |
| **Social** | `socialProfilesFound`, `socialLinks` (`platform: url \| …`) |
| **Reviews** | `trustpilotRating`, `trustpilotReviews`, `reclameAquiRating`, `googleRating` |
| **Technology** | `techFrameworks`, `techAnalytics`, `techServer`, `techCDN` |
| **Raw** | `modules` (full nested data for every enabled module) |

All optional string fields are `string` or `null`; counts are `number`. The optional AI record contains: `type` (`ai_competitive_analysis`), `generatedAt`, `competitorsAnalyzed`, `ownSite`, `analysis` (the report text), and `model` (`gemini-2.0-flash`).

#### Output Example

```json
{
  "domain": "apify.com",
  "url": "https://www.apify.com",
  "isOwnSite": false,
  "scannedAt": "2026-06-06T12:00:00.000Z",
  "pagesScanned": 5,
  "mainTitle": "Apify: Full-stack web scraping platform",
  "ctas": "Sign up, Get started, Contact sales",
  "pricingPageFound": true,
  "currency": "USD",
  "pricePoints": "$49, $499, $999",
  "plans": "Starter: $49 | Scale: $499 | Business: $999",
  "metaAdsCount": 3,
  "googleAdsActive": true,
  "socialLinks": "linkedin: https://linkedin.com/company/apify | twitter: https://x.com/apify",
  "trustpilotRating": "4.6",
  "googleRating": "4.7",
  "techFrameworks": "React, Next.js, Tailwind CSS",
  "techAnalytics": "Google Analytics, Google Tag Manager, HubSpot",
  "techCDN": "Cloudflare, Vercel",
  "modules": { "website": { "...": "full detail" } }
}
```

### 📋 Use Cases

- **Competitive Benchmarking** — Compare your site vs rivals on messaging, CTAs, pricing, and tech in one run.
- **Pricing Intelligence** — Spot competitor price points, plan structures, and currency targeting.
- **Ad Spend Signals** — See who is actively running Meta/Google ads and grab the Ad Library links.
- **Tech Stack Recon** — Learn which frameworks, analytics, CMS, and CDN each competitor uses.
- **Reputation Monitoring** — Aggregate Google, Trustpilot, and Reclame Aqui scores side by side.
- **AI Strategy Briefs** — Turn raw competitor data into an executive report with ranked recommendations.
- **Sales & Lead Prep** — Pull a prospect's emails, phones, stack, and positioning before outreach.

### ✅ Capabilities & Limits

Stated up front, so you do not pay a run to find out.

**Built here:** the `meta_ads` module does not scrape Facebook itself. It calls the Facebook Ads Library actor as a child run, retrying up to 3 auto-derived queries - bare domain, root label, page title - one child run each, waiting up to 600s per attempt and keeping at most 3 ad samples per query. A competitor with no active ads triggers all three before returning empty, and each child run's Apify usage bills on top of the `competitor-analyzed` event. The cost comes back in `childRunUsageUsd`. Turn `meta_ads` off for bulk scans.

| Input / feature | Supported | Notes |
|---|---|---|
| Competitor URLs | ✅ | `competitors` — required |
| Module selection | ✅ | `modules` — run all 7 or pick the ones you need; fewer modules means lower cost |
| Side-by-side with your own site | ✅ | `compareWithOwn` |
| Social profiles | ⚠️ | `socialProfiles` must be supplied per competitor — the actor does not discover them for you |
| Crawl depth | ⚠️ | bounded by `maxPagesPerSite`; lower values keep scans cheap |
| AI competitive analysis | ⚠️ | requires **your own** Google Gemini API key (free tier at ai.google.dev) |
| Country / language targeting | ✅ | `country` and `language` for ads and search results |
| Private competitor data | ❌ | public web only — no internal metrics, no traffic from their analytics |

### ❓ FAQ

**Q: Do I need a Gemini API key?**
A: No. All scraping modules (website, pricing, ads, social, reviews, technology) run without it. The key only unlocks the AI Competitive Report (`gemini-2.0-flash`). Get a free key at ai.google.dev.

**Q: Which modules should I start with?**
A: For the best cost-quality balance, start with `website`, `pricing`, and `technology`, then add the external lookups (`meta_ads`, `google_ads`, `social`, `reviews`) once you have a baseline.

**Q: Does it need a proxy?**
A: Not by default. Most validations run fine with no proxy. Add `proxyConfiguration` (Apify Proxy, RESIDENTIAL for hard-blocked sites) only if a specific competitor blocks the scan.

**Q: What do `country` and `language` control?**
A: `country` targets ad/search lookups (Meta Ads Library, Google Transparency, Google reviews). `language` sets the `Accept-Language` header and the AI report language — `pt-BR` → Brazilian Portuguese, anything else → English.

**Q: What happens if a URL is unreachable or returns nothing?**
A: The actor emits a labeled **diagnostic guide** record (causes + remediations) and finishes successfully **without charging** — you are never billed for an empty run. Set `compareWithOwn` to your own URL to benchmark side by side (flagged `isOwnSite: true`).

### 💰 Pricing

**$0.1 per competitor analyzed** (`competitor-analyzed`), Apify platform usage of the run is included — you are not billed separately for compute
or proxy.

This actor uses **Pay-Per-Event (PPE)** pricing. You are charged per **competitor analyzed** (`competitor-analyzed` event) — one charge per site that produces a result.

Diagnostic/empty runs are never charged, and internal ViralAnalyzer runs are skipped.

👉 See current per-event pricing on the Apify Store page: **[apify.com/viralanalyzer/competitor-intelligence-hub](https://apify.com/viralanalyzer/competitor-intelligence-hub)**

### 🔗 Related Actors

- [Facebook Ads Library](https://apify.com/viralanalyzer/facebook-ads-library) — Active Meta ad creatives & spend signals
- [Shopify Store Intelligence](https://apify.com/viralanalyzer/shopify-store-intelligence) — E-commerce competitive analysis
- [Reclame Aqui Scraper](https://apify.com/viralanalyzer/reclameaqui-scraper) — Brazilian reputation & complaint data
- [Google Maps BR Scraper](https://apify.com/viralanalyzer/google-maps-br-scraper) — Business data extraction

### 📝 Changelog

#### v2.1 (Current)

- ✅ 7 intelligence modules: Website, Pricing, Meta Ads, Google Ads, Social, Reviews, Technology
- ✅ AI Competitive Report via Google Gemini (`gemini-2.0-flash`)
- ✅ Real Meta ads via the Facebook Ads Library actor; social discovery + ranking across 6 platforms
- ✅ Compare-with-your-own-site benchmarking
- ✅ Self-diagnosing setup guide on missing input / zero results (no charge)
- ✅ PPE billing per competitor analyzed, with owner-skip

***

<a name="português"></a>

## 🔍 Competitor Intelligence Hub — Site, Preços, Anúncios, Redes Sociais, Avaliações & Stack Tecnológica em Uma Execução

> [🇺🇸 English](#-competitor-intelligence-hub--website-pricing-ads-social-reviews--tech-stack-in-one-run) | 🇧🇷 Português

Monitoramento de concorrentes **tudo-em-um**: escaneia sites de concorrentes, detecta páginas e pontos de preço, verifica atividade de anúncios no Meta (Facebook/Instagram) e Google, descobre perfis sociais, agrega notas de avaliação (Google, Trustpilot, Reclame Aqui) e identifica a stack tecnológica — e então o **Google Gemini** sintetiza tudo em um relatório competitivo acionável. Forneça uma lista de URLs de concorrentes e escolha quais módulos de inteligência rodar.

### ✨ Funcionalidades

7 módulos de inteligência, rode todos ou escolha um subconjunto:

- 🌐 **Scanner de Site** — Rastreia até N páginas/site (CheerioCrawler, mesmo domínio) para título, meta descrição, H1/H2, CTAs, e-mails, telefones, contagem de links internos e palavras.
- 💰 **Detector de Preços** — Testa caminhos comuns de preços, detecta a moeda (BRL/USD/EUR), extrai pontos de preço e analisa nomes de planos + recursos.
- 📢 **Biblioteca de Anúncios Meta** — Deriva consultas do domínio/título e chama o actor da Facebook Ads Library para amostras reais de anúncios ativos + URL pronta da Biblioteca.
- 🔎 **Transparência de Anúncios Google** — Verifica o Centro de Transparência e retorna a URL de transparência.
- 📱 **Redes Sociais** — Descobre e ranqueia perfis principais (Facebook, Instagram, Twitter/X, LinkedIn, YouTube, TikTok); lê seguidores/posts dos perfis que você fornecer.
- ⭐ **Agregador de Avaliações** — Sinais de nota do Google, Trustpilot e Reclame Aqui (Brasil) com URLs de origem.
- 🔧 **Stack Tecnológica** — Identifica frameworks (React, Next.js, Vue, WordPress, Shopify…), analytics/marketing (GA, GTM, Meta Pixel, HubSpot, RD Station…), CMS, servidor e CDN.
- 🤖 **Relatório Competitivo com IA** — Com a chave Gemini, o `gemini-2.0-flash` gera resumo executivo, mapa de posicionamento, análise de preços/marketing/tecnologia, comparação de reputação, oportunidades/ameaças e 10 recomendações ranqueadas.
- 🏠 **Compare com o seu próprio site** + 🛡️ **autodiagnóstico**: em entrada ausente ou zero resultados, emite um guia e finaliza com sucesso **sem cobrar**.

### 📥 Entrada

| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
| `competitors` | string\[] | ✅ | — | URLs de sites concorrentes a analisar. Domínios simples são aceitos (`https://` é adicionado automaticamente). |
| `modules` | string\[] | ❌ | os 7 | Quais módulos rodar. Opções: `website`, `pricing`, `meta_ads`, `google_ads`, `social`, `reviews`, `technology`. |
| `socialProfiles` | objeto | ❌ | `{}` | URLs sociais por domínio: `{ "concorrente.com": { "instagram": "url", "facebook": "url" } }`. Usado para ler seguidores/posts. |
| `compareWithOwn` | string | ❌ | — | URL do seu próprio site, escaneada primeiro e marcada para comparação lado a lado. |
| `country` | string | ❌ | `"BR"` | Código do país-alvo para anúncios e resultados de busca. |
| `language` | string | ❌ | `"pt-BR"` | Idioma dos headers de requisição e do relatório de IA (`pt-BR` → português, caso contrário inglês). |
| `geminiApiKey` | string (secreto) | ❌ | — | Chave da API Google Gemini. Se omitida, todos os módulos de scraping rodam — apenas o relatório de IA é pulado. Chave grátis em ai.google.dev. |
| `maxPagesPerSite` | inteiro | ❌ | `5` | Máximo de páginas rastreadas por site (1–50). Menor = scans mais baratos. |
| `proxyConfiguration` | objeto | ❌ | — | Configuração de proxy. Comece sem proxy; adicione apenas se um concorrente bloquear o scan. |

#### Exemplo de Entrada

```json
{
  "competitors": ["https://www.apify.com", "https://www.zyte.com"],
  "modules": ["website", "pricing", "technology", "reviews"],
  "compareWithOwn": "https://www.minhaempresa.com",
  "country": "US",
  "language": "en",
  "maxPagesPerSite": 5
}
```

### 📤 Saída

Cada concorrente produz **um registro achatado** (mais um objeto `modules` aninhado com todo o detalhe por módulo). Quando uma chave Gemini é fornecida, um registro extra `ai_competitive_analysis` é adicionado.

**Identidade:** `domain`, `url`, `isOwnSite` (boolean), `scannedAt` (ISO 8601).

| Grupo | Campos |
|---|---|
| **Site** | `pagesScanned`, `mainTitle`, `mainH1`, `avgWordCount`, `ctas`, `emails`, `phones` (formatos BR + 0800) |
| **Preços** | `pricingPageFound`, `pricingPageUrl`, `currency` (BRL/USD/EUR), `pricePoints`, `plans` (`Nome: Preço \| …`) |
| **Anúncios** | `metaAdsCount`, `metaAdsLibraryUrl`, `googleAdsActive`, `googleAdsTransparencyUrl` |
| **Social** | `socialProfilesFound`, `socialLinks` (`plataforma: url \| …`) |
| **Avaliações** | `trustpilotRating`, `trustpilotReviews`, `reclameAquiRating`, `googleRating` |
| **Tecnologia** | `techFrameworks`, `techAnalytics`, `techServer`, `techCDN` |
| **Bruto** | `modules` (dados aninhados completos de cada módulo habilitado) |

Todos os campos de texto opcionais são `string` ou `null`; contagens são `número`. O registro opcional de IA contém: `type` (`ai_competitive_analysis`), `generatedAt`, `competitorsAnalyzed`, `ownSite`, `analysis` (o texto do relatório) e `model` (`gemini-2.0-flash`).

#### Exemplo de Saída

O formato é idêntico ao [Output Example](#-output) em inglês — um registro achatado por concorrente, mais o objeto `modules` aninhado e (se houver chave Gemini) um registro extra `ai_competitive_analysis`.

### 📋 Casos de Uso

- **Benchmarking Competitivo** — Compare seu site com rivais em mensagem, CTAs, preços e tecnologia em uma execução.
- **Inteligência de Preços** — Identifique pontos de preço, estrutura de planos e moeda-alvo dos concorrentes.
- **Sinais de Anúncios** — Veja quem roda anúncios no Meta/Google e pegue os links da Biblioteca.
- **Reconhecimento de Stack** — Descubra quais frameworks, analytics, CMS e CDN cada concorrente usa.
- **Monitoramento de Reputação** — Agregue notas de Google, Trustpilot e Reclame Aqui lado a lado.
- **Briefings de Estratégia com IA** — entra dado bruto, sai relatório executivo com recomendações ranqueadas.
- **Preparação de Vendas & Leads** — Extraia e-mails, telefones, stack e posicionamento de um prospect antes do contato.

### ❓ Perguntas Frequentes

**P: Preciso de uma chave da API Gemini?**
R: Não. Todos os módulos de scraping (site, preços, anúncios, social, avaliações, tecnologia) rodam sem ela. A chave só libera o Relatório Competitivo com IA (`gemini-2.0-flash`). Chave grátis em ai.google.dev.

**P: Por quais módulos devo começar?**
R: Para o melhor equilíbrio custo-qualidade, comece com `website`, `pricing` e `technology`, e depois adicione as buscas externas (`meta_ads`, `google_ads`, `social`, `reviews`) após ter uma base.

**P: Preciso de proxy?**
R: Não por padrão. A maioria das validações roda bem sem proxy. Adicione `proxyConfiguration` (Apify Proxy, RESIDENTIAL para sites muito bloqueados) apenas se um concorrente específico bloquear o scan.

**P: O que `country` e `language` controlam?**
R: `country` direciona as buscas de anúncios/busca (Biblioteca Meta, Transparência Google, avaliações Google). `language` define o header `Accept-Language` e o idioma do relatório de IA — `pt-BR` → português, qualquer outro valor → inglês.

**P: O que acontece se uma URL estiver inacessível ou não retornar nada?**
R: O actor emite um registro de **guia de diagnóstico** (causas + remediações) e finaliza com sucesso **sem cobrar** — você nunca é cobrado por uma execução vazia. Defina `compareWithOwn` com sua própria URL para benchmarking lado a lado (marcada como `isOwnSite: true`).

### 💰 Preços

**$0.1 por concorrente analisado** (`competitor-analyzed`), o uso de plataforma da Apify está incluído — compute e proxy não são cobrados à parte.

Este actor usa precificação **Pay-Per-Event (PPE)**. A cobrança é por **concorrente analisado** (evento `competitor-analyzed`) — uma cobrança por site que produz um resultado.

Execuções de diagnóstico/vazias nunca são cobradas, e execuções internas do ViralAnalyzer são puladas.

👉 Veja o preço por evento atual na página da Apify Store: **[apify.com/viralanalyzer/competitor-intelligence-hub](https://apify.com/viralanalyzer/competitor-intelligence-hub)**

### 🔗 Actors Relacionados

- [Facebook Ads Library](https://apify.com/viralanalyzer/facebook-ads-library) — Criativos de anúncios Meta ativos & sinais de investimento
- [Shopify Store Intelligence](https://apify.com/viralanalyzer/shopify-store-intelligence) — Análise competitiva e-commerce
- [Reclame Aqui Scraper](https://apify.com/viralanalyzer/reclameaqui-scraper) — Reputação & dados de reclamações no Brasil
- [Google Maps BR Scraper](https://apify.com/viralanalyzer/google-maps-br-scraper) — Extração de dados de empresas

### 📝 Changelog

#### v2.1 (Atual)

- ✅ 7 módulos de inteligência: Site, Preços, Anúncios Meta, Anúncios Google, Social, Avaliações, Tecnologia
- ✅ Relatório Competitivo com IA via Google Gemini (`gemini-2.0-flash`)
- ✅ Anúncios Meta reais via o actor da Facebook Ads Library; descoberta + ranqueamento social em 6 plataformas
- ✅ Benchmarking com o seu próprio site
- ✅ Guia de configuração autodiagnóstico em entrada ausente / zero resultados (sem cobrança)
- ✅ Cobrança PPE por concorrente analisado, com owner-skip

# Actor input Schema

## `competitors` (type: `array`):

List of competitor website URLs to monitor. Each URL will be scanned for pricing, content changes, technology stack, and more.

## `modules` (type: `array`):

Select which intelligence modules to run. Default: all modules. For the best cost-quality balance, start with website, pricing, and technology before enabling every external lookup.

## `socialProfiles` (type: `object`):

Optional social media profile URLs for competitors. Format: { "competitor.com": { "facebook": "url", "instagram": "url", "twitter": "url" } }

## `compareWithOwn` (type: `string`):

Your own website URL for side-by-side comparison with competitors.

## `country` (type: `string`):

Target country for ads and search results.

## `language` (type: `string`):

Language for analysis and reports.

## `geminiApiKey` (type: `string`):

Google Gemini API key for AI-powered competitive analysis. Get one free at ai.google.dev

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

Maximum number of pages to crawl per competitor website. Lower values keep scans cheaper while still capturing key pages.

## `proxyConfiguration` (type: `object`):

Proxy settings for accessing competitor websites. Start without proxy and only add it if specific competitors block your scan.

## Actor input object example

```json
{
  "competitors": [
    "https://www.apify.com"
  ],
  "modules": [
    "website",
    "pricing",
    "meta_ads",
    "google_ads",
    "social",
    "reviews",
    "technology"
  ],
  "socialProfiles": {},
  "country": "BR",
  "language": "pt-BR",
  "maxPagesPerSite": 5
}
```

# Actor output Schema

## `results` (type: `string`):

Dataset containing all scraped results. Each item follows the dataset schema.

# 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 = {
    "competitors": [
        "https://www.apify.com"
    ],
    "modules": [
        "website",
        "pricing",
        "meta_ads",
        "google_ads",
        "social",
        "reviews",
        "technology"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("viralanalyzer/competitor-intelligence-hub").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 = {
    "competitors": ["https://www.apify.com"],
    "modules": [
        "website",
        "pricing",
        "meta_ads",
        "google_ads",
        "social",
        "reviews",
        "technology",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("viralanalyzer/competitor-intelligence-hub").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 '{
  "competitors": [
    "https://www.apify.com"
  ],
  "modules": [
    "website",
    "pricing",
    "meta_ads",
    "google_ads",
    "social",
    "reviews",
    "technology"
  ]
}' |
apify call viralanalyzer/competitor-intelligence-hub --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,viralanalyzer/competitor-intelligence-hub"
        }
    }
}
```

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/h3wc4d0MCFIq8QSIJ/builds/uepMPKYRQIe9Ael7Y/openapi.json
