Crawler Summary

financial-document-analyser answer-first brief

AI-powered financial document analyser built with CrewAI, FastAPI & OpenAI. Features async queue processing and database integration. 🏦 Financial Document Analyser An AI-powered financial document analysis system built with **CrewAI**, **FastAPI**, and **OpenAI**. Upload any financial PDF (10-K, 10-Q, Annual Report, Earnings Release) and get a structured, professional analysis powered by a crew of specialized AI agents. --- πŸ“‹ Table of Contents - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 --- What This Does This system uses a **crew of 4 specialized AI Capability contract not published. No trust telemetry is available yet. Last updated 6/1/2026.

Freshness

Last checked 6/1/2026

Best For

financial-document-analyser is best for crewai, multi-agent workflows where OpenClaw compatibility matters.

Not Ideal For

Contract metadata is missing or unavailable for deterministic execution.

Evidence Sources Checked

editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack

Claim this agent
Agent DossierGitHubSafety: 66/100

financial-document-analyser

AI-powered financial document analyser built with CrewAI, FastAPI & OpenAI. Features async queue processing and database integration. 🏦 Financial Document Analyser An AI-powered financial document analysis system built with **CrewAI**, **FastAPI**, and **OpenAI**. Upload any financial PDF (10-K, 10-Q, Annual Report, Earnings Release) and get a structured, professional analysis powered by a crew of specialized AI agents. --- πŸ“‹ Table of Contents - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 --- What This Does This system uses a **crew of 4 specialized AI

OpenClawself-declared

Public facts

3

Change events

0

Artifacts

0

Freshness

Jun 1, 2026

Verifiededitorial-contentNo verified compatibility signals

Capability contract not published. No trust telemetry is available yet. Last updated 6/1/2026.

Trust evidence available

Trust score

Unknown

Compatibility

OpenClaw

Freshness

Jun 1, 2026

Vendor

Yeswanthnayani

Artifacts

0

Benchmarks

0

Last release

Unpublished

Executive Summary

Key links, install path, and a quick operational read before the deeper crawl record.

Verifiededitorial-content

Summary

Capability contract not published. No trust telemetry is available yet. Last updated 6/1/2026.

Setup snapshot

git clone https://github.com/YeswanthNayani/financial-document-analyser.git
  1. 1

    Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.

  2. 2

    Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Evidence Ledger

Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.

Verifiededitorial-content
Vendor (1)

Vendor

Yeswanthnayani

profilemedium
Observed May 24, 2026Source linkProvenance
Compatibility (1)

Protocol compatibility

OpenClaw

contractmedium
Observed May 24, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance

Release & Crawl Timeline

Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.

Self-declaredagent-index

Artifacts Archive

Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.

Self-declaredGITHUB OPENCLEW

Extracted files

0

Examples

6

Snippets

0

Languages

python

Executable Examples

text

financial-document-analyser/
β”œβ”€β”€ main.py              # FastAPI app β€” all HTTP endpoints
β”œβ”€β”€ agents.py            # 4 CrewAI agents with professional prompts
β”œβ”€β”€ task.py              # 4 CrewAI tasks with structured instructions
β”œβ”€β”€ tools.py             # PDF reader + analysis tools
β”œβ”€β”€ database.py          # SQLite/PostgreSQL integration (Bonus)
β”œβ”€β”€ worker.py            # Celery queue worker (Bonus)
β”œβ”€β”€ async_routes.py      # Async endpoints for queue worker (Bonus)
β”œβ”€β”€ requirements.txt     # All dependencies
β”œβ”€β”€ .env.example         # Template for environment variables
β”œβ”€β”€ .gitignore           # Excludes .env, __pycache__, temp files
└── README.md            # This file

bash

git clone https://github.com/YOUR_USERNAME/financial-document-analyser.git
cd financial-document-analyser

bash

# Create virtual environment
python -m venv venv

# Activate it (Windows)
venv\Scripts\activate

# Activate it (Mac/Linux)
source venv/bin/activate

bash

pip install -r requirements.txt

bash

# Copy the example env file
cp .env.example .env

text

OPENAI_API_KEY=sk-...your-key-here...
SERPER_API_KEY=...your-key-here...

Docs & README

Full documentation captured from public sources, including the complete README when available.

