# Stock Market Scraper (`moving_beacon-owner1/my-actor-78`) Actor

Scrape stock market data — the world's most popular free financial data source. Extract real-time prices, company profiles, financial statements, dividends, analyst ratings, institutional holders, and options chains for any publicly traded stock, ETF, index, or cryptocurrency

- **URL**: https://apify.com/moving\_beacon-owner1/my-actor-78.md
- **Developed by:** [Jamshaid Arif](https://apify.com/moving_beacon-owner1) (community)
- **Categories:** Developer tools, Automation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## 📈  Stock Market Scraper

**Scrape stock market data  — the world's most popular free financial data source. Extract real-time prices, company profiles, financial statements, dividends, analyst ratings, institutional holders, and options chains for any publicly traded stock, ETF, index, or cryptocurrency.

No API key needed. No login required.

---

### What does this actor do?

This actor fetches comprehensive financial data for any ticker symbol available. It uses the `yfinance` Python library to access Yahoo's publicly available market data APIs.

**Use it to:**

- Track stock prices and build historical price databases
- Monitor company valuations (P/E, market cap, EV/EBITDA)
- Download quarterly and annual financial statements
- Track dividend history for income investing research
- Aggregate analyst price targets and buy/sell recommendations
- Identify institutional and insider ownership changes
- Fetch options chain data for derivatives research
- Compare multiple stocks side-by-side

---

### Supported ticker types

| Type | Example tickers |
|------|----------------|
| **US Stocks** | `AAPL`, `MSFT`, `GOOGL`, `TSLA`, `AMZN`, `META`, `NVDA` |
| **International Stocks** | `BABA` (Alibaba), `TM` (Toyota), `SAP` (SAP SE) |
| **ETFs** | `SPY`, `QQQ`, `VTI`, `ARKK`, `VOO` |
| **Indices** | `^GSPC` (S&P 500), `^DJI` (Dow Jones), `^IXIC` (NASDAQ) |
| **Crypto** | `BTC-USD`, `ETH-USD`, `SOL-USD`, `DOGE-USD` |
| **Forex** | `EURUSD=X`, `GBPUSD=X`, `JPY=X` |
| **Futures** | `GC=F` (Gold), `CL=F` (Crude Oil), `SI=F` (Silver) |

---

### How to use

#### Step 1: Enter ticker symbols

Type one or more ticker symbols, separated by commas:

````

AAPL, MSFT, GOOGL, TSLA, AMZN

````

#### Step 2: Select data modules

Choose which data you want to scrape. You can select multiple:

| Module | What you get |
|--------|-------------|
| **Company Info** | Name, sector, price, market cap, P/E, margins, beta, 52-week range, and 40+ metrics |
| **Price History** | OHLCV candles (open, high, low, close, volume) for any period and interval |
| **Financial Statements** | Income statement, balance sheet, and cash flow — annual or quarterly |
| **Dividends & Splits** | Full dividend payment history and stock split history |
| **Analyst Price Targets** | Consensus low, mean, median, and high price targets |
| **Recommendations** | Analyst buy/hold/sell/strong buy ratings over time |
| **Institutional Holders** | Top institutional investors and insider transactions |
| **Options Chain** | Call and put options with strike, bid, ask, volume, open interest |

#### Step 3: Run and export

Click **Start**, wait for results, and export as JSON, CSV, or Excel.

---

### Input parameters

#### Core settings

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `tickers` | Text | `AAPL, MSFT, GOOGL, TSLA, AMZN` | Comma-separated ticker symbols |
| `data_modules` | Multi-select | `company_info`, `price_history` | Which data to scrape (see table above) |

#### Price history settings

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `history_period` | Select | `1mo` | Time range: `1d`, `5d`, `1mo`, `3mo`, `6mo`, `1y`, `2y`, `5y`, `10y`, `ytd`, `max` |
| `history_interval` | Select | `1d` | Candle size: `1m`, `5m`, `15m`, `30m`, `1h`, `1d`, `1wk`, `1mo` |

> **Note:** Intraday intervals (1m–90m) only work for the last 60 days. 1-minute data is limited to the last 7 days.

#### Financials settings

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `financials_type` | Select | `annual` | `annual` or `quarterly` financial statements |

#### Options settings

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `options_expiry` | Select | `nearest` | `nearest` = closest expiry only, `all` = all available dates (up to 5) |

---

### Input examples

#### Example 1: Quick stock comparison — FAANG companies

```json
{
    "tickers": "AAPL, AMZN, GOOGL, META, NFLX",
    "data_modules": ["company_info"],
}
````

#### Example 2: Full analysis of a single stock

```json
{
    "tickers": "NVDA",
    "data_modules": [
        "company_info",
        "price_history",
        "financials",
        "dividends",
        "analyst_targets",
        "recommendations",
        "holders"
    ],
    "history_period": "1y",
    "history_interval": "1d",
    "financials_type": "quarterly"
}
```

#### Example 3: Crypto price history

```json
{
    "tickers": "BTC-USD, ETH-USD, SOL-USD",
    "data_modules": ["company_info", "price_history"],
    "history_period": "3mo",
    "history_interval": "1d"
}
```

#### Example 4: Dividend research for income stocks

```json
{
    "tickers": "JNJ, PG, KO, PEP, MCD, T, VZ",
    "data_modules": ["company_info", "dividends"]
}
```

#### Example 5: Options data for a volatile stock

```json
{
    "tickers": "TSLA",
    "data_modules": ["company_info", "options"],
    "options_expiry": "all"
}
```

#### Example 6: Intraday 5-minute candles (last 5 days)

```json
{
    "tickers": "SPY",
    "data_modules": ["price_history"],
    "history_period": "5d",
    "history_interval": "5m"
}
```

***

### Output format

Each record in the dataset has a `type` field indicating the data module. One ticker with multiple modules produces multiple records.

#### Company Info record

```json
{
    "type": "company_info",
    "ticker": "AAPL",
    "name": "Apple Inc.",
    "sector": "Technology",
    "industry": "Consumer Electronics",
    "country": "United States",
    "website": "https://www.apple.com",
    "employees": 161000,
    "description": "Apple Inc. designs, manufactures, and markets smartphones...",

    "price": 228.50,
    "currency": "USD",
    "previous_close": 227.10,
    "change": 1.40,
    "change_pct": "+0.62%",
    "day_high": 230.00,
    "day_low": 226.80,
    "52w_high": 260.10,
    "52w_low": 164.08,

    "volume": 54123456,
    "market_cap": 3510000000000,
    "market_cap_fmt": "$3.51T",
    "pe_ratio": 37.2,
    "forward_pe": 31.5,
    "price_to_book": 62.4,
    "dividend_yield": 0.0044,
    "beta": 1.24,
    "profit_margin": 0.267,
    "return_on_equity": 1.572,
    "debt_to_equity": 151.86,
    "free_cash_flow": 111500000000,

    "scraped_at": "2026-04-05T12:00:00+00:00"
}
```

#### Price History record

```json
{
    "type": "price_history",
    "ticker": "AAPL",
    "period": "1mo",
    "interval": "1d",
    "candles": 22,
    "stats": {
        "period_high": 230.50,
        "period_low": 210.30,
        "period_open": 215.00,
        "period_close": 228.50,
        "period_change": 6.28,
        "total_volume": 1234567890
    },
    "data": [
        {
            "Date": "2026-03-05T00:00:00",
            "Open": 215.00,
            "High": 217.30,
            "Low": 214.50,
            "Close": 216.80,
            "Volume": 58123456
        }
    ]
}
```

#### Financial Statements record

```json
{
    "type": "financials",
    "ticker": "AAPL",
    "frequency": "annual",
    "income_statement": [ { "Date": "2025-09-30", "Total Revenue": 400000000000, "...": "..." } ],
    "balance_sheet":    [ { "Date": "2025-09-30", "Total Assets": 350000000000, "...": "..." } ],
    "cash_flow":        [ { "Date": "2025-09-30", "Free Cash Flow": 111500000000, "...": "..." } ]
}
```

#### Analyst Price Targets record

```json
{
    "type": "analyst_targets",
    "ticker": "AAPL",
    "data": {
        "current": 228.50,
        "low": 180.00,
        "high": 300.00,
        "mean": 248.75,
        "median": 250.00
    }
}
```

#### Options Chain record

```json
{
    "type": "options",
    "ticker": "TSLA",
    "available_expiries": ["2026-04-11", "2026-04-18", "2026-04-25"],
    "fetched_expiries": 1,
    "chains": [
        {
            "expiry_date": "2026-04-11",
            "calls_count": 45,
            "puts_count": 45,
            "calls": [ { "strike": 250.0, "lastPrice": 12.50, "bid": 12.30, "ask": 12.70, "volume": 5432, "openInterest": 12345 } ],
            "puts":  [ { "strike": 250.0, "lastPrice": 8.20, "bid": 8.00, "ask": 8.40, "volume": 3210, "openInterest": 9876 } ]
        }
    ]
}
```

***

### What each metric means

#### Valuation metrics

| Metric | What it tells you |
|--------|------------------|
| `pe_ratio` | Price-to-Earnings — how much investors pay per dollar of earnings |
| `forward_pe` | P/E based on estimated future earnings |
| `peg_ratio` | P/E adjusted for growth — under 1.0 may suggest undervaluation |
| `price_to_book` | Price vs. book value — common in bank/financial analysis |
| `ev_to_ebitda` | Enterprise Value to EBITDA — industry-standard valuation metric |
| `market_cap` | Total market value of outstanding shares |

#### Profitability metrics

| Metric | What it tells you |
|--------|------------------|
| `profit_margin` | Net income as a % of revenue |
| `operating_margin` | Operating income as a % of revenue |
| `return_on_equity` | How efficiently the company uses shareholder equity |
| `return_on_assets` | How efficiently the company uses its total assets |

#### Risk metrics

| Metric | What it tells you |
|--------|------------------|
| `beta` | Stock volatility relative to the market (1.0 = same as market) |
| `debt_to_equity` | Total debt divided by shareholder equity |
| `current_ratio` | Ability to pay short-term obligations (above 1.0 is healthy) |
| `short_ratio` | Days to cover all short positions — high values may signal short squeeze risk |

***

### How much does it cost to run?

This actor is lightweight — it fetches data via API calls, no browser rendering needed.

| Tickers | Modules | Estimated time | Apify credits |
|---------|---------|---------------|---------------|
| 5 tickers | Company Info only | ~15 seconds | < $0.01 |
| 5 tickers | All 8 modules | ~2 minutes | ~$0.01 |
| 20 tickers | Info + History | ~1 minute | ~$0.01 |
| 50 tickers | Info + Financials | ~5 minutes | ~$0.02 |
| 100 tickers | Company Info only | ~3 minutes | ~$0.02 |

***

### Scheduling and integrations

#### Daily price tracking

Set up a **scheduled run** in Apify Console to scrape prices every trading day. Combine with Google Sheets to build an auto-updating stock tracker.

**Example schedule:** Every weekday at 4:30 PM ET (after market close):

```json
{
    "tickers": "AAPL, MSFT, GOOGL, TSLA, AMZN, NVDA, META",
    "data_modules": ["company_info"],
}
```

#### Weekly portfolio analysis

Schedule a weekend run with full financials:

```json
{
    "tickers": "VTI, BND, VXUS, VNQ",
    "data_modules": ["company_info", "price_history", "dividends"],
    "history_period": "1mo"
}
```

#### Connect via API (Python)

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

run = client.actor("your-username/yahoo-finance-scraper").call(run_input={
    "tickers": "AAPL, MSFT, GOOGL",
    "data_modules": ["company_info", "price_history"],
    "history_period": "3mo",
})

dataset = client.dataset(run["defaultDatasetId"])
items = dataset.list_items().items

## Filter for company info records
companies = [i for i in items if i.get("type") == "company_info"]
for c in companies:
    print(f"{c['ticker']}: ${c['price']} | {c['market_cap_fmt']} | P/E: {c['pe_ratio']}")
```

#### Available export formats

After each run, download your data from the dataset tab:

- **JSON** — Best for programmatic use and integrations
- **CSV** — Best for spreadsheets and quick analysis
- **Excel (.xlsx)** — Best for sharing with non-technical stakeholders
- **Google Sheets** — Auto-sync with the Apify integration

***

### Tips and best practices

- **Start with `company_info` only** to verify your tickers work, then add more modules.
- **Use `price_history` with `1d` interval** for most analysis. Intraday data (1m, 5m) is only available for the last 7–60 days.
- **Quarterly financials** give more recent data; annual gives a cleaner trend view.
- **Crypto tickers** use the format `BTC-USD`, `ETH-USD` — you'll get price history but not financials.
- **Index tickers** start with `^` (e.g., `^GSPC` for S\&P 500) — limited to price data only.
- **Options data** can be large — use `nearest` expiry unless you need the full chain.
- **If a module returns an error** for a ticker, the actor continues with the next module/ticker. Check the `error` field in the output.

### Disclaimer

This actor is for **educational and research purposes only**. It is not financial advice. Always do your own research before making investment decisions.

***

### Changelog

#### v1.0.0 (2026-04-05)

- Initial release
- 8 data modules: company info, price history, financials, dividends, analyst targets, recommendations, holders, options
- Support for stocks, ETFs, indices, crypto, forex, and futures
- Batch processing for multiple tickers
- Clean JSON output with formatted market cap, change %, and NaN handling
- Period stats computed for price history (high, low, change %)

# Actor input Schema

## `tickers` (type: `string`):

Comma-separated stock ticker symbols. Examples: AAPL, MSFT, GOOGL, TSLA, AMZN, BTC-USD, ETH-USD, ^GSPC (S\&P 500), ^DJI (Dow Jones), SPY (ETF).

## `data_modules` (type: `array`):

Select which data modules to include for each ticker.

## `history_period` (type: `string`):

Time period for price history. Only used if 'Price History' is selected.

## `history_interval` (type: `string`):

Candle interval. Intraday intervals (1m–90m) only available for last 60 days. 1m data only for last 7 days.

## `financials_type` (type: `string`):

Annual or quarterly financials. Only used if 'Financial Statements' is selected.

## `options_expiry` (type: `string`):

Which options expiry date to scrape. 'nearest' = closest expiry, 'all' = all available expiry dates. Only used if 'Options Chain' is selected.

## `proxy_configuration` (type: `object`):

Proxy settings. Yahoo Finance may rate-limit heavy usage.

## Actor input object example

```json
{
  "tickers": "AAPL, MSFT, GOOGL, TSLA, AMZN",
  "data_modules": [
    "company_info",
    "price_history"
  ],
  "history_period": "1mo",
  "history_interval": "1d",
  "financials_type": "annual",
  "options_expiry": "nearest"
}
```

# 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 = {
    "tickers": "AAPL, MSFT, GOOGL, TSLA, AMZN",
    "data_modules": [
        "company_info",
        "price_history"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("moving_beacon-owner1/my-actor-78").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 = {
    "tickers": "AAPL, MSFT, GOOGL, TSLA, AMZN",
    "data_modules": [
        "company_info",
        "price_history",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("moving_beacon-owner1/my-actor-78").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "tickers": "AAPL, MSFT, GOOGL, TSLA, AMZN",
  "data_modules": [
    "company_info",
    "price_history"
  ]
}' |
apify call moving_beacon-owner1/my-actor-78 --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=moving_beacon-owner1/my-actor-78",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Stock Market Scraper",
        "description": "Scrape stock market data — the world's most popular free financial data source. Extract real-time prices, company profiles, financial statements, dividends, analyst ratings, institutional holders, and options chains for any publicly traded stock, ETF, index, or cryptocurrency",
        "version": "0.0",
        "x-build-id": "dMjOfFCn7mgVkWTff"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/moving_beacon-owner1~my-actor-78/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-moving_beacon-owner1-my-actor-78",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/moving_beacon-owner1~my-actor-78/runs": {
            "post": {
                "operationId": "runs-sync-moving_beacon-owner1-my-actor-78",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/moving_beacon-owner1~my-actor-78/run-sync": {
            "post": {
                "operationId": "run-sync-moving_beacon-owner1-my-actor-78",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "tickers"
                ],
                "properties": {
                    "tickers": {
                        "title": "Ticker Symbols",
                        "type": "string",
                        "description": "Comma-separated stock ticker symbols. Examples: AAPL, MSFT, GOOGL, TSLA, AMZN, BTC-USD, ETH-USD, ^GSPC (S&P 500), ^DJI (Dow Jones), SPY (ETF).",
                        "default": "AAPL, MSFT, GOOGL, TSLA, AMZN"
                    },
                    "data_modules": {
                        "title": "Data to Scrape",
                        "type": "array",
                        "description": "Select which data modules to include for each ticker.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "company_info",
                                "price_history",
                                "financials",
                                "dividends",
                                "analyst_targets",
                                "recommendations",
                                "holders",
                                "options"
                            ],
                            "enumTitles": [
                                "Company Info (sector, market cap, P/E, beta, etc.)",
                                "Price History (OHLCV candles)",
                                "Financial Statements (income, balance sheet, cash flow)",
                                "Dividends & Splits History",
                                "Analyst Price Targets",
                                "Analyst Recommendations",
                                "Institutional & Insider Holders",
                                "Options Chain (calls & puts)"
                            ]
                        },
                        "default": [
                            "company_info",
                            "price_history"
                        ]
                    },
                    "history_period": {
                        "title": "Price History Period",
                        "enum": [
                            "1d",
                            "5d",
                            "1mo",
                            "3mo",
                            "6mo",
                            "1y",
                            "2y",
                            "5y",
                            "10y",
                            "ytd",
                            "max"
                        ],
                        "type": "string",
                        "description": "Time period for price history. Only used if 'Price History' is selected.",
                        "default": "1mo"
                    },
                    "history_interval": {
                        "title": "Price History Interval",
                        "enum": [
                            "1m",
                            "5m",
                            "15m",
                            "30m",
                            "1h",
                            "1d",
                            "1wk",
                            "1mo"
                        ],
                        "type": "string",
                        "description": "Candle interval. Intraday intervals (1m–90m) only available for last 60 days. 1m data only for last 7 days.",
                        "default": "1d"
                    },
                    "financials_type": {
                        "title": "Financial Statements Type",
                        "enum": [
                            "annual",
                            "quarterly"
                        ],
                        "type": "string",
                        "description": "Annual or quarterly financials. Only used if 'Financial Statements' is selected.",
                        "default": "annual"
                    },
                    "options_expiry": {
                        "title": "Options Expiry",
                        "enum": [
                            "nearest",
                            "all"
                        ],
                        "type": "string",
                        "description": "Which options expiry date to scrape. 'nearest' = closest expiry, 'all' = all available expiry dates. Only used if 'Options Chain' is selected.",
                        "default": "nearest"
                    },
                    "proxy_configuration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings. Yahoo Finance may rate-limit heavy usage."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
