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
27
Total users
2
Monthly active users
11 days ago
Last modified
Categories
Share
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