# Yahoo Finance Stock & Crypto Scraper (`parseforge/yahoo-finance-scraper`) Actor

Scrape stock and crypto price data from Yahoo Finance. Get OHLCV candles, 52-week highs/lows, market volume, and instrument metadata for any ticker symbol. Configure intervals from 1-minute to monthly across ranges from 1 day to max history.

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

## Pricing

from $7.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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

![ParseForge Banner](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner.jpg)

## 📈 Yahoo Finance Stock & Crypto Scraper

Whether you're a trader tracking price movements, a financial analyst building models, or a researcher studying market trends, this tool makes it easy to collect structured price data for stocks, crypto, forex, and ETFs.

> **The Yahoo Finance Scraper collects OHLCV (open, high, low, close, volume) price data for any symbol. Supports stocks, cryptocurrencies, forex pairs, and ETFs with customizable time intervals and date ranges.**

### ✨ What Does It Do

- 📈 **Stock prices** - collect historical and intraday price data for any publicly traded stock (AAPL, TSLA, GOOGL, etc.)
- 💰 **Crypto prices** - track Bitcoin, Ethereum, and other cryptocurrencies (BTC-USD, ETH-USD, SOL-USD, etc.)
- 💱 **Forex rates** - get exchange rates for currency pairs (EUR=X, GBP=X, JPY=X, etc.)
- 📊 **ETF data** - monitor exchange-traded funds like SPY, QQQ, VOO, and more
- ⏱️ **Flexible intervals** - choose from 1-minute to monthly data points
- 📅 **Custom ranges** - get data from the last day up to the full historical record

### 🔧 Input

- **Max Items** - how many data points to collect (free users get 10 items, paid users up to 1,000,000)
- **Symbols** - list of tickers to fetch (e.g., AAPL, BTC-USD, EUR=X, SPY)
- **Interval** - time between data points: 1 Minute, 5 Minutes, 15 Minutes, 30 Minutes, 1 Hour, 1 Day, 1 Week, or 1 Month
- **Date Range** - how far back to go: 1 Day, 5 Days, 1 Month, 3 Months, 6 Months, 1 Year, 2 Years, 5 Years, 10 Years, or Max