Self-declaredGITHUB OPENCLEW

Docs source

GITHUB OPENCLEW

Editorial quality

ready

AI-powered financial document analyser built with CrewAI, FastAPI & OpenAI. Features async queue processing and database integration. 🏦 Financial Document Analyser An AI-powered financial document analysis system built with **CrewAI**, **FastAPI**, and **OpenAI**. Upload any financial PDF (10-K, 10-Q, Annual Report, Earnings Release) and get a structured, professional analysis powered by a crew of specialized AI agents. --- πŸ“‹ Table of Contents - $1 - $1 - $1 - $1 - $1 - $1 - $1 - $1 --- What This Does This system uses a **crew of 4 specialized AI

Full README

🏦 Financial Document Analyser

An AI-powered financial document analysis system built with CrewAI, FastAPI, and OpenAI. Upload any financial PDF (10-K, 10-Q, Annual Report, Earnings Release) and get a structured, professional analysis powered by a crew of specialized AI agents.


πŸ“‹ Table of Contents


What This Does

This system uses a crew of 4 specialized AI agents that work together to analyse financial documents:

| Agent | Role | |-------|------| | πŸ” Verifier | Confirms the uploaded file is a genuine financial document | | πŸ“Š Financial Analyst | Extracts metrics, trends, and investment insights | | πŸ’Ό Investment Advisor | Provides compliant, balanced investment perspective | | ⚠️ Risk Assessor | Identifies and evaluates genuine risk factors |


πŸ› Bugs Found & Fixed

Deterministic Bugs (Code That Crashes or Produces Wrong Output)

| # | File | Bug | Fix | |---|------|-----|-----| | 1 | agents.py | llm = llm β€” variable assigned to itself, causes NameError on startup | Initialized properly with ChatOpenAI(model="gpt-4o-mini", api_key=os.getenv("OPENAI_API_KEY")) | | 2 | agents.py | tool= (singular) β€” wrong parameter name, CrewAI silently ignores it | Changed to tools= (plural) as required by CrewAI's Agent class | | 3 | tools.py | Pdf class used but never imported β€” causes NameError at runtime | Replaced with from pypdf import PdfReader and updated read logic | | 4 | tools.py | All tool methods declared async β€” incompatible with CrewAI's synchronous tool invocation | Removed async keyword from all tool methods | | 5 | tools.py | Missing @tool decorator β€” CrewAI cannot register or call undecorated tools | Added @tool("Tool Name") decorator to all tool methods | | 6 | tools.py | requirements.txt content was pasted at the bottom of tools.py β€” causes SyntaxError | Removed from tools.py, placed in proper requirements.txt file | | 7 | main.py | analyze_financial_document imported from task.py AND used as the FastAPI route function name β€” causes TypeError name collision | Renamed FastAPI handler to analyze_document | | 8 | main.py | file_path parameter accepted by run_crew() but never passed into crew.kickoff() β€” agents never receive the file | Added file_path to the kickoff() inputs dict | | 9 | main.py | reload=True in uvicorn.run() causes issues when running as __main__ | Changed to reload=False | | 10 | requirements.txt | pydantic==1.10.13 β€” CrewAI 0.130.0 requires Pydantic v2; v1 causes import failures | Upgraded to pydantic==2.7.1 and pydantic_core==2.18.2 | | 11 | requirements.txt | pypdf missing entirely β€” required by tools.py to read PDFs | Added pypdf==4.2.0 | | 12 | requirements.txt | uvicorn, python-multipart, python-dotenv, langchain-openai all missing | Added all missing runtime dependencies | | 13 | requirements.txt | pip==24.0 pinned β€” you should never pin pip itself in requirements.txt | Removed |


Inefficient Prompts (AI Instructions That Produce Bad Output)

All 4 agents and all 4 tasks had intentionally harmful prompts that instructed the AI to:

  • Make up financial data and statistics
  • Fabricate URLs and cite non-existent research
  • Ignore uploaded documents entirely
  • Recommend unregulated, high-risk investments
  • Skip compliance and regulatory guidelines
  • Contradict itself within the same response

Each was completely rewritten following prompt engineering best practices:

What was changed in every agent:

  • goal now specifies exactly what data to extract and how
  • backstory establishes professional credentials and compliance mindset
  • Agents are instructed to cite sources, never fabricate, and include disclaimers

