# Yahoo Finance Scraper (`sheshinmcfly/yahoo-finance-scraper`) Actor

Extract real-time stock prices, historical OHLCV data and company fundamentals from Yahoo Finance by ticker symbol. Get quotes, market cap, P/E, EPS, 52-week range, dividends, margins, sector and more for any stock, ETF or index. No login or API key required.

- **URL**: https://apify.com/sheshinmcfly/yahoo-finance-scraper.md
- **Developed by:** [Sheshinmcfly](https://apify.com/sheshinmcfly) (community)
- **Categories:** News, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.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

## Yahoo Finance Scraper

Extract **real-time stock prices, historical price data and company fundamentals from Yahoo Finance** by ticker symbol — no login, no API key, no rate-limit headaches. This **Yahoo Finance scraper** turns any list of tickers (stocks, ETFs, indices, currencies, crypto) into clean structured JSON: quotes, market cap, P/E, EPS, 52-week range, dividends, margins, ROE, debt, cash flow, analyst targets and full OHLCV time series.

Built for analysts, quants, fintech builders and investors who need reliable **stock market data** without paying for an expensive financial data API. Feed it `AAPL, MSFT, TSLA` (or 500 symbols) and get a tidy dataset you can export to JSON, CSV or Excel, or pull straight from the Apify API.

### What data you can extract

| Field | Type | Description |
|---|---|---|
| `symbol` | string | Ticker symbol |
| `shortName` / `longName` | string | Security / company name |
| `currency` | string | Quote currency |
| `exchange` | string | Exchange name |
| `price` | number | Real-time regular market price |
| `change` / `changePercent` | number | Price change and % change |
| `previousClose` / `open` | number | Previous close and day open |
| `dayHigh` / `dayLow` | number | Intraday high / low |
| `volume` | number | Regular market volume |
| `marketCap` | number | Market capitalization |
| `fiftyTwoWeekHigh` / `fiftyTwoWeekLow` | number | 52-week range |
| `trailingPE` / `forwardPE` | number | Price-to-earnings ratios |
| `eps` | number | Trailing twelve-month EPS |
| `dividendYield` | number | Dividend yield |
| `fundamentals` | object | Sector, industry, margins, ROE, ROA, debt, cash flow, revenue growth, analyst recommendation & target (when requested) |
| `historical` | array | OHLCV candles: date, open, high, low, close, adjClose, volume (when requested) |
| `scrapedAt` | string | ISO 8601 extraction timestamp |

### How to use

1. Click **Try for free**.
2. In **Ticker symbols**, enter one or more tickers (e.g. `AAPL`, `MSFT`, `TSLA`, `^GSPC`, `BTC-USD`).
3. In **Data to extract**, pick any combination of **Quote**, **Historical prices** and **Fundamentals**.
4. If you selected historical, choose a **range** (1d → max) and **interval** (daily / weekly / monthly).
5. Click **Start** and download the results as JSON, CSV or Excel — or fetch them via the Apify API.

### Pricing

This actor uses **pay-per-result** pricing: you only pay for the symbols you successfully extract. There is no monthly subscription and no Yahoo Finance API key required. Running a handful of tickers costs a fraction of a cent; the platform's free tier is enough to test it end-to-end.

### Input parameters

| Parameter | Type | Default | Description |
|---|---|---|---|
| `symbols` | array | — (required) | Ticker symbols to fetch |
| `dataTypes` | array | `["quote"]` | Any of `quote`, `historical`, `fundamentals` |
| `range` | string | `1mo` | Historical span: `1d`,`5d`,`1mo`,`3mo`,`6mo`,`1y`,`2y`,`5y`,`10y`,`max` |
| `interval` | string | `1d` | Candle size: `1d`,`1wk`,`1mo` |
| `proxyConfiguration` | object | Apify Proxy | Datacenter is fine; use Residential only if rate-limited |

### Output example

```json
{
  "symbol": "AAPL",
  "shortName": "Apple Inc.",
  "currency": "USD",
  "exchange": "NasdaqGS",
  "price": 290.55,
  "changePercent": 0.42,
  "marketCap": 4267410980864,
  "trailingPE": 36.5,
  "eps": 7.96,
  "fiftyTwoWeekHigh": 320.1,
  "fiftyTwoWeekLow": 190.2,
  "fundamentals": {
    "sector": "Technology",
    "profitMargins": 0.2715,
    "returnOnEquity": 1.4147,
    "recommendationKey": "buy",
    "targetMeanPrice": 305.4
  },
  "historical": [
    { "date": "2026-06-09", "open": 300.27, "high": 300.72, "low": 287.78, "close": 290.55, "adjClose": 290.55, "volume": 69930268 }
  ],
  "scrapedAt": "2026-06-09T00:00:00.000Z"
}
````

### Other actors you may like

- **[FinViz Stock Screener](https://apify.com/sheshinmcfly/finviz-stock-screener)** — top gainers, losers, most active and other screeners.
- **[Etherscan Top Holders](https://apify.com/sheshinmcfly/etherscan-top-holders)** — on-chain token holder data.
- **[ArXiv Paper Scraper](https://apify.com/sheshinmcfly/arxiv-paper-scraper)** — research papers and metadata.
- **[Numbeo Cost of Living Scraper](https://apify.com/sheshinmcfly/numbeo-cost-of-living-scraper)** — cost-of-living indices by city.

### FAQ

**Do I need a Yahoo Finance API key or account?** No. The actor requires no login or API key.

**Which symbols are supported?** Anything Yahoo Finance lists: stocks, ETFs, mutual funds, indices (`^GSPC`), currencies (`EURUSD=X`) and crypto (`BTC-USD`).

**How fresh is the price data?** Quotes reflect Yahoo's real-time/near-real-time regular market price at the moment of the run.

**Can I get many tickers at once?** Yes. Quotes are fetched in batches, so large symbol lists run efficiently.

**What if a symbol is invalid?** It is saved with empty fields so your dataset stays aligned with your input list.

### Legal disclaimer

This actor extracts **publicly available, factual market data** and does not access any private, authenticated or personal data. Market figures (prices, volumes, ratios) are facts and are not subject to copyright. Use the data in compliance with Yahoo's terms and applicable law (including Chile's Ley 19.628 on data protection). You are responsible for how you use the extracted data; this tool is intended for research, analysis and lawful business use.

### Version history

- **1.0** — Initial release: quotes, historical OHLCV and fundamentals via Yahoo Finance internal JSON endpoints, with cookie+crumb session handling and batch quote fetching.

***

**Keywords:** yahoo finance scraper, yahoo finance api, stock data scraper, stock price api, historical stock data, company fundamentals, financial data extraction, stock market data, ticker scraper, OHLCV data, P/E ratio scraper, dividend data, equities data api.

# Actor input Schema

## `symbols` (type: `array`):

Stock, ETF or index ticker symbols to fetch, e.g. AAPL, MSFT, TSLA, ^GSPC, BTC-USD.

## `dataTypes` (type: `array`):

Which data blocks to include for each symbol.

## `range` (type: `string`):

Time span for historical prices (only used when 'Historical prices' is selected).

## `interval` (type: `string`):

Candle size for historical prices (only used when 'Historical prices' is selected).

## `proxyConfiguration` (type: `object`):

Apify datacenter proxies work for Yahoo Finance. Switch to Residential only if you hit rate limits.

## Actor input object example

```json
{
  "symbols": [
    "AAPL",
    "MSFT",
    "TSLA"
  ],
  "dataTypes": [
    "quote"
  ],
  "range": "1mo",
  "interval": "1d",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

All extracted symbols stored in the default dataset.

# 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 = {
    "symbols": [
        "AAPL",
        "MSFT",
        "TSLA"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("sheshinmcfly/yahoo-finance-scraper").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 = {
    "symbols": [
        "AAPL",
        "MSFT",
        "TSLA",
    ],
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("sheshinmcfly/yahoo-finance-scraper").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 '{
  "symbols": [
    "AAPL",
    "MSFT",
    "TSLA"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call sheshinmcfly/yahoo-finance-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=sheshinmcfly/yahoo-finance-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Yahoo Finance Scraper",
        "description": "Extract real-time stock prices, historical OHLCV data and company fundamentals from Yahoo Finance by ticker symbol. Get quotes, market cap, P/E, EPS, 52-week range, dividends, margins, sector and more for any stock, ETF or index. No login or API key required.",
        "version": "0.1",
        "x-build-id": "4TSA6aHYEFhkmBqqg"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/sheshinmcfly~yahoo-finance-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-sheshinmcfly-yahoo-finance-scraper",
                "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/sheshinmcfly~yahoo-finance-scraper/runs": {
            "post": {
                "operationId": "runs-sync-sheshinmcfly-yahoo-finance-scraper",
                "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/sheshinmcfly~yahoo-finance-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-sheshinmcfly-yahoo-finance-scraper",
                "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": [
                    "symbols"
                ],
                "properties": {
                    "symbols": {
                        "title": "Ticker symbols",
                        "type": "array",
                        "description": "Stock, ETF or index ticker symbols to fetch, e.g. AAPL, MSFT, TSLA, ^GSPC, BTC-USD.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "dataTypes": {
                        "title": "Data to extract",
                        "type": "array",
                        "description": "Which data blocks to include for each symbol.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "quote",
                                "historical",
                                "fundamentals"
                            ],
                            "enumTitles": [
                                "Quote (price, volume, market cap, P/E, 52-week range)",
                                "Historical prices (OHLCV time series)",
                                "Fundamentals (sector, margins, ROE, debt, cash flow, targets)"
                            ]
                        },
                        "default": [
                            "quote"
                        ]
                    },
                    "range": {
                        "title": "Historical range",
                        "enum": [
                            "1d",
                            "5d",
                            "1mo",
                            "3mo",
                            "6mo",
                            "1y",
                            "2y",
                            "5y",
                            "10y",
                            "max"
                        ],
                        "type": "string",
                        "description": "Time span for historical prices (only used when 'Historical prices' is selected).",
                        "default": "1mo"
                    },
                    "interval": {
                        "title": "Historical interval",
                        "enum": [
                            "1d",
                            "1wk",
                            "1mo"
                        ],
                        "type": "string",
                        "description": "Candle size for historical prices (only used when 'Historical prices' is selected).",
                        "default": "1d"
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify datacenter proxies work for Yahoo Finance. Switch to Residential only if you hit rate limits.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
