Skip to main content
POST
/
v1
/
financial-analysis
Financial Analysis
curl --request POST \
  --url https://api.chicago.global/v1/financial-analysis \
  --header 'Authorization: Bearer <token>'
{
  "job_id": "fin-a3522a92-87ed-4be0-a912-ad56ed6a8806",
  "status": "pending",
  "symbol": "AAPL.O",
  "check_url": "/v1/jobs/fin-a3522a92-87ed-4be0-a912-ad56ed6a8806",
  "estimated_duration_seconds": 180,
  "message": "Financial analysis started for AAPL.O."
}

How It Works

This endpoint uses async job processing for AI-powered financial analysis:
  1. Submit Request: POST with stock symbol as query parameter
  2. Receive Job ID: Get a job ID and polling URL immediately
  3. Poll for Status: Check /v1/jobs/{job_id} until status is completed
  4. Get Analysis: The completed job contains comprehensive financial analysis
Analysis typically takes 2-5 minutes. Provides comprehensive business strategy, accounting quality, and financial performance analysis.

Query Parameters

ParameterTypeRequiredDescription
symbolstringYesStock symbol (e.g., AAPL.O for Apple Inc)

Response (202 Accepted)

{
  "job_id": "fin-a3522a92-87ed-4be0-a912-ad56ed6a8806",
  "status": "pending",
  "symbol": "AAPL.O",
  "check_url": "/v1/jobs/fin-a3522a92-87ed-4be0-a912-ad56ed6a8806",
  "estimated_duration_seconds": 180,
  "message": "Financial analysis started for AAPL.O."
}

Completed Response

When the job completes, GET /v1/jobs/{job_id} returns:
{
  "job_id": "fin-a3522a92-87ed-4be0-a912-ad56ed6a8806",
  "job_type": "financial_analysis",
  "status": "completed",
  "result": {
    "symbol": "AAPL.O",
    "executiveSummary": {
      "investmentThesis": "Apple remains a dominant consumer technology franchise...",
      "keyHighlights": [
        "ROE of 147% driven by exceptional asset efficiency...",
        "Services segment growing at 15% CAGR provides recurring revenue...",
        "Net cash position of $51B provides strategic flexibility..."
      ],
      "recommendedAction": "BUY",
      "confidenceLevel": "HIGH",
      "targetPriceRange": "$195-220 based on DCF and comparable analysis"
    },
    "detailedAnalysis": {
      "businessStrategy": {
        "industryPosition": "Market leader in premium smartphones and wearables...",
        "competitiveAdvantage": "Ecosystem lock-in, brand loyalty, vertical integration...",
        "businessModel": "Hardware + Services model with high switching costs...",
        "keyRisks": ["China exposure", "Regulatory scrutiny", "Innovation cycles"]
      },
      "accountingQuality": {
        "earningsQuality": "HIGH",
        "conservatismLevel": "Conservative revenue recognition policies...",
        "keyPolicies": ["Revenue recognized at point of sale..."],
        "accountingRedFlags": []
      },
      "financialPerformance": {
        "profitabilityAnalysis": {
          "roeDecomposition": "ROE of 147% = 25% margin × 1.1x turnover × 5.4x leverage",
          "marginAnalysis": "Gross margin stable at 43-44%...",
          "profitabilityTrends": "Consistent margin expansion over 3 years..."
        },
        "liquidityAssessment": {
          "shortTermLiquidity": "Current ratio of 1.0x, quick ratio 0.9x...",
          "workingCapitalAnalysis": "Negative working capital driven by payables...",
          "cashFlowQuality": "Strong FCF conversion of 95%..."
        },
        "solvencyAnalysis": {
          "debtLevel": "Net debt/EBITDA of 0.5x...",
          "coverageRatios": "Interest coverage >30x...",
          "financialFlexibility": "High flexibility with $51B net cash..."
        },
        "efficiencyMetrics": {
          "assetUtilization": "Asset turnover of 1.1x...",
          "operationalEfficiency": "Inventory days of 9, best in class...",
          "managementEffectiveness": "High ROIC of 56%..."
        }
      },
      "prospectiveAnalysis": {
        "growthProspects": "Mid-single digit revenue growth expected...",
        "futureEarnings": "EPS growth of 8-10% driven by buybacks...",
        "valuationAssessment": "Trading at 28x forward P/E vs 5yr avg 25x...",
        "scenarioAnalysis": [
          "Bull: Services acceleration drives 15% upside",
          "Base: Steady growth, 8% return expected",
          "Bear: China slowdown, 15% downside risk"
        ]
      }
    }
  }
}
Results are cached for 14 days. Subsequent requests for the same symbol will return cached analysis instantly.

Analysis Framework

The analysis covers the following areas:
SectionDescription
Executive SummaryInvestment thesis, recommendation, target price
Business StrategyCompetitive position, moats, business model, risks
Accounting QualityEarnings quality, red flags, policy assessment
Financial PerformanceProfitability, liquidity, solvency, efficiency
Prospective AnalysisGrowth prospects, scenarios, valuation

Example: Polling for Results

const response = await fetch(
  'https://api.chicago.global/v1/financial-analysis?symbol=AAPL.O',
  {
    method: 'POST',
    headers: { 'Authorization': `Bearer ${API_KEY}` }
  }
);

const { job_id } = await response.json();

// Poll every 10 seconds
const interval = setInterval(async () => {
  const status = await fetch(
    `https://api.chicago.global/v1/jobs/${job_id}`,
    { headers: { 'Authorization': `Bearer ${API_KEY}` } }
  ).then(r => r.json());

  if (status.status === 'completed') {
    clearInterval(interval);
    console.log('Recommendation:', status.result.executiveSummary.recommendedAction);
    console.log('Thesis:', status.result.executiveSummary.investmentThesis);
  } else if (status.status === 'failed') {
    clearInterval(interval);
    console.error('Failed:', status.error);
  }
}, 10000);

Authorizations

Authorization
string
header
required

API key passed as Bearer token

Query Parameters

symbol
string
required

Stock symbol (e.g., AAPL.O for Apple Inc)

Response

Job created successfully. Poll the check_url for results.

job_id
string

Unique job identifier

status
enum<string>

Initial job status

Available options:
pending
symbol
string

Stock symbol being analyzed

check_url
string

URL to poll for job status

estimated_duration_seconds
integer

Estimated processing time in seconds

message
string

Human-readable status message