What was changed in every task:

  • description uses explicit "You MUST" and "You MUST NOT" sections
  • expected_output defines a precise, structured format
  • Tasks reference {file_path} so agents actually read the uploaded file

πŸ“ Project Structure

financial-document-analyser/
β”œβ”€β”€ main.py              # FastAPI app β€” all HTTP endpoints
β”œβ”€β”€ agents.py            # 4 CrewAI agents with professional prompts
β”œβ”€β”€ task.py              # 4 CrewAI tasks with structured instructions
β”œβ”€β”€ tools.py             # PDF reader + analysis tools
β”œβ”€β”€ database.py          # SQLite/PostgreSQL integration (Bonus)
β”œβ”€β”€ worker.py            # Celery queue worker (Bonus)
β”œβ”€β”€ async_routes.py      # Async endpoints for queue worker (Bonus)
β”œβ”€β”€ requirements.txt     # All dependencies
β”œβ”€β”€ .env.example         # Template for environment variables
β”œβ”€β”€ .gitignore           # Excludes .env, __pycache__, temp files
└── README.md            # This file

βš™οΈ Setup Instructions

Prerequisites

  • Python 3.10 or 3.11
  • An OpenAI account with API access (needs a small credit balance ~$5)
  • A Serper account for web search (free tier: 2,500 searches)

Step 1: Clone the Repository

git clone https://github.com/YOUR_USERNAME/financial-document-analyser.git
cd financial-document-analyser

Step 2: Create a Virtual Environment

# Create virtual environment
python -m venv venv

# Activate it (Windows)
venv\Scripts\activate

# Activate it (Mac/Linux)
source venv/bin/activate

Step 3: Install Dependencies

pip install -r requirements.txt

Step 4: Configure API Keys

# Copy the example env file
cp .env.example .env

Now open .env in any text editor and fill in your keys:

OPENAI_API_KEY=sk-...your-key-here...
SERPER_API_KEY=...your-key-here...

Get your API keys:


πŸš€ How to Run

Standard Mode (Single Requests)

python main.py

The API will be available at: http://localhost:8000

Visit http://localhost:8000/docs for the interactive Swagger UI where you can test all endpoints directly in your browser.

Queue Worker Mode (Concurrent Requests β€” Bonus)

Requires Redis installed and running.

# Terminal 1: Start Redis
redis-server

# Terminal 2: Start Celery worker
celery -A worker worker --loglevel=info

# Terminal 3: Start FastAPI
python main.py

πŸ“– API Documentation

GET /

Health check. Confirms the server is running.

Response:

{
  "message": "Financial Document Analyzer API is running",
  "version": "1.0.0"
}

POST /analyze

Upload a financial document and receive a full AI analysis.

Request (multipart/form-data):

| Field | Type | Required | Description | |-------|------|----------|-------------| | file | PDF file | βœ… Yes | Financial document to analyze | | query | string | ❌ No | Specific question (defaults to general analysis) |

Example using curl:

curl -X POST "http://localhost:8000/analyze" \
  -F "[email protected]" \
  -F "query=What are the key revenue trends and risks?"

Example using Python:

import requests

with open("TSLA-Q2-2025.pdf", "rb") as f:
    response = requests.post(
        "http://localhost:8000/analyze",
        files={"file": f},
        data={"query": "Summarize the financial health of this company"}
    )
print(response.json())

Success Response (200):

{
  "status": "success",
  "analysis_id": 1,
  "query": "What are the key revenue trends?",
  "analysis": "## Document Summary\n...(full analysis)...",
  "file_processed": "TSLA-Q2-2025.pdf"
}

Error Response (500):

{
  "detail": "Error processing financial document: ..."
}

GET /analyses

Retrieve all past analyses stored in the database.

Response:

{
  "status": "success",
  "count": 3,
  "analyses": [
    {
      "id": 1,
      "filename": "TSLA-Q2-2025.pdf",
      "query": "Analyze revenue trends",
      "result": "...",
      "created_at": "2025-07-15T10:30:00"
    }
  ]
}

GET /analyses/{id}

Retrieve a single analysis by its ID.

Example:

curl http://localhost:8000/analyses/1

