AI Company Research Agent
Pricing
Pay per usage
AI Company Research Agent
Get comprehensive company intelligence in seconds. Research any company for tech stack, key employees, competitors, news sentiment & AI insights.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
CQ
Maintained by CommunityActor stats
1
Bookmarked
28
Total users
0
Monthly active users
11 days ago
Last modified
Categories
Security
Limited permissionsShare
Comprehensive company intelligence in seconds. Research any company and get tech stack, key employees, competitors, news sentiment, and AI-synthesized insights.
Features
| Feature | Description |
|---|---|
| 🌐 Website Discovery | Finds company websites from the name (tries domain variants, then DuckDuckGo HTML discovery) |
| 🛠️ Tech Stack Detection | 60+ technologies across 13 categories detected from static HTML/headers (React, AWS, Stripe, Cloudflare, PyTorch, etc.) |
| 👥 Key People | CEO/CTO/CFO/founders and other execs with confidence scores |
| 🎯 Competitive Landscape | Direct competitors and alternatives (best-effort from search text) |
| 📰 News & Sentiment | Recent coverage with keyword-based sentiment and topic tagging |
| 💻 GitHub Presence | Repos, stars, languages, open-source activity |
| 🤖 AI Insights | Executive summary, strengths, risks, growth signals — optional; requires your own OpenAI API key |
| 📡 Monitoring Mode | Optional: track companies across scheduled runs, detect deltas (new headlines, sentiment/tech changes), POST webhook alerts |
Quick Start
Basic Usage
{"companies": ["Anthropic", "Stripe", "Figma"],"researchDepth": "standard"}
With AI Synthesis
{"companies": ["OpenAI"],"researchDepth": "deep","aiSynthesis": true,"openaiApiKey": "sk-..."}
AI synthesis is optional and off by default. When enabled it calls OpenAI
gpt-4o-miniusing theopenaiApiKeyyou provide (stored as a secret input). Usage is billed to your own OpenAI account. If no key is supplied, AI insights are skipped and the run still completes; if the OpenAI call fails, the actor falls back to a non-AI rule-based summary.
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
companies | array | required | Company names to research |
researchDepth | string | "standard" | "quick", "standard", or "deep" |
includeTechStack | boolean | true | Detect website technologies |
includeEmployees | boolean | true | Find key people |
includeCompetitors | boolean | true | Identify competitors |
includeNews | boolean | true | Gather recent news |
aiSynthesis | boolean | false | Generate AI insights (requires openaiApiKey) |
openaiApiKey | string | — | OpenAI API key; required only when aiSynthesis is enabled (stored as a secret) |
proxyConfiguration | object | Apify Proxy (Residential) | Proxy settings for scraping |
maxConcurrency | integer | 5 | Parallel requests (1-20) |
monitoringMode | boolean | false | Persist each company's snapshot and compute deltas vs the prior run |
alertWebhookUrl | string | — | Optional: POST a JSON alert when monitoring detects meaningful changes |
Output
Dataset (Per-Company Results)
Each company researched produces a dataset item:
{"companyName": "Stripe","basicInfo": {"found": true,"url": "https://stripe.com","title": "Stripe | Payment Processing Platform","description": "Online payment processing for internet businesses","industry": "fintech","socialLinks": {"linkedin": "https://linkedin.com/company/stripe","twitter": "https://twitter.com/stripe","github": "https://github.com/stripe"}},"techStack": {"technologies": ["React", "Next.js", "Cloudflare", "Google Analytics"],"evidence": {"React": ["HTML pattern match"],"Cloudflare": ["HTTP headers (cf-ray)"]},"categories": {"frontend": ["React", "Next.js"],"infrastructure": ["Cloudflare"],"analytics": ["Google Analytics"]},"count": 4},"employees": {"estimated": 8000,"growth": "Growing","keyPeople": [{"name": "Patrick Collison", "title": "CEO", "confidence": "high"},{"name": "John Collison", "title": "President", "confidence": "high"}]},"competitors": {"direct": ["PayPal", "Adyen", "Square"],"similar": ["Braintree", "Checkout.com"]},"news": {"articles": [],"sentiment": "positive","topics": ["Product Launch", "Partnership"]},"github": {"organization": {"login": "stripe", "publicRepos": 120},"repos": [{"name": "stripe-node", "stars": 3500, "language": "JavaScript"}],"totalStars": 45000},"aiInsights": {"executiveSummary": "Stripe is a dominant payment infrastructure company...","strengths": ["Developer-first approach", "Strong brand", "Global reach"],"risks": ["Regulatory pressure", "Increasing competition"],"growthSignals": ["International expansion", "New product launches"],"competitivePosition": "Market leader in developer payments","recommendation": "Strong fundamentals, well-positioned for growth"},"metrics": {"techMaturityScore": 85,"mediaPresence": "High","openSourcePresence": "Strong"},"dataDisclaimer": "Financial figures (valuations, revenue, employee counts) are extracted from search results and may be outdated. Verify critical data from official sources before use.","researchedAt": "2024-12-23T12:00:00.000Z","researchDepth": "standard"}
The
techStack.maturityScoreis not ontechStack— the 0-100 maturity score is exposed asmetrics.techMaturityScore. Companies that fail to research produce a minimal item:{ companyName, error, researchedAt }.
Key-Value Store (Summary Reports)
| Key | Description |
|---|---|
OUTPUT | Run summary with totals, avg scores, all technologies, company comparison table |
COMPARISON_MATRIX | Tech stack overlap, unique technologies, competitor network (2+ companies) |
ERRORS | Failed companies with error details for debugging |
Research Depth Comparison
| Depth | Time | Best For |
|---|---|---|
quick | ~5-10s | Basic validation, high-volume screening |
standard | ~15-30s | Sales research, lead qualification |
deep | ~45-60s | Due diligence, competitive analysis |
Use Cases
Sales & Lead Qualification
{"companies": ["Acme Corp", "Beta Inc", "Gamma LLC"],"researchDepth": "quick","includeEmployees": true,"aiSynthesis": false}
Investment Due Diligence
{"companies": ["Target Startup"],"researchDepth": "deep","aiSynthesis": true,"openaiApiKey": "sk-..."}
Competitive Analysis
{"companies": ["Competitor A", "Competitor B", "Competitor C"],"researchDepth": "standard","includeCompetitors": true,"includeTechStack": true}
Integration Examples
JavaScript / Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('constant_quadruped/ai-company-research-agent').call({companies: ['Stripe', 'Figma'],researchDepth: 'standard'});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("constant_quadruped/ai-company-research-agent").call(run_input={"companies": ["Stripe", "Figma"],"researchDepth": "standard"})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['companyName']}: {item['metrics'].get('techMaturityScore', 'N/A')}")
cURL
curl "https://api.apify.com/v2/acts/constant_quadruped~ai-company-research-agent/runs?token=YOUR_TOKEN" \-X POST \-H "Content-Type: application/json" \-d '{"companies": ["Anthropic"], "researchDepth": "standard"}'
Technologies Detected
| Category | Technologies |
|---|---|
| Frontend | React, Vue.js, Angular, Next.js, Svelte, Tailwind CSS, Bootstrap |
| Backend | Node.js, Python (Django/Flask/FastAPI), Ruby on Rails, Go, PHP (Laravel/Symfony) |
| Databases | PostgreSQL, MongoDB, MySQL, Redis, Elasticsearch |
| Infrastructure | AWS, Google Cloud, Azure, Cloudflare, Vercel, Netlify, Heroku, Fastly, Docker, Kubernetes |
| Analytics | Google Analytics, Segment, Mixpanel, Hotjar, Amplitude |
| Marketing/Support | Intercom, HubSpot, Zendesk |
| Payments | Stripe, PayPal, Braintree, Square |
| Auth | Auth0, Okta, Firebase, Clerk, Supabase |
| CMS | WordPress, Webflow, Contentful, Sanity, Strapi |
| API/Data | GraphQL, tRPC, Prisma |
| Monitoring | Sentry, DataDog, New Relic, LogRocket, LaunchDarkly |
| AI/ML | PyTorch, TensorFlow, JAX, CUDA, Triton, Ray, Weights & Biases, MLflow, Hugging Face |
Data Sources
| Data Type | Sources |
|---|---|
| Website Info | Direct HTTP fetch of static HTML, with DuckDuckGo HTML discovery fallback |
| Tech Stack | HTML/script/stylesheet pattern analysis + HTTP headers; StackShare-style search fallback for blocked sites |
| Employees | Wikipedia API, LinkedIn snippets (via DuckDuckGo search), press/news mentions |
| Competitors | DuckDuckGo HTML search, G2 (via search) |
| News | DuckDuckGo HTML search; TechCrunch (standard+); Verge/Wired/Ars + Reuters/Bloomberg/WSJ via search (deep only) |
| GitHub | GitHub REST API (public data; optional GITHUB_TOKEN env var for higher rate limits) |
Monitoring Mode
Set monitoringMode: true to track companies over time. Each run saves a snapshot per company to the key-value store (state_<company>); on subsequent runs it computes deltas — new news headlines, sentiment changes, and tech/employee/competitor changes — and attaches them to each dataset item. Combine with an Apify schedule to run automatically, and set alertWebhookUrl to receive a JSON POST when meaningful changes are detected.
{"companies": ["Anthropic", "OpenAI"],"researchDepth": "standard","monitoringMode": true,"alertWebhookUrl": "https://hooks.example.com/notify"}
Limitations
- Static HTML only: The actor fetches raw HTML and does not run a headless browser or execute JavaScript. Tech-stack and metadata detection is weaker on heavily client-rendered (SPA) sites, which may return few or no detected technologies.
- Search relies on DuckDuckGo HTML scraping: Employees, competitors, and news are derived by scraping DuckDuckGo's HTML endpoint (rate-limited internally to ~2 concurrent requests with a minimum delay). DuckDuckGo may throttle or return fewer results, reducing coverage for those fields.
- Rate limits / blocking: Websites and search may rate-limit or block requests; an Apify Residential proxy is recommended (prefilled by default).
- GitHub API limits: GitHub data uses the unauthenticated public API by default (~60 requests/hour per IP). Set a
GITHUB_TOKENenvironment variable for higher limits. When rate-limited, GitHub data is skipped — it does not fail the run. - Result caps: News articles are capped by depth (quick ≈ 5, standard ≈ 15, deep ≈ 30). Competitors and key people are capped and heuristically extracted from search text, so results may be incomplete or occasionally noisy.
- Estimates, not ground truth: Employee counts, competitors, key people, industry, and sentiment are heuristically extracted from public sources and may be outdated or approximate. Every successful dataset item includes a
dataDisclaimerfield. No funding/valuation data is provided (removed in v2.0 for reliability). - AI synthesis is optional and AI-generated: Requires your own OpenAI API key (
aiSynthesis: true+openaiApiKey) and calls OpenAIgpt-4o-minibilled to your account. Output is AI-generated and may contain inaccuracies. If the key is missing, AI insights are skipped and the run still succeeds; if the OpenAI call errors, a non-AI rule-based summary is used instead. - Private/stealth companies: Limited or no data for stealth-mode, very new, or non-public companies with little web/press footprint.
Reliability & QA
- The actor never calls
Actor.fail()on a source outage. Each data source (website, tech, employees, competitors, news, GitHub) is fetched independently and failures are caught, so one flaky source does not sink a company. - Each company always produces exactly one dataset item — the full result, or a minimal
{ companyName, error, researchedAt }marker — so a run over valid input never yields an empty dataset. - AI synthesis is optional and gracefully skipped when no key is provided; a missing OpenAI key does not cause failure.
Changelog
v2.1 (Current)
- Monitoring mode: persist per-company snapshots and compute deltas (new headlines, sentiment change, tech-stack change) across scheduled runs
- Optional webhook alerts (
alertWebhookUrl) when meaningful changes are detected - Added data-reliability metadata (
dataDisclaimer, per-field confidence levels) - Optional
GITHUB_TOKENsupport for higher GitHub API limits
v2.0
- Added Key-Value Store outputs (OUTPUT, COMPARISON_MATRIX, ERRORS)
- Removed unreliable funding data (use Crunchbase API for funding)
- Improved employee data from Wikipedia
- Cleaner, more accurate output
v1.9
- Parallel domain checking for faster website discovery
- Improved tech stack detection (script/stylesheet scanning)
- Support for hyphenated domain names
- Reduced timeouts for faster failure detection
v1.0
- Initial release with 6 data sources
- AI synthesis with GPT-4o-mini
- MCP compatibility
Support
- Issues: Open an issue on the Apify Console
- Documentation: Apify Docs
- API Reference: Apify API Docs