Data & Analysis company-researchfinancial-analysislanggraphtavily-searchgeminifastapireactpdf-generation

Agentic Company Researcher

A multi-agent web application that turns company research into formatted diligence reports.

FollowAgents review · FARS-2.1
Not recommended
0/ 100 5-point scale 0.0 / 5
1 2 3 4 5 6
Per-dimension scores and reasoning
1Trust0 / 29 · 0.0/5

Evidence only includes README and LICENSE, no code or configuration details. Unable to assess least privilege, user confirmation, data flow transparency, sensitive data handling, dependency security, external effects, rollback, or source attribution. All criteria scored 0 due to lack of evidence.

2Reliability0 / 14 · 0.0/5

Insufficient evidence. README describes architecture but no code or tests to verify self-consistency, dependency availability, or failure messages. All criteria scored 0.

3Adaptability0 / 18 · 0.0/5

Insufficient evidence. README describes target users and scenarios but no code or configuration to assess capability boundaries, trigger precision, or environment fit. All criteria scored 0.

4Convention0 / 18 · 0.0/5

Insufficient evidence. README provides installation instructions and architecture info but no code, examples, FAQ, known limitations, versioning, or maintenance responsibility. License present but unverified. All criteria scored 0.

5Effectiveness0 / 13 · 0.0/5

Insufficient evidence. README describes outputs and features but no code or tests to assess output usability, marginal value, or cost-benefit. All criteria scored 0.

6Verifiability0 / 8 · 0.0/5

Insufficient evidence. README describes features but no code or tests to verify claim traceability, cross-source corroboration, or fact-inference separation. All criteria scored 0.

Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision fc2f99085500
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
Safety controls not found in source: least-privilege scoping, confirmation before acting, data-flow disclosure, sensitive-data handling, dependency security, disclosed external effects, rollback or recovery path, verifiable attribution
Before you use it
  • Static review based only on README and LICENSE; code not examined, so security and reliability claims cannot be verified.
  • Publisher identity unverified; do not infer quality from brand or reputation.
  • README mentions API keys and external services (Tavily, Gemini, OpenAI, Google Maps, MongoDB) requiring user configuration, posing data exposure risks.
Review evidence [1][2][3]
See the full review method →

What does this agent do, and when should you use it?

Agentic Company Researcher is a self-hosted company-diligence application that uses LangGraph to coordinate specialized research and processing nodes. CompanyAnalyzer, IndustryAnalyzer, FinancialAnalyst, and NewsScanner cover core company information, market context, financial metrics, and recent developments before Collector, Curator, Briefing, and Editor assemble the output. Tavily supplies search relevance scoring, Gemini 2.5 Flash produces category briefings, and GPT-5.1 compiles, deduplicates, and formats the final Markdown report. Its backend is a FastAPI service that runs research asynchronously and exposes polling endpoints, while a React frontend provides progress tracking and download options. It can run locally or through Docker Compose, but requires configured credentials for Tavily, Google Gemini, OpenAI, and Google Maps.

A user submits a research request through the React frontend, which calls POST /research and receives a job_id. CompanyAnalyzer, IndustryAnalyzer, FinancialAnalyst, and NewsScanner gather company, industry, financial, and news material; Collector aggregates it, while Curator in curator.py cleans content, normalizes and deduplicates URLs, and orders documents by Tavily relevance score, with a documented default minimum threshold of 0.4. Briefing in briefing.py uses Gemini 2.5 Flash to generate category-specific briefings, and Editor in editor.py uses GPT-5.1 to compile, deduplicate, and format a Markdown report. The frontend polls GET /research/{job_id}/report for completion, and POST /generate-pdf generates a PDF from report content.

  1. An investment researcher assessing a target company who needs an initial report spanning company background, industry context, financial information, and recent news.
  2. A corporate strategy team conducting desk research on a potential supplier, partner, or competitor and needing a repeatable company-briefing workflow.
  3. A consulting team at the start of an engagement that needs structured source material before analysts perform manual validation.
  4. An internal research team with Python and React operations capacity that wants a web application with asynchronous research jobs and progress polling.
  5. A team that needs a PDF deliverable after report creation and can use the repository's documented PDF-generation endpoint.

What are this agent's strengths and limitations?

Pros
  • It separates research responsibilities into CompanyAnalyzer, IndustryAnalyzer, FinancialAnalyst, and NewsScanner rather than relying on one undifferentiated research step.
  • Curator combines Tavily relevance scoring with content cleanup and URL deduplication, using a documented default threshold of 0.4.
  • Gemini 2.5 Flash is assigned to high-context briefings while GPT-5.1 is assigned to final formatting and deduplication, giving the pipeline explicit model roles.
  • FastAPI, a React interface, asynchronous job polling, and PDF generation provide a deployable application boundary rather than only a backend workflow.
Limitations
  • Operation explicitly depends on API credentials for Tavily, Google Gemini, OpenAI, and Google Maps, so it is not an offline research tool.
  • The documentation requires both Gemini and OpenAI keys but does not describe fallback behavior if either model provider or Tavily is unavailable.
  • The supplied material does not document payload or response schemas for POST /research or POST /generate-pdf, increasing integration work for API consumers.
  • License evidence conflicts: the repository metadata says Apache-2.0, while the README's License section says MIT; adopters should verify the LICENSE file.

How do you install or deploy this agent?

Provide Python, Node.js, a Tavily API Key, a Google Gemini API Key, an OpenAI API Key, and a Google Maps API Key. After cloning the repository, run chmod +x setup.sh && ./setup.sh; the script detects uv, installs backend and frontend dependencies, and guides environment setup. For manual setup, run uv venv .venv && source .venv/bin/activate && uv pip install -r requirements.txt, then run npm install inside ui. Set TAVILY_API_KEY, GEMINI_API_KEY, and OPENAI_API_KEY in a root .env file; set VITE_API_URL=http://localhost:8000 and VITE_GOOGLE_MAPS_API_KEY in ui/.env. For Docker, configure both .env files and run docker compose up --build.

How do you use this agent?

Start the backend with python -m application.py, or use uvicorn application:app --reload --port 8000. In another terminal, run npm run dev from ui and open http://localhost:5173; submit a company research request in the frontend, which receives a job_id and polls /research/{job_id}/report. Under Docker Compose, the documented backend URL is http://localhost:8000 and the frontend URL is http://localhost:5174. For API use, POST /research submits work and GET /research/{job_id}/report retrieves the completed report; the supplied documentation does not specify request or response schemas for those endpoints.

FAQ

Which external services are required, and what will they cost?
The setup instructions require Tavily, Google Gemini, OpenAI, and Google Maps API keys. Pricing, quotas, and cost controls are not documented in the supplied material.
Can it run with only OpenAI or only Gemini?
The provided documentation assigns Gemini 2.5 Flash to Briefing and GPT-5.1 to Editor, and instructs users to configure both keys. A single-provider mode is not documented.
How does a client know when research is finished?
POST /research returns a job_id, and the frontend polls GET /research/{job_id}/report for the completed report.
Can reports be persisted?
MONGODB_URI is documented as an optional setting to enable MongoDB persistence. The supplied material does not describe the data model, retention policy, or access controls.
What license applies?
The supplied repository metadata identifies Apache-2.0, while the README identifies MIT. Those claims conflict, so the repository LICENSE file should be verified before adoption.

Related agents