POST /async/analyze (Bonus β€” requires Redis + Celery)

Queue a document for background processing. Returns immediately with a task_id.

Response:

{
  "status": "queued",
  "task_id": "abc123-def456",
  "message": "Document queued for analysis. Poll /async/status/{task_id} for results."
}

GET /async/status/{task_id} (Bonus β€” requires Redis + Celery)

Check the status of a queued analysis.

States: pending β†’ processing β†’ completed / failed

Response (completed):

{
  "task_id": "abc123",
  "status": "completed",
  "result": {
    "status": "success",
    "analysis_id": 2,
    "analysis": "..."
  }
}

🎁 Bonus Features

βœ… Database Integration (SQLite / PostgreSQL)

Every analysis is automatically saved to a database. By default this uses SQLite (no setup needed β€” the .db file is created automatically).

To use PostgreSQL instead, update your .env:

DATABASE_URL=postgresql://username:password@localhost:5432/financial_analyzer

What's stored:

  • Filename of the uploaded document
  • User's query
  • Full AI analysis result
  • Timestamp of the analysis

βœ… Queue Worker Model (Redis + Celery)

For production use where multiple users submit documents simultaneously, the async endpoints use Celery + Redis to queue and process requests in parallel.

How it works:

  1. User POSTs to /async/analyze β†’ gets back task_id immediately
  2. Request is placed in Redis queue
  3. Celery worker picks it up and runs the CrewAI analysis
  4. User polls /async/status/{task_id} to get the result when ready

This prevents the API from timing out on long analyses and allows true concurrent processing.


πŸ—οΈ Architecture

User Request
     β”‚
     β–Ό
FastAPI (/analyze)
     β”‚
     β”œβ”€β”€β”€β”€ Save PDF to /data/
     β”‚
     β–Ό
CrewAI Crew (Sequential Process)
     β”‚
     β”œβ”€β”€ Agent 1: Verifier ──────────► Reads PDF ──► Confirms it's financial
     β”‚
     └── Agent 2: Financial Analyst ──► Reads PDF ──► Extracts metrics & insights
     β”‚
     β–Ό
Result returned to user
     β”‚
     β–Ό
Database (SQLite/PostgreSQL) ──► Result saved for future retrieval

⚠️ Disclaimer

This tool is for educational and research purposes only. All AI-generated financial analysis should be verified by a qualified financial professional before making any investment decisions. This system does not provide personalized financial advice.

Contract & API

Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.

MissingGITHUB OPENCLEW

Contract coverage

Status

missing

Auth

None

Streaming

No

Data region

Unspecified

Protocol support

OpenClaw: self-declared

Requires: none

Forbidden: none

Guardrails

Operational confidence: low

No positive guardrails captured.
Invocation examples
curl -s "https://www.xpersona.co/api/v1/agents/crewai-yeswanthnayani-financial-document-analyser/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-yeswanthnayani-financial-document-analyser/contract"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-yeswanthnayani-financial-document-analyser/trust"

Reliability & Benchmarks

Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.

Missingruntime-metrics

Trust signals

Handshake

UNKNOWN

Confidence

unknown

Attempts 30d

unknown

Fallback rate

unknown

Runtime metrics

Observed P50

unknown

Observed P95

unknown

Rate limit

unknown

Estimated cost

unknown

Do not use if

Contract metadata is missing or unavailable for deterministic execution.
No benchmark suites or observed failure patterns are available.

Media & Demo

Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.

Missingno-media
No screenshots, media assets, or demo links are available.

Related Agents

Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.

Self-declaredprotocol-neighbors
GITHUB_OPENCLEW@x1pay/langchain

Rank

65

LangChain/LangGraph tools for AI agent x402 payments on X1

Traction

No public download signal

Freshness

Updated 4mo ago

OPENCLAW

Rank

65

An implementation of a multi-agent swarm using LangGraph

Traction

No public download signal

Freshness

Updated 4mo ago

OPENCLAW
GITHUB_OPENCLEWoceanbus-langchain

Rank

65

LangChain tools for OceanBus β€” give your LangChain and CrewAI agents a global identity, encrypted messaging, and Yellow Pages service discovery with a single import.

Traction

No public download signal

Freshness

Updated 4mo ago