```json
{
    "maxItems": 100,
    "symbols": ["AAPL", "GOOGL", "BTC-USD"],
    "interval": "1d",
    "range": "1mo"
}
````

### 📊 Output

Each data point includes price and market metadata. Download as JSON, CSV, or Excel.

| Field | Description |
|-------|-------------|
| symbol | Ticker symbol |
| name | Full company or asset name |
| exchange | Exchange where the symbol trades |
| currency | Currency of the price data |
| date | Date and time of the data point |
| open | Opening price |
| high | Highest price during the interval |
| low | Lowest price during the interval |
| close | Closing price |
| volume | Number of shares/units traded |
| currentPrice | Latest market price |
| fiftyTwoWeekHigh | 52-week high price |
| fiftyTwoWeekLow | 52-week low price |
| dayHigh | Current day's high |
| dayLow | Current day's low |
| marketVolume | Total market volume |
| instrumentType | Type of asset (equity, cryptocurrency, etc.) |
| scrapedAt | Timestamp when the data was collected |

```json
{
    "symbol": "AAPL",
    "name": "Apple Inc.",
    "exchange": "NasdaqGS",
    "currency": "USD",
    "date": "2026-04-08T13:30:00.000Z",
    "open": 195.42,
    "high": 197.15,
    "low": 194.88,
    "close": 196.73,
    "volume": 54231800,
    "currentPrice": 196.73,
    "fiftyTwoWeekHigh": 210.50,
    "fiftyTwoWeekLow": 155.20,
    "dayHigh": 197.15,
    "dayLow": 194.88,
    "marketVolume": 54231800,
    "instrumentType": "EQUITY",
    "scrapedAt": "2026-04-09T12:00:00.000Z"
}
```

### 💎 Why Choose the Yahoo Finance Scraper?

| Feature | Our Tool | Manual Yahoo Finance |
|---------|----------|---------------------|
| Batch collection | Multiple symbols at once | One chart at a time |
| Flexible intervals | 1 minute to 1 month | Limited options |
| Structured output | JSON, CSV, Excel | Copy-paste from charts |
| Automated scheduling | Daily/hourly monitoring | Manual visits |
| All asset types | Stocks, crypto, forex, ETFs | Separate pages |

### 📋 How to Use

1. **Sign Up** - [Create a free account w/ $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp)
2. **Configure** - enter your symbols, pick an interval and date range
3. **Run It** - click "Start" and get structured market data in seconds

No coding, no setup, no manual browsing required.

### 🎯 Business Use Cases

- 📈 **Traders** - collect historical price data to backtest trading strategies across multiple symbols
- 🏦 **Financial analysts** - build pricing models with OHLCV data for stocks, crypto, and forex
- 📊 **Portfolio managers** - monitor holdings and benchmark performance with automated daily data pulls
- 🔬 **Researchers** - study market patterns, correlations, and volatility across asset classes
- 📰 **Financial media** - track market movements and build data-driven stories
- 🤖 **Quant developers** - feed price data into algorithmic trading and machine learning models

### ❓ FAQ

📈 **What symbols are supported?**
Any symbol available on Yahoo Finance. This includes US and international stocks (AAPL, TSLA, 7203.T), cryptocurrencies (BTC-USD, ETH-USD), forex pairs (EUR=X, GBP=X), and ETFs (SPY, QQQ, VOO).

⏱️ **What intervals can I use?**
Choose from 1 Minute, 5 Minutes, 15 Minutes, 30 Minutes, 1 Hour, 1 Day, 1 Week, or 1 Month. Note: minute-level data is only available for recent dates (typically last 7-30 days).

📅 **How far back can I get data?**
Up to the full history of the symbol using the "Max" range option. Daily data goes back decades for established stocks. Minute-level data is limited to recent periods.

⏱️ **How long does a run take?**
Each symbol takes about 1 second. A run with 10 symbols completes in roughly 10 seconds.

💱 **Can I track forex rates?**
Yes. Use standard Yahoo Finance forex symbols like EUR=X (Euro to USD), GBP=X (British Pound to USD), or EURGBP=X (Euro to British Pound).

### 🔗 Integrate Yahoo Finance Scraper with any app

- [Make](https://docs.apify.com/platform/integrations/make) - Automate market data workflows
- [Zapier](https://docs.apify.com/platform/integrations/zapier) - Get alerts on price movements
- [Slack](https://docs.apify.com/platform/integrations/slack) - Get notified in your team channel
- [Google Drive](https://docs.apify.com/platform/integrations/drive) - Export price data to spreadsheets
- [Webhooks](https://docs.apify.com/platform/integrations/webhooks) - Trigger actions when runs complete

### 💡 Recommended Actors

Looking for more financial and market data tools? Check out these related actors:

| Actor | Description | Link |
|-------|-------------|------|
| FINRA BrokerCheck Scraper | Look up broker and firm registration data | [Link](https://apify.com/parseforge/finra-brokercheck-scraper) |
| Pitchbook Funds Scraper | Collect fund performance and investment data | [Link](https://apify.com/parseforge/pitchbook-funds-scraper) |
| Pitchbook Investors Scraper | Collect investor profiles and portfolios | [Link](https://apify.com/parseforge/pitchbook-investors-scraper) |
| PR Newswire Scraper | Track financial press releases and earnings | [Link](https://apify.com/parseforge/pr-newswire-scraper) |
| USASpending Scraper | Gather federal spending and contract data | [Link](https://apify.com/parseforge/usaspending-scraper) |

**Pro Tip:** Browse our complete collection of [data collection actors](https://apify.com/parseforge) to find the perfect tool for your needs.

### 🆘 Need Help?

- Check the FAQ section above for common questions
- Visit the [Apify documentation](https://docs.apify.com) for platform guides
- Contact us at [Tally contact form](https://tally.so/r/BzdKgA)

### ⚠️ Disclaimer

> This Actor is an independent tool and is not affiliated with, endorsed by, or connected to Yahoo, Yahoo Finance, or any financial institution. It accesses only publicly available data. This tool is for informational purposes only and does not constitute financial advice.

# Actor input Schema

## `maxItems` (type: `integer`):

Free users: Limited to 10 data points. Paid users: Optional, max 1,000,000

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

Stock tickers, crypto pairs, or ETFs. Examples: AAPL, GOOGL, BTC-USD, ETH-USD, EUR=X, SPY

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

Time interval between data points.

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

How far back to get data.

## Actor input object example

```json
{
  "maxItems": 10,
  "symbols": [
    "AAPL",
    "GOOGL",
    "BTC-USD"
  ],
  "interval": "1d",
  "range": "1mo"
}
```

# Actor output Schema

## `overview` (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 = {
    "maxItems": 10,
    "symbols": [
        "AAPL",
        "GOOGL",
        "BTC-USD"
    ],
    "interval": "1d",
    "range": "1mo"
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/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 = {
    "maxItems": 10,
    "symbols": [
        "AAPL",
        "GOOGL",
        "BTC-USD",
    ],
    "interval": "1d",
    "range": "1mo",
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/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 '{
  "maxItems": 10,
  "symbols": [
    "AAPL",
    "GOOGL",
    "BTC-USD"
  ],
  "interval": "1d",
  "range": "1mo"
}' |
apify call parseforge/yahoo-finance-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Yahoo Finance Stock & Crypto Scraper",
        "description": "Scrape stock and crypto price data from Yahoo Finance. Get OHLCV candles, 52-week highs/lows, market volume, and instrument metadata for any ticker symbol. Configure intervals from 1-minute to monthly across ranges from 1 day to max history.",
        "version": "1.0",
        "x-build-id": "xvZc0mIhrFTYdhkYr"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~yahoo-finance-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-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/parseforge~yahoo-finance-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-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/parseforge~yahoo-finance-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-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",
                "properties": {
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 data points. Paid users: Optional, max 1,000,000"
                    },
                    "symbols": {
                        "title": "Symbols",
                        "type": "array",
                        "description": "Stock tickers, crypto pairs, or ETFs. Examples: AAPL, GOOGL, BTC-USD, ETH-USD, EUR=X, SPY",
                        "items": {
                            "type": "string"
                        }
                    },
                    "interval": {
                        "title": "Interval",
                        "enum": [
                            "1m",
                            "5m",
                            "15m",
                            "30m",
                            "1h",
                            "1d",
                            "1wk",
                            "1mo"
                        ],
                        "type": "string",
                        "description": "Time interval between data points."
                    },
                    "range": {
                        "title": "Date Range",
                        "enum": [
                            "1d",
                            "5d",
                            "1mo",
                            "3mo",
                            "6mo",
                            "1y",
                            "2y",
                            "5y",
                            "10y",
                            "max"
                        ],
                        "type": "string",
                        "description": "How far back to get data."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
