# Tearsheet Pro: Global Company Financials (`workhard3000/tearsheet-pro`) Actor

Financial data API for LLM trading agents and equity research. 2,119 data points, 30,000+ stocks, 126 countries. Structured JSON for LangChain, TradingAgents, CrewAI, RAG. Statements, valuation, estimates, ownership, 260-day prices. Pay per result.

- **URL**: https://apify.com/workhard3000/tearsheet-pro.md
- **Developed by:** [WorkHard3000](https://apify.com/workhard3000) (community)
- **Categories:**
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $250.00 / 1,000 fresh results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Tearsheet Pro: Global Company Financials & Stock Data

One API call. **2,119 data points**. **30,000+ public companies** across **126 countries**.

Tearsheet Pro delivers complete financial profiles for any publicly traded company in the world: income statements, balance sheets, valuation multiples, growth rates, ownership, estimates, comparable companies, and 260 days of price history, all in a single structured JSON response.

Use it to power your **LLM trading agents**, **autonomous research pipelines**, **RAG knowledge bases**, or traditional equity research. The structured JSON output plugs directly into LangChain, TradingAgents, CrewAI, AutoGen, or any framework that needs real financial data.

No subscription. No API keys to manage. No code required. Just pick a ticker, run the actor, and get institutional-grade financial data in seconds.

### Built for AI Trading Agents and LLMs

Tearsheet Pro is purpose-built to feed **LLM-powered trading frameworks**, autonomous research agents, and quantitative pipelines. Every response is a single structured JSON with consistent `snake_case` field names across all 30,000+ companies, ready to be consumed by language models, vector databases, or data pipelines without any parsing or transformation.

**Works with any agent framework:**

- **[TradingAgents](https://github.com/TauricResearch/TradingAgents)**: Feed complete company profiles directly into your Fundamentals Analyst, Sentiment Analyst, or Risk Management agents. One API call gives your agent everything a human analyst would have open on a Bloomberg terminal.
- **LangChain / LangGraph / CrewAI / AutoGen**: Use Tearsheet Pro as a tool in your agent toolkit. Each company profile returns 2,119 structured data points that fit cleanly into an LLM context window.
- **Custom trading bots**: Pull 260 days of daily prices, forward estimates, and valuation multiples in a single call. No need to chain together 10 different API endpoints.
- **RAG pipelines**: Index company profiles into a vector store and let your LLM reason over real financial data instead of hallucinating numbers.

**Why agents need Tearsheet Pro over raw financial APIs:**

- **Single call, complete context**: An LLM agent making 15 separate API calls to assemble a company profile wastes tokens, time, and money. One Tearsheet Pro call returns the full picture.
- **Consistent schema**: Every company, every country, same field names, same structure. Your agent prompt works for Apple, Toyota, Samsung, and Saudi Aramco without any adaptation.
- **Global coverage**: Most financial APIs are US-only. Your agent can analyze 126 countries without switching data providers.
- **Cost-effective at scale**: Run a portfolio analysis agent across 100 companies for ~$5. Compare that to Bloomberg Terminal at $24,000/year.

### Why Tearsheet Pro

#### One call replaces dozens of API requests

Most financial data providers force you to stitch together separate endpoints for statements, ratios, estimates, prices, ownership, and segments. Tearsheet Pro returns everything in one response, organized into 23 structured sections. No pagination. No rate limits. No data assembly required.

#### Global coverage, not just US stocks

While most financial data APIs cover US tickers only, Tearsheet Pro spans **126 countries**, from the NYSE to the Tokyo Stock Exchange, Bombay Stock Exchange, Shanghai, London, Frankfurt, and dozens of emerging markets. Screen 6,000+ Chinese companies, 2,600+ Japanese companies, or 1,900+ Indian companies, all from the same interface.

#### Pay only for what you use

No monthly minimum. No annual contract. You pay per result, and wrong tickers cost nothing.

### How it compares

| Feature | Tearsheet Pro | Bloomberg Terminal | Refinitiv Eikon | Financial Datasets API |
|---------|--------------|-------------------|-----------------|----------------------|
| Annual cost (typical) | **$50-500/yr** | $24,000/yr/seat | $22,000/yr/seat | $2,400/yr |
| Pricing model | Pay per result | Annual license | Annual license | Monthly subscription |
| Companies covered | **30,000+ global** | ~50,000 global | ~40,000 global | 27,000 US only |
| Countries | **126** | 100+ | 100+ | **1 (US)** |
| Data points per company | **2,119** | Varies | Varies | Requires many calls |
| Single-call profile | Yes | No (terminal UI) | No (terminal UI) | No (per-endpoint) |
| Currencies | **30+** | 100+ | 100+ | USD only |
| Forward estimates | FY+1E to FY+3E | Yes | Yes | No |
| Comparable companies | Yes | Yes | Yes | No |
| Segments (business/geo) | Yes | Yes | Yes | Limited |
| No code required | **Yes (Apify UI)** | No | No | No |

### Pricing

Pay-per-event pricing. You pay only for results delivered.

| Event | Price | When charged |
|-------|-------|--------------|
| Cached result | $0.05 | Per company returned from cache (< 30 days old) |
| Fresh result | $0.25 | Per company refreshed live (new or forced refresh) |

**Example costs:**

| Scenario | Est. cost |
|----------|-----------|
| 1 company (cached) | $0.06 |
| 10 companies (cached) | $0.51 |
| 1 company (fresh) | $0.26 |
| 5 fresh + 5 cached | $1.51 |
| Full FAANG profile (5 companies, cached) | $0.26 |
| 100 companies/month (all cached) | ~$5.01 |

Invalid tickers or mismatched countries are never charged.

### How it works

1. **Add companies**: add one or more companies, each with its own country and ticker
2. **Smart cache**: if data is < 30 days old, it returns instantly (~3 seconds)
3. **Live refresh**: cache misses trigger an on-demand data pull (~2 minutes)
4. **Force refresh**: override the cache to get the freshest data available

### 23 data sections in every company profile

| # | Section | Fields | What you get |
|---|---------|--------|--------------|
| 1 | `company` | 16 | Ticker, name, description, exchange, country, sector, industry, employees |
| 2 | `market_data` | 29 | Stock price, 52-week high/low, beta, dividends, YTD performance |
| 3 | `capital_structure` | 19 | Shares outstanding, market cap, enterprise value, total debt |
| 4 | `leverage_multiples` | 14 | EBITDA/Interest, Debt/EBITDA, Net Debt/EBITDA ratios |
| 5 | `estimates` | 30 | Consensus estimates: Revenue, EBITDA, EPS, CapEx (FY+1E to FY+3E) |
| 6 | `valuation_multiples` | 72 | TEV/Revenue, TEV/EBITDA, P/E, P/BV across FY-4 to FY+2E |
| 7 | `avg_multiples_3yr` | 12 | 3-year average TEV/Revenue, TEV/EBITDA, P/E, P/CF |
| 8 | `growth_yoy` | 78 | Year-over-year growth: Revenue, EBITDA, Net Income, EPS |
| 9 | `cagr_3yr` | 44 | 3-year compound annual growth rates |
| 10 | `cagr_5yr` | 66 | 5-year compound annual growth rates |
| 11 | `balance_sheet` | 253 | Assets, liabilities, equity from FY-4 to latest quarter |
| 12 | `income_statement` | 253 | Revenue through net income from FY-4 to latest quarter |
| 13 | `cash_flow` | 198 | Operating, investing, financing flows from FY-4 to latest quarter |
| 14 | `ratios` | 242 | Margins, returns, turnover, leverage across FY-4 to latest quarter |
| 15 | `forward_ratios` | 8 | Forward revenue growth, EBITDA margin, net income margin |
| 16 | `derived_metrics` | 165 | Free cash flow, unlevered FCF, FCF yield, margin analysis |
| 17 | `business_segments` | 20 | Top 10 business segments with revenue breakdown |
| 18 | `geographic_segments` | 20 | Top 10 geographic segments with revenue breakdown |
| 19 | `ownership` | 30 | Top 10 institutional holders with shares and percentage |
| 20 | `comparable_companies` | 10 | Top 10 comparable company tickers |
| 21 | `news` | 20 | 5 most recent headlines with dates and URLs |
| 22 | `daily_prices` | 260 | Daily closing prices for the last 260 trading days |
| 23 | `daily_volumes` | 260 | Daily trading volumes for the last 260 trading days |

**Total: 2,119 structured data points per company.**

### Coverage

- **30,000+ companies** across **126 countries** and all major exchanges
- **Top markets:** China (6,057), United States (3,830), Japan (2,668), India (1,994), Taiwan (1,754), South Korea (1,553), Canada (812), Hong Kong (663), Australia (637), United Kingdom (570)
- **30+ output currencies** including USD, EUR, GBP, JPY, CNY, and local reporting currency
- **5 fiscal years + latest quarter** of financial statement history
- **Forward consensus estimates** for FY+1E, FY+2E, and FY+3E

### Use cases

**LLM trading agents and autonomous research**
Give your AI agent a complete financial toolkit. Feed TradingAgents, LangChain agents, or custom LLM pipelines with 2,119 structured data points per company. Your Fundamentals Analyst agent gets balance sheets, income statements, and growth rates. Your Risk Manager gets leverage ratios, debt structure, and liquidity metrics. All from one call.

**RAG and financial knowledge bases**
Index Tearsheet Pro output into Pinecone, Weaviate, or Chroma. Let your LLM answer questions like "Which FAANG company has the highest free cash flow yield?" using real data instead of training cutoff snapshots.

**Equity research and investment analysis**
Generate a complete tearsheet for any company. Compare Apple's valuation multiples against the semiconductor industry. Screen all 1,994 Indian companies for undervalued mid-caps. Pull Toyota's financials in EUR for a European investor presentation.

**Portfolio monitoring**
Track balance sheet health, growth rates, and valuation changes across your holdings. Run weekly refreshes on 50 portfolio companies for under $3/month.

**Sector and country screening**
Browse all 6,057 Chinese companies, filter by industry, and compare growth rates. Identify the fastest-growing companies in Southeast Asia. Map the entire Saudi Arabian stock market.

**Quantitative models and backtesting**
Feed structured JSON into trading models. Every field uses consistent snake\_case naming across all 30,000+ companies. 260 days of daily prices included for momentum signals.

**M\&A due diligence**
Pull comprehensive profiles for acquisition targets and comparable companies. Business segments, geographic breakdowns, ownership structure, and capital structure all in one response.

**Cross-border company comparison**
Compare Samsung (Korea), TSMC (Taiwan), and Intel (US) side-by-side in USD. Tearsheet Pro resolves tickers across exchanges automatically.

### Input

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `companies` | array | (none) | Array of companies to fetch. Each entry has `country`, `ticker`, and optional `companyName`. |
| `currency` | select | `USD` | Reporting currency (30+ options) |
| `fxConversion` | select | `Historical` | Currency conversion method |
| `estimateConsolidation` | select | `Consolidated` | Consolidation type |
| `forceRefresh` | boolean | `false` | Force a fresh pull regardless of cache |

Each company in the `companies` array can have a different country. This lets you mix tickers from any market in a single run:

```json
{
  "companies": [
    { "country": "United States", "ticker": "AAPL" },
    { "country": "Japan", "ticker": "7203" },
    { "country": "South Korea", "ticker": "A005930" }
  ],
  "currency": "USD"
}
```

### Output

Each result contains the ticker, company name, data source, cache age, and all 23 sections as nested JSON objects:

```json
{
  "ticker": "AAPL",
  "company_name": "Apple Inc.",
  "source": "cache",
  "age_days": 0,
  "elapsed_s": 1.15,
  "company": { "ticker": "AAPL", "country": "United States", "employees": 166000, ... },
  "market_data": { "mkt_share_price": 319.97, "mkt_52_week_high": 344.57, ... },
  "balance_sheet": { "bs_total_assets_fy0": 364980.0, ... },
  "income_statement": { "is_revenue_fy0": 416161.0, ... },
  "estimates": { "est_revenue_est_fy_plus1e": 442000.0, ... },
  "valuation_multiples": { "vm_tev_revenue_fy0": 8.5, ... },
  "growth_yoy": { "gr_revenue_yoy_fy0": 0.042, ... },
  "ownership": { "own_holder_1_name": "Vanguard Group Inc", ... },
  ...
}
```

### FAQ

**How fresh is the data?**
Cached data is valid for 30 days. Use `forceRefresh: true` to get the latest available data at any time.

**What currencies are supported?**
Over 30 currencies including USD, EUR, GBP, JPY, CNY, KRW, TWD, INR, and local reporting currency.

**Can I fetch multiple companies at once?**
Yes. Enter comma-separated tickers (e.g. `AAPL, MSFT, GOOGL`). Each company is charged as a separate result event. For tickers from different countries, use the full Exchange:Ticker format.

**What happens if the cache is cold?**
A live refresh is triggered automatically. Results arrive within ~2 minutes. You are charged the fresh-result rate.

**What if I enter a wrong ticker?**
Invalid tickers return an error message and are never charged. You pay $0 for bad input.

**How does this compare to Financial Datasets API?**
Financial Datasets covers 27,000 US tickers with separate endpoints for each data type ($200/month). Tearsheet Pro covers 30,000+ companies across 126 countries and returns everything in a single call, with no monthly commitment.

**Can I use this for non-US companies?**
Yes. Tearsheet Pro covers 126 countries. Select a country to browse available tickers, or enter the exchange-prefixed ticker directly (e.g. `TSE:7203` for Toyota).

**Can I use this with my LLM or trading agent?**
Yes. The output is structured JSON with consistent field names across all 30,000+ companies. It works directly with LangChain, LangGraph, CrewAI, AutoGen, TradingAgents, or any LLM framework that can consume JSON. Use the Apify REST API to call Tearsheet Pro from your agent code, or use the Apify Python/JS SDK for native integration.

**Is there an API?**
Yes. Every Apify actor exposes a REST API. You can trigger runs, poll for results, and download datasets programmatically. See the API tab on this actor's page.

# Actor input Schema

## `companies` (type: `array`):

Add one or more companies to fetch. Each row has its own country and ticker.

## `currency` (type: `string`):

Currency for financial data output.

## `fxConversion` (type: `string`):

Currency conversion method.

## `estimateConsolidation` (type: `string`):

Consolidation type for financial statements.

## `forceRefresh` (type: `boolean`):

Force a fresh data pull regardless of cache age (cached data is valid for 30 days).

## Actor input object example

```json
{
  "companies": [
    {
      "country": "United States",
      "ticker": "AAPL"
    }
  ],
  "currency": "USD",
  "fxConversion": "Historical",
  "estimateConsolidation": "Consolidated",
  "forceRefresh": false
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "companies": [
        {
            "country": "United States",
            "ticker": "AAPL"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("workhard3000/tearsheet-pro").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "companies": [{
            "country": "United States",
            "ticker": "AAPL",
        }] }

# Run the Actor and wait for it to finish
run = client.actor("workhard3000/tearsheet-pro").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "companies": [
    {
      "country": "United States",
      "ticker": "AAPL"
    }
  ]
}' |
apify call workhard3000/tearsheet-pro --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,workhard3000/tearsheet-pro"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/7yRRcin7U0Q1Vn9U5/builds/flQhcY08QIXUa6qlX/openapi.json