OPENCLAW
Machine Appendix

Contract JSON

{
  "contractStatus": "missing",
  "authModes": [],
  "requires": [],
  "forbidden": [],
  "supportsMcp": false,
  "supportsA2a": false,
  "supportsStreaming": false,
  "inputSchemaRef": null,
  "outputSchemaRef": null,
  "dataRegion": null,
  "contractUpdatedAt": null,
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Invocation Guide

{
  "preferredApi": {
    "snapshotUrl": "https://www.xpersona.co/api/v1/agents/crewai-yeswanthnayani-financial-document-analyser/snapshot",
    "contractUrl": "https://www.xpersona.co/api/v1/agents/crewai-yeswanthnayani-financial-document-analyser/contract",
    "trustUrl": "https://www.xpersona.co/api/v1/agents/crewai-yeswanthnayani-financial-document-analyser/trust"
  },
  "curlExamples": [
    "curl -s \"https://www.xpersona.co/api/v1/agents/crewai-yeswanthnayani-financial-document-analyser/snapshot\"",
    "curl -s \"https://www.xpersona.co/api/v1/agents/crewai-yeswanthnayani-financial-document-analyser/contract\"",
    "curl -s \"https://www.xpersona.co/api/v1/agents/crewai-yeswanthnayani-financial-document-analyser/trust\""
  ],
  "jsonRequestTemplate": {
    "query": "summarize this repo",
    "constraints": {
      "maxLatencyMs": 2000,
      "protocolPreference": [
        "OPENCLEW"
      ]
    }
  },
  "jsonResponseTemplate": {
    "ok": true,
    "result": {
      "summary": "...",
      "confidence": 0.9
    },
    "meta": {
      "source": "GITHUB_OPENCLEW",
      "generatedAt": "2026-10-08T22:21:02.849Z"
    }
  },
  "retryPolicy": {
    "maxAttempts": 3,
    "backoffMs": [
      500,
      1500,
      3500
    ],
    "retryableConditions": [
      "HTTP_429",
      "HTTP_503",
      "NETWORK_TIMEOUT"
    ]
  }
}

Trust JSON

{
  "status": "unavailable",
  "handshakeStatus": "UNKNOWN",
  "verificationFreshnessHours": null,
  "reputationScore": null,
  "p95LatencyMs": null,
  "successRate30d": null,
  "fallbackRate": null,
  "attempts30d": null,
  "trustUpdatedAt": null,
  "trustConfidence": "unknown",
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Capability Matrix

{
  "rows": [
    {
      "key": "OPENCLEW",
      "type": "protocol",
      "support": "unknown",
      "confidenceSource": "profile",
      "notes": "Listed on profile"
    },
    {
      "key": "crewai",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "multi-agent",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    }
  ],
  "flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"
}

Facts JSON

[
  {
    "factKey": "vendor",
    "label": "Vendor",
    "value": "Yeswanthnayani",
    "category": "vendor",
    "href": "https://github.com/YeswanthNayani/financial-document-analyser",
    "sourceUrl": "https://github.com/YeswanthNayani/financial-document-analyser",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-05-24T06:16:56.622Z",
    "isPublic": true,
    "metadata": {}
  },
  {
    "factKey": "protocols",
    "label": "Protocol compatibility",
    "value": "OpenClaw",
    "category": "compatibility",
    "href": "https://www.xpersona.co/api/v1/agents/crewai-yeswanthnayani-financial-document-analyser/contract",
    "sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-yeswanthnayani-financial-document-analyser/contract",
    "sourceType": "contract",
    "confidence": "medium",
    "observedAt": "2026-05-24T06:16:56.622Z",
    "isPublic": true,
    "metadata": {}
  },
  {
    "factKey": "handshake_status",
    "label": "Handshake status",
    "value": "UNKNOWN",
    "category": "security",
    "href": "https://www.xpersona.co/api/v1/agents/crewai-yeswanthnayani-financial-document-analyser/trust",
    "sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-yeswanthnayani-financial-document-analyser/trust",
    "sourceType": "trust",
    "confidence": "medium",
    "observedAt": null,
    "isPublic": true,
    "metadata": {}
  }
]

Change Events JSON

[]

Sponsored

Ads related to financial-document-analyser and adjacent AI workflows.