Ai Competitor Intelligence
Under maintenancePricing
from $0.27 / actor start
Ai Competitor Intelligence
Under maintenanceBenchmark a company against its competitors inside AI-generated answers across ChatGPT, Gemini, Claude, and Perplexity — and learn why competitors win. For every question, this Actor asks each AI engine and extracts mentions, position, sentiment, the reason, and citations.
Pricing
from $0.27 / actor start
Rating
0.0
(0)
Developer
Muhammad Bilal
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
Benchmark a company against its competitors inside AI-generated answers across ChatGPT, Gemini, Claude, and Perplexity — and learn why competitors win.
Overview
For every question, this Actor asks each AI engine and, for your company and each competitor, extracts mentions, position, sentiment, the reason, and citations. It builds a recommendation-frequency ranking, compares each competitor to you, explains why competitors win (more Reddit mentions, more review sites, more documentation, more backlinks, more comparisons), and produces actionable recommendations.
Architecture
src/├── main.ts # Actor.main() entry point├── types.ts # Input/analysis/summary types├── config/index.ts # Input validation → strict config (entity universe)├── analysis/index.ts # per-entity stats, comparisons, recommendations├── report/index.ts # "why competitors win" markdown report└── shared/ # Reusable library (adapters, engine, parser, citations, …)
Pipeline: validate → build tasks → collect answers → analyze each entity → compare → recommend.
Input
| Field | Type | Default | Description |
|---|---|---|---|
company | string (required) | — | Your company |
competitors | string[] (required) | — | Competitors to benchmark against |
questions | string[] (required) | — | Questions asked on every platform |
platforms | string[] | all four | ChatGPT, Gemini, Claude, Perplexity |
headless | boolean | true | Headless browser |
screenshotOnFailure | boolean | true | Screenshots to KV store on failure |
maxRetries | integer | 2 | Retries per (platform, question) |
askTimeoutMs | integer | 90000 | Max wait per answer |
useApifyProxy | boolean | true | Route through Apify Proxy |
cookies | array | [] | Session cookies for authenticated platforms |
Input example
{"company": "ChatbotsHub","competitors": ["Botpress", "Voiceflow", "Intercom"],"questions": ["best chatbot platform for businesses", "best conversational AI tools"]}
Output
Dataset row (one per company/competitor)
{ "company": "ChatbotsHub", "isYourCompany": true, "recommendationRate": 22, "mentionRate": 40, "averagePosition": 3.5, "totalCitations": 2, "redditMentions": 0 }
Key-Value Store artifacts
SUMMARY— entity stats, competitor comparisons (with advantages), recommendationsREPORT— markdown: recommendation frequency + "why competitors win" + recommendationsDETAILS— per (question, platform, entity) analyses (mention, position, sentiment, reason)EXPORT_CSV— flat CSV of entity stats
How "why competitors win" is computed
Each competitor is compared to you across measurable signals; a competitor "wins" a signal when it scores strictly better:
- ✓ Higher AI recommendation rate
- ✓ Mentioned more frequently / better average position
- ✓ More Reddit / community mentions
- ✓ More review-site, documentation, forum, or blog/comparison citations
- ✓ More backlinks (unique cited URLs) / more total citations
Citations are attributed per entity (only citations on the entity's own line/bullet count), so comparisons reflect each brand's real cited footprint.
Rate limits & known limitations
- Auth walls (ChatGPT/Claude/Gemini) → supply
cookies. Perplexity usually works anonymously. - Position/sentiment are heuristic (structure + lexicon), keeping runs deterministic and cheap.
- Signals depend on the engines surfacing citations for a given answer.
Deployment
npm install && npm run build && npm test && npm run lintnpx playwright install chromium # local only; Docker image already has itapify push
Docker base image: apify/actor-node-playwright-chrome:22.
Testing guide
npm test runs parser/citation (fixture-based), retry, validation, statistics, adapter (mock page),
engine integration, and competitor-analysis tests. Fixtures live in tests/fixtures/.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| All entities 0% | Auth wall / no answers | Provide cookies, enable proxy |
| Missing citation signals | Engine returned no links | Prefer Perplexity; retry |
Version history
- 1.0.0 — Initial production release.