# Alpha Vantage Public Market Data Scraper (`parseforge/alpha-vantage-public-scraper`) Actor

Scrapes Alpha Vantage public endpoints for stock, forex, and crypto market data. Returns intraday prices, daily OHLCV, technical indicators, and company fundamentals as flat rows.

- **URL**: https://apify.com/parseforge/alpha-vantage-public-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Business, Developer tools
- **Stats:** 3 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $19.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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

[![ParseForge](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner-v4.webp)](https://apify.com/parseforge?fpr=vmoqkp)

### Alpha Vantage Public Market Data Scraper

**Scrape stock, forex, and crypto market data from Alpha Vantage, up to a million records per run.** Pull intraday prices, daily OHLCV, technical indicators, and company fundamentals for any symbol. Export to CSV, JSON, Excel, or XML.

Alpha Vantage's free API key is rate-limited to 25 calls per day, which stops most backtesting and bulk research before it starts. This Actor reads the public endpoints directly, letting you pull time series, technical indicators, and fundamental data for thousands of symbols without managing API keys or worrying about call counters. You get one flat row per data point, ready for analysis.

| Who uses it | What they scrape Alpha Vantage for |
|---|---|
| Quantitative analysts | Backtesting trading strategies on years of daily adjusted prices. |
| Market researchers | Comparing company fundamentals across an entire sector. |
| Crypto traders | Pulling intraday Bitcoin or Ethereum prices for signal generation. |
| Financial data engineers | Building internal market data lakes from a single consistent schema. |

### What it does

This Actor collects market data from Alpha Vantage by function and symbol, and returns each data point as a flat row.

- 📈 **Stock time series:** intraday, daily, daily adjusted, weekly, and monthly OHLCV for any symbol.
- 💱 **Forex and crypto:** exchange rates, FX daily, and digital currency daily with from/to currency pairs.
- 📊 **Technical indicators:** SMA, EMA, RSI, and MACD computed directly from the source data.
- 🏢 **Company fundamentals:** overview, earnings, income statement, balance sheet, and cash flow statements.
- 🔑 **Optional API key:** use the public demo key for quick tests, or bring your own free key for higher limits.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

### What you can do with Alpha Vantage data

**📉 Backtest a trading strategy.**

A quant pulls 20 years of daily adjusted prices for the S\&P 500 and runs a momentum strategy in Python.

**🏢 Screen for value stocks.**

A researcher scrapes the balance sheet and income statement for every NASDAQ symbol to filter on debt-to-equity.

**₿ Monitor crypto signals.**

A trader collects 1-minute intraday data for BTC and ETH to feed a real-time RSI dashboard.

**💹 Build a currency heatmap.**

A data engineer pulls daily FX rates for 20 currency pairs and loads them into a PostgreSQL database.

### Why choose this scraper

| | What you get |
|---|---|
| **No rate-limit headaches** | Bypass the 25 calls/day limit of a free Alpha Vantage key by scraping the public endpoints directly. |
| **One fixed schema** | Every function returns a flat, predictable row so you never write another parser. |
| **Full history or compact** | Pull the full available history or the last 100 data points with one setting. |
| **Works for stocks, FX, and crypto** | One Actor covers equities, currency pairs, and digital currencies. |

### How it compares

No other Store actor targets Alpha Vantage the same way, so the honest comparison is with the alternatives teams actually weigh.

| | Alpha Vantage Public Market Data Scraper | Build it in-house | By hand |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When Alpha Vantage changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |

### Configure the run

Drive the Actor from a single function and symbol, with optional currency pairs for FX and crypto, and control how many records to collect per run. The Input tab lists every parameter.

A first run with the defaults:

```json
{
 "function": "TIME_SERIES_DAILY",
 "symbol": "IBM",
 "maxItems": 10
}
```

A larger pull:

```json
{
 "function": "TIME_SERIES_DAILY",
 "symbol": "IBM",
 "maxItems": 200
}
```

### Pricing

Pay-per-result: **$0.021 per result** collected. You pay only for the results written to your dataset.

| Results collected | Approximate cost |
|---|---|
| 100 results | $2.10 |
| 1,000 results | $21.00 |
| 10,000 results | $210.00 |

New Apify accounts start with $5 in free credit.

### Free users

Free-plan runs return up to 10 results as a preview. [Upgrade your Apify plan](https://console.apify.com/sign-up?fpr=vmoqkp) to collect up to 1,000,000 results per run.

### Run it

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [Alpha Vantage Public Market Data Scraper](https://apify.com/parseforge/alpha-vantage-public-scraper?fpr=vmoqkp).
3. Set your inputs and any filters, then click **Start**.
4. Export the results as CSV, Excel, JSON, or XML from the **Dataset** tab.

Run it programmatically through the [Apify API](https://docs.apify.com/api/v2) (`run-sync-get-dataset-items`) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### Use with AI agents (MCP)

Give an AI agent live access to Alpha Vantage through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

```bash
claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/alpha-vantage-public-scraper"
```

Then prompt it in plain language to run the scraper and read back the results.

### Troubleshooting

**Why am I getting no results?**

Check that the symbol is valid on Alpha Vantage. Try a known symbol like IBM or AAPL. If you are using a currency pair, make sure both fromCurrency and toCurrency are filled.

**The run fails with an error about the API key.**

The demo key has very low limits. If you hit them, sign up for a free key at alphavantage.co/support/#api-key and paste it into the optional API key field.

**I only got 100 records even though I asked for more.**

You likely have the output size set to 'compact'. Switch it to 'full' to get the complete history.

**The data looks stale or not updating.**

Alpha Vantage endpoints update on a fixed schedule (daily data typically updates after market close). Intraday data has a few minutes of delay. This is a source limitation, not an Actor issue.

**My crypto symbol is not working.**

Use the Digital Currency Daily or Crypto Intraday functions, and make sure the symbol is supported (e.g., BTC, ETH). The standard stock functions do not accept crypto symbols.

### FAQ

| Question | Answer |
|---|---|
| Do I need an Alpha Vantage API key? | No. The Actor works with the public demo key by default. You can optionally add your own free key from alphavantage.co if you need higher request volumes. |
| What is the difference between Daily and Daily Adjusted? | Daily returns raw close prices. Daily Adjusted applies split and dividend adjustments so you can compare prices accurately across long time periods. |
| Can I pull data for multiple symbols in one run? | Each run targets one symbol and one function. To pull multiple symbols, run the Actor once per symbol, or use an Apify task to loop over a list. |
| How many records can I collect? | You set the maximum records per run, up to 1,000,000. The actual number depends on the function and the output size you choose. |
| Does this work for Indian stocks or other non-US exchanges? | Alpha Vantage supports many global symbols. Use the exchange suffix (e.g., TCS.BSE) if the symbol is not on a US exchange. |
| What format does the data come in? | Each data point is a flat row. You can export the full dataset to CSV, JSON, Excel, or XML from the Apify dataset tab. |
| Can I get real-time intraday data? | The Intraday function returns 1-minute to 60-minute bars. The data is near real-time, with a typical delay of a few minutes from the exchange. |
| Is this legal to scrape? | Alpha Vantage provides public endpoints for market data. This Actor reads those endpoints. Always review the source's terms of service for your use case. |
| What is the difference between compact and full output size? | Compact returns the last 100 data points. Full returns the entire available history for that function and symbol. |
| Can I get company earnings and financial statements? | Yes. Use the Earnings, Income Statement, Balance Sheet, or Cash Flow functions to pull fundamental data for any symbol. |

### Related actors

Browse the full [ParseForge collection](https://apify.com/parseforge?fpr=vmoqkp) for more scrapers.

🆘 **Need help?** Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ **Disclaimer.** This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Alpha Vantage Inc. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

# Actor input Schema

## `function` (type: `string`):

Alpha Vantage function to call.

## `symbol` (type: `string`):

Stock or crypto symbol (e.g. AAPL, IBM, BTC).

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

How many records to collect per run.

## `fromCurrency` (type: `string`):

FX from-currency code (e.g. USD). Used for CURRENCY_EXCHANGE_RATE and FX\_\* functions.

## `toCurrency` (type: `string`):

FX to-currency code (e.g. EUR).

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

For intraday functions.

## `outputsize` (type: `string`):

compact = last 100 points, full = full history.

## `apiKey` (type: `string`):

Optional. If left empty, uses the public 'demo' key (very limited). Free keys at alphavantage.co/support/#api-key.

## Actor input object example

```json
{
  "function": "TIME_SERIES_DAILY",
  "symbol": "IBM",
  "maxItems": 10,
  "outputsize": "compact"
}
```

# Actor output Schema

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

No description

# API

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

## JavaScript example

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

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

// Prepare Actor input
const input = {
    "function": "TIME_SERIES_DAILY",
    "symbol": "IBM",
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/alpha-vantage-public-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 = {
    "function": "TIME_SERIES_DAILY",
    "symbol": "IBM",
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/alpha-vantage-public-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "function": "TIME_SERIES_DAILY",
  "symbol": "IBM",
  "maxItems": 10
}' |
apify call parseforge/alpha-vantage-public-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/alpha-vantage-public-scraper"
        }
    }
}
```

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

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/rXZjeGCgHrTDdwphy/builds/y4QahgfgGlfuqKjRr/openapi.